From 2c5b1cc5f6d69bcbc3aa65aa4a882a0c20e35852 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. Conflicts: tripleoclient/v1/overcloud_deploy.py Change-Id: Ia0df205ea568f089c7cb7e5464bde76d294f4c36 (cherry picked from commit b3bcf63fa51c2f9a1f6485fb19173b2329c12a45) --- .../overcloud_deploy/test_overcloud_deploy.py | 4 ++-- .../v2/overcloud_node/test_overcloud_node.py | 4 ++-- tripleoclient/v1/overcloud_deploy.py | 14 ++++------- tripleoclient/v2/overcloud_node.py | 23 +++++++++++++++---- 4 files changed, 26 insertions(+), 19 deletions(-) diff --git a/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py b/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py index f0eca0e66..8aa462995 100644 --- a/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py +++ b/tripleoclient/tests/v1/overcloud_deploy/test_overcloud_deploy.py @@ -1531,7 +1531,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, @@ -1550,7 +1550,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 73e818d72..230adf123 100644 --- a/tripleoclient/v1/overcloud_deploy.py +++ b/tripleoclient/v1/overcloud_deploy.py @@ -547,11 +547,11 @@ class DeployOvercloud(command.Command): "Error: --config-download-only/--setup-only must not be " "used when using --baremetal-deployment") - if ((parsed_args.network_ports or parsed_args.network_config) + 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: self._validate_args_environment_directory( @@ -607,8 +607,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, @@ -650,8 +649,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, } ) @@ -1041,10 +1039,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 fe8fa8ca1..0cc3815b9 100644 --- a/tripleoclient/v2/overcloud_node.py +++ b/tripleoclient/v2/overcloud_node.py @@ -253,7 +253,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', @@ -277,6 +279,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) @@ -306,8 +313,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, @@ -357,7 +363,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 @@ -365,6 +373,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) @@ -384,7 +397,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: