diff --git a/examples/playbook.yml b/examples/playbook.yml index 5f5fd7e..dbd84ad 100644 --- a/examples/playbook.yml +++ b/examples/playbook.yml @@ -1,18 +1,80 @@ +--- +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +- name: Gather sahara facts + hosts: sahara_all + gather_facts: "{{ osa_gather_facts | default(True) }}" + tasks: + - name: Gather additional facts + include_tasks: "common-tasks/gather-hardware-facts.yml" + when: osa_gather_facts | default(True) + tags: + - always + +- name: Configure haproxy services + import_playbook: openstack.osa.haproxy_service_config + vars: + service_group: sahara_api + service_variable: "sahara_haproxy_services" + when: groups[service_group] | length > 0 + tags: + - haproxy-service-config + - name: Install sahara server hosts: sahara_all + gather_facts: "{{ osa_gather_facts | default(True) }}" + serial: "{{ sahara_serial | default(['1','100%']) }}" user: root + environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" + tags: + - sahara + pre_tasks: + # In order to ensure that any container, software or + # config file changes which causes a container/service + # restart do not cause an unexpected outage, we drain + # the load balancer back end for this container. + - name: Disabling haproxy backends + include_tasks: common-tasks/haproxy-endpoint-manage.yml + vars: + haproxy_backend: sahara_api-back + haproxy_state: disabled + when: + - "'sahara_api' in group_names" + - "groups['sahara_api'] | length > 1" + + - name: Including container-setup tasks + include_role: + name: "openstack.osa.{{ container_tech | default('lxc') }}_container_setup" + when: not is_metal + + - name: Including unbound-clients tasks + include_tasks: common-tasks/unbound-clients.yml + when: + - hostvars['localhost']['resolvconf_enabled'] | bool roles: - role: "os_sahara" - tags: - - "os-sahara" - vars: - external_lb_vip_address: 172.16.24.1 - internal_lb_vip_address: 192.168.0.1 - sahara_galera_address: "{{ internal_lb_vip_address }}" - sahara_container_mysql_password: "SuperSecretePassword1" - sahara_service_password: "SuperSecretePassword2" - sahara_rabbitmq_password: "SuperSecretePassword3" - galera_root_user: root - vars_prompt: - - name: "galera_root_password" - prompt: "What is galera_root_password?" + + post_tasks: + # Now that container changes are done, we can set + # the load balancer back end for this container + # to available again. + - name: Enabling haproxy backends + include_tasks: common-tasks/haproxy-endpoint-manage.yml + vars: + haproxy_backend: sahara_api-back + haproxy_state: enabled + when: + - "'sahara_api' in group_names" + - "groups['sahara_api'] | length > 1"