Merge "Fix handling of docker restart policy"

This commit is contained in:
Zuul 2019-08-03 16:27:46 +00:00 committed by Gerrit Code Review
commit b59791ca92
59 changed files with 91 additions and 84 deletions

View File

@ -100,10 +100,10 @@ docker_runtime_directory: ""
docker_log_max_file: 5 docker_log_max_file: 5
docker_log_max_size: 50m docker_log_max_size: 50m
# Valid options are [ never, on-failure, always, unless-stopped ] # Valid options are [ no, on-failure, always, unless-stopped ]
docker_restart_policy: "unless-stopped" docker_restart_policy: "unless-stopped"
# '0' means unlimited retries # '0' means unlimited retries (applies only to 'on-failure' policy)
docker_restart_policy_retry: "10" docker_restart_policy_retry: "10"
# Common options used throughout Docker # Common options used throughout Docker

View File

@ -14,6 +14,12 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# FIXME(yoctozepto): this module does *not* validate "common_options" which are
# a hacky way to seed most usages of kolla_docker in kolla-ansible ansible
# playbooks - caution has to be exerted when setting "common_options"
# FIXME(yoctozepto): restart_policy is *not* checked in the container
import json import json
import os import os
import shlex import shlex
@ -156,17 +162,17 @@ options:
type: bool type: bool
restart_policy: restart_policy:
description: description:
- Determine what docker does when the container exits - When docker restarts the container (does not affect checks)
required: False required: False
type: str type: str
choices: choices:
- never - no
- on-failure - on-failure
- always - always
- unless-stopped - unless-stopped
restart_retries: restart_retries:
description: description:
- How many times to attempt a restart if restart_policy is set - How many times to attempt a restart if 'on-failure' policy is set
type: int type: int
default: 10 default: 10
volumes: volumes:
@ -675,16 +681,17 @@ class DockerWorker(object):
dimensions = self.parse_dimensions(dimensions) dimensions = self.parse_dimensions(dimensions)
options.update(dimensions) options.update(dimensions)
if self.params.get('restart_policy') in ['on-failure', restart_policy = self.params.get('restart_policy')
'always',
'unless-stopped']: if restart_policy is not None:
policy = {'Name': self.params.get('restart_policy')} restart_policy = {'Name': restart_policy}
# NOTE(Jeffrey4l): MaximumRetryCount is only needed for on-failure # NOTE(Jeffrey4l): MaximumRetryCount is only needed for on-failure
# policy # policy
if self.params.get('restart_policy') == 'on-failure': if restart_policy['Name'] == 'on-failure':
retries = self.params.get('restart_retries') retries = self.params.get('restart_retries')
policy['MaximumRetryCount'] = retries if retries is not None:
options['restart_policy'] = policy restart_policy['MaximumRetryCount'] = retries
options['restart_policy'] = restart_policy
if binds: if binds:
options['binds'] = binds options['binds'] = binds
@ -917,7 +924,6 @@ def generate_module():
remove_on_exit=dict(required=False, type='bool', default=True), remove_on_exit=dict(required=False, type='bool', default=True),
restart_policy=dict(required=False, type='str', choices=[ restart_policy=dict(required=False, type='str', choices=[
'no', 'no',
'never',
'on-failure', 'on-failure',
'always', 'always',
'unless-stopped']), 'unless-stopped']),

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_aodh" name: "bootstrap_aodh"
restart_policy: "never" restart_policy: no
volumes: "{{ aodh_api.volumes|reject('equalto', '')|list }}" volumes: "{{ aodh_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[aodh_api.group][0] }}" delegate_to: "{{ groups[aodh_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_barbican" name: "bootstrap_barbican"
restart_policy: "never" restart_policy: no
volumes: "{{ barbican_api.volumes|reject('equalto', '')|list }}" volumes: "{{ barbican_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[barbican_api.group][0] }}" delegate_to: "{{ groups[barbican_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_blazar" name: "bootstrap_blazar"
restart_policy: "never" restart_policy: no
volumes: "{{ blazar_api.volumes|reject('equalto', '')|list }}" volumes: "{{ blazar_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[blazar_api.group][0] }}" delegate_to: "{{ groups[blazar_api.group][0] }}"

View File

@ -15,7 +15,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_ceilometer" name: "bootstrap_ceilometer"
restart_policy: "never" restart_policy: no
volumes: "{{ ceilometer_notification.volumes|reject('equalto', '')|list }}" volumes: "{{ ceilometer_notification.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[ceilometer_notification.group][0] }}" delegate_to: "{{ groups[ceilometer_notification.group][0] }}"

View File

@ -78,7 +78,7 @@
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_osd_{{ item.0 }}" name: "bootstrap_osd_{{ item.0 }}"
privileged: True privileged: True
restart_policy: "never" restart_policy: no
volumes: volumes:
- "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro" - "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro" - "/etc/localtime:/etc/localtime:ro"
@ -139,7 +139,7 @@
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_osd_cache_{{ item.0 }}" name: "bootstrap_osd_cache_{{ item.0 }}"
privileged: True privileged: True
restart_policy: "never" restart_policy: no
volumes: volumes:
- "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro" - "{{ node_config_directory }}/ceph-osd/:{{ container_config_directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro" - "/etc/localtime:/etc/localtime:ro"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_ceph_mon" name: "bootstrap_ceph_mon"
restart_policy: "never" restart_policy: no
volumes: volumes:
- "{{ node_config_directory }}/ceph-mon/:{{ container_config_directory }}/:ro" - "{{ node_config_directory }}/ceph-mon/:{{ container_config_directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro" - "/etc/localtime:/etc/localtime:ro"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_cinder" name: "bootstrap_cinder"
restart_policy: "never" restart_policy: no
volumes: "{{ cinder_api.volumes|reject('equalto', '')|list }}" volumes: "{{ cinder_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[cinder_api.group][0] }}" delegate_to: "{{ groups[cinder_api.group][0] }}"

View File

@ -27,7 +27,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_cinder" name: "bootstrap_cinder"
restart_policy: "never" restart_policy: no
volumes: "{{ cinder_api.volumes }}" volumes: "{{ cinder_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[cinder_api.group][0] }}" delegate_to: "{{ groups[cinder_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_cloudkitty" name: "bootstrap_cloudkitty"
restart_policy: "never" restart_policy: no
volumes: "{{ cloudkitty_api.volumes|reject('equalto', '')|list }}" volumes: "{{ cloudkitty_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[cloudkitty_api.group][0] }}" delegate_to: "{{ groups[cloudkitty_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_congress" name: "bootstrap_congress"
restart_policy: "never" restart_policy: no
volumes: "{{ congress_api.volumes|reject('equalto', '')|list }}" volumes: "{{ congress_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[congress_api.group][0] }}" delegate_to: "{{ groups[congress_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_cyborg" name: "bootstrap_cyborg"
restart_policy: "never" restart_policy: no
volumes: "{{ cyborg_api.volumes }}" volumes: "{{ cyborg_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[cyborg_api.group][0] }}" delegate_to: "{{ groups[cyborg_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_designate" name: "bootstrap_designate"
restart_policy: "never" restart_policy: no
volumes: "{{ designate_central.volumes|reject('equalto', '')|list }}" volumes: "{{ designate_central.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[designate_central.group][0] }}" delegate_to: "{{ groups[designate_central.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_freezer" name: "bootstrap_freezer"
restart_policy: "never" restart_policy: no
volumes: "{{ freezer_api.volumes | reject('equalto', '') | list }}" volumes: "{{ freezer_api.volumes | reject('equalto', '') | list }}"
run_once: True run_once: True
delegate_to: "{{ groups[freezer_api.group][0] }}" delegate_to: "{{ groups[freezer_api.group][0] }}"

View File

@ -30,7 +30,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_glance" name: "bootstrap_glance"
restart_policy: "never" restart_policy: no
volumes: "{{ glance_api.volumes|reject('equalto', '')|list }}" volumes: "{{ glance_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ glance_api_hosts[0] }}" delegate_to: "{{ glance_api_hosts[0] }}"

View File

@ -41,7 +41,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_glance" name: "bootstrap_glance"
restart_policy: "never" restart_policy: no
volumes: "{{ glance_api.volumes }}" volumes: "{{ glance_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ glance_api_hosts[0] }}" delegate_to: "{{ glance_api_hosts[0] }}"
@ -62,7 +62,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_glance" name: "bootstrap_glance"
restart_policy: "never" restart_policy: no
volumes: "{{ glance_api.volumes }}" volumes: "{{ glance_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ glance_api_hosts[0] }}" delegate_to: "{{ glance_api_hosts[0] }}"
@ -92,7 +92,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_glance" name: "bootstrap_glance"
restart_policy: "never" restart_policy: no
volumes: "{{ glance_api.volumes }}" volumes: "{{ glance_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ glance_api_hosts[0] }}" delegate_to: "{{ glance_api_hosts[0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_gnocchi" name: "bootstrap_gnocchi"
restart_policy: "never" restart_policy: no
volumes: "{{ gnocchi_api.volumes }}" volumes: "{{ gnocchi_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[gnocchi_api.group][0] }}" delegate_to: "{{ groups[gnocchi_api.group][0] }}"

View File

@ -22,7 +22,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_heat" name: "bootstrap_heat"
restart_policy: "never" restart_policy: no
volumes: "{{ heat_api.volumes|reject('equalto', '')|list }}" volumes: "{{ heat_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[heat_api.group][0] }}" delegate_to: "{{ groups[heat_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_horizon" name: "bootstrap_horizon"
restart_policy: "never" restart_policy: no
volumes: "{{ horizon.volumes }}" volumes: "{{ horizon.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[horizon.group][0] }}" delegate_to: "{{ groups[horizon.group][0] }}"

View File

@ -68,6 +68,6 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_ironic_pxe" name: "bootstrap_ironic_pxe"
restart_policy: "never" restart_policy: no
volumes: "{{ ironic_pxe.volumes }}" volumes: "{{ ironic_pxe.volumes }}"
when: inventory_hostname in groups[ironic_pxe.group] when: inventory_hostname in groups[ironic_pxe.group]

View File

@ -18,7 +18,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_ironic" name: "bootstrap_ironic"
restart_policy: "never" restart_policy: no
volumes: "{{ ironic_api.volumes|reject('equalto', '')|list }}" volumes: "{{ ironic_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[ironic_api.group][0] }}" delegate_to: "{{ groups[ironic_api.group][0] }}"
@ -39,7 +39,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_ironic_inspector" name: "bootstrap_ironic_inspector"
restart_policy: "never" restart_policy: no
volumes: "{{ ironic_inspector.volumes|reject('equalto', '')|list }}" volumes: "{{ ironic_inspector.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[ironic_inspector.group][0] }}" delegate_to: "{{ groups[ironic_inspector.group][0] }}"

View File

@ -36,7 +36,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_ironic" name: "bootstrap_ironic"
restart_policy: "never" restart_policy: no
volumes: "{{ ironic_api.volumes }}" volumes: "{{ ironic_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[ironic_api.group][0] }}" delegate_to: "{{ groups[ironic_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_karbor" name: "bootstrap_karbor"
restart_policy: "never" restart_policy: no
volumes: "{{ karbor_api.volumes }}" volumes: "{{ karbor_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[karbor_api.group][0] }}" delegate_to: "{{ groups[karbor_api.group][0] }}"

View File

@ -18,7 +18,7 @@
labels: labels:
KOLLA_UPGRADE: KOLLA_UPGRADE:
name: "init_upgrade_database" name: "init_upgrade_database"
restart_policy: "never" restart_policy: no
volumes: "{{ service.volumes|reject('equalto', '')|list }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}" dimensions: "{{ service.dimensions }}"
run_once: True run_once: True
@ -87,7 +87,7 @@
labels: labels:
KOLLA_UPGRADE: KOLLA_UPGRADE:
name: "finish_upgrade_database" name: "finish_upgrade_database"
restart_policy: "never" restart_policy: no
volumes: "{{ service.volumes|reject('equalto', '')|list }}" volumes: "{{ service.volumes|reject('equalto', '')|list }}"
dimensions: "{{ service.dimensions }}" dimensions: "{{ service.dimensions }}"
run_once: True run_once: True

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_keystone" name: "bootstrap_keystone"
restart_policy: "never" restart_policy: no
volumes: "{{ keystone.volumes|reject('equalto', '')|list }}" volumes: "{{ keystone.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups['keystone'][0] }}" delegate_to: "{{ groups['keystone'][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_magnum" name: "bootstrap_magnum"
restart_policy: "never" restart_policy: no
volumes: "{{ magnum_api.volumes|reject('equalto', '')|list }}" volumes: "{{ magnum_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[magnum_api.group][0] }}" delegate_to: "{{ groups[magnum_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_manila" name: "bootstrap_manila"
restart_policy: "never" restart_policy: no
volumes: "{{ manila_api.volumes|reject('equalto', '')|list }}" volumes: "{{ manila_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[manila_api.group][0] }}" delegate_to: "{{ groups[manila_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "{{ service.container_name }}" name: "{{ service.container_name }}"
restart_policy: "never" restart_policy: no
volumes: "{{ service.volumes }}" volumes: "{{ service.volumes }}"
dimensions: "{{ service.dimensions }}" dimensions: "{{ service.dimensions }}"
when: when:
@ -117,7 +117,7 @@
labels: labels:
UPGRADE: UPGRADE:
name: "upgrade_mariadb" name: "upgrade_mariadb"
restart_policy: "never" restart_policy: no
volumes: "{{ service.volumes }}" volumes: "{{ service.volumes }}"
no_log: true no_log: true
when: when:
@ -183,7 +183,7 @@
labels: labels:
UPGRADE: UPGRADE:
name: "upgrade_mariadb" name: "upgrade_mariadb"
restart_policy: "never" restart_policy: no
volumes: "{{ service.volumes }}" volumes: "{{ service.volumes }}"
no_log: true no_log: true
when: when:

View File

@ -6,7 +6,7 @@
common_options: "{{ docker_common_options }}" common_options: "{{ docker_common_options }}"
image: "{{ xtrabackup_image_full }}" image: "{{ xtrabackup_image_full }}"
name: "xtrabackup" name: "xtrabackup"
restart_policy: "never" restart_policy: no
remove_on_exit: True remove_on_exit: True
environment: environment:
BACKUP_TYPE: "{{ mariadb_backup_type }}" BACKUP_TYPE: "{{ mariadb_backup_type }}"

View File

@ -17,7 +17,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_mariadb" name: "bootstrap_mariadb"
restart_policy: "never" restart_policy: no
volumes: "{{ service.volumes }}" volumes: "{{ service.volumes }}"
notify: notify:
- Bootstrap MariaDB cluster - Bootstrap MariaDB cluster

View File

@ -41,7 +41,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: mariadb_wsrep_recovery name: mariadb_wsrep_recovery
restart_policy: "never" restart_policy: no
volumes: "{{ mariadb_service.volumes }}" volumes: "{{ mariadb_service.volumes }}"
- name: Copying MariaDB log file to /tmp - name: Copying MariaDB log file to /tmp
@ -135,7 +135,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "{{ mariadb_service.container_name }}" name: "{{ mariadb_service.container_name }}"
restart_policy: "never" restart_policy: no
volumes: "{{ mariadb_service.volumes }}" volumes: "{{ mariadb_service.volumes }}"
when: when:
- bootstrap_host is defined - bootstrap_host is defined
@ -193,7 +193,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "{{ mariadb_service.container_name }}" name: "{{ mariadb_service.container_name }}"
restart_policy: "never" restart_policy: no
volumes: "{{ mariadb_service.volumes }}" volumes: "{{ mariadb_service.volumes }}"
when: when:
- bootstrap_host is defined - bootstrap_host is defined

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_mistral" name: "bootstrap_mistral"
restart_policy: "never" restart_policy: no
volumes: "{{ mistral_api.volumes|reject('equalto', '')|list }}" volumes: "{{ mistral_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[mistral_api.group][0] }}" delegate_to: "{{ groups[mistral_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_monasca" name: "bootstrap_monasca"
restart_policy: "never" restart_policy: no
volumes: "{{ monasca_api.volumes }}" volumes: "{{ monasca_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[monasca_api.group][0] }}" delegate_to: "{{ groups[monasca_api.group][0] }}"

View File

@ -10,7 +10,7 @@
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
image: "{{ mongodb_image_full }}" image: "{{ mongodb_image_full }}"
name: "bootstrap_mongodb" name: "bootstrap_mongodb"
restart_policy: "never" restart_policy: no
volumes: volumes:
- "{{ node_config_directory }}/mongodb/:{{ container_config_directory }}/:ro" - "{{ node_config_directory }}/mongodb/:{{ container_config_directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro" - "/etc/localtime:/etc/localtime:ro"

View File

@ -12,7 +12,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_murano" name: "bootstrap_murano"
restart_policy: "never" restart_policy: no
volumes: volumes:
- "{{ node_config_directory }}/murano-api/:{{ container_config_directory }}/:ro" - "{{ node_config_directory }}/murano-api/:{{ container_config_directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro" - "/etc/localtime:/etc/localtime:ro"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_neutron" name: "bootstrap_neutron"
restart_policy: "never" restart_policy: no
volumes: "{{ neutron_server.volumes }}" volumes: "{{ neutron_server.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[neutron_server.group][0] }}" delegate_to: "{{ groups[neutron_server.group][0] }}"
@ -36,7 +36,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_neutron_sfc" name: "bootstrap_neutron_sfc"
restart_policy: "never" restart_policy: no
volumes: "{{ neutron_server.volumes }}" volumes: "{{ neutron_server.volumes }}"
when: when:
- enable_neutron_sfc | bool - enable_neutron_sfc | bool

View File

@ -23,7 +23,7 @@
labels: labels:
UPGRADE: UPGRADE:
name: "bootstrap_neutron" name: "bootstrap_neutron"
restart_policy: "never" restart_policy: no
volumes: "{{ neutron_server.volumes }}" volumes: "{{ neutron_server.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups['neutron-server'][0] }}" delegate_to: "{{ groups['neutron-server'][0] }}"
@ -79,7 +79,7 @@
labels: labels:
UPGRADE: UPGRADE:
name: "bootstrap_neutron" name: "bootstrap_neutron"
restart_policy: "never" restart_policy: no
volumes: "{{ neutron_server.volumes }}" volumes: "{{ neutron_server.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups['neutron-server'][0] }}" delegate_to: "{{ groups['neutron-server'][0] }}"

View File

@ -18,7 +18,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_nova" name: "bootstrap_nova"
restart_policy: "never" restart_policy: no
volumes: "{{ nova_api.volumes|reject('equalto', '')|list }}" volumes: "{{ nova_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[nova_api.group][0] }}" delegate_to: "{{ groups[nova_api.group][0] }}"

View File

@ -12,7 +12,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "create_cell0_nova" name: "create_cell0_nova"
restart_policy: "never" restart_policy: no
volumes: "{{ nova_api.volumes|reject('equalto', '')|list }}" volumes: "{{ nova_api.volumes|reject('equalto', '')|list }}"
register: map_cell0 register: map_cell0
changed_when: changed_when:
@ -39,7 +39,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "list_cells_nova" name: "list_cells_nova"
restart_policy: "never" restart_policy: no
volumes: "{{ nova_api.volumes|reject('equalto', '')|list }}" volumes: "{{ nova_api.volumes|reject('equalto', '')|list }}"
register: existing_cells_list register: existing_cells_list
changed_when: false changed_when: false
@ -77,7 +77,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "create_cell_nova" name: "create_cell_nova"
restart_policy: "never" restart_policy: no
volumes: "{{ nova_api.volumes|reject('equalto', '')|list }}" volumes: "{{ nova_api.volumes|reject('equalto', '')|list }}"
register: base_cell register: base_cell
changed_when: changed_when:
@ -103,7 +103,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "create_cell_nova" name: "create_cell_nova"
restart_policy: "never" restart_policy: no
volumes: "{{ nova_api.volumes|reject('equalto', '')|list }}" volumes: "{{ nova_api.volumes|reject('equalto', '')|list }}"
register: base_cell register: base_cell
changed_when: changed_when:

View File

@ -40,7 +40,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_nova" name: "bootstrap_nova"
restart_policy: "never" restart_policy: no
volumes: "{{ nova_api.volumes }}" volumes: "{{ nova_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[nova_api.group][0] }}" delegate_to: "{{ groups[nova_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_octavia" name: "bootstrap_octavia"
restart_policy: "never" restart_policy: no
volumes: "{{ octavia_api.volumes }}" volumes: "{{ octavia_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[octavia_api.group][0] }}" delegate_to: "{{ groups[octavia_api.group][0] }}"

View File

@ -15,7 +15,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_panko" name: "bootstrap_panko"
restart_policy: "never" restart_policy: no
volumes: "{{ panko_api.volumes }}" volumes: "{{ panko_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[panko_api.group][0] }}" delegate_to: "{{ groups[panko_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_placement" name: "bootstrap_placement"
restart_policy: "never" restart_policy: no
volumes: "{{ placement_api.volumes|reject('equalto', '')|list }}" volumes: "{{ placement_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[placement_api.group][0] }}" delegate_to: "{{ groups[placement_api.group][0] }}"

View File

@ -28,7 +28,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_placement" name: "bootstrap_placement"
restart_policy: "never" restart_policy: no
volumes: "{{ placement_api.volumes }}" volumes: "{{ placement_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[placement_api.group][0] }}" delegate_to: "{{ groups[placement_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_qinling" name: "bootstrap_qinling"
restart_policy: "never" restart_policy: no
volumes: "{{ qinling_api.volumes|reject('equalto', '')|list }}" volumes: "{{ qinling_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[qinling_api.group][0] }}" delegate_to: "{{ groups[qinling_api.group][0] }}"

View File

@ -21,6 +21,6 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "{{ project_name }}_bootstrap" name: "{{ project_name }}_bootstrap"
restart_policy: "never" restart_policy: no
volumes: "{{ service.volumes }}" volumes: "{{ service.volumes }}"
when: rabbitmq_volume is changed when: rabbitmq_volume is changed

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_rally" name: "bootstrap_rally"
restart_policy: "never" restart_policy: no
volumes: "{{ rally.volumes }}" volumes: "{{ rally.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[rally.group][0] }}" delegate_to: "{{ groups[rally.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_sahara" name: "bootstrap_sahara"
restart_policy: "never" restart_policy: no
volumes: "{{ sahara_api.volumes|reject('equalto', '')|list }}" volumes: "{{ sahara_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[sahara_api.group][0] }}" delegate_to: "{{ groups[sahara_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_searchlight" name: "bootstrap_searchlight"
restart_policy: "never" restart_policy: no
volumes: "{{ searchlight_api.volumes }}" volumes: "{{ searchlight_api.volumes }}"
run_once: True run_once: True
delegate_to: "{{ groups[searchlight_api.group][0] }}" delegate_to: "{{ groups[searchlight_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_senlin" name: "bootstrap_senlin"
restart_policy: "never" restart_policy: no
volumes: "{{ senlin_api.volumes|reject('equalto', '')|list }}" volumes: "{{ senlin_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[senlin_api.group][0] }}" delegate_to: "{{ groups[senlin_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_solum" name: "bootstrap_solum"
restart_policy: "never" restart_policy: no
volumes: "{{ solum_api.volumes|reject('equalto', '')|list }}" volumes: "{{ solum_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[solum_api.group][0] }}" delegate_to: "{{ groups[solum_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_tacker" name: "bootstrap_tacker"
restart_policy: "never" restart_policy: no
volumes: "{{ tacker_server.volumes|reject('equalto', '')|list }}" volumes: "{{ tacker_server.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[tacker_server.group][0] }}" delegate_to: "{{ groups[tacker_server.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_trove" name: "bootstrap_trove"
restart_policy: "never" restart_policy: no
volumes: "{{ trove_api.volumes|reject('equalto', '')|list }}" volumes: "{{ trove_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[trove_api.group][0] }}" delegate_to: "{{ groups[trove_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_vitrage" name: "bootstrap_vitrage"
restart_policy: "never" restart_policy: no
volumes: "{{ vitrage_api.volumes | reject('equalto', '') | list }}" volumes: "{{ vitrage_api.volumes | reject('equalto', '') | list }}"
run_once: True run_once: True
delegate_to: "{{ groups[vitrage_api.group][0] }}" delegate_to: "{{ groups[vitrage_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_watcher" name: "bootstrap_watcher"
restart_policy: "never" restart_policy: no
volumes: "{{ watcher_api.volumes|reject('equalto', '')|list }}" volumes: "{{ watcher_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[watcher_api.group][0] }}" delegate_to: "{{ groups[watcher_api.group][0] }}"

View File

@ -14,7 +14,7 @@
labels: labels:
BOOTSTRAP: BOOTSTRAP:
name: "bootstrap_zun" name: "bootstrap_zun"
restart_policy: "never" restart_policy: no
volumes: "{{ zun_api.volumes|reject('equalto', '')|list }}" volumes: "{{ zun_api.volumes|reject('equalto', '')|list }}"
run_once: True run_once: True
delegate_to: "{{ groups[zun_api.group][0] }}" delegate_to: "{{ groups[zun_api.group][0] }}"

View File

@ -2,7 +2,7 @@
kolla_base_distro: "{{ base_distro }}" kolla_base_distro: "{{ base_distro }}"
kolla_install_type: "{{ install_type }}" kolla_install_type: "{{ install_type }}"
network_interface: "{{ api_interface_name }}" network_interface: "{{ api_interface_name }}"
docker_restart_policy: "never" docker_restart_policy: "no"
# Use a random router id, otherwise it may result in the same router id # Use a random router id, otherwise it may result in the same router id
# in the CI gate. # in the CI gate.

View File

@ -13,6 +13,8 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# FIXME(yoctozepto): tests do not imitate how ansible would handle module args
import copy import copy
import imp import imp
import os import os
@ -71,7 +73,6 @@ class ModuleArgsTest(base.BaseTestCase):
remove_on_exit=dict(required=False, type='bool', default=True), remove_on_exit=dict(required=False, type='bool', default=True),
restart_policy=dict( restart_policy=dict(
required=False, type='str', choices=['no', required=False, type='str', choices=['no',
'never',
'on-failure', 'on-failure',
'always', 'always',
'unless-stopped']), 'unless-stopped']),