Kubernetes pattern has "populating cmdb_serial_number" step while the pattern is not supposed to collect the serial number details of the discovered K8S linux servers.DescriptionKubernetes does not retrieve and populate serial numbers for cluster nodes by design! Hardware Identification ServiceNow uniquely identifies hardware as well as servers by names and serial numbers. Serial numbers are strong and usually reliable identifiers. But, if you check Hardware identification rules you will also notice a rule which will accept names only. Linux Server inherits identification rules from Hardware, and they are exactly the same.. ServiceNow tends to populate fields by data extracted from the source. Therefore, Kubernetes APIs may or may not return accurate OS serial numbers. If a serial number returned by Linux Server pattern doesn't match, Kubernetes discovery will create a duplicate server CI This is the reason why ServiceNow decided to remove serial_numbers from Kubernetes' cmdb_ci_linux_server payload and rely on server names only. Kubernetes Payload and IRE Kubernetes pattern generates a payload, and it contains the server name and the IP address only. { "className" : "cmdb_ci_linux_server", "values" : { "os" : "Linux Red Hat", "install_status" : "1", "name" : "myserver.eu-west-1.mydomain.lab", "ip_address" : "192.168.1.23", "kernel_release" : "3.10.0-1160.71.1.el7.x86_64", "host_name" : "", "sys_class_name" : "cmdb_ci_linux_server", "ram" : "15589.0" } } Some Kubernetes Steps Contain serial_nunber Strings Kubernetes pattern used to populate cmdb_ci_linux_server serial numbers. The pattern has been changed because it generated duplicates. Please keep in mind there are many Kubernetes flavors which can run in various clouds as well on on-prem. In addition, anybody can write custom Kubernetes controllers. Therefore, Kubernetes cluster node serials returned by Kubernetes API are not reliable, and they may or may not match the OS level serial number. The author of this article can not comment why serial_number strings / steps were not removed from the pattern. Serial number fields and variables do not have any effect because serial_number is not extracted from nodeList Kubernetes API response. Therefore, they can not be populated. Anybody can customize ServiceNow, but if you remove the name only rule from the identification section the IRE will return the error and Kubernetes pattern will fail. "className": "cmdb_ci_linux_server", "sysId": "Unknown", "identifierEntrySysId": "Unknown", "errors": [ { "error": "MISSING_MATCHING_ATTRIBUTES", "message": "In payload missing minimum set of input values for criterion (matching) attributes from identify rule for table [cmdb_ci_hardware]. Add these input values in payload item '{\"className\":\"cmdb_ci_linux_server\",\"values\": {\"os\":\"Linux Red Hat\",\"install_status\":\"1\",\"name\":\"myserver.eu-west-1.mydomain.lab\", \"ip_address\":\"192.168.1.23\",\"kernel_release\":\"3.10.0-1160.71.1.el7.x86_64\",\"host_name\":\"\", \"sys_class_name\":\"cmdb_ci_linux_server\",\"ram\":\"15421.0\"},\"internal_id\":\"x424f93fbb311950c2f2d0280b0babbc\" ,\"sys_object_source_info\":{},\"settings\":{},\"sys_ire_info\":{},\"display_values\":{}}'" }, What About Kubernetes Running in AWS? systemUUID contains the serial_number, and it would match the serial number populated by Linux Server pattern. A customer may customize the Kubernetes pattern to populate cmdb_ci_linux_server serial numbers but ServiceNow support won't be able to support it because customizations are in the professional services realm. "nodeInfo": { "machineID": "ff2b4e64c38bd3ada901d041a9b4a312", "systemUUID": "FF2E9450-B1F3-290D-AF7A-F89113F2E401", "bootID": "22609dc9-9c6f-4642-b087-15c009d7bfbc", "kernelVersion": "3.10.0-1160.71.1.el7.x86_64", "osImage": "Red Hat Enterprise Linux Server 7.9 (Maipo)", "containerRuntimeVersion": "containerd://1.6.4", "kubeletVersion": "v1.22.6", "kubeProxyVersion": "v1.22.6", "operatingSystem": "linux", "architecture": "amd64" }, Steps to Reproduce Modify Linux CI identification rules and remove names only step: The OOTB Linux Server identification rules: WorkaroundThere are two options: Revert all changes and start using OOTB pattern(s) because this type of the customizations is not supported by ServiceNow.Request for professional servicesRelated Problem: PRB1604986