636 lines
14 KiB
YAML
Raw Normal View History

---
Remove redundant common play and add haproxy hosts In cf0c25c37 [0] a play was added to run the common role against all hosts. This ends up being redundant since every role includes the common role as a dependancy. The reasoning behind this change as pointed out by the author in the review comments [1] was so that an operator could run with '--tags common' and just have the common role applied. To avoid redundancy, the common play has been removed and tags have been added to the common role. This allows for just the common role to run when another role is including it while reducing redundancy. A side affect of removing the common playbook which runs against all hosts is that not all facts on all hosts are gathered at the beginning of the site.yml. This breaks the haproxy role since it relies heavily on facts to build out the haproxy.cfg file. Previously, the haproxy role would include several hosts purely for fact gathering purposes as pointed out in c68c9d95 [2] and a guard was put in place so that the tasks would only run against the 'haproxy' group. In 423e3f3f [3] these hosts were removed. After reading the review [4], this seems to have been done without fully understanding why the hosts were there in the first place. This change did not break anything however since the common role that ran on all hosts mentioned previously would gather all of the facts necessary. To fix this fact gathering issue replace the common role play with a play that will simply gather facts with an 'always' tag to ensure it is run regardless of what might be passed in the '--tags' argument by the operator. Kudos to Paul Bourke for helping identify many of these issues. [0] https://github.com/openstack/kolla/commit/cf0c25c37d4dd901a839a12247212c22493e1409 [1] https://review.openstack.org/#/c/369212/ [2] https://github.com/openstack/kolla/commit/c68c9d95fca6485c79a607b3716a88e284c7a64e [3] https://github.com/openstack/kolla/commit/423e3f3fdf07f40b46fed1125076880660d14c53 [4] https://review.openstack.org/#/c/355861 TrivialFix Closes-Bug: #1628472 Change-Id: Ia94146579e743935501f1ff4b4c1bf6cb7c43aa3
2016-09-26 09:37:11 -04:00
# NOTE(awiddersheim): Gather facts for all hosts as a
# first step since several plays below require them when
# building their configurations. The below 'gather_facts'
# set to 'false' is a bit confusing but this is to avoid
# Ansible gathering facts twice.
- name: Gather facts for all hosts
hosts: all
serial: '{{ serial|default("0") }}'
Remove redundant common play and add haproxy hosts In cf0c25c37 [0] a play was added to run the common role against all hosts. This ends up being redundant since every role includes the common role as a dependancy. The reasoning behind this change as pointed out by the author in the review comments [1] was so that an operator could run with '--tags common' and just have the common role applied. To avoid redundancy, the common play has been removed and tags have been added to the common role. This allows for just the common role to run when another role is including it while reducing redundancy. A side affect of removing the common playbook which runs against all hosts is that not all facts on all hosts are gathered at the beginning of the site.yml. This breaks the haproxy role since it relies heavily on facts to build out the haproxy.cfg file. Previously, the haproxy role would include several hosts purely for fact gathering purposes as pointed out in c68c9d95 [2] and a guard was put in place so that the tasks would only run against the 'haproxy' group. In 423e3f3f [3] these hosts were removed. After reading the review [4], this seems to have been done without fully understanding why the hosts were there in the first place. This change did not break anything however since the common role that ran on all hosts mentioned previously would gather all of the facts necessary. To fix this fact gathering issue replace the common role play with a play that will simply gather facts with an 'always' tag to ensure it is run regardless of what might be passed in the '--tags' argument by the operator. Kudos to Paul Bourke for helping identify many of these issues. [0] https://github.com/openstack/kolla/commit/cf0c25c37d4dd901a839a12247212c22493e1409 [1] https://review.openstack.org/#/c/369212/ [2] https://github.com/openstack/kolla/commit/c68c9d95fca6485c79a607b3716a88e284c7a64e [3] https://github.com/openstack/kolla/commit/423e3f3fdf07f40b46fed1125076880660d14c53 [4] https://review.openstack.org/#/c/355861 TrivialFix Closes-Bug: #1628472 Change-Id: Ia94146579e743935501f1ff4b4c1bf6cb7c43aa3
2016-09-26 09:37:11 -04:00
gather_facts: false
tasks:
- setup:
tags: always
# NOTE(pbourke): This case covers deploying subsets of hosts using --limit. The
# limit arg will cause the first play to gather facts only about that node,
# meaning facts such as IP addresses for rabbitmq nodes etc. will be undefined
# in the case of adding a single compute node.
# We don't want to add the delegate parameters to the above play as it will
# result in ((num_nodes-1)^2) number of SSHs when running for all nodes
# which can be very inefficient.
- name: Gather facts for all hosts (if using --limit)
hosts: all
serial: '{{ serial|default("0") }}'
gather_facts: false
tasks:
- setup:
delegate_facts: True
delegate_to: "{{ item }}"
with_items: "{{ groups['all'] }}"
when:
- (play_hosts | length) != (groups['all'] | length)
- name: Detect openstack_release variable
hosts: all
gather_facts: false
tasks:
- name: Get current kolla-ansible version number
local_action: command python -c "import pbr.version; print(pbr.version.VersionInfo('kolla-ansible'))"
register: kolla_ansible_version
changed_when: false
when: openstack_release == "auto"
- name: Set openstack_release variable
set_fact:
openstack_release: "{{ kolla_ansible_version.stdout }}"
when: openstack_release == "auto"
tags: always
- name: Apply role prechecks
gather_facts: false
hosts:
- all
roles:
- role: prechecks
when: action == "precheck"
- name: Apply role chrony
gather_facts: false
hosts:
- chrony-server
- chrony
serial: '{{ serial|default("0") }}'
roles:
- { role: chrony,
tags: chrony,
when: enable_chrony | bool }
- name: Apply role collectd
gather_facts: false
hosts: collectd
serial: '{{ serial|default("0") }}'
roles:
- { role: collectd,
tags: collectd,
when: enable_collectd | bool }
- name: Apply role elasticsearch
gather_facts: false
hosts: elasticsearch
serial: '{{ serial|default("0") }}'
roles:
- { role: elasticsearch,
tags: elasticsearch,
when: enable_elasticsearch | bool }
- name: Apply role influxdb
gather_facts: false
hosts: influxdb
serial: '{{ serial|default("0") }}'
roles:
- { role: influxdb,
tags: influxdb,
when: enable_influxdb | bool }
- name: Apply role telegraf
gather_facts: false
hosts:
- telegraf
serial: '{{ serial|default("0") }}'
roles:
- { role: telegraf,
tags: telegraf,
when: enable_telegraf | bool }
- name: Apply role haproxy
gather_facts: false
hosts:
Remove redundant common play and add haproxy hosts In cf0c25c37 [0] a play was added to run the common role against all hosts. This ends up being redundant since every role includes the common role as a dependancy. The reasoning behind this change as pointed out by the author in the review comments [1] was so that an operator could run with '--tags common' and just have the common role applied. To avoid redundancy, the common play has been removed and tags have been added to the common role. This allows for just the common role to run when another role is including it while reducing redundancy. A side affect of removing the common playbook which runs against all hosts is that not all facts on all hosts are gathered at the beginning of the site.yml. This breaks the haproxy role since it relies heavily on facts to build out the haproxy.cfg file. Previously, the haproxy role would include several hosts purely for fact gathering purposes as pointed out in c68c9d95 [2] and a guard was put in place so that the tasks would only run against the 'haproxy' group. In 423e3f3f [3] these hosts were removed. After reading the review [4], this seems to have been done without fully understanding why the hosts were there in the first place. This change did not break anything however since the common role that ran on all hosts mentioned previously would gather all of the facts necessary. To fix this fact gathering issue replace the common role play with a play that will simply gather facts with an 'always' tag to ensure it is run regardless of what might be passed in the '--tags' argument by the operator. Kudos to Paul Bourke for helping identify many of these issues. [0] https://github.com/openstack/kolla/commit/cf0c25c37d4dd901a839a12247212c22493e1409 [1] https://review.openstack.org/#/c/369212/ [2] https://github.com/openstack/kolla/commit/c68c9d95fca6485c79a607b3716a88e284c7a64e [3] https://github.com/openstack/kolla/commit/423e3f3fdf07f40b46fed1125076880660d14c53 [4] https://review.openstack.org/#/c/355861 TrivialFix Closes-Bug: #1628472 Change-Id: Ia94146579e743935501f1ff4b4c1bf6cb7c43aa3
2016-09-26 09:37:11 -04:00
- haproxy
roles:
- { role: haproxy,
tags: haproxy,
when: enable_haproxy | bool }
- name: Apply role kibana
gather_facts: false
hosts: kibana
serial: '{{ serial|default("0") }}'
roles:
- { role: kibana,
tags: kibana,
when: enable_kibana | bool }
- name: Apply role memcached
gather_facts: false
hosts: memcached
serial: '{{ serial|default("0") }}'
roles:
- { role: memcached,
tags: [memcache, memcached],
when: enable_memcached | bool }
- name: Apply role mariadb
gather_facts: false
hosts: mariadb
roles:
- { role: mariadb,
tags: mariadb,
when: enable_mariadb | bool }
- name: Apply role iscsi
gather_facts: false
hosts:
- iscsid
- tgtd
serial: '{{ serial|default("0") }}'
roles:
- { role: iscsi,
tags: iscsi,
when: enable_iscsid | bool }
- name: Apply role multipathd
gather_facts: false
hosts:
- multipathd
serial: '{{ serial|default("0") }}'
roles:
- { role: multipathd,
tags: multipathd,
when: enable_multipathd | bool }
- name: Apply role rabbitmq
gather_facts: false
hosts: rabbitmq
roles:
- { role: rabbitmq,
tags: rabbitmq,
when: enable_rabbitmq | bool }
- name: Apply role etcd
gather_facts: false
hosts: etcd
serial: '{{ serial|default("0") }}'
roles:
- { role: etcd,
tags: etcd,
when: enable_etcd | bool }
- name: Apply role keystone
gather_facts: false
hosts: keystone
serial: '{{ serial|default("0") }}'
roles:
- { role: keystone,
tags: keystone,
when: enable_keystone | bool }
- name: Apply role ceph
gather_facts: false
hosts:
- ceph-mon
- ceph-osd
- ceph-rgw
serial: '{{ serial|default("0") }}'
roles:
- { role: ceph,
tags: ceph,
when: enable_ceph | bool }
- name: Apply role karbor
gather_facts: false
hosts: karbor
serial: '{{ serial|default("0") }}'
roles:
- { role: karbor,
tags: karbor,
when: enable_karbor | bool }
- name: Apply role swift
gather_facts: false
hosts:
- swift-account-server
- swift-container-server
- swift-object-server
- swift-proxy-server
serial: '{{ serial|default("0") }}'
roles:
- { role: swift,
tags: swift,
when: enable_swift | bool }
- name: Apply role glance
gather_facts: false
hosts:
- ceph-mon
- glance-api
- glance-registry
serial: '{{ serial|default("0") }}'
roles:
- { role: glance,
tags: glance,
when: enable_glance | bool }
- name: Apply role ironic
gather_facts: false
hosts:
- ironic-api
- ironic-conductor
- ironic-inspector
- ironic-pxe
serial: '{{ serial|default("0") }}'
roles:
- { role: ironic,
tags: ironic,
when: enable_ironic | bool }
- name: Apply role cinder
gather_facts: false
hosts:
- ceph-mon
- cinder-api
- cinder-backup
- cinder-scheduler
- cinder-volume
serial: '{{ serial|default("0") }}'
roles:
- { role: cinder,
tags: cinder,
when: enable_cinder | bool }
- name: Apply role nova
gather_facts: false
hosts:
- ceph-mon
- compute
- nova-api
- nova-conductor
- nova-consoleauth
- nova-novncproxy
- nova-scheduler
serial: '{{ serial|default("0") }}'
roles:
- { role: nova,
tags: nova,
when: enable_nova | bool }
- name: Apply role openvswitch
hosts:
- openvswitch
roles:
- { role: openvswitch,
tags: openvswitch,
when: enable_openvswitch | bool }
# (gmmaha): Please do not change the order listed here. The current order is a
# workaround to fix the bug https://bugs.launchpad.net/kolla/+bug/1546789
- name: Apply role neutron
gather_facts: false
hosts:
- neutron-server
- neutron-dhcp-agent
- neutron-l3-agent
- neutron-lbaas-agent
- neutron-metadata-agent
- neutron-vpnaas-agent
- compute
- manila-share
serial: '{{ serial|default("0") }}'
roles:
- { role: neutron,
tags: neutron,
when: enable_neutron | bool }
- name: Apply role kuryr
gather_facts: false
hosts:
- compute
roles:
- { role: kuryr,
tags: kuryr,
when: enable_kuryr | bool }
- name: Apply role heat
gather_facts: false
hosts:
- heat-api
- heat-api-cfn
- heat-engine
serial: '{{ serial|default("0") }}'
roles:
- { role: heat,
tags: heat,
when: enable_heat | bool }
- name: Apply role horizon
gather_facts: false
hosts:
- horizon
serial: '{{ serial|default("0") }}'
roles:
- { role: horizon,
tags: horizon,
when: enable_horizon | bool }
- name: Apply role murano
gather_facts: false
hosts:
- murano-api
- murano-engine
serial: '{{ serial|default("0") }}'
roles:
- { role: murano,
tags: murano,
when: enable_murano | bool }
- name: Apply role solum
gather_facts: false
hosts:
- solum-api
- solum-worker
- solum-deployer
- solum-conductor
serial: '{{ serial|default("0") }}'
roles:
- { role: solum,
tags: solum,
when: enable_solum | bool }
- name: Apply role magnum
gather_facts: false
hosts:
- magnum-api
- magnum-conductor
serial: '{{ serial|default("0") }}'
roles:
- { role: magnum,
tags: magnum,
when: enable_magnum | bool }
- name: Apply role mistral
gather_facts: false
hosts:
- mistral-api
- mistral-engine
- mistral-executor
serial: '{{ serial|default("0") }}'
roles:
- { role: mistral,
tags: mistral,
when: enable_mistral | bool }
- name: Apply role sahara
gather_facts: false
hosts:
- sahara-api
- sahara-engine
serial: '{{ serial|default("0") }}'
roles:
- { role: sahara,
tags: sahara,
when: enable_sahara | bool }
- name: Apply role mongodb
gather_facts: false
hosts:
- mongodb
serial: '{{ serial|default("0") }}'
roles:
- { role: mongodb,
tags: mongodb,
when: enable_mongodb | bool }
- name: Apply role panko
gather_facts: false
hosts: panko-api
serial: '{{ serial|default("0") }}'
roles:
- { role: panko,
tags: panko,
when: enable_panko | bool }
- name: Apply role manila
gather_facts: false
hosts:
- manila-api
- manila-data
- manila-share
- manila-scheduler
serial: '{{ serial|default("0") }}'
roles:
- { role: manila,
tags: manila,
when: enable_manila | bool }
- name: Apply role gnocchi
gather_facts: false
hosts:
- gnocchi-api
- gnocchi-metricd
- gnocchi-statsd
serial: '{{ serial|default("0") }}'
roles:
- { role: gnocchi,
tags: gnocchi,
when: enable_gnocchi | bool }
- name: Apply role ceilometer
gather_facts: false
vars_files:
- "roles/panko/defaults/main.yml"
hosts:
- ceilometer
- compute
serial: '{{ serial|default("0") }}'
roles:
- { role: ceilometer,
tags: ceilometer,
when: enable_ceilometer | bool }
- name: Apply role aodh
gather_facts: false
hosts:
- aodh
serial: '{{ serial|default("0") }}'
roles:
- { role: aodh,
tags: aodh,
when: enable_aodh | bool }
- name: Apply role barbican
gather_facts: false
hosts:
- barbican-api
- barbican-keystone-listener
- barbican-worker
serial: '{{ serial|default("0") }}'
roles:
- { role: barbican,
tags: barbican,
when: enable_barbican | bool }
- name: Apply role congress
gather_facts: false
hosts:
- congress-api
- congress-policy-engine
- congress-datasource
serial: '{{ serial|default("0") }}'
roles:
- { role: congress,
tags: congress,
when: enable_congress | bool }
- name: Apply role tempest
gather_facts: false
hosts:
- tempest
serial: '{{ serial|default("0") }}'
roles:
- { role: tempest,
tags: tempest,
when: enable_tempest | bool }
- name: Apply role designate
gather_facts: false
hosts:
- designate-api
- designate-central
- designate-mdns
- designate-worker
- designate-sink
serial: '{{ serial|default("0") }}'
roles:
- { role: designate,
tags: designate,
when: enable_designate | bool }
- name: Apply role rally
gather_facts: false
hosts: rally
serial: '{{ serial|default("0") }}'
roles:
- { role: rally,
tags: rally,
when: enable_rally | bool }
- name: Apply role vmtp
gather_facts: false
hosts:
- vmtp
serial: '{{ serial|default("0") }}'
roles:
- { role: vmtp,
tags: vmtp,
when: enable_vmtp | bool }
- name: Apply role trove
gather_facts: false
hosts:
- trove-api
- trove-conductor
- trove-taskmanager
serial: '{{ serial|default("0") }}'
roles:
- { role: trove,
tags: trove,
when: enable_trove | bool }
- name: Apply role watcher
gather_facts: false
hosts:
- watcher-api
- watcher-engine
- watcher-applier
serial: '{{ serial|default("0") }}'
roles:
- { role: watcher,
tags: watcher,
when: enable_watcher | bool }
- name: Apply role grafana
gather_facts: false
hosts:
- grafana
serial: '{{ serial|default("0") }}'
roles:
- { role: grafana,
tags: grafana,
when: enable_grafana | bool }
- name: Apply role cloudkitty
gather_facts: false
hosts:
- cloudkitty-api
- cloudkitty-processor
serial: '{{ serial|default("0") }}'
roles:
- { role: cloudkitty,
tags: cloudkitty,
when: enable_cloudkitty | bool }
- name: Apply role freezer
gather_facts: false
hosts:
- freezer-api
serial: '{{ serial|default("0") }}'
roles:
- { role: freezer,
tags: freezer,
when: enable_freezer | bool }
- name: Apply role senlin
gather_facts: false
hosts:
- senlin-api
- senlin-engine
serial: '{{ serial|default("0") }}'
roles:
- { role: senlin,
tags: senlin,
when: enable_senlin | bool }
- name: Apply role searchlight
gather_facts: false
hosts:
- searchlight-api
- searchlight-listener
serial: '{{ serial|default("0") }}'
roles:
- { role: searchlight,
tags: searchlight,
when: enable_searchlight | bool }
- name: Apply role tacker
gather_facts: false
hosts: tacker
serial: '{{ serial|default("0") }}'
roles:
- { role: tacker,
tags: tacker,
when: enable_tacker | bool }
- name: Apply role octavia
gather_facts: false
hosts:
- octavia-api
- octavia-health-manager
- octavia-housekeeping
- octavia-worker
serial: '{{ serial|default("0") }}'
roles:
- { role: octavia,
tags: octavia,
when: enable_octavia | bool }
- name: Apply role zun
gather_facts: false
hosts:
- zun-api
- zun-compute
serial: '{{ serial|default("0") }}'
roles:
- { role: zun,
tags: zun,
when: enable_zun | bool }