In commit[1] we removed the use of validate_playbook method,
but it was missed to remove the method definition, removing this
as its not used anywhere. Also, dropping PlaybookNotFound exception
as its not used anywhere else.
[1] https://review.opendev.org/c/openstack/python-tripleoclient/+/794017
Change-Id: Ia646351cfe60d328b809af56ed5a05ec74e46cd5
When running 'overcloud deploy' command look for dynamic
defaults file for these options:
--roles-file, --network-file, --vip-file and
--baremetal-deployment
When the option is set by the user, use the user provided
file and make sure a copy is created in the working
directory. If the argument is not set look in the working
directory for the file used previously and use that file.
overclod node, and overcloud network commands require the
user input. But will place a copy in the working_dir for
overcloud deploy.
The depends-on creates these "defaults" by running the
different nova-less/network-v2 export commands when
upgrading the undercloud. With this change the next
'overcloud deploy' after the undercloud upgrade will use
the correct files (unless the user set the args ...)
Depends-On: https://review.opendev.org/795773
Change-Id: I53ba631dc80428c6f1fe71c2bbfb0b5a36dd8f01
The commands `openstack overcloud node import` and `openstack
overcloud node configure` now have a --boot-mode arguement which
allows the boot mode for all affected nodes to be set to UEFI boot
(uefi) or legacy BIOS boot (bios).
It is expected --boot-mode=bios will only be required when specific
nodes have issues with UEFI boot, or on architectures which don't
support it (Power)
Change-Id: Idee25f23652a8e7435a31842d4a2d838543607ae
Depends-On: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/805732
Blueprint: whole-disk-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
Allow setting '--templates', the path tot the THT root
directory. Environment files created by the node and
network provision commands will be created with the user
specified path to the THT root. Defaults to:
/usr/share/openstack-tripleo-heat-templates/
Closes-Bug: #1932079
Depends-On: I9decd8fb9860cd17dc9e69b9970d9f9dabf11428
Change-Id: I5dd81788c08bb0d797190a5fb8bb120b7d8b4f32
Just like cli-overcloud-node-network-config.yaml,
cli-overcloud-node-growvols.yaml will be run by the "openstack
overcloud node provision" directly after provisioning so that whole
disk images will have their /var volume grown to 100%.
This default growvols behaviour can be overridden by adding an
ansible_playbooks entry which sets different arguments:
- count: 3
name: Controller
ansible_playbooks:
- playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-node-growvols.yaml
extra_vars:
growvols_args: /var=50% /srv=50%
Other changes in this commit include:
- Always call run_role_playbooks and pass network_config as an
argument
- Full unit test coverage on run_role_playbooks
- Fix run_role_playbook using os.path.basename instead of os.path.dirname
Change-Id: I085ab9da30e1e1a7d2b9a9f230dd0275bd40480d
Blueprint: whole-disk-default
Depends-On: I0a847ad4077a02a02ad817dd189a6a31c3637a93
Distingushing between pre- and post- network config
playbooks is not neccecary. Anything post-network
config can be done using the THT extra config interfaces.
Also, refactor bm post deploy playbooks to utils:
* Add methods in utils module to run playbooks against
nodes provisioned by the baremetal deploy workflow.
* Re-factors the implementation in node provision to use
the new methods in utils module.
Change-Id: Ief11590f3421ffd6fb1b4312c07ce9de48f17c3d
Extend the overcloud node provision command to run
ansible playbooks defined in the baremetal deployment
definition against the provisioned nodes.
To ensure the playbook is applied prior to node network
configuration set 'pre_network: true'. Additonal ansible
vars can be defined as 'extra_vars' for each ansible
playbook definition.
Implements: blueprint network-data-v2-ports
Depends-On: https://review.opendev.org/786045
Change-Id: I67a15f637a62e2cb683e6e160483201f7ba093e9
Update the node provision command to run the
playbook to apply network configurtion on
overcloud nodes.
Option --network-config must be used to enable.
When --network-config is enabled, --network-ports
is implied.
Partial-Implements: blueprint network-data-v2-ports
Depends-On: https://review.opendev.org/772976
Change-Id: I8f8a88ac5e872d96757b6f56f1caae323fe37338
We added '--output-dir' just a few weeks ago, now it seems
we want to use '--work-dir'. See:
https://review.opendev.org/775302.
Let's re-factor to use the common consistent working directory.
Depends-On: https://review.opendev.org/780969
Change-Id: Ic903c6d1769d6a6a026208b9857680a115de6c31
We added '--output-dir' just a few weeks ago, now it seems
we want to use '--work-dir'. See:
https://review.opendev.org/775302.
Let's re-factor to use the common consistent working directory.
Change-Id: Ic62c599d79383bea18780cc5c25fc5f4843207a2
Adds option output_dir to the node provision command.
Set ansible vars ssh_private_key_file and output_dir
when calling cli-overcloud-node-provision.yaml.
Partial-Implements: blueprint network-data-v2-ports
Change-Id: I97f7bfd16942a8c33367a4fb246a10798344e4a0
Add option to control management of network ports
as part of the node provisioning/unprovisioning workflow.
The option defaults to, False i.e no managment of
network ports.
Depends-On: https://review.opendev.org/764640
Partial-Implements: blueprint network-data-v2-ports
Change-Id: I00d9be55caaaa1e3e6630d9bd868b85080d54e28
--node-timeout - Maximum timeout for node introspection
--max-retries - Maximum introspection retries
--retry-timeout - Maximum timeout between introspection retries
Change-Id: I9c245dbc258c9714bb5a581d6d4d23b42cf53198
This change will set the verbosity consistently whenever a playbook is
executed via the client.
All tests have been updated to ensure that the verbosity setting is always
defined when a playbook is executed.
Change-Id: I35b10d48344c8b7f71186bc529a300f75d7b8d63
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This change removes all of mistral from the introspection workflows
by calling the new introspection playbook.
Story: 2007212
Task: 38444
Task: 38445
Depends-On: I7ba8a31b71ed5bc9bdd944769ea472b537c83a98
Change-Id: I48bedfe9a705f5ff8e0eed1f852b77938d53c763
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This change removes all of mistral from the register_or_update workflow
by calling the required functions directly.
Story: 2007212
Task: 38442
Closes-Bug: #1866637
Change-Id: Ie85adc64cd4fcec469d6979a424d8f01b00f34f2
Signed-off-by: Kevin Carter <kecarter@redhat.com>
The baremetal introspection command has been implemented in v2 using
an ansible playbook instead of a mistral workflow.
Story: 2007212
Task: 38444
Task: 38445
Change-Id: I61a4d1ae241bd3877abbc77bf4bad226d2502379