Tag all (well, some of) the things (plays)
Having tagged plays allows us to easily run a subset of the plays for a command, and perform targeted operations with less risk of unintended consequences. The tags are typically named after the playbook, although some of the overcloud playbooks have been tagged without an overcloud- prefix.
This commit is contained in:
parent
3736b46b01
commit
d8fe45b3d8
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure configuration management host is bootstrapped
|
- name: Ensure configuration management host is bootstrapped
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
|
tags:
|
||||||
|
- bootstrap
|
||||||
roles:
|
roles:
|
||||||
- role: bootstrap
|
- role: bootstrap
|
||||||
bootstrap_ssh_key_type: "{{ ssh_key_type }}"
|
bootstrap_ssh_key_type: "{{ ssh_key_type }}"
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
- name: Ensure that a Bare Metal Provisioning (BMP) environment is configured for Dell switches on the seed
|
- name: Ensure that a Bare Metal Provisioning (BMP) environment is configured for Dell switches on the seed
|
||||||
hosts: seed
|
hosts: seed
|
||||||
|
tags:
|
||||||
|
- dell-switch-bmp
|
||||||
roles:
|
roles:
|
||||||
- role: dell-switch-bmp
|
- role: dell-switch-bmp
|
||||||
# This is the Nginx web server on the seed node.
|
# This is the Nginx web server on the seed node.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure development tools are installed
|
- name: Ensure development tools are installed
|
||||||
hosts: seed-hypervisor:seed:overcloud
|
hosts: seed-hypervisor:seed:overcloud
|
||||||
|
tags:
|
||||||
|
- dev-tools
|
||||||
roles:
|
roles:
|
||||||
- role: dev-tools
|
- role: dev-tools
|
||||||
|
@ -4,5 +4,7 @@
|
|||||||
# interfaces. In some cases this can lead to timeouts.
|
# interfaces. In some cases this can lead to timeouts.
|
||||||
- name: Ensure Glean is disabled and its artifacts are removed
|
- name: Ensure Glean is disabled and its artifacts are removed
|
||||||
hosts: seed:overcloud
|
hosts: seed:overcloud
|
||||||
|
tags:
|
||||||
|
- disable-glean
|
||||||
roles:
|
roles:
|
||||||
- role: disable-glean
|
- role: disable-glean
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Disable SELinux and reboot if required
|
- name: Disable SELinux and reboot if required
|
||||||
hosts: seed:overcloud
|
hosts: seed:overcloud
|
||||||
|
tags:
|
||||||
|
- disable-selinux
|
||||||
roles:
|
roles:
|
||||||
- role: disable-selinux
|
- role: disable-selinux
|
||||||
disable_selinux_reboot_timeout: "{{ 600 if ansible_virtualization_role == 'host' else 300 }}"
|
disable_selinux_reboot_timeout: "{{ 600 if ansible_virtualization_role == 'host' else 300 }}"
|
||||||
|
@ -8,5 +8,7 @@
|
|||||||
|
|
||||||
- name: Ensure a local Docker registry is deployed
|
- name: Ensure a local Docker registry is deployed
|
||||||
hosts: controllers[0]
|
hosts: controllers[0]
|
||||||
|
tags:
|
||||||
|
- docker-registry
|
||||||
roles:
|
roles:
|
||||||
- role: docker-registry
|
- role: docker-registry
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure docker is configured
|
- name: Ensure docker is configured
|
||||||
hosts: docker
|
hosts: docker
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
roles:
|
roles:
|
||||||
- role: docker
|
- role: docker
|
||||||
docker_daemon_mtu: "{{ public_net_name | net_mtu | default }}"
|
docker_daemon_mtu: "{{ public_net_name | net_mtu | default }}"
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
- name: Dump configuration from one or more hosts
|
- name: Dump configuration from one or more hosts
|
||||||
hosts: "{{ dump_hosts }}"
|
hosts: "{{ dump_hosts }}"
|
||||||
gather_facts: "{{ dump_facts }}"
|
gather_facts: "{{ dump_facts }}"
|
||||||
|
tags:
|
||||||
|
- dump-config
|
||||||
vars:
|
vars:
|
||||||
dump_path: /tmp/kayobe-dump-config
|
dump_path: /tmp/kayobe-dump-config
|
||||||
dump_facts: no
|
dump_facts: no
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
|
|
||||||
- name: Ensure inspection store is deployed
|
- name: Ensure inspection store is deployed
|
||||||
hosts: controllers[0]
|
hosts: controllers[0]
|
||||||
|
tags:
|
||||||
|
- inspection-store
|
||||||
roles:
|
roles:
|
||||||
- role: inspection-store
|
- role: inspection-store
|
||||||
inspection_store_enabled: "{{ inspector_store_enabled }}"
|
inspection_store_enabled: "{{ inspector_store_enabled }}"
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure IP addresses are allocated
|
- name: Ensure IP addresses are allocated
|
||||||
hosts: seed-hypervisor:seed:overcloud
|
hosts: seed-hypervisor:seed:overcloud
|
||||||
|
tags:
|
||||||
|
- ip-allocation
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
# Use serial=1 to avoid races between allocations for different hosts.
|
# Use serial=1 to avoid races between allocations for different hosts.
|
||||||
serial: 1
|
serial: 1
|
||||||
|
@ -3,5 +3,7 @@
|
|||||||
|
|
||||||
- name: Ensure IP routing is enabled
|
- name: Ensure IP routing is enabled
|
||||||
hosts: seed:overcloud
|
hosts: seed:overcloud
|
||||||
|
tags:
|
||||||
|
- ip-routing
|
||||||
roles:
|
roles:
|
||||||
- role: ip-routing
|
- role: ip-routing
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure the Kayobe Ansible user account exists
|
- name: Ensure the Kayobe Ansible user account exists
|
||||||
hosts: seed:overcloud
|
hosts: seed:overcloud
|
||||||
|
tags:
|
||||||
|
- kayobe-ansible-user
|
||||||
vars:
|
vars:
|
||||||
ansible_user: "{{ bootstrap_user }}"
|
ansible_user: "{{ bootstrap_user }}"
|
||||||
# We can't assume that a virtualenv exists at this point, so use the system
|
# We can't assume that a virtualenv exists at this point, so use the system
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure Kolla Ansible is configured
|
- name: Ensure Kolla Ansible is configured
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
|
tags:
|
||||||
|
- kolla-ansible
|
||||||
vars:
|
vars:
|
||||||
# We need to reference configuration for the controller and seed nodes.
|
# We need to reference configuration for the controller and seed nodes.
|
||||||
# We pick the first host from each group for this. It is possible that at
|
# We pick the first host from each group for this. It is possible that at
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
- name: Ensure the Bifrost overcloud inventory is initialised
|
- name: Ensure the Bifrost overcloud inventory is initialised
|
||||||
hosts: seed
|
hosts: seed
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
tags:
|
||||||
|
- kolla-bifrost-hostvars
|
||||||
tasks:
|
tasks:
|
||||||
- name: Ensure the Bifrost host variables directory exists
|
- name: Ensure the Bifrost host variables directory exists
|
||||||
file:
|
file:
|
||||||
@ -23,6 +25,8 @@
|
|||||||
- name: Ensure the Bifrost overcloud inventory is populated
|
- name: Ensure the Bifrost overcloud inventory is populated
|
||||||
hosts: overcloud
|
hosts: overcloud
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
tags:
|
||||||
|
- kolla-bifrost-hostvars
|
||||||
vars:
|
vars:
|
||||||
seed_host: "{{ groups['seed'][0] }}"
|
seed_host: "{{ groups['seed'][0] }}"
|
||||||
bifrost_hostvars:
|
bifrost_hostvars:
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure Kolla Bifrost is configured
|
- name: Ensure Kolla Bifrost is configured
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
|
tags:
|
||||||
|
- kolla-bifrost
|
||||||
vars:
|
vars:
|
||||||
kolla_bifrost_extra_globals_path: "{{ kayobe_config_path ~ '/kolla/config/bifrost/bifrost.yml' }}"
|
kolla_bifrost_extra_globals_path: "{{ kayobe_config_path ~ '/kolla/config/bifrost/bifrost.yml' }}"
|
||||||
kolla_bifrost_driver_map:
|
kolla_bifrost_driver_map:
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure Kolla is installed and configured
|
- name: Ensure Kolla is installed and configured
|
||||||
hosts: container-image-builders
|
hosts: container-image-builders
|
||||||
|
tags:
|
||||||
|
- kolla-build
|
||||||
roles:
|
roles:
|
||||||
- role: kolla
|
- role: kolla
|
||||||
- role: kolla-build
|
- role: kolla-build
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure Kolla host services are configured
|
- name: Ensure Kolla host services are configured
|
||||||
hosts: controllers
|
hosts: controllers
|
||||||
|
tags:
|
||||||
|
- kolla-ansible
|
||||||
|
- kolla-host
|
||||||
tasks:
|
tasks:
|
||||||
- name: Ensure host iSCSI services are stopped and disabled
|
- name: Ensure host iSCSI services are stopped and disabled
|
||||||
service:
|
service:
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
- name: Check whether Ironic is enabled
|
- name: Check whether Ironic is enabled
|
||||||
hosts: controllers
|
hosts: controllers
|
||||||
|
tags:
|
||||||
|
- kolla-ansible
|
||||||
|
- kolla-openstack
|
||||||
tasks:
|
tasks:
|
||||||
- name: Create controllers group with ironic enabled
|
- name: Create controllers group with ironic enabled
|
||||||
group_by:
|
group_by:
|
||||||
@ -9,6 +11,9 @@
|
|||||||
|
|
||||||
- name: Ensure locally built Ironic Python Agent images are copied
|
- name: Ensure locally built Ironic Python Agent images are copied
|
||||||
hosts: controllers_with_ironic_enabled_True[0]
|
hosts: controllers_with_ironic_enabled_True[0]
|
||||||
|
tags:
|
||||||
|
- kolla-ansible
|
||||||
|
- kolla-openstack
|
||||||
vars:
|
vars:
|
||||||
# These are the filenames generated by overcloud-ipa-build.yml.
|
# These are the filenames generated by overcloud-ipa-build.yml.
|
||||||
ipa_image_name: "ipa"
|
ipa_image_name: "ipa"
|
||||||
@ -73,6 +78,9 @@
|
|||||||
|
|
||||||
- name: Ensure Kolla OpenStack components are configured
|
- name: Ensure Kolla OpenStack components are configured
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
|
tags:
|
||||||
|
- kolla-ansible
|
||||||
|
- kolla-openstack
|
||||||
vars:
|
vars:
|
||||||
switch_type_to_device_type:
|
switch_type_to_device_type:
|
||||||
dellos9: netmiko_dell_force10
|
dellos9: netmiko_dell_force10
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure LVM configuration is applied
|
- name: Ensure LVM configuration is applied
|
||||||
hosts: seed:overcloud
|
hosts: seed:overcloud
|
||||||
|
tags:
|
||||||
|
- lvm
|
||||||
pre_tasks:
|
pre_tasks:
|
||||||
- name: Fail if the LVM physical disks have not been configured
|
- name: Fail if the LVM physical disks have not been configured
|
||||||
fail:
|
fail:
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
hosts: seed-hypervisor:seed:overcloud
|
hosts: seed-hypervisor:seed:overcloud
|
||||||
tags:
|
tags:
|
||||||
- config
|
- config
|
||||||
|
- network
|
||||||
vars:
|
vars:
|
||||||
ether_interfaces: "{{ network_interfaces | net_select_ethers | list }}"
|
ether_interfaces: "{{ network_interfaces | net_select_ethers | list }}"
|
||||||
bridge_interfaces: "{{ network_interfaces | net_select_bridges | list }}"
|
bridge_interfaces: "{{ network_interfaces | net_select_bridges | list }}"
|
||||||
@ -73,6 +74,7 @@
|
|||||||
hosts: network
|
hosts: network
|
||||||
tags:
|
tags:
|
||||||
- config
|
- config
|
||||||
|
- network
|
||||||
vars:
|
vars:
|
||||||
veth_bridge_mtu_map: {}
|
veth_bridge_mtu_map: {}
|
||||||
veth_interfaces: []
|
veth_interfaces: []
|
||||||
|
@ -8,5 +8,7 @@
|
|||||||
|
|
||||||
- name: Ensure Node Exporter is deployed
|
- name: Ensure Node Exporter is deployed
|
||||||
hosts: overcloud:&docker
|
hosts: overcloud:&docker
|
||||||
|
tags:
|
||||||
|
- node-exporter
|
||||||
roles:
|
roles:
|
||||||
- role: node-exporter
|
- role: node-exporter
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure NTP is installed and configured
|
- name: Ensure NTP is installed and configured
|
||||||
hosts: seed-hypervisor:seed:overcloud
|
hosts: seed-hypervisor:seed:overcloud
|
||||||
|
tags:
|
||||||
|
- ntp
|
||||||
roles:
|
roles:
|
||||||
- role: yatesr.timezone
|
- role: yatesr.timezone
|
||||||
become: True
|
become: True
|
||||||
|
@ -8,5 +8,7 @@
|
|||||||
|
|
||||||
- name: Ensure OpenSM is deployed
|
- name: Ensure OpenSM is deployed
|
||||||
hosts: controllers[0]
|
hosts: controllers[0]
|
||||||
|
tags:
|
||||||
|
- opensm
|
||||||
roles:
|
roles:
|
||||||
- role: opensm
|
- role: opensm
|
||||||
|
@ -9,6 +9,9 @@
|
|||||||
- name: Group overcloud nodes by their BMC type
|
- name: Group overcloud nodes by their BMC type
|
||||||
hosts: overcloud
|
hosts: overcloud
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
tags:
|
||||||
|
- bios
|
||||||
|
- raid
|
||||||
vars:
|
vars:
|
||||||
# List of BMC types supporting BIOS and RAID configuration.
|
# List of BMC types supporting BIOS and RAID configuration.
|
||||||
supported_bmc_types:
|
supported_bmc_types:
|
||||||
@ -31,6 +34,9 @@
|
|||||||
- name: Check whether any changes to nodes' BIOS and RAID configuration are required
|
- name: Check whether any changes to nodes' BIOS and RAID configuration are required
|
||||||
hosts: overcloud_with_bmcs_of_type_idrac
|
hosts: overcloud_with_bmcs_of_type_idrac
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
tags:
|
||||||
|
- bios
|
||||||
|
- raid
|
||||||
vars:
|
vars:
|
||||||
# Set this to False to avoid rebooting the nodes after configuration.
|
# Set this to False to avoid rebooting the nodes after configuration.
|
||||||
drac_reboot: True
|
drac_reboot: True
|
||||||
@ -50,6 +56,9 @@
|
|||||||
- name: Ensure that overcloud BIOS and RAID volumes are configured
|
- name: Ensure that overcloud BIOS and RAID volumes are configured
|
||||||
hosts: overcloud_with_bmcs_of_type_idrac
|
hosts: overcloud_with_bmcs_of_type_idrac
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
tags:
|
||||||
|
- bios
|
||||||
|
- raid
|
||||||
vars:
|
vars:
|
||||||
# Set this to False to avoid rebooting the nodes after configuration.
|
# Set this to False to avoid rebooting the nodes after configuration.
|
||||||
drac_reboot: True
|
drac_reboot: True
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
- name: Ensure the overcloud nodes are deprovisioned
|
- name: Ensure the overcloud nodes are deprovisioned
|
||||||
hosts: overcloud
|
hosts: overcloud
|
||||||
|
tags:
|
||||||
|
- deprovision
|
||||||
vars:
|
vars:
|
||||||
# Set to False to avoid waiting for the nodes to become active.
|
# Set to False to avoid waiting for the nodes to become active.
|
||||||
wait_available: True
|
wait_available: True
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure docker SDK for python is installed
|
- name: Ensure docker SDK for python is installed
|
||||||
hosts: overcloud
|
hosts: overcloud
|
||||||
|
tags:
|
||||||
|
- docker-sdk-upgrade
|
||||||
tasks:
|
tasks:
|
||||||
# Docker renamed their python SDK from docker-py to docker in the 2.0.0
|
# Docker renamed their python SDK from docker-py to docker in the 2.0.0
|
||||||
# release, and also broke backwards compatibility. Kolla-ansible requires
|
# release, and also broke backwards compatibility. Kolla-ansible requires
|
||||||
|
@ -9,6 +9,8 @@
|
|||||||
|
|
||||||
- name: Ensure overcloud hosts' /etc/hosts does not contain provisioning network IP
|
- name: Ensure overcloud hosts' /etc/hosts does not contain provisioning network IP
|
||||||
hosts: overcloud
|
hosts: overcloud
|
||||||
|
tags:
|
||||||
|
- etc-hosts-fixup
|
||||||
tasks:
|
tasks:
|
||||||
- name: Ensure overcloud hosts' /etc/hosts does not contain provisioning network or loopback IPs
|
- name: Ensure overcloud hosts' /etc/hosts does not contain provisioning network or loopback IPs
|
||||||
lineinfile:
|
lineinfile:
|
||||||
@ -23,6 +25,8 @@
|
|||||||
|
|
||||||
- name: Ensure rabbitmq containers' /etc/hosts does not contain provisioning network or loopback IPs
|
- name: Ensure rabbitmq containers' /etc/hosts does not contain provisioning network or loopback IPs
|
||||||
hosts: overcloud
|
hosts: overcloud
|
||||||
|
tags:
|
||||||
|
- etc-hosts-fixup
|
||||||
vars:
|
vars:
|
||||||
rabbitmq_containers:
|
rabbitmq_containers:
|
||||||
- rabbitmq
|
- rabbitmq
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
- name: Ensure the overcloud nodes' hardware is inspected
|
- name: Ensure the overcloud nodes' hardware is inspected
|
||||||
hosts: overcloud
|
hosts: overcloud
|
||||||
|
tags:
|
||||||
|
- hardware-inspect
|
||||||
vars:
|
vars:
|
||||||
# Set to False to avoid waiting for the nodes to become active.
|
# Set to False to avoid waiting for the nodes to become active.
|
||||||
wait_inspected: True
|
wait_inspected: True
|
||||||
|
@ -10,6 +10,9 @@
|
|||||||
|
|
||||||
- name: Check whether Ironic is enabled
|
- name: Check whether Ironic is enabled
|
||||||
hosts: controllers
|
hosts: controllers
|
||||||
|
tags:
|
||||||
|
- introspection-rules
|
||||||
|
- introspection-rules-dell-lldp-workaround
|
||||||
tasks:
|
tasks:
|
||||||
- name: Create controllers group with ironic enabled
|
- name: Create controllers group with ironic enabled
|
||||||
group_by:
|
group_by:
|
||||||
@ -18,6 +21,9 @@
|
|||||||
- name: Group controller hosts in systems requiring the workaround
|
- name: Group controller hosts in systems requiring the workaround
|
||||||
hosts: controllers_with_ironic_enabled_True
|
hosts: controllers_with_ironic_enabled_True
|
||||||
gather_facts: False
|
gather_facts: False
|
||||||
|
tags:
|
||||||
|
- introspection-rules
|
||||||
|
- introspection-rules-dell-lldp-workaround
|
||||||
tasks:
|
tasks:
|
||||||
- name: Group controller hosts in systems requiring the Dell switch LLDP workaround
|
- name: Group controller hosts in systems requiring the Dell switch LLDP workaround
|
||||||
group_by:
|
group_by:
|
||||||
@ -27,6 +33,9 @@
|
|||||||
# Only required to run on a single host.
|
# Only required to run on a single host.
|
||||||
hosts: controllers_require_workaround_True[0]
|
hosts: controllers_require_workaround_True[0]
|
||||||
gather_facts: False
|
gather_facts: False
|
||||||
|
tags:
|
||||||
|
- introspection-rules
|
||||||
|
- introspection-rules-dell-lldp-workaround
|
||||||
vars:
|
vars:
|
||||||
all_switch_interfaces: []
|
all_switch_interfaces: []
|
||||||
ironic_inspector_rules: []
|
ironic_inspector_rules: []
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Check whether Ironic is enabled
|
- name: Check whether Ironic is enabled
|
||||||
hosts: controllers
|
hosts: controllers
|
||||||
|
tags:
|
||||||
|
- introspection-rules
|
||||||
tasks:
|
tasks:
|
||||||
- name: Create controllers group with ironic enabled
|
- name: Create controllers group with ironic enabled
|
||||||
group_by:
|
group_by:
|
||||||
@ -10,6 +12,8 @@
|
|||||||
# Only required to run on a single host.
|
# Only required to run on a single host.
|
||||||
hosts: controllers_with_ironic_enabled_True[0]
|
hosts: controllers_with_ironic_enabled_True[0]
|
||||||
gather_facts: False
|
gather_facts: False
|
||||||
|
tags:
|
||||||
|
- introspection-rules
|
||||||
vars:
|
vars:
|
||||||
venv: "{{ virtualenv_path }}/shade"
|
venv: "{{ virtualenv_path }}/shade"
|
||||||
pre_tasks:
|
pre_tasks:
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
- name: Ensure the overcloud Ansible inventory is populated
|
- name: Ensure the overcloud Ansible inventory is populated
|
||||||
hosts: seed
|
hosts: seed
|
||||||
|
tags:
|
||||||
|
- inventory-discover
|
||||||
tasks:
|
tasks:
|
||||||
- name: Gather the Ironic node inventory using Bifrost
|
- name: Gather the Ironic node inventory using Bifrost
|
||||||
command: >
|
command: >
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
|
|
||||||
- name: Check whether Ironic is enabled
|
- name: Check whether Ironic is enabled
|
||||||
hosts: controllers
|
hosts: controllers
|
||||||
|
tags:
|
||||||
|
- ipa-build
|
||||||
tasks:
|
tasks:
|
||||||
- name: Create controllers group with ironic enabled
|
- name: Create controllers group with ironic enabled
|
||||||
group_by:
|
group_by:
|
||||||
@ -14,6 +16,8 @@
|
|||||||
- name: Ensure Ironic Python Agent images are built and installed
|
- name: Ensure Ironic Python Agent images are built and installed
|
||||||
hosts: controllers_with_ironic_enabled_True[0]
|
hosts: controllers_with_ironic_enabled_True[0]
|
||||||
gather_facts: False
|
gather_facts: False
|
||||||
|
tags:
|
||||||
|
- ipa-build
|
||||||
vars:
|
vars:
|
||||||
ipa_image_name: "ipa"
|
ipa_image_name: "ipa"
|
||||||
tasks:
|
tasks:
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Check whether Ironic is enabled
|
- name: Check whether Ironic is enabled
|
||||||
hosts: controllers
|
hosts: controllers
|
||||||
|
tags:
|
||||||
|
- ipa-images
|
||||||
tasks:
|
tasks:
|
||||||
- name: Create controllers group with ironic enabled
|
- name: Create controllers group with ironic enabled
|
||||||
group_by:
|
group_by:
|
||||||
@ -9,6 +11,8 @@
|
|||||||
- name: Ensure Ironic Python Agent (IPA) images are downloaded and registered
|
- name: Ensure Ironic Python Agent (IPA) images are downloaded and registered
|
||||||
hosts: controllers_with_ironic_enabled_True[0]
|
hosts: controllers_with_ironic_enabled_True[0]
|
||||||
gather_facts: False
|
gather_facts: False
|
||||||
|
tags:
|
||||||
|
- ipa-images
|
||||||
vars:
|
vars:
|
||||||
# These are the filenames generated by overcloud-ipa-build.yml.
|
# These are the filenames generated by overcloud-ipa-build.yml.
|
||||||
ipa_image_name: "ipa"
|
ipa_image_name: "ipa"
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
- name: Ensure the overcloud nodes are provisioned
|
- name: Ensure the overcloud nodes are provisioned
|
||||||
hosts: overcloud
|
hosts: overcloud
|
||||||
|
tags:
|
||||||
|
- provision
|
||||||
vars:
|
vars:
|
||||||
# Set to False to avoid waiting for the nodes to become active.
|
# Set to False to avoid waiting for the nodes to become active.
|
||||||
wait_active: True
|
wait_active: True
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Save overcloud service configuration
|
- name: Save overcloud service configuration
|
||||||
hosts: overcloud
|
hosts: overcloud
|
||||||
|
tags:
|
||||||
|
- service-config-save
|
||||||
vars:
|
vars:
|
||||||
# Override this to change the directory in which the configuration will be
|
# Override this to change the directory in which the configuration will be
|
||||||
# saved.
|
# saved.
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Check whether Ironic is enabled
|
- name: Check whether Ironic is enabled
|
||||||
hosts: controllers
|
hosts: controllers
|
||||||
|
tags:
|
||||||
|
- provision-net
|
||||||
tasks:
|
tasks:
|
||||||
- name: Create controllers group with ironic enabled
|
- name: Create controllers group with ironic enabled
|
||||||
group_by:
|
group_by:
|
||||||
@ -10,6 +12,8 @@
|
|||||||
# Only required to run on a single host.
|
# Only required to run on a single host.
|
||||||
hosts: controllers_with_ironic_enabled_True[0]
|
hosts: controllers_with_ironic_enabled_True[0]
|
||||||
gather_facts: False
|
gather_facts: False
|
||||||
|
tags:
|
||||||
|
- provision-net
|
||||||
pre_tasks:
|
pre_tasks:
|
||||||
- name: Validate OpenStack password authentication parameters
|
- name: Validate OpenStack password authentication parameters
|
||||||
fail:
|
fail:
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
- name: Ensure a public OpenStack API environment file exists
|
- name: Ensure a public OpenStack API environment file exists
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
|
tags:
|
||||||
|
- public-openrc
|
||||||
vars:
|
vars:
|
||||||
public_api_proto: "{% if kolla_enable_tls_external | bool %}https{% else %}http{% endif %}"
|
public_api_proto: "{% if kolla_enable_tls_external | bool %}https{% else %}http{% endif %}"
|
||||||
public_api_vip_address: "{{ public_net_name | net_vip_address }}"
|
public_api_vip_address: "{{ public_net_name | net_vip_address }}"
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure the libvirt daemon is configured
|
- name: Ensure the libvirt daemon is configured
|
||||||
hosts: seed-hypervisor
|
hosts: seed-hypervisor
|
||||||
|
tags:
|
||||||
|
- libvirt-host
|
||||||
roles:
|
roles:
|
||||||
- role: libvirt-host
|
- role: libvirt-host
|
||||||
libvirt_host_pools: "{{ seed_hypervisor_libvirt_pools }}"
|
libvirt_host_pools: "{{ seed_hypervisor_libvirt_pools }}"
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure introspection rules are registered in Bifrost
|
- name: Ensure introspection rules are registered in Bifrost
|
||||||
hosts: seed
|
hosts: seed
|
||||||
|
tags:
|
||||||
|
- introspection-rules
|
||||||
roles:
|
roles:
|
||||||
- role: ironic-inspector-rules
|
- role: ironic-inspector-rules
|
||||||
ironic_inspector_venv: "{{ virtualenv_path }}/shade"
|
ironic_inspector_venv: "{{ virtualenv_path }}/shade"
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
- name: Ensure Ironic Python Agent images are built and installed
|
- name: Ensure Ironic Python Agent images are built and installed
|
||||||
hosts: seed
|
hosts: seed
|
||||||
|
tags:
|
||||||
|
- ipa-build
|
||||||
vars:
|
vars:
|
||||||
ipa_image_name: "ipa"
|
ipa_image_name: "ipa"
|
||||||
ipa_images:
|
ipa_images:
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
- name: Ensure SNAT is configured
|
- name: Ensure SNAT is configured
|
||||||
hosts: seed:overcloud
|
hosts: seed:overcloud
|
||||||
|
tags:
|
||||||
|
- snat
|
||||||
vars:
|
vars:
|
||||||
snat_rules:
|
snat_rules:
|
||||||
- interface: "{{ ansible_default_ipv4.interface }}"
|
- interface: "{{ ansible_default_ipv4.interface }}"
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
- name: Ensure known hosts are configured
|
- name: Ensure known hosts are configured
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
tags:
|
||||||
|
- ssh-known-host
|
||||||
roles:
|
roles:
|
||||||
- role: ssh-known-host
|
- role: ssh-known-host
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
---
|
---
|
||||||
- hosts: controllers
|
- hosts: controllers
|
||||||
|
tags:
|
||||||
|
- swift
|
||||||
roles:
|
roles:
|
||||||
- role: swift-setup
|
- role: swift-setup
|
||||||
swift_image: "kolla/{{ kolla_base_distro }}-{{ kolla_install_type }}-swift-base:{{ kolla_openstack_release }}"
|
swift_image: "kolla/{{ kolla_base_distro }}-{{ kolla_install_type }}-swift-base:{{ kolla_openstack_release }}"
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure sysctl parameters are configured
|
- name: Ensure sysctl parameters are configured
|
||||||
hosts: seed:seed-hypervisor:overcloud
|
hosts: seed:seed-hypervisor:overcloud
|
||||||
|
tags:
|
||||||
|
- sysctl
|
||||||
roles:
|
roles:
|
||||||
- role: sysctl
|
- role: sysctl
|
||||||
sysctl_file: "/etc/sysctl.d/kayobe"
|
sysctl_file: "/etc/sysctl.d/kayobe"
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: Ensure users exist
|
- name: Ensure users exist
|
||||||
hosts: seed:seed-hypervisor:overcloud
|
hosts: seed:seed-hypervisor:overcloud
|
||||||
|
tags:
|
||||||
|
- users
|
||||||
roles:
|
roles:
|
||||||
- role: singleplatform-eng.users
|
- role: singleplatform-eng.users
|
||||||
become: True
|
become: True
|
||||||
|
@ -8,5 +8,7 @@
|
|||||||
|
|
||||||
- name: Ensure that all unmounted block devices are wiped
|
- name: Ensure that all unmounted block devices are wiped
|
||||||
hosts: seed:overcloud
|
hosts: seed:overcloud
|
||||||
|
tags:
|
||||||
|
- wipe-disks
|
||||||
roles:
|
roles:
|
||||||
- role: wipe-disks
|
- role: wipe-disks
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
- name: Ensure Yum repos are configured
|
- name: Ensure Yum repos are configured
|
||||||
hosts: seed-hypervisor:seed:overcloud
|
hosts: seed-hypervisor:seed:overcloud
|
||||||
|
tags:
|
||||||
|
- yum
|
||||||
roles:
|
roles:
|
||||||
- role: yum
|
- role: yum
|
||||||
|
|
||||||
- role: yum-cron
|
- role: yum-cron
|
||||||
|
tags:
|
||||||
|
- yum-cron
|
||||||
|
@ -41,6 +41,8 @@ Features
|
|||||||
system's python packages. This is enabled by setting the variable
|
system's python packages. This is enabled by setting the variable
|
||||||
``kolla_ansible_target_venv`` to a path to the virtualenv. The default for
|
``kolla_ansible_target_venv`` to a path to the virtualenv. The default for
|
||||||
this variable is ``{{ virtualenv_path }}/kolla-ansible``.
|
this variable is ``{{ virtualenv_path }}/kolla-ansible``.
|
||||||
|
* Adds tags to plays to support more fine grained configuration using the
|
||||||
|
``--tags`` argument.
|
||||||
|
|
||||||
Upgrade Notes
|
Upgrade Notes
|
||||||
-------------
|
-------------
|
||||||
|
@ -44,3 +44,26 @@ Environment variable
|
|||||||
Export the environment variable ``KAYOBE_VAULT_PASSWORD`` to read the
|
Export the environment variable ``KAYOBE_VAULT_PASSWORD`` to read the
|
||||||
password from the environment.
|
password from the environment.
|
||||||
|
|
||||||
|
Limiting Hosts
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Sometimes it may be necessary to limit execution of kayobe or kolla-ansible
|
||||||
|
plays to a subset of the hosts. The ``--limit <SUBSET>`` argument allows the
|
||||||
|
kayobe ansible hosts to be limited. The ``--kolla-limit <SUBSET>`` argument
|
||||||
|
allows the kolla-ansible hosts to be limited. These two options may be
|
||||||
|
combined in a single command. In both cases, the argument provided should be
|
||||||
|
an `Ansible host pattern
|
||||||
|
<http://docs.ansible.com/ansible/latest/intro_patterns.html>`_, and will
|
||||||
|
ultimately be passed to ``ansible-playbook`` as a ``--limit`` argument.
|
||||||
|
|
||||||
|
Tags
|
||||||
|
----
|
||||||
|
|
||||||
|
`Ansible tags <http://docs.ansible.com/ansible/latest/playbooks_tags.html>`_
|
||||||
|
provide a useful mechanism for executing a subset of the plays or tasks in a
|
||||||
|
playbook. The ``--tags <TAGS>`` argument allows execution of kayobe ansible
|
||||||
|
playbooks to be limited to matching plays and tasks. The ``--kolla-tags
|
||||||
|
<TAGS>`` argument allows execution of kolla-ansible ansible playbooks to be
|
||||||
|
limited to matching plays and tasks. The ``--skip-tags <TAGS>`` and
|
||||||
|
``--kolla-skip-tags <TAGS>`` arguments allow for avoiding execution of matching
|
||||||
|
plays and tasks.
|
||||||
|
Loading…
Reference in New Issue
Block a user