def callback_test(ch, method, properties, body):
    body = json.loads(body)
    new_state = body.get('newState')
    prior_state = body.get('data').get('priorState')
    change_type = body.get('changeType')
    resource_uri = body.get('resource').get('uri')
    if new_state == 'Adding' and prior_state == 'Adding':
       LOG.info('ADDED %s ' % resource_uri)
       server_hardware = service_manager.get_server_hardware(resource_uri)
       server_hardware_info = service_manager.parse_server_hardware_to_dict(
                                  server_hardware)
       server_hardware_node = get_ironic_node_by_server_hardware_uri(
                                  resource_uri)
       if server_hardware_node is None:
           try:
               create_server_hardware_as_ironic_node(server_hardware_info)
           except Exception as ex:
               LOG.error(ex.message)
    elif new_state == 'Removing' and prior_state == 'Removing':
       LOG.info('REMOVED %s ' % resource_uri)
       delete_ironic_node(resource_uri)
    elif new_state == 'ProfileApplied' and prior_state == 'ProfileApplied':
       LOG.info('ServerProfile APPLIED to %s' % resource_uri)
       server_hardware = service_manager.get_server_hardware(resource_uri)
       server_hardware_info = service_manager.parse_server_hardware_to_dict(
                                  server_hardware)
       update_ironic_node_maintenance_state(server_hardware_info)
    elif new_state == 'NoProfileApplied' and prior_state == 'NoProfileApplied':
       LOG.info('ServerProfile REMOVED from %s' % resource_uri)
       server_hardware = service_manager.get_server_hardware(resource_uri)
       server_hardware_info = service_manager.parse_server_hardware_to_dict(
                                 server_hardware)
       update_ironic_node_maintenance_state(server_hardware_info)
 def test_delete_ironic_node(self):
     server_hardware_uri = "/rest/server-hardware/31393736-3831-4753-4831-30315837524E"
     server_hardware_json = service_manager.get_server_hardware(server_hardware_uri)
     server_hardware_info = service_manager.parse_server_hardware_to_dict(server_hardware_json)
     node = manage_ironic_nodes.create_ironic_node(server_hardware_info)
     manage_ironic_nodes.delete_ironic_node(server_hardware_uri)
     assert manage_ironic_nodes.get_ironic_node_by_server_hardware_uri(server_hardware_uri) is None
 def test_create_ironic_node(self):
     server_hardware_uri = "/rest/server-hardware/37333036-3831-4753-4831-30305838524E"
     server_hardware_json = service_manager.get_server_hardware(server_hardware_uri)
     server_hardware_info = service_manager.parse_server_hardware_to_dict(server_hardware_json)
     node = manage_ironic_nodes.create_ironic_node(server_hardware_info)
     assert node is not None
     manage_ironic_nodes.delete_ironic_node(server_hardware_uri)
Esempio n. 4
0
 def test_create_ironic_node(self):
     server_hardware_uri = '/rest/server-hardware/37333036-3831-4753-4831-30305838524E'
     server_hardware_json = service_manager.get_server_hardware(
         server_hardware_uri)
     server_hardware_info = service_manager.parse_server_hardware_to_dict(
         server_hardware_json)
     node = manage_ironic_nodes.create_ironic_node(server_hardware_info)
     assert node is not None
     manage_ironic_nodes.delete_ironic_node(server_hardware_uri)
Esempio n. 5
0
 def test_delete_ironic_node(self):
     server_hardware_uri = '/rest/server-hardware/31393736-3831-4753-4831-30315837524E'
     server_hardware_json = service_manager.get_server_hardware(
         server_hardware_uri)
     server_hardware_info = service_manager.parse_server_hardware_to_dict(
         server_hardware_json)
     node = manage_ironic_nodes.create_ironic_node(server_hardware_info)
     manage_ironic_nodes.delete_ironic_node(server_hardware_uri)
     assert manage_ironic_nodes.get_ironic_node_by_server_hardware_uri(
         server_hardware_uri) is None
 def test_maintenance_state_out(self):
     server_hardware_uri = "/rest/server-hardware/31393736-3831-4753-4831-30305837524E"
     server_hardware_json = service_manager.get_server_hardware(server_hardware_uri)
     server_hardware_info = service_manager.parse_server_hardware_to_dict(server_hardware_json)
     manage_ironic_nodes.create_ironic_node(server_hardware_info)
     manage_ironic_nodes.set_node_maintenance_state(server_hardware_uri, "true")
     node = manage_ironic_nodes.get_ironic_node_by_server_hardware_uri(server_hardware_uri)
     self.assertTrue(node.maintenance)
     manage_ironic_nodes.set_node_maintenance_state(server_hardware_uri, "false")
     node = manage_ironic_nodes.get_ironic_node_by_server_hardware_uri(server_hardware_uri)
     self.assertFalse(node.maintenance)
     manage_ironic_nodes.delete_ironic_node(server_hardware_uri)
Esempio n. 7
0
 def test_maintenance_state_out(self):
     server_hardware_uri = '/rest/server-hardware/31393736-3831-4753-4831-30305837524E'
     server_hardware_json = service_manager.get_server_hardware(
         server_hardware_uri)
     server_hardware_info = service_manager.parse_server_hardware_to_dict(
         server_hardware_json)
     manage_ironic_nodes.create_ironic_node(server_hardware_info)
     manage_ironic_nodes.set_node_maintenance_state(server_hardware_uri,
                                                    'true')
     node = manage_ironic_nodes.get_ironic_node_by_server_hardware_uri(
         server_hardware_uri)
     self.assertTrue(node.maintenance)
     manage_ironic_nodes.set_node_maintenance_state(server_hardware_uri,
                                                    'false')
     node = manage_ironic_nodes.get_ironic_node_by_server_hardware_uri(
         server_hardware_uri)
     self.assertFalse(node.maintenance)
     manage_ironic_nodes.delete_ironic_node(server_hardware_uri)