def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal # NOTE(rloo): Do this before updating the rest. Otherwise, it won't # work if parsed_args.node is the name and the name is # also being modified. if parsed_args.target_raid_config: raid_config = parsed_args.target_raid_config if raid_config == '-': raid_config = utils.get_from_stdin('target_raid_config') raid_config = utils.handle_json_or_file_arg(raid_config) baremetal_client.node.set_target_raid_config( parsed_args.node, raid_config) properties = [] if parsed_args.instance_uuid: instance_uuid = ["instance_uuid=%s" % parsed_args.instance_uuid] properties.extend(utils.args_array_to_patch('add', instance_uuid)) if parsed_args.name: name = ["name=%s" % parsed_args.name] properties.extend(utils.args_array_to_patch('add', name)) if parsed_args.chassis_uuid: chassis_uuid = ["chassis_uuid=%s" % parsed_args.chassis_uuid] properties.extend(utils.args_array_to_patch('add', chassis_uuid)) if parsed_args.driver: driver = ["driver=%s" % parsed_args.driver] properties.extend(utils.args_array_to_patch('add', driver)) if parsed_args.network_interface: network_interface = [ "network_interface=%s" % parsed_args.network_interface ] properties.extend( utils.args_array_to_patch('add', network_interface)) if parsed_args.resource_class: resource_class = ["resource_class=%s" % parsed_args.resource_class] properties.extend(utils.args_array_to_patch('add', resource_class)) if parsed_args.property: properties.extend( utils.args_array_to_patch( 'add', ['properties/' + x for x in parsed_args.property])) if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) if parsed_args.driver_info: properties.extend( utils.args_array_to_patch( 'add', ['driver_info/' + x for x in parsed_args.driver_info])) if parsed_args.instance_info: properties.extend( utils.args_array_to_patch( 'add', ['instance_info/' + x for x in parsed_args.instance_info])) if properties: baremetal_client.node.update(parsed_args.node, properties) else: self.log.warning(_LW("Please specify what to set."))
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.node_uuid: properties.extend(utils.args_array_to_patch( 'add', ["node_uuid=%s" % parsed_args.node_uuid])) if parsed_args.type: properties.extend(utils.args_array_to_patch( 'add', ["type=%s" % parsed_args.type])) if parsed_args.connector_id: properties.extend(utils.args_array_to_patch( 'add', ["connector_id=%s" % parsed_args.connector_id])) if parsed_args.extra: properties.extend(utils.args_array_to_patch( 'add', ["extra/" + x for x in parsed_args.extra])) if properties: baremetal_client.volume_connector.update( parsed_args.volume_connector, properties) else: self.log.warning("Please specify what to set.")
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.node_uuid: properties.extend( utils.args_array_to_patch( 'add', ["node_uuid=%s" % parsed_args.node_uuid])) if parsed_args.type: properties.extend( utils.args_array_to_patch('add', ["type=%s" % parsed_args.type])) if parsed_args.connector_id: properties.extend( utils.args_array_to_patch( 'add', ["connector_id=%s" % parsed_args.connector_id])) if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'add', ["extra/" + x for x in parsed_args.extra])) if properties: baremetal_client.volume_connector.update( parsed_args.volume_connector, properties) else: self.log.warning("Please specify what to set.")
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.name: properties.extend(utils.args_array_to_patch('remove', ['name'])) if parsed_args.address: properties.extend(utils.args_array_to_patch('remove', ['address'])) if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'remove', ['extra/' + x for x in parsed_args.extra])) if parsed_args.properties: properties.extend( utils.args_array_to_patch( 'remove', ['properties/' + x for x in parsed_args.properties])) if properties: baremetal_client.portgroup.update(parsed_args.portgroup, properties) else: self.log.warning("Please specify what to unset.")
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal # NOTE(rloo): Do this before updating the rest. Otherwise, it won't # work if parsed_args.node is the name and the name is # also being modified. if parsed_args.target_raid_config: raid_config = parsed_args.target_raid_config if raid_config == '-': raid_config = utils.get_from_stdin('target_raid_config') raid_config = utils.handle_json_or_file_arg(raid_config) baremetal_client.node.set_target_raid_config(parsed_args.node, raid_config) properties = [] if parsed_args.instance_uuid: instance_uuid = ["instance_uuid=%s" % parsed_args.instance_uuid] properties.extend(utils.args_array_to_patch( 'add', instance_uuid)) if parsed_args.name: name = ["name=%s" % parsed_args.name] properties.extend(utils.args_array_to_patch( 'add', name)) if parsed_args.chassis_uuid: chassis_uuid = ["chassis_uuid=%s" % parsed_args.chassis_uuid] properties.extend(utils.args_array_to_patch( 'add', chassis_uuid)) if parsed_args.driver: driver = ["driver=%s" % parsed_args.driver] properties.extend(utils.args_array_to_patch( 'add', driver)) if parsed_args.network_interface: network_interface = [ "network_interface=%s" % parsed_args.network_interface] properties.extend(utils.args_array_to_patch( 'add', network_interface)) if parsed_args.resource_class: resource_class = [ "resource_class=%s" % parsed_args.resource_class] properties.extend(utils.args_array_to_patch( 'add', resource_class)) if parsed_args.property: properties.extend(utils.args_array_to_patch( 'add', ['properties/' + x for x in parsed_args.property])) if parsed_args.extra: properties.extend(utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) if parsed_args.driver_info: properties.extend(utils.args_array_to_patch( 'add', ['driver_info/' + x for x in parsed_args.driver_info])) if parsed_args.instance_info: properties.extend(utils.args_array_to_patch( 'add', ['instance_info/' + x for x in parsed_args.instance_info])) if properties: baremetal_client.node.update(parsed_args.node, properties) else: self.log.warning(_LW("Please specify what to set."))
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.description: description = ["description=%s" % parsed_args.description] properties.extend(utils.args_array_to_patch('add', description)) if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) baremetal_client.chassis.update(parsed_args.chassis, properties)
def test_args_array_to_patch(self): my_args = { 'attributes': [ 'str=foo', 'int=1', 'bool=true', 'list=[1, 2, 3]', 'dict={"foo": "bar"}' ], 'op': 'add', } patch = utils.args_array_to_patch(my_args['op'], my_args['attributes']) self.assertEqual([{ 'op': 'add', 'value': 'foo', 'path': '/str' }, { 'op': 'add', 'value': 1, 'path': '/int' }, { 'op': 'add', 'value': True, 'path': '/bool' }, { 'op': 'add', 'value': [1, 2, 3], 'path': '/list' }, { 'op': 'add', 'value': { "foo": "bar" }, 'path': '/dict' }], patch)
def do_chassis_update(cc, args): """Update a chassis.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) try: chassis = cc.chassis.update(args.chassis, patch) except exc.HTTPNotFound: raise exc.CommandError('Chassis not found: %s' % args.chassis) _print_chassis_show(chassis)
def do_node_update(cc, args): """Update a node.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) try: node = cc.node.update(args.node, patch) except exc.HTTPNotFound: raise exc.CommandError('Node not found: %s' % args.node) _print_node_show(node)
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.extra: properties.extend(utils.args_array_to_patch( 'remove', ['extra/' + x for x in parsed_args.extra])) if parsed_args.portgroup: properties.extend(utils.args_array_to_patch('remove', ['portgroup_uuid'])) if properties: baremetal_client.port.update(parsed_args.port, properties) else: self.log.warning(_LW("Please specify what to unset."))
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.description: properties.extend(utils.args_array_to_patch('remove', ['description'])) if parsed_args.extra: properties.extend(utils.args_array_to_patch('remove', ['extra/' + x for x in parsed_args.extra])) if properties: baremetal_client.chassis.update(parsed_args.chassis, properties) else: self.log.warning(_LW("Please specify what to unset."))
def do_port_update(cc, args): """Update a port.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) try: port = cc.port.update(args.port, patch) except exc.HTTPNotFound: raise exc.CommandError('Port not found: %s' % args.port) _print_port_show(port)
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.instance_uuid: instance_uuid = ["instance_uuid=%s" % parsed_args.instance_uuid] properties.extend(utils.args_array_to_patch( 'add', instance_uuid)) if parsed_args.name: name = ["name=%s" % parsed_args.name] properties.extend(utils.args_array_to_patch( 'add', name)) if parsed_args.driver: driver = ["driver=%s" % parsed_args.driver] properties.extend(utils.args_array_to_patch( 'add', driver)) if parsed_args.property: properties.extend(utils.args_array_to_patch( 'add', ['properties/' + x for x in parsed_args.property])) if parsed_args.extra: properties.extend(utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) if parsed_args.driver_info: properties.extend(utils.args_array_to_patch( 'add', ['driver_info/' + x for x in parsed_args.driver_info])) if parsed_args.instance_info: properties.extend(utils.args_array_to_patch( 'add', ['instance_info/' + x for x in parsed_args.instance_info])) baremetal_client.node.update(parsed_args.node, properties)
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.description: description = ["description=%s" % parsed_args.description] properties.extend(utils.args_array_to_patch( 'add', description)) if parsed_args.extra: properties.extend(utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) if properties: baremetal_client.chassis.update(parsed_args.chassis, properties) else: self.log.warning("Please specify what to set.")
def test_args_array_to_patch_remove(self): my_args = { 'attributes': ['/foo', 'extra/bar'], 'op': 'remove', } patch = utils.args_array_to_patch(my_args['op'], my_args['attributes']) self.assertEqual([{'op': 'remove', 'path': '/foo'}, {'op': 'remove', 'path': '/extra/bar'}], patch)
def test_args_array_to_patch_remove(self): my_args = { 'attributes': ['/foo', 'extra/bar'], 'op': 'remove', } patch = utils.args_array_to_patch(my_args['op'], my_args['attributes']) self.assertEqual(patch, [{'op': 'remove', 'path': '/foo'}, {'op': 'remove', 'path': '/extra/bar'}])
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.property: properties = utils.args_array_to_patch('add', parsed_args.property) baremetal_client.node.update(parsed_args.node, properties)
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal if not parsed_args.node and not parsed_args.property: return patch = utils.args_array_to_patch('remove', parsed_args.property) baremetal_client.node.update(parsed_args.node, patch)
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.property: properties = utils.args_array_to_patch( 'add', parsed_args.property) baremetal_client.node.update(parsed_args.node, properties)
def test_do_port_update(self): client_mock = mock.MagicMock() args = mock.MagicMock() args.port = 'port_uuid' args.op = 'add' args.attributes = [['arg1=val1', 'arg2=val2']] p_shell.do_port_update(client_mock, args) patch = commonutils.args_array_to_patch(args.op, args.attributes[0]) client_mock.port.update.assert_called_once_with('port_uuid', patch)
def test_do_node_update(self): client_mock = mock.MagicMock() args = mock.MagicMock() args.node = "node_uuid" args.op = "add" args.attributes = [["arg1=val1", "arg2=val2"]] n_shell.do_node_update(client_mock, args) patch = commonutils.args_array_to_patch(args.op, args.attributes[0]) client_mock.node.update.assert_called_once_with("node_uuid", patch)
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal if not parsed_args.node and not parsed_args.property: return patch = utils.args_array_to_patch('remove', parsed_args.property) baremetal_client.node.update(parsed_args.node, patch)
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'remove', ['extra/' + x for x in parsed_args.extra])) if parsed_args.portgroup: properties.extend( utils.args_array_to_patch('remove', ['portgroup_uuid'])) if parsed_args.physical_network: properties.extend( utils.args_array_to_patch('remove', ['physical_network'])) if properties: baremetal_client.port.update(parsed_args.port, properties) else: self.log.warning("Please specify what to unset.")
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.node_uuid: node_uuid = ["node_uuid=%s" % parsed_args.node_uuid] properties.extend(utils.args_array_to_patch('add', node_uuid)) if parsed_args.address: address = ["address=%s" % parsed_args.address] properties.extend(utils.args_array_to_patch('add', address)) if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) if not properties: self.log.warning("Please specify what to set.") baremetal_client.port.update(parsed_args.port, properties)
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.name: properties.extend( utils.args_array_to_patch('add', ["name=%s" % parsed_args.name])) if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'add', ["extra/" + x for x in parsed_args.extra])) if properties: baremetal_client.allocation.update(parsed_args.allocation, properties) else: self.log.warning("Please specify what to set.")
def test_do_node_update(self): client_mock = mock.MagicMock() args = mock.MagicMock() args.node = 'node_uuid' args.op = 'add' args.attributes = [['arg1=val1', 'arg2=val2']] args.json = False n_shell.do_node_update(client_mock, args) patch = commonutils.args_array_to_patch(args.op, args.attributes[0]) client_mock.node.update.assert_called_once_with('node_uuid', patch)
def test_do_node_update(self): client_mock = mock.MagicMock() args = mock.MagicMock() args.node = 'node_uuid' args.op = 'add' args.attributes = [['arg1=val1', 'arg2=val2']] args.json = False n_shell.do_node_update(client_mock, args) patch = commonutils.args_array_to_patch(args.op, args.attributes[0]) client_mock.node.update.assert_called_once_with('node_uuid', patch)
def test_do_volume_connector_update(self): client_mock = mock.MagicMock() args = mock.MagicMock() args.volume_connector = 'volume_connector_uuid' args.op = 'add' args.attributes = [['arg1=val1', 'arg2=val2']] args.json = False vc_shell.do_volume_connector_update(client_mock, args) patch = commonutils.args_array_to_patch(args.op, args.attributes[0]) client_mock.volume_connector.update.assert_called_once_with( 'volume_connector_uuid', patch)
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.instance_uuid: properties.extend(utils.args_array_to_patch('remove', ['instance_uuid'])) if parsed_args.name: properties.extend(utils.args_array_to_patch('remove', ['name'])) if parsed_args.property: properties.extend(utils.args_array_to_patch('remove', ['properties/' + x for x in parsed_args.property])) if parsed_args.extra: properties.extend(utils.args_array_to_patch('remove', ['extra/' + x for x in parsed_args.extra])) if parsed_args.driver_info: properties.extend(utils.args_array_to_patch('remove', ['driver_info/' + x for x in parsed_args.driver_info])) if parsed_args.instance_info: properties.extend(utils.args_array_to_patch('remove', ['instance_info/' + x for x in parsed_args.instance_info])) baremetal_client.node.update(parsed_args.node, properties)
def test_args_array_to_patch(self): my_args = { 'attributes': ['foo=bar', '/extra/bar=baz'], 'op': 'add', } patch = utils.args_array_to_patch(my_args['op'], my_args['attributes']) self.assertEqual(patch, [{'op': 'add', 'value': 'bar', 'path': '/foo'}, {'op': 'add', 'value': 'baz', 'path': '/extra/bar'}])
def test_args_array_to_patch(self): my_args = { 'attributes': ['str=foo', 'int=1', 'bool=true', 'list=[1, 2, 3]', 'dict={"foo": "bar"}'], 'op': 'add', } patch = utils.args_array_to_patch(my_args['op'], my_args['attributes']) self.assertEqual([{'op': 'add', 'value': 'foo', 'path': '/str'}, {'op': 'add', 'value': 1, 'path': '/int'}, {'op': 'add', 'value': True, 'path': '/bool'}, {'op': 'add', 'value': [1, 2, 3], 'path': '/list'}, {'op': 'add', 'value': {"foo": "bar"}, 'path': '/dict'}], patch)
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.name: name = ["name=%s" % parsed_args.name] properties.extend(utils.args_array_to_patch('add', name)) if parsed_args.steps: steps = utils.handle_json_arg(parsed_args.steps, 'deploy steps') steps = ["steps=%s" % json.dumps(steps)] properties.extend(utils.args_array_to_patch('add', steps)) if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) if properties: baremetal_client.deploy_template.update(parsed_args.template, properties) else: self.log.warning("Please specify what to set.")
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.node_uuid: node_uuid = ["node_uuid=%s" % parsed_args.node_uuid] properties.extend(utils.args_array_to_patch( 'add', node_uuid)) if parsed_args.address: address = ["address=%s" % parsed_args.address] properties.extend(utils.args_array_to_patch('add', address)) if parsed_args.extra: properties.extend(utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) if parsed_args.portgroup_uuid: portgroup_uuid = ["portgroup_uuid=%s" % parsed_args.portgroup_uuid] properties.extend(utils.args_array_to_patch('add', portgroup_uuid)) if properties: baremetal_client.port.update(parsed_args.port, properties) else: self.log.warning(_LW("Please specify what to set."))
def test_args_array_to_patch(self): my_args = { 'attributes': ['foo=bar', '/extra/bar=baz'], 'op': 'add', } patch = utils.args_array_to_patch(my_args['op'], my_args['attributes']) self.assertEqual([{ 'op': 'add', 'value': 'bar', 'path': '/foo' }, { 'op': 'add', 'value': 'baz', 'path': '/extra/bar' }], patch)
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal # NOTE(rloo): Do this before removing the rest. Otherwise, it won't # work if parsed_args.node is the name and the name is # also being removed. if parsed_args.target_raid_config: baremetal_client.node.set_target_raid_config(parsed_args.node, {}) properties = [] if parsed_args.instance_uuid: properties.extend( utils.args_array_to_patch('remove', ['instance_uuid'])) if parsed_args.name: properties.extend(utils.args_array_to_patch('remove', ['name'])) if parsed_args.resource_class: properties.extend( utils.args_array_to_patch('remove', ['resource_class'])) if parsed_args.property: properties.extend( utils.args_array_to_patch( 'remove', ['properties/' + x for x in parsed_args.property])) if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'remove', ['extra/' + x for x in parsed_args.extra])) if parsed_args.driver_info: properties.extend( utils.args_array_to_patch( 'remove', ['driver_info/' + x for x in parsed_args.driver_info])) if parsed_args.instance_info: properties.extend( utils.args_array_to_patch( 'remove', ['instance_info/' + x for x in parsed_args.instance_info])) if parsed_args.chassis_uuid: properties.extend( utils.args_array_to_patch('remove', ['chassis_uuid'])) if properties: baremetal_client.node.update(parsed_args.node, properties) else: self.log.warning(_LW("Please specify what to unset."))
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.node_uuid: properties.extend( utils.args_array_to_patch( 'add', ["node_uuid=%s" % parsed_args.node_uuid])) if parsed_args.address: properties.extend( utils.args_array_to_patch( 'add', ["address=%s" % parsed_args.address])) if parsed_args.name: name = ["name=%s" % parsed_args.name] properties.extend(utils.args_array_to_patch('add', name)) if parsed_args.support_standalone_ports: properties.extend( utils.args_array_to_patch('add', ["standalone_ports_supported=True"])) if parsed_args.unsupport_standalone_ports: properties.extend( utils.args_array_to_patch( 'add', ["standalone_ports_supported=False"])) if parsed_args.mode: properties.extend( utils.args_array_to_patch('add', ["mode=%s" % parsed_args.mode])) if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) if parsed_args.properties: properties.extend( utils.args_array_to_patch( 'add', ['properties/' + x for x in parsed_args.properties])) if properties: baremetal_client.portgroup.update(parsed_args.portgroup, properties) else: self.log.warning("Please specify what to set.")
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal # NOTE(rloo): Do this before removing the rest. Otherwise, it won't # work if parsed_args.node is the name and the name is # also being removed. if parsed_args.target_raid_config: baremetal_client.node.set_target_raid_config(parsed_args.node, {}) properties = [] if parsed_args.instance_uuid: properties.extend(utils.args_array_to_patch('remove', ['instance_uuid'])) if parsed_args.name: properties.extend(utils.args_array_to_patch('remove', ['name'])) if parsed_args.resource_class: properties.extend(utils.args_array_to_patch('remove', ['resource_class'])) if parsed_args.property: properties.extend(utils.args_array_to_patch('remove', ['properties/' + x for x in parsed_args.property])) if parsed_args.extra: properties.extend(utils.args_array_to_patch('remove', ['extra/' + x for x in parsed_args.extra])) if parsed_args.driver_info: properties.extend(utils.args_array_to_patch('remove', ['driver_info/' + x for x in parsed_args.driver_info])) if parsed_args.instance_info: properties.extend(utils.args_array_to_patch('remove', ['instance_info/' + x for x in parsed_args.instance_info])) if parsed_args.chassis_uuid: properties.extend(utils.args_array_to_patch('remove', ['chassis_uuid'])) if properties: baremetal_client.node.update(parsed_args.node, properties) else: self.log.warning(_LW("Please specify what to unset."))
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.node_uuid: node_uuid = ["node_uuid=%s" % parsed_args.node_uuid] properties.extend(utils.args_array_to_patch('add', node_uuid)) if parsed_args.address: address = ["address=%s" % parsed_args.address] properties.extend(utils.args_array_to_patch('add', address)) if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) if parsed_args.portgroup_uuid: portgroup_uuid = ["portgroup_uuid=%s" % parsed_args.portgroup_uuid] properties.extend(utils.args_array_to_patch('add', portgroup_uuid)) if parsed_args.local_link_connection: properties.extend( utils.args_array_to_patch('add', [ 'local_link_connection/' + x for x in parsed_args.local_link_connection ])) if parsed_args.pxe_enabled is not None: properties.extend( utils.args_array_to_patch( 'add', ['pxe_enabled=%s' % parsed_args.pxe_enabled])) if parsed_args.physical_network: physical_network = [ "physical_network=%s" % parsed_args.physical_network ] properties.extend( utils.args_array_to_patch('add', physical_network)) if parsed_args.is_smartnic: is_smartnic = ["is_smartnic=%s" % parsed_args.is_smartnic] properties.extend(utils.args_array_to_patch('add', is_smartnic)) if properties: baremetal_client.port.update(parsed_args.port, properties) else: self.log.warning("Please specify what to set.")
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.node_uuid: node_uuid = ["node_uuid=%s" % parsed_args.node_uuid] properties.extend(utils.args_array_to_patch( 'add', node_uuid)) if parsed_args.address: address = ["address=%s" % parsed_args.address] properties.extend(utils.args_array_to_patch('add', address)) if parsed_args.extra: properties.extend(utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) if parsed_args.portgroup_uuid: portgroup_uuid = ["portgroup_uuid=%s" % parsed_args.portgroup_uuid] properties.extend(utils.args_array_to_patch('add', portgroup_uuid)) if parsed_args.local_link_connection: properties.extend(utils.args_array_to_patch( 'add', ['local_link_connection/' + x for x in parsed_args.local_link_connection])) if parsed_args.pxe_enabled is not None: properties.extend(utils.args_array_to_patch( 'add', ['pxe_enabled=%s' % parsed_args.pxe_enabled])) if parsed_args.physical_network: physical_network = ["physical_network=%s" % parsed_args.physical_network] properties.extend(utils.args_array_to_patch('add', physical_network)) if parsed_args.is_smartnic: is_smartnic = ["is_smartnic=%s" % parsed_args.is_smartnic] properties.extend(utils.args_array_to_patch('add', is_smartnic)) if properties: baremetal_client.port.update(parsed_args.port, properties) else: self.log.warning("Please specify what to set.")
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal properties = [] if parsed_args.node_uuid: properties.extend(utils.args_array_to_patch( 'add', ["node_uuid=%s" % parsed_args.node_uuid])) if parsed_args.address: properties.extend(utils.args_array_to_patch( 'add', ["address=%s" % parsed_args.address])) if parsed_args.name: name = ["name=%s" % parsed_args.name] properties.extend(utils.args_array_to_patch( 'add', name)) if parsed_args.support_standalone_ports: properties.extend(utils.args_array_to_patch( 'add', ["standalone_ports_supported=True"])) if parsed_args.unsupport_standalone_ports: properties.extend(utils.args_array_to_patch( 'add', ["standalone_ports_supported=False"])) if parsed_args.mode: properties.extend(utils.args_array_to_patch( 'add', ["mode=%s" % parsed_args.mode])) if parsed_args.extra: properties.extend(utils.args_array_to_patch( 'add', ['extra/' + x for x in parsed_args.extra])) if parsed_args.properties: properties.extend(utils.args_array_to_patch( 'add', ['properties/' + x for x in parsed_args.properties])) if properties: baremetal_client.portgroup.update(parsed_args.portgroup, properties) else: self.log.warning(_LW("Please specify what to set."))
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal if parsed_args.boot_index is not None and parsed_args.boot_index < 0: raise exc.CommandError( _('Expected non-negative --boot-index, got %s') % parsed_args.boot_index) properties = [] if parsed_args.node_uuid: properties.extend( utils.args_array_to_patch( 'add', ["node_uuid=%s" % parsed_args.node_uuid])) if parsed_args.volume_type: properties.extend( utils.args_array_to_patch( 'add', ["volume_type=%s" % parsed_args.volume_type])) if parsed_args.boot_index: properties.extend( utils.args_array_to_patch( 'add', ["boot_index=%s" % parsed_args.boot_index])) if parsed_args.volume_id: properties.extend( utils.args_array_to_patch( 'add', ["volume_id=%s" % parsed_args.volume_id])) if parsed_args.properties: properties.extend( utils.args_array_to_patch( 'add', ["properties/" + x for x in parsed_args.properties])) if parsed_args.extra: properties.extend( utils.args_array_to_patch( 'add', ["extra/" + x for x in parsed_args.extra])) if properties: baremetal_client.volume_target.update(parsed_args.volume_target, properties) else: self.log.warning("Please specify what to set.")
def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) baremetal_client = self.app.client_manager.baremetal if parsed_args.boot_index is not None and parsed_args.boot_index < 0: raise exc.CommandError( _('Expected non-negative --boot-index, got %s') % parsed_args.boot_index) properties = [] if parsed_args.node_uuid: properties.extend(utils.args_array_to_patch( 'add', ["node_uuid=%s" % parsed_args.node_uuid])) if parsed_args.volume_type: properties.extend(utils.args_array_to_patch( 'add', ["volume_type=%s" % parsed_args.volume_type])) if parsed_args.boot_index: properties.extend(utils.args_array_to_patch( 'add', ["boot_index=%s" % parsed_args.boot_index])) if parsed_args.volume_id: properties.extend(utils.args_array_to_patch( 'add', ["volume_id=%s" % parsed_args.volume_id])) if parsed_args.properties: properties.extend(utils.args_array_to_patch( 'add', ["properties/" + x for x in parsed_args.properties])) if parsed_args.extra: properties.extend(utils.args_array_to_patch( 'add', ["extra/" + x for x in parsed_args.extra])) if properties: baremetal_client.volume_target.update( parsed_args.volume_target, properties) else: self.log.warning("Please specify what to set.")
def do_volume_target_update(cc, args): """Update information about a volume target.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) volume_target = cc.volume_target.update(args.volume_target, patch) _print_volume_target_show(volume_target, json=args.json)
def do_node_update(cc, args): """Update information about a registered node.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) node = cc.node.update(args.node, patch) _print_node_show(node)
def do_portgroup_update(cc, args): """Update information about a portgroup.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) portgroup = cc.portgroup.update(args.portgroup, patch) _print_portgroup_show(portgroup, json=args.json)
def do_port_update(cc, args): """Update information about a port.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) port = cc.port.update(args.port, patch) _print_port_show(port, json=args.json)
def do_volume_target_update(cc, args): """Update information about a volume target.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) volume_target = cc.volume_target.update(args.volume_target, patch) _print_volume_target_show(volume_target, json=args.json)
def do_node_update(cc, args): """Update a node.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) node = cc.node.update(args.node, patch) _print_node_show(node)
def do_chassis_update(cc, args): """Update information about a chassis.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) chassis = cc.chassis.update(args.chassis, patch) _print_chassis_show(chassis)
def _prepare_node_for_deploy(ironic_interface, node_id, deployment_profile): instance_info = deployment_profile.get('instance_info') node_attr = [] for k, v in instance_info.iteritems(): node_attr.append('instance_info/%s=%s' % (k, json.dumps(v))) net = deployment_profile.get('network') vif_id = net.get('vif_id') network_id = net.get('id') network_name = net.get('name') if (vif_id and any([network_name, network_id]) or (network_name and network_id)): err_msg = ( "Only one of network:name or network:id or vif_id should be specified." ) LOG.error(err_msg) return _deploy_failed(name, err_msg) if network_name: network_id = _convert_to_uuid('networks', network_name, **connection_args) if network_id: create_port_args = { 'name': '%s_port' % node_id, 'network_id': network_id, } fixed_ips = [] for fixed_ip in net.get('fixed_ips', []): subnet_name = fixed_ip.get('subnet_name') subnet_id = fixed_ip.get('subnet_id') if subnet_name and subnet_id: err_msg = ( "Only one of subnet_name or subnet_id should be specified." ) LOG.error(err_msg) return _deploy_failed(name, err_msg) if subnet_name: subnet_id = _convert_to_uuid('subnets', subnet_name, **connection_args) if subnet_id: fixed_ips.append({ 'ip_address': fixed_ip['ip_address'], 'subnet_id': subnet_id }) if fixed_ips: create_port_args['fixed_ips'] = fixed_ips create_port_args.update(connection_args) vif_id = __salt__['neutronng.create_port'](**create_port_args) if vif_id: __salt__['ironicng.vif_attach'](node_ident=node_id, vif_id=vif_id, **connection_args) configdrive = deployment_profile.get('configdrive') if not configdrive: metadata = deployment_profile.get('metadata') if metadata: configdrive_args = {} userdata = metadata.get('userdata') instance = metadata.get('instance') hostname = instance.pop('hostname', node_id) if userdata: configdrive_args['user_data'] = userdata if instance: configdrive_args.update(instance) configdrive = __salt__['configdrive.generate']( dst='/tmp/%s' % node_id, hostname=hostname, ironic_format=True, **configdrive_args)['base64_gzip'] if configdrive: node_attr.append('instance_info/configdrive=%s' % configdrive) if node_attr: patch = utils.args_array_to_patch('add', node_attr) ironic_interface.node.update(node_id, patch).to_dict()
def node_update(self, node, prop, value_prop, row='properties'): """Add property with value to node properties.""" args = ['{0}/{1}={2}'.format(row, prop, value_prop)] patch = utils.args_array_to_patch('add', args) return self.ironic_client.node.update(node.uuid, patch)
def do_chassis_update(cc, args): """Update a chassis.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) chassis = cc.chassis.update(args.chassis, patch) _print_chassis_show(chassis)
def do_node_update(cc, args): """Update information about a registered node.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) node = cc.node.update(args.node, patch) _print_node_show(node, json=args.json)
def do_portgroup_update(cc, args): """Update information about a portgroup.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) portgroup = cc.portgroup.update(args.portgroup, patch) _print_portgroup_show(portgroup)
def do_port_update(cc, args): """Update a port.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) port = cc.port.update(args.port, patch) _print_port_show(port)
def do_port_update(cc, args): """Update a port.""" patch = utils.args_array_to_patch(args.op, args.attributes[0]) port = cc.port.update(args.port, patch) _print_port_show(port)
def node_update(self, node, prop, value_prop, row="properties"): """Add property with value to node properties.""" args = ["{0}/{1}={2}".format(row, prop, value_prop)] patch = utils.args_array_to_patch("add", args) return self.ironic_client.node.update(node.uuid, patch)