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
This commit is contained in:
Harald Jensås 2021-06-30 01:21:41 +02:00
parent ee1990ef65
commit b3bcf63fa5
4 changed files with 26 additions and 20 deletions

View File

@ -1512,7 +1512,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud):
'ssh_public_keys': 'sekrit', 'ssh_public_keys': 'sekrit',
'ssh_user_name': 'heat-admin', 'ssh_user_name': 'heat-admin',
'ssh_private_key_file': self.tmp_dir.join('id_rsa.pub'), 'ssh_private_key_file': self.tmp_dir.join('id_rsa.pub'),
'manage_network_ports': False, 'manage_network_ports': True,
'configure_networking': False, 'configure_networking': False,
'working_dir': self.tmp_dir.join('working_dir'), 'working_dir': self.tmp_dir.join('working_dir'),
'templates': constants.TRIPLEO_HEAT_TEMPLATES, 'templates': constants.TRIPLEO_HEAT_TEMPLATES,
@ -1531,7 +1531,7 @@ class TestDeployOvercloud(fakes.TestDeployOvercloud):
{'count': 3, 'name': 'Controller'} {'count': 3, 'name': 'Controller'}
], ],
'prompt': False, 'prompt': False,
'manage_network_ports': False, 'manage_network_ports': True,
}, },
inventory='localhost,', inventory='localhost,',
playbook='cli-overcloud-node-unprovision.yaml', playbook='cli-overcloud-node-unprovision.yaml',

View File

@ -351,7 +351,7 @@ class TestProvisionNode(fakes.TestOvercloudNode):
'ssh_private_key_file': key_file_name, 'ssh_private_key_file': key_file_name,
'node_timeout': 3600, 'node_timeout': 3600,
'concurrency': 20, 'concurrency': 20,
'manage_network_ports': False, 'manage_network_ports': True,
'configure_networking': False, 'configure_networking': False,
'working_dir': mock.ANY, 'working_dir': mock.ANY,
'templates': constants.TRIPLEO_HEAT_TEMPLATES, 'templates': constants.TRIPLEO_HEAT_TEMPLATES,
@ -406,7 +406,7 @@ class TestUnprovisionNode(fakes.TestOvercloudNode):
'all': True, 'all': True,
'prompt': True, 'prompt': True,
'unprovision_confirm': unprovision_confirm, 'unprovision_confirm': unprovision_confirm,
'manage_network_ports': False, 'manage_network_ports': True,
}, },
inventory='localhost,', inventory='localhost,',
playbook='cli-overcloud-node-unprovision.yaml', playbook='cli-overcloud-node-unprovision.yaml',

View File

@ -84,11 +84,10 @@ def _validate_args(parsed_args):
"Error: --config-download-only/--setup-only must not be used when " "Error: --config-download-only/--setup-only must not be used when "
"using --baremetal-deployment") "using --baremetal-deployment")
if ((parsed_args.network_ports or parsed_args.network_config) if (parsed_args.network_config and not parsed_args.baremetal_deployment):
and not parsed_args.baremetal_deployment):
raise oscexc.CommandError( raise oscexc.CommandError(
"Error: --baremetal-deployment must be used when using " "Error: --baremetal-deployment must be used when using "
"--network-ports or --network-config") "--network-config")
if parsed_args.environment_directories: if parsed_args.environment_directories:
_validate_args_environment_dir(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_private_key_file": key,
"ssh_public_keys": ssh_key, "ssh_public_keys": ssh_key,
"ssh_user_name": parsed_args.overcloud_ssh_user, "ssh_user_name": parsed_args.overcloud_ssh_user,
"manage_network_ports": (parsed_args.network_ports "manage_network_ports": True,
or parsed_args.network_config),
"configure_networking": parsed_args.network_config, "configure_networking": parsed_args.network_config,
"working_dir": self.working_dir, "working_dir": self.working_dir,
"templates": parsed_args.templates, "templates": parsed_args.templates,
@ -492,8 +490,7 @@ class DeployOvercloud(command.Command):
"stack_name": parsed_args.stack, "stack_name": parsed_args.stack,
"baremetal_deployment": roles, "baremetal_deployment": roles,
"prompt": False, "prompt": False,
"manage_network_ports": (parsed_args.network_ports "manage_network_ports": True,
or parsed_args.network_config),
} }
) )
@ -878,10 +875,6 @@ class DeployOvercloud(command.Command):
metavar='<baremetal_deployment.yaml>', metavar='<baremetal_deployment.yaml>',
help=_('Configuration file describing the ' help=_('Configuration file describing the '
'baremetal deployment')) 'baremetal deployment'))
parser.add_argument('--network-ports',
help=_('Enable provisioning of network ports'),
default=False,
action="store_true")
parser.add_argument('--network-config', parser.add_argument('--network-config',
help=_('Apply network config to provisioned ' help=_('Apply network config to provisioned '
'nodes. (Implies "--network-ports")'), 'nodes. (Implies "--network-ports")'),

View File

@ -254,7 +254,9 @@ class ProvisionNode(command.Command):
help=_('Number of seconds to wait for the node ' help=_('Number of seconds to wait for the node '
'provision to complete. (default=3600)')) 'provision to complete. (default=3600)'))
parser.add_argument('--network-ports', 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, default=False,
action="store_true") action="store_true")
parser.add_argument('--network-config', parser.add_argument('--network-config',
@ -286,6 +288,11 @@ class ProvisionNode(command.Command):
def take_action(self, parsed_args): def take_action(self, parsed_args):
self.log.debug("take_action(%s)" % 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: if not parsed_args.working_dir:
working_dir = oooutils.get_default_working_dir( working_dir = oooutils.get_default_working_dir(
parsed_args.stack) parsed_args.stack)
@ -315,8 +322,7 @@ class ProvisionNode(command.Command):
"ssh_user_name": parsed_args.overcloud_ssh_user, "ssh_user_name": parsed_args.overcloud_ssh_user,
"node_timeout": parsed_args.timeout, "node_timeout": parsed_args.timeout,
"concurrency": parsed_args.concurrency, "concurrency": parsed_args.concurrency,
"manage_network_ports": (parsed_args.network_ports "manage_network_ports": True,
or parsed_args.network_config),
"configure_networking": parsed_args.network_config, "configure_networking": parsed_args.network_config,
"working_dir": working_dir, "working_dir": working_dir,
"templates": parsed_args.templates, "templates": parsed_args.templates,
@ -366,7 +372,9 @@ class UnprovisionNode(command.Command):
help=_('Configuration file describing the ' help=_('Configuration file describing the '
'baremetal deployment')) 'baremetal deployment'))
parser.add_argument('--network-ports', 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, default=False,
action="store_true") action="store_true")
return parser return parser
@ -374,6 +382,11 @@ class UnprovisionNode(command.Command):
def take_action(self, parsed_args): def take_action(self, parsed_args):
self.log.debug("take_action(%s)" % 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: with open(parsed_args.input, 'r') as fp:
roles = yaml.safe_load(fp) roles = yaml.safe_load(fp)
@ -393,7 +406,7 @@ class UnprovisionNode(command.Command):
"all": parsed_args.all, "all": parsed_args.all,
"prompt": True, "prompt": True,
"unprovision_confirm": unprovision_confirm, "unprovision_confirm": unprovision_confirm,
"manage_network_ports": parsed_args.network_ports, "manage_network_ports": True,
} }
) )
with open(unprovision_confirm) as f: with open(unprovision_confirm) as f: