Hardware [cmdb_ci_hardware] class

  • Release version: Yokohama
  • Updated January 30, 2025
  • 5 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Hardware [cmdbcihardware] class

    The Hardware [cmdbcihardware] class in ServiceNow defines the schema, attributes, and key relationships for managing hardware configuration items (CIs) in the Configuration Management Database (CMDB). It supports detailed tracking of hardware components such as servers, computers, and network adapters, enabling effective identification, reconciliation, and lifecycle management.

    Show full answer Show less

    Key Features

    • Unique Attributes: Includes hardwarestatus (e.g., In Maintenance, Retired), hardwaresubstatus (dependent on hardwarestatus), and defaultgateway for network connectivity.
    • Serial Number Management: Serial numbers are stored in two places: the CI’s serial number attribute and the Serial Number [cmdbserialnumber] table. This table supports multiple serial number types such as system, uuid, chassis, bios, and baseboard, enabling detailed hardware identification and reconciliation.
    • Network Adapters: Managed through the Network Adapter [cmdbcinetworkadapter] class with attributes like Name (e.g., eth0) and MAC Address in standardized colon-separated lowercase hex format. Relationships are maintained between network adapters and hardware CIs.
    • IP Addresses: Stored in the IP Address [cmdbciipaddress] class with validation for IPv4 and IPv6 formats. IP addresses are related to network adapters and hardware CIs to maintain accurate network topology and ownership.
    • Software Relationships: Software packages and instances related to hardware are tracked via the Software [cmdbcispkg] and cmdbsoftwareinstance classes. If Software Asset Management plugins are installed, software installation details are stored in the Software Installation [cmdbsamswinstall] table.
    • Reference Attributes: Hardware CIs include references to Manufacturer (Company), Model (Product Model), and user/group ownership and support details, facilitating comprehensive asset and support management.
    • Identification Rules: Predefined identification rules prioritize serial number lookups (including those in the Serial Number table), then the CI Name (hostname), followed by MAC and IP addresses from the Network Adapter class to uniquely identify hardware CIs and avoid duplicates during reconciliation.

    Key Outcomes

    • Enables accurate and consistent identification and reconciliation of hardware assets in the CMDB, reducing duplicates and improving data quality.
    • Supports detailed tracking of hardware lifecycle status and network connectivity, enhancing operational visibility and maintenance planning.
    • Facilitates integration with software asset management processes by linking hardware to installed software instances and packages.
    • Provides a robust schema that supports complex hardware relationships, ownership, and support structures critical for enterprise asset management.

    Attributes, identification rule, and other important schema structures for the CMDB Hardware [cmdb_ci_hardware] class.

    For descriptions of common CMDB tables in a base system, see CMDB tables descriptions.

    Figure 1. Hardware, Computer, Server Schema
    Relationships and references between the Hardware, Computer, and Server classes.
    Note:
    cmdb_sw_instance noted in the diagram, is a reference to the cmdb_software_instance class, and Supported_Group is a reference to Support_Group.

    Attributes

    The Hardware class adds the following unique attributes:
    Attribute Description
    hardware_status​ Status of hardware such as In Maintenance or Retired. Used to sync status to the Asset class.
    hardware_substatus​ Secondary hardware status. Each setting in hardware_status results in a different set of choices available for this field.
    default_gateway​ Default gateway that the computer is connected through​.

    Key relationship structures

    Use the following key relationships as important guidelines when creating Hardware, Computer, or Server CIs:
    • Serial number: During CI identification, Identification and Reconciliation Engine (IRE) processes search for a serial number in two locations. One is the CI serial number attribute, and the second one is the Serial Number [cmdb_serial_number] table, with reference back to the Hardware [cmdb_ci_hardware] table.

      • Store any serial number of any type other than System, only in the Serial Number table (and not in the server CI attribute).​
      • If the system serial number is available, store it in both the Serial Number attribute of the CI and in the Serial Number table.

      The Serial Number table is a many to one relationship linking back to the server CI. This table has a type field for specifying the type of the serial number (system, uuid, chassis, bios, or baseboard) and storing the actual value itself. Use the following Windows standards for serial number types in the Serial Number [cmdb_serial_number] table:

      • system: Product identification such as a serial number for software, a die number on a hardware chip, or a project number (for noncommercial products).
      • uuid: Universally unique identifier (UUID) for the product. A UUID is a 128-bit identifier that is guaranteed to be different from other generated UUIDs.
      • chassis: Manufacturer-allocated number that is used to identify a physical element. Value is the Serial Number member of the System Enclosure or Chassis structure in the SMBIOS information. This type represents the properties associated with a physical system enclosure.
      • bios: The assigned serial number of the BIOS. This type represents the attributes of the computer system basic input/output services (BIOS) that are installed on the computer.
      • baseboard: Manufacturer-allocated number that is used to identify the physical element. This property is inherited from CIM_PhysicalElement, and is sometimes referred to as the 'Motherboard Serial Number'.
    • Network adapter:

      • Use the Network Adapter [cmdb_ci_network_adapter] class to store network adapters.
      • Set the Name attribute in the Network Adapter class to be the name of the Network Adapter device (such as eth0, eth1).
      • Set the MAC Address attribute to be the MAC address value. Format the string with colon separators between octets and lower case hexadecimal characters with padded zeros.

        For example: 'f8:f2:1e:00:d4:66'

      • In the CI Relationship [cmdb_rel_ci] table, create an Owned By::Owns relationship to the associated Hardware CI. Specify a reference from the Network Adapter [cmdb_ci_network_adapter] table using the CI with a reference to the associated Hardware CI.
    • IP address:

      • Use the IP Address [cmdb_ci_ip_address] class to store IP addresses.
      • Store an IP address value in the IP Address attribute, and in the Name attribute (to avoid empty Name attributes).
      • Store an IPv4 IP address value using the format 'NNN.NNN.NNN.NNN', with decimal-based octets and period separators. Non-conforming values should be considered invalid and cleansed to null values.
      • Store an IPv6 IP address value using lower case hexadecimal with colon separators. Non-confirming values should be considered invalid and cleansed to null values.
      • Set the Netmask attribute to the IP address.
      • In the CI Relationship [cmdb_rel_ci] table, create an Owned By::Owns relationship to the associated Hardware CI.
      • Specify for the IP address a reference to the Network Adapter [cmdb_ci_network_adapter] table using the Configuration Item with a reference to the associated Hardware CI.
      • To ensure that base system identification rules work properly, also store the IP address in the associated Network Adapter class.
    • Network adapter and IP address:

      • Store the MAC address of the network adapter installed on a server, in the Network Adapter [cmdb_ci_network_adapter] class.
      • Store the IP address in the IP Address [cmdb_ci_ip_address] class.
      • Do not store the MAC address or the IP address in the Server [cmdb_ci_server] class.​

    Key reference structures

    Use the following key references as important guidelines when creating Hardware, Computer, or Server CIs:
    • Software and processes running on a server: The Software [cmdb_ci_spkg] class contains the generic software package that is related to the server CI. The cmdb_software_instance table instantiates each instance of the software package with:
      • One to one reference back to the Server [cmdb_ci_server] class
      • Many to one reference back to the Software class
      These references are stored in the Installed on and the Product Name reference attributes respectively.

      If either the Software Asset Management Foundation [com.snc.sams] or the Software Asset Management [com.snc.software_asset_management] plugin is installed, then store software details in the Software Installation [cmdb_sam_sw_install] table instead of the cmdb_software_instance table.

    • The Manufacturer and Model ID are reference attributes to the Company [core_company] and Product Model [cmdb_model] tables respectively.
    • The Owned By, Assigned To, Managed By, and Supported By are reference attributes to the User [sys_user] table. The Change Group and Support Group are reference attributes to the Group [sys_user_group] table.

    Identification rule

    The base system contains pre-defined identification rules for the Hardware, Computer, and Server classes, which are identical. That identification rule has the following key identifier entries, listed in priority order:
    1. Identifier entry which uses lookup-based identification specified with Serial Number [cmdb_serial_number] as the lookup table. The Serial Number table is a many to one reference from Serial Number back to the server CI​.
    2. Identifier entry specified with the Serial Number attribute in the CI.
    3. Identifier entry for the Name attribute. If Serial Number is not available, then the Name (which is the hostname) attribute is used. If both the Serial Number and the Name attributes are provided, then Identification and Reconciliation Engine (IRE) looks first for the Serial Number. Then, if a Serial Number is not found, IRE falls back to using Name.
    4. Identifier entry specified for the MAC Address/IP Address attributes in the Network Adapter table. However, do not rely only on the MAC Address/IP Address.

      If both Serial Number and Name are not available, and only MAC Address/IP Address are available, use MAC Address as the name of the CI. Using the MAC Address as the name of the CI ensures that you don't create an empty CI.

    For more information, see CMDB Identification and Reconciliation (IRE).