Adapt to changes from the Bifrost Victoria release
The critical part of this commit is adapting code that was still sourcing env-vars. This file was removed from Bifrost in the Victoria release, breaking the `kayobe seed deployment image build` command. The other changes are not yet breaking Kayobe: 1) Release notes claim that OpenStackClient is no longer installed when keystone is not enabled, but it appears to still be available. Use the ironic native baremetal command instead except in playbooks related to baremetal compute nodes (i.e. overcloud ironic). 2) The use of OS_CLOUD=bifrost-inspector is deprecated and should be replaced by OS_CLOUD=bifrost. Change-Id: I25078e69acdf41a4ef9957f99fe5047de54b778d Story: 2008558 Task: 41696
This commit is contained in:
parent
ff7c1741d8
commit
f3c0526c09
@ -77,7 +77,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node maintenance set {% raw %}{{ inventory_hostname }}{% endraw %} --reason BIOS-RAID"'
|
||||
-a "baremetal node maintenance set {% raw %}{{ inventory_hostname }}{% endraw %} --reason BIOS-RAID"'
|
||||
delegate_to: "{{ seed_host }}"
|
||||
vars:
|
||||
# NOTE: Without this, the seed's ansible_host variable will not be
|
||||
@ -108,7 +108,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node maintenance unset {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
-a "baremetal node maintenance unset {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
delegate_to: "{{ seed_host }}"
|
||||
vars:
|
||||
# NOTE: Without this, the seed's ansible_host variable will not be
|
||||
|
@ -45,7 +45,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
-a "baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
register: show_result
|
||||
changed_when: False
|
||||
delegate_to: "{{ seed_host }}"
|
||||
@ -79,7 +79,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node undeploy {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
-a "baremetal node undeploy {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
register: delete_result
|
||||
until: delete_result is successful or 'is locked by host' in delete_result.stdout
|
||||
retries: "{{ ironic_retries }}"
|
||||
@ -105,7 +105,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
-a "baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
register: show_result
|
||||
# Wait until the node is no longer in one of the deleting states.
|
||||
until: not show_result.stdout_lines[1:] | intersect(deleting_states)
|
||||
|
@ -39,7 +39,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
-a "baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
register: show_result
|
||||
changed_when: False
|
||||
delegate_to: "{{ seed_host }}"
|
||||
@ -73,7 +73,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node manage {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
-a "baremetal node manage {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
register: manage_result
|
||||
until: manage_result is successful or 'is locked by host' in manage_result.stdout
|
||||
retries: "{{ ironic_retries }}"
|
||||
@ -98,7 +98,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node inspect {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
-a "baremetal node inspect {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
register: provide_result
|
||||
until: provide_result is successful or 'is locked by host' in provide_result.stdout
|
||||
retries: "{{ ironic_retries }}"
|
||||
@ -122,7 +122,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
-a "baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
register: show_result
|
||||
# Wait until the node is no longer in one of the inspecting states.
|
||||
until: not show_result.stdout_lines[1:] | intersect(inspecting_states)
|
||||
|
@ -21,7 +21,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m shell
|
||||
-a "env OS_CLOUD=bifrost-inspector openstack baremetal introspection data save {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
-a "env OS_CLOUD=bifrost baremetal introspection data save {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
register: save_result
|
||||
changed_when: False
|
||||
# Ignore errors, log a message later.
|
||||
|
@ -48,7 +48,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
-a "baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
register: show_result
|
||||
changed_when: False
|
||||
delegate_to: "{{ seed_host }}"
|
||||
@ -82,7 +82,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node manage {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
-a "baremetal node manage {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
register: manage_result
|
||||
until: manage_result is successful or 'is locked by host' in manage_result.stdout
|
||||
retries: "{{ ironic_retries }}"
|
||||
@ -107,7 +107,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node provide {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
-a "baremetal node provide {% raw %}{{ inventory_hostname }}{% endraw %}"'
|
||||
register: provide_result
|
||||
until: provide_result is successful or 'is locked by host' in provide_result.stdout
|
||||
retries: "{{ ironic_retries }}"
|
||||
@ -163,7 +163,7 @@
|
||||
-e @/etc/bifrost/dib.yml
|
||||
--limit {{ inventory_hostname }}
|
||||
-m command
|
||||
-a "openstack baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
-a "baremetal node show {% raw %}{{ inventory_hostname }}{% endraw %} -f value -c provision_state"'
|
||||
register: show_result
|
||||
# Wait until the node is no longer in one of the deploying states.
|
||||
until: not show_result.stdout_lines[1:] | intersect(deploying_states)
|
||||
|
@ -2,7 +2,7 @@
|
||||
- name: Copy dnsmasq configuration
|
||||
command: >
|
||||
docker exec bifrost_deploy
|
||||
bash -c '. /bifrost/env-vars &&
|
||||
bash -c 'export OS_CLOUD=bifrost &&
|
||||
ansible -vvvv target -i /bifrost/playbooks/inventory/target
|
||||
-m copy
|
||||
-a "src=/etc/bifrost/dell-switch-bmp.conf dest=/etc/dnsmasq.d/dell-switch-bmp.conf"
|
||||
@ -11,7 +11,7 @@
|
||||
- name: Restart bifrost dnsmasq
|
||||
command: >
|
||||
docker exec bifrost_deploy
|
||||
bash -c '. /bifrost/env-vars &&
|
||||
bash -c 'export OS_CLOUD=bifrost &&
|
||||
ansible -vvvv target -i /bifrost/playbooks/inventory/target
|
||||
-m service
|
||||
-a "name=dnsmasq state=restarted"
|
||||
@ -20,7 +20,7 @@
|
||||
- name: Copy Dell switch BMP images
|
||||
command: >
|
||||
docker exec bifrost_deploy
|
||||
bash -c '. /bifrost/env-vars &&
|
||||
bash -c 'export OS_CLOUD=bifrost &&
|
||||
ansible -vvvv target -i /bifrost/playbooks/inventory/target
|
||||
-m copy
|
||||
-a "src=/etc/bifrost/{{ item.dest }} dest={{ dell_switch_bmp_httpboot_path }}/{{ item.dest }}"
|
||||
|
@ -45,7 +45,7 @@
|
||||
- name: Copy Ironic Python Agent images into /httpboot
|
||||
command: >
|
||||
docker exec bifrost_deploy
|
||||
bash -c '. /bifrost/env-vars &&
|
||||
bash -c 'export OS_CLOUD=bifrost &&
|
||||
ansible -vvvv target -i /bifrost/playbooks/inventory/target
|
||||
-m copy
|
||||
-a "src=/etc/bifrost/{{ item }} dest=/httpboot/{{ item }}"
|
||||
|
@ -79,17 +79,12 @@ Docker volume.
|
||||
Accessing the Seed Services
|
||||
===========================
|
||||
|
||||
The Ironic API can be accessed via the ``openstack`` command line interface::
|
||||
The Ironic and Ironic inspector APIs can be accessed via the ``baremetal``
|
||||
command line interface::
|
||||
|
||||
(bifrost_deploy) $ source env-vars
|
||||
(bifrost_deploy) $ openstack baremetal node list
|
||||
|
||||
Ironic inspector API requires some environment variables to be set::
|
||||
|
||||
(bifrost_deploy) $ unset OS_CLOUD
|
||||
(bifrost_deploy) $ export OS_URL=http://localhost:5050
|
||||
(bifrost_deploy) $ export OS_TOKEN=fake-token
|
||||
(bifrost_deploy) $ openstack baremetal introspection list
|
||||
(bifrost_deploy) $ export OS_CLOUD=bifrost
|
||||
(bifrost_deploy) $ baremetal node list
|
||||
(bifrost_deploy) $ baremetal introspection list
|
||||
|
||||
Backup & Restore
|
||||
================
|
||||
|
@ -266,8 +266,8 @@ registered with the ironic service running in the seed host's
|
||||
the following on the seed::
|
||||
|
||||
$ docker exec -it bifrost_deploy bash
|
||||
(bifrost_deploy) $ source env-vars
|
||||
(bifrost_deploy) $ openstack baremetal node list
|
||||
(bifrost_deploy) $ export OS_CLOUD=bifrost
|
||||
(bifrost_deploy) $ baremetal node list
|
||||
|
||||
In order to interact with these nodes using Kayobe, run the following command
|
||||
to add them to the Kayobe and Kolla-Ansible inventories::
|
||||
@ -340,8 +340,8 @@ Provisioning
|
||||
manually, e.g. from the seed::
|
||||
|
||||
$ docker exec -it bifrost_deploy bash
|
||||
(bifrost_deploy) $ source env-vars
|
||||
(bifrost_deploy) $ openstack baremetal node set ee77b4ca-8860-4003-a18f-b00d01295bda --name controller0
|
||||
(bifrost_deploy) $ export OS_CLOUD=bifrost
|
||||
(bifrost_deploy) $ baremetal node set ee77b4ca-8860-4003-a18f-b00d01295bda --name controller0
|
||||
|
||||
Provisioning of the overcloud is performed by the ironic service running in the
|
||||
bifrost container on the seed. To provision the overcloud nodes::
|
||||
|
@ -280,11 +280,10 @@ migrate:
|
||||
.. code-block:: console
|
||||
|
||||
$ docker exec -it bifrost_deploy bash
|
||||
(bifrost_deploy) $ export OS_URL=http://localhost:6385
|
||||
(bifrost_deploy) $ export OS_TOKEN=fake
|
||||
(bifrost_deploy) $ openstack baremetal node maintenance set <node>
|
||||
(bifrost_deploy) $ openstack baremetal node set <node> --driver ipmi
|
||||
(bifrost_deploy) $ openstack baremetal node maintenance unset <node>
|
||||
(bifrost_deploy) $ export OS_CLOUD=bifrost
|
||||
(bifrost_deploy) $ baremetal node maintenance set <node>
|
||||
(bifrost_deploy) $ baremetal node set <node> --driver ipmi
|
||||
(bifrost_deploy) $ baremetal node maintenance unset <node>
|
||||
|
||||
Upgrading Containerised Services
|
||||
--------------------------------
|
||||
|
@ -0,0 +1,19 @@
|
||||
---
|
||||
upgrade:
|
||||
- |
|
||||
When interacting with Bifrost, sourcing the ``env-vars`` file is not
|
||||
supported anymore. Set the ``OS_CLOUD`` environment variable to ``bifrost``
|
||||
instead or run ``. ~/openrc bifrost``.
|
||||
- |
|
||||
When interacting with Bifrost, it is recommended to use the ironic native
|
||||
``baremetal`` command instead of ``openstack baremetal``, as the
|
||||
availability of OpenStackClient inside the Bifrost container is not
|
||||
guaranteed.
|
||||
deprecations:
|
||||
- |
|
||||
When interacting with Bifrost, the use of ``OS_CLOUD=bifrost-inspector`` is
|
||||
deprecated and should be replaced by ``OS_CLOUD=bifrost``.
|
||||
fixes:
|
||||
- |
|
||||
Fixes failure in the ``kayobe seed deployment image build`` command due to
|
||||
changes in Bifrost.
|
Loading…
Reference in New Issue
Block a user