From b3bcf63fa51c2f9a1f6485fb19173b2329c12a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Harald=20Jens=C3=A5s?= Date: Wed, 30 Jun 2021 01:21:41 +0200 Subject: [PATCH] Deprecate --network-ports, enable it by default The argument to enable disable node port management when provisioning or unprovisioning baremetal nodes can be enabled by default. It is needed to have an ansible inventory generated, which is required for whole-disk-image growpart execution in change: I085ab9da30e1e1a7d2b9a9f230dd0275bd40480d. Growpart should always run. Change-Id: Ia0df205ea568f089c7cb7e5464bde76d294f4c36 --- .../overcloud_deploy/test_overcloud_deploy.py | 4 ++-- .../v2/overcloud_node/test_overcloud_node.py | 4 ++-- tripleoclient/v1/overcloud_deploy.py | 15 ++++-------- tripleoclient/v2/overcloud_node.py | 23 +++++++++++++++---- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py b/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py index 42dc54a46..fab2a01c4 100644 --- a/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py +++ b/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py @@ -1512,7 +1512,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud): 'ssh_public_keys': 'sekrit', 'ssh_user_name': 'heat-admin', 'ssh_private_key_file': self.tmp_dir.join('id_rsa.pub'), - 'manage_network_ports': False, + 'manage_network_ports': True, 'configure_networking': False, 'working_dir': self.tmp_dir.join('working_dir'), 'templates': constants.TRIPLEO_HEAT_TEMPLATES, @@ -1531,7 +1531,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud): {'count': 3, 'name': 'Controller'} ], 'prompt': False, - 'manage_network_ports': False, + 'manage_network_ports': True, }, inventory='localhost,', playbook='cli-overcloud-node-unprovision.yaml', diff --git a/tripleoclient/tests/v2/overcloud_node/test_overcloud_node.py b/tripleoclient/tests/v2/overcloud_node/test_overcloud_node.py index e5979afed..c3fe7560a 100644 --- a/tripleoclient/tests/v2/overcloud_node/test_overcloud_node.py +++ b/tripleoclient/tests/v2/overcloud_node/test_overcloud_node.py @@ -351,7 +351,7 @@ class TestProvisionNode(fakes.TestOvercloudNode): 'ssh_private_key_file': key_file_name, 'node_timeout': 3600, 'concurrency': 20, - 'manage_network_ports': False, + 'manage_network_ports': True, 'configure_networking': False, 'working_dir': mock.ANY, 'templates': constants.TRIPLEO_HEAT_TEMPLATES, @@ -406,7 +406,7 @@ class TestUnprovisionNode(fakes.TestOvercloudNode): 'all': True, 'prompt': True, 'unprovision_confirm': unprovision_confirm, - 'manage_network_ports': False, + 'manage_network_ports': True, }, inventory='localhost,', playbook='cli-overcloud-node-unprovision.yaml', diff --git a/tripleoclient/v1/overcloud_deploy.py b/tripleoclient/v1/overcloud_deploy.py index 63f496904..25ebfc4a2 100644 --- a/tripleoclient/v1/overcloud_deploy.py +++ b/tripleoclient/v1/overcloud_deploy.py @@ -84,11 +84,10 @@ def _validate_args(parsed_args): "Error: --config-download-only/--setup-only must not be used when " "using --baremetal-deployment") - if ((parsed_args.network_ports or parsed_args.network_config) - and not parsed_args.baremetal_deployment): + if (parsed_args.network_config and not parsed_args.baremetal_deployment): raise oscexc.CommandError( "Error: --baremetal-deployment must be used when using " - "--network-ports or --network-config") + "--network-config") if parsed_args.environment_directories: _validate_args_environment_dir(parsed_args.environment_directories) @@ -451,8 +450,7 @@ class DeployOvercloud(command.Command): "ssh_private_key_file": key, "ssh_public_keys": ssh_key, "ssh_user_name": parsed_args.overcloud_ssh_user, - "manage_network_ports": (parsed_args.network_ports - or parsed_args.network_config), + "manage_network_ports": True, "configure_networking": parsed_args.network_config, "working_dir": self.working_dir, "templates": parsed_args.templates, @@ -492,8 +490,7 @@ class DeployOvercloud(command.Command): "stack_name": parsed_args.stack, "baremetal_deployment": roles, "prompt": False, - "manage_network_ports": (parsed_args.network_ports - or parsed_args.network_config), + "manage_network_ports": True, } ) @@ -878,10 +875,6 @@ class DeployOvercloud(command.Command): metavar='', help=_('Configuration file describing the ' 'baremetal deployment')) - parser.add_argument('--network-ports', - help=_('Enable provisioning of network ports'), - default=False, - action="store_true") parser.add_argument('--network-config', help=_('Apply network config to provisioned ' 'nodes. (Implies "--network-ports")'), diff --git a/tripleoclient/v2/overcloud_node.py b/tripleoclient/v2/overcloud_node.py index 474619b2d..0b0520e2d 100644 --- a/tripleoclient/v2/overcloud_node.py +++ b/tripleoclient/v2/overcloud_node.py @@ -254,7 +254,9 @@ class ProvisionNode(command.Command): help=_('Number of seconds to wait for the node ' 'provision to complete. (default=3600)')) parser.add_argument('--network-ports', - help=_('Enable provisioning of network ports'), + help=_('DEPRECATED! Network ports will always be ' + 'provisioned.\n' + 'Enable provisioning of network ports'), default=False, action="store_true") parser.add_argument('--network-config', @@ -286,6 +288,11 @@ class ProvisionNode(command.Command): def take_action(self, parsed_args): self.log.debug("take_action(%s)" % parsed_args) + if parsed_args.network_ports: + self.log.warning('DEPRECATED option "--network-ports" detected. ' + 'This option is no longer used, network ports ' + 'are always managed.') + if not parsed_args.working_dir: working_dir = oooutils.get_default_working_dir( parsed_args.stack) @@ -315,8 +322,7 @@ class ProvisionNode(command.Command): "ssh_user_name": parsed_args.overcloud_ssh_user, "node_timeout": parsed_args.timeout, "concurrency": parsed_args.concurrency, - "manage_network_ports": (parsed_args.network_ports - or parsed_args.network_config), + "manage_network_ports": True, "configure_networking": parsed_args.network_config, "working_dir": working_dir, "templates": parsed_args.templates, @@ -366,7 +372,9 @@ class UnprovisionNode(command.Command): help=_('Configuration file describing the ' 'baremetal deployment')) parser.add_argument('--network-ports', - help=_('Enable unprovisioning of network ports'), + help=_('DEPRECATED! Network ports will always be ' + 'unprovisioned.\n' + 'Enable unprovisioning of network ports'), default=False, action="store_true") return parser @@ -374,6 +382,11 @@ class UnprovisionNode(command.Command): def take_action(self, parsed_args): self.log.debug("take_action(%s)" % parsed_args) + if parsed_args.network_ports: + self.log.warning('DEPRECATED option "--network-ports" detected. ' + 'This option is no longer used, network ports ' + 'are always managed.') + with open(parsed_args.input, 'r') as fp: roles = yaml.safe_load(fp) @@ -393,7 +406,7 @@ class UnprovisionNode(command.Command): "all": parsed_args.all, "prompt": True, "unprovision_confirm": unprovision_confirm, - "manage_network_ports": parsed_args.network_ports, + "manage_network_ports": True, } ) with open(unprovision_confirm) as f: