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)
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)
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)
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)