Add serial execution to all playbooks

Since OSA aims to do HA, it's important to run at least one copy
of service at all times. Currently we do restart/run roles agaist all
hosts inside a group for most of the services. This cause
global service interruption if run without limit until service is
restarted. To avoid this from happening, we add serial execution
globally for all services with ability to override that behaviour.

Change-Id: I5f6b8f9de32124a363cfe2c6191a4971f528cd70
This commit is contained in:
Dmitriy Rabotyagov 2021-08-19 14:32:08 +03:00
parent 464d7e5d36
commit 6e9da4753a
30 changed files with 32 additions and 5 deletions

View File

@ -22,6 +22,7 @@
- name: Install etcd server cluster - name: Install etcd server cluster
hosts: etcd hosts: etcd
gather_facts: false gather_facts: false
serial: "{{ etcd_serial | default(1) }}"
user: root user: root
pre_tasks: pre_tasks:
- include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml" - include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"

View File

@ -22,7 +22,7 @@
- name: Install galera server - name: Install galera server
hosts: galera_all hosts: galera_all
gather_facts: false gather_facts: false
serial: 1 serial: "{{ galera_serial | default(1) }}"
user: root user: root
pre_tasks: pre_tasks:
- include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml" - include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"

View File

@ -22,7 +22,7 @@
- name: haproxy base config - name: haproxy base config
hosts: haproxy hosts: haproxy
gather_facts: false gather_facts: false
serial: "50%" serial: "{{ haproxy_serial | default('50%') }}"
user: root user: root
pre_tasks: pre_tasks:
- include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml" - include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"

View File

@ -22,6 +22,7 @@
- name: Install memcached - name: Install memcached
hosts: memcached hosts: memcached
gather_facts: false gather_facts: false
serial: "{{ memcached_serial | default(['1','100%']) }}"
user: root user: root
pre_tasks: pre_tasks:
- include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml" - include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"

View File

@ -22,6 +22,7 @@
- name: Install the aodh components - name: Install the aodh components
hosts: aodh_all hosts: aodh_all
gather_facts: false gather_facts: false
serial: "{{ aodh_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Installation and setup of barbican - name: Installation and setup of barbican
hosts: barbican_all hosts: barbican_all
gather_facts: false gather_facts: false
serial: "{{ barbican_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Install blazar components - name: Install blazar components
hosts: blazar_all hosts: blazar_all
gather_facts: false gather_facts: false
serial: "{{ blazar_serial | default(['1','100%']) }}"
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
user: root user: root
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Install the ceilometer components - name: Install the ceilometer components
hosts: ceilometer_all hosts: ceilometer_all
gather_facts: false gather_facts: false
serial: "{{ ceilometer_serial | default(['1','100%']) }}"
user: root user: root
vars_files: vars_files:
- "defaults/repo_packages/openstack_services.yml" - "defaults/repo_packages/openstack_services.yml"

View File

@ -25,6 +25,7 @@
- name: Install designate server - name: Install designate server
hosts: designate_all hosts: designate_all
gather_facts: false gather_facts: false
serial: "{{ designate_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Install Gnocchi components - name: Install Gnocchi components
hosts: gnocchi_all hosts: gnocchi_all
gather_facts: false gather_facts: false
serial: "{{ gnocchi_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Install heat server - name: Install heat server
hosts: heat_all hosts: heat_all
gather_facts: false gather_facts: false
serial: "{{ heat_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
tags: tags:

View File

@ -22,6 +22,7 @@
- name: Install horizon server - name: Install horizon server
hosts: horizon_all hosts: horizon_all
gather_facts: false gather_facts: false
serial: "{{ horizon_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Installation and setup of Ironic - name: Installation and setup of Ironic
hosts: ironic_all hosts: ironic_all
gather_facts: false gather_facts: false
serial: "{{ ironic_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:

View File

@ -26,6 +26,7 @@
hosts: magnum_all hosts: magnum_all
user: root user: root
gather_facts: false gather_facts: false
serial: "{{ magnum_serial | default(['1','100%']) }}"
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:
- "defaults/repo_packages/openstack_services.yml" - "defaults/repo_packages/openstack_services.yml"

View File

@ -19,6 +19,7 @@
- name: Gather manila facts - name: Gather manila facts
hosts: manila_all hosts: manila_all
gather_facts: "{{ osa_gather_facts | default(True) }}" gather_facts: "{{ osa_gather_facts | default(True) }}"
serial: "{{ manila_serial | default(['1','100%']) }}"
tags: tags:
- always - always

View File

@ -22,6 +22,7 @@
- name: Setup corosync cluster - name: Setup corosync cluster
hosts: masakari_monitor hosts: masakari_monitor
gather_facts: false gather_facts: false
serial: "{{ masakari_monitor_serial | default('100%') }}"
user: root user: root
vars: vars:
pacemaker_corosync_group: masakari_monitor pacemaker_corosync_group: masakari_monitor
@ -42,6 +43,7 @@
- name: Install the masakari components - name: Install the masakari components
hosts: masakari_all hosts: masakari_all
gather_facts: false gather_facts: false
serial: "{{ masakari_api_serial | default(['1','100%']) }}"
user: root user: root
vars_files: vars_files:
- "defaults/repo_packages/openstack_services.yml" - "defaults/repo_packages/openstack_services.yml"

View File

@ -22,6 +22,7 @@
- name: Install mistral components - name: Install mistral components
hosts: mistral_all hosts: mistral_all
gather_facts: false gather_facts: false
serial: "{{ mistral_serial | default(['1','100%']) }}"
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
user: root user: root
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Install murano components - name: Install murano components
hosts: murano_all hosts: murano_all
gather_facts: false gather_facts: false
serial: "{{ murano_serial | default(['1','100%']) }}"
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
user: root user: root
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Install octavia server - name: Install octavia server
hosts: octavia_all hosts: octavia_all
gather_facts: false gather_facts: false
serial: "{{ octavia_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Install placement components - name: Install placement components
hosts: placement_all hosts: placement_all
gather_facts: false gather_facts: false
serial: "{{ placement_api_serial | default(['1','100%']) }}"
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
user: root user: root
vars_files: vars_files:

View File

@ -20,6 +20,7 @@
- name: Install sahara server - name: Install sahara server
hosts: sahara_all hosts: sahara_all
gather_facts: "{{ osa_gather_facts | default(True) }}" gather_facts: "{{ osa_gather_facts | default(True) }}"
serial: "{{ sahara_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Install senlin services - name: Install senlin services
hosts: senlin_all hosts: senlin_all
gather_facts: false gather_facts: false
serial: "{{ senlin_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Install the tacker components - name: Install the tacker components
hosts: tacker_all hosts: tacker_all
gather_facts: false gather_facts: false
serial: "{{ tacker_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:

View File

@ -25,6 +25,7 @@
- name: Install trove server - name: Install trove server
hosts: trove_all hosts: trove_all
gather_facts: false gather_facts: false
serial: "{{ trove_serial | default(['1','100%']) }}"
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:

View File

@ -22,6 +22,7 @@
- name: Install the zun components - name: Install the zun components
hosts: zun_all hosts: zun_all
gather_facts: false gather_facts: false
serial: "{{ zun_serial | default(['1','100%']) }}"
user: root user: root
vars_files: vars_files:
- "defaults/repo_packages/openstack_services.yml" - "defaults/repo_packages/openstack_services.yml"

View File

@ -21,7 +21,7 @@
- name: Create and configure qdrouterd container - name: Create and configure qdrouterd container
hosts: "{{ qdrouterd_host_group | default('qdrouterd_all') }}" hosts: "{{ qdrouterd_host_group | default('qdrouterd_all') }}"
serial: 1 serial: "{{ qdrouterd_serial | default(1) }}"
gather_facts: false gather_facts: false
user: root user: root
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"

View File

@ -21,7 +21,7 @@
- name: Create and configure rabbitmq container - name: Create and configure rabbitmq container
hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}" hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}"
serial: 1 serial: "{{ rabbitmq_serial | default('20%') }}"
gather_facts: false gather_facts: false
user: root user: root
pre_tasks: pre_tasks:
@ -56,7 +56,7 @@
- name: Install rabbitmq server - name: Install rabbitmq server
hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}" hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}"
gather_facts: false gather_facts: false
serial: 20% serial: "{{ rabbitmq_serial | default('20%') }}"
user: root user: root
roles: roles:
- role: "rabbitmq_server" - role: "rabbitmq_server"

View File

@ -22,6 +22,7 @@
- name: Setup repo servers - name: Setup repo servers
hosts: repo_all hosts: repo_all
gather_facts: false gather_facts: false
serial: "{{ repo_serial | default(['1','100%']) }}"
user: root user: root
pre_tasks: pre_tasks:
- name: End playbook - name: End playbook

View File

@ -22,6 +22,7 @@
- name: Install unbound DNS resolvers - name: Install unbound DNS resolvers
hosts: unbound hosts: unbound
gather_facts: false gather_facts: false
serial: "{{ unbound_serial | default(['1','100%']) }}"
user: root user: root
pre_tasks: pre_tasks:
- include_tasks: common-tasks/os-log-dir-setup.yml - include_tasks: common-tasks/os-log-dir-setup.yml

View File

@ -23,6 +23,7 @@
hosts: utility_all hosts: utility_all
user: root user: root
gather_facts: false gather_facts: false
serial: "{{ utility_serial | default(['1','100%']) }}"
environment: "{{ deployment_environment_variables | default({}) }}" environment: "{{ deployment_environment_variables | default({}) }}"
vars_files: vars_files:
- "defaults/repo_packages/openstack_services.yml" - "defaults/repo_packages/openstack_services.yml"