Auto Discovery of Cisco ME 1200 NIDs

This chapter describes how the UCS controller performs Auto Discovery of Cisco ME 1200 NIDs which are reachable in the network. The UCS controller has to maintain the device information and monitor the notifications sent by the discovered NIDs. Key steps performed during Auto Discovery are:
  • Auto Discovery of NID Devices after ZTP using ProvisionNotifications configuration template.

  • Addition of dynamic entries for each registered NID in UCS Controller database.

  • Monitoring the health of each NID using Heartbeat Notifications after discovery.

Information about Auto Discovery

The sequence of steps that lead to Auto Discovery and monitoring of NIDs is as follows:
  1. NID acquires IP address using ZTP and downloads the configuration XML file from TFTP server.

    To perform Auto Discovery, operator needs to first manually edit the two configuration XML files applicable to each Cisco ME 1200 NID and described in ZTP chapter, steps 7 and 8 (for example, <fqdn>.xml and <NID_MAC_ADDR_CFG>.xml). This step needs to be performed prior to ZTP trigger so that there is no manual intervention during ZTP process. These files are usually stored on TFTP server and downloaded at the end of the ZTP process. For more details about these configuration files, see Zero Touch Provisioning chapter.

    1. Open the XML configuration file stored on the TFTP server using any XML editor, and search for the <notification_client_register_config> XML tag with <soap_action>setNotificationReceiver</soap_action>. Replace this XML tag as follows by filling details of the UCS Controller IP address, login username and password. A sample XML is provided for better understanding below.

      <notification_client_register_config>
                  <soap_action>setNotificationReceiver</soap_action>
                  <xml_file_content>
      <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://new.webservice.namespace" 
      xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
         <SOAP-ENV:Body>
            <setNotificationReceiver_req>
               <http_server_address>7.3.0.251</http_server_address>
               <http_file_path>/nid_notification</http_file_path>
               <http_BA_user>niduser</http_BA_user>
               <http_BA_password>lab</http_BA_password>
               <heartbeat>30</heartbeat>
            </setNotificationReceiver_req>
         </SOAP-ENV:Body>
      </SOAP-ENV:Envelope></xml_file_content>
               </notification_client_register_config>
      
    2. In the same configuration file, search for the XML tag <notification_client_list_config> and replace as follows:

      <notification_client_list_config>
                  <soap_action>registerForNotification</soap_action>
                  <xml_file_content>
      <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://new.webservice.namespace" 
      xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
         <SOAP-ENV:Body>
            <regForNotification_req>
               <notifications_list>
                  <module_id>1</module_id>
                  <notification_id>1</notification_id>
                  <enable>true</enable>
               </notifications_list>
               <cookie>5120</cookie>
            </regForNotification_req>
         </SOAP-ENV:Body>
      </SOAP-ENV:Envelope></xml_file_content>
               </notification_client_list_config>
      
  2. Once ZTP is triggered, after the above configurations are added to configuration XML files stored in TFTP server for a specific NID, the Cisco ME 1200 NIDs will register themselves for sending notifications to the UCS controller.

  3. NID starts sending HTTP POST notifications periodically.

  4. The UCS controller will process the notification messages. If the notification is discovery message, it adds an entry into NID database for the first time. Subsequent messages are considered as heart beat messages.

  5. A timer will start after receiving the first discovery message. If three consecutive discovery messages are not received, the connection to that particular NID will be torn down and entry in NID database will be removed.

  6. On NID reload, it has to register for notifications on boot up and should start sending discovery notifications.

  7. On controller reload, it waits for the notifications. It has to start the heartbeat timer for the NIDs present in database.