def take_action(self, parsed_args): self.log.debug("take_action(%s)" % parsed_args) queue_name = str(uuid.uuid4()) if parsed_args.node_uuids: baremetal.configure( self.app.client_manager, node_uuids=parsed_args.node_uuids, queue_name=queue_name, kernel_name=parsed_args.deploy_kernel, ramdisk_name=parsed_args.deploy_ramdisk, instance_boot_option=parsed_args.instance_boot_option, root_device=parsed_args.root_device, root_device_minimum_size=parsed_args.root_device_minimum_size, overwrite_root_device_hints=( parsed_args.overwrite_root_device_hints) ) else: baremetal.configure_manageable_nodes( self.app.client_manager, queue_name=queue_name, kernel_name=parsed_args.deploy_kernel, ramdisk_name=parsed_args.deploy_ramdisk, instance_boot_option=parsed_args.instance_boot_option, root_device=parsed_args.root_device, root_device_minimum_size=parsed_args.root_device_minimum_size, overwrite_root_device_hints=( parsed_args.overwrite_root_device_hints) )
def take_action(self, parsed_args): self.log.debug("take_action(%s)" % parsed_args) if parsed_args.node_uuids: baremetal.configure( self.app.client_manager, node_uuids=parsed_args.node_uuids, kernel_name=parsed_args.deploy_kernel, ramdisk_name=parsed_args.deploy_ramdisk, instance_boot_option=parsed_args.instance_boot_option, root_device=parsed_args.root_device, root_device_minimum_size=parsed_args.root_device_minimum_size, overwrite_root_device_hints=( parsed_args.overwrite_root_device_hints) ) else: baremetal.configure_manageable_nodes( self.app.client_manager, kernel_name=parsed_args.deploy_kernel, ramdisk_name=parsed_args.deploy_ramdisk, instance_boot_option=parsed_args.instance_boot_option, root_device=parsed_args.root_device, root_device_minimum_size=parsed_args.root_device_minimum_size, overwrite_root_device_hints=( parsed_args.overwrite_root_device_hints) )
def test_configure_success(self): self.websocket.wait_for_messages.return_value = self.message_success baremetal.configure(self.app.client_manager, node_uuids=[]) self.workflow.executions.create.assert_called_once_with( 'tripleo.baremetal.v1.configure', workflow_input={ 'node_uuids': [], })
def test_configure_success(self): self.websocket.wait_for_message.return_value = { "status": "SUCCESS", } baremetal.configure(self.app.client_manager, node_uuids=[], queue_name="QUEUE_NAME") self.workflow.executions.create.assert_called_once_with( 'tripleo.baremetal.v1.configure', workflow_input={ 'node_uuids': [], 'queue_name': "QUEUE_NAME" })
def take_action(self, parsed_args): self.log.debug("take_action(%s)" % parsed_args) queue_name = str(uuid.uuid4()) bm_client = self.app.client_manager.baremetal for node in bm_client.node.list(maintenance=False): # NOTE(bnemec): Ironic won't let us update the node while the # power_state is transitioning. # Make sure we have the current node state, and not a cached one # from the list call above, which may have happened minutes ago. node_detail = bm_client.node.get(node.uuid) if node_detail.power_state is None: self.log.warning('Node %s power state is in transition. ' 'Waiting up to %d seconds for it to ' 'complete.', node_detail.uuid, self.loops * self.sleep_time) for _r in range(self.loops): time.sleep(self.sleep_time) node_detail = bm_client.node.get(node.uuid) if node_detail.power_state is not None: break else: msg = ('Timed out waiting for node %s power state.' % node.uuid) raise exceptions.Timeout(msg) baremetal.configure( self.app.client_manager, node_uuids=[node.uuid], queue_name=queue_name, kernel_name=parsed_args.deploy_kernel, ramdisk_name=parsed_args.deploy_ramdisk, root_device=parsed_args.root_device, root_device_minimum_size=parsed_args.root_device_minimum_size, overwrite_root_device_hints=( parsed_args.overwrite_root_device_hints) )
def take_action(self, parsed_args): self.log.debug("take_action(%s)" % parsed_args) queue_name = str(uuid.uuid4()) bm_client = self.app.client_manager.baremetal for node in bm_client.node.list(maintenance=False): # NOTE(bnemec): Ironic won't let us update the node while the # power_state is transitioning. # Make sure we have the current node state, and not a cached one # from the list call above, which may have happened minutes ago. node_detail = bm_client.node.get(node.uuid) if node_detail.power_state is None: self.log.warning( 'Node %s power state is in transition. ' 'Waiting up to %d seconds for it to ' 'complete.', node_detail.uuid, self.loops * self.sleep_time) for _r in range(self.loops): time.sleep(self.sleep_time) node_detail = bm_client.node.get(node.uuid) if node_detail.power_state is not None: break else: msg = ('Timed out waiting for node %s power state.' % node.uuid) raise exceptions.Timeout(msg) baremetal.configure( self.app.client_manager, node_uuids=[node.uuid], queue_name=queue_name, kernel_name=parsed_args.deploy_kernel, ramdisk_name=parsed_args.deploy_ramdisk, root_device=parsed_args.root_device, root_device_minimum_size=parsed_args.root_device_minimum_size, overwrite_root_device_hints=( parsed_args.overwrite_root_device_hints))
def test_configure_success(self): baremetal.configure(self.app.client_manager, node_uuids=[])