03811f176a
Replace the multiple SoftwareDeployment resources with a common playbook that runs on all roles, consuming the configuration data written via the HostPrepAnsible tasks. This hopefully simplifies things, and will enable re-running the deploy steps for minor updates (we'll need some way to detect a container should be replaced, but that will be done via a follow-up patch). Change-Id: I674a4d9d2c77d1f6fbdb0996f6c9321848e32662
48 lines
2.3 KiB
YAML
48 lines
2.3 KiB
YAML
- hosts: localhost
|
|
connection: local
|
|
tasks:
|
|
#####################################################
|
|
# Per step puppet configuration of the baremetal host
|
|
#####################################################
|
|
- name: Write the config_step hieradata
|
|
copy: content="{{dict(step=step|int)|to_json}}" dest=/etc/puppet/hieradata/config_step.json force=true
|
|
- name: Run puppet host configuration for step {{step}}
|
|
# FIXME: modulepath requires ansible 2.4, our builds currently only have 2.3
|
|
# puppet: manifest=/var/lib/tripleo-config/puppet_step_config.pp modulepath=/etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules
|
|
puppet: manifest=/var/lib/tripleo-config/puppet_step_config.pp
|
|
######################################
|
|
# Generate config via docker-puppet.py
|
|
######################################
|
|
- name: Run docker-puppet tasks (generate config)
|
|
shell: python /var/lib/docker-puppet/docker-puppet.py
|
|
environment:
|
|
NET_HOST: 'true'
|
|
when: step == "1"
|
|
changed_when: false
|
|
check_mode: no
|
|
##################################################
|
|
# Per step starting of the containers using paunch
|
|
##################################################
|
|
- name: Check if /var/lib/tripleo-config/docker-container-startup-config-step_{{step}}.json exists
|
|
stat:
|
|
path: /var/lib/tripleo-config/docker-container-startup-config-step_{{step}}.json
|
|
register: docker_config_json
|
|
- name: Start containers for step {{step}}
|
|
command: paunch --debug apply --file /var/lib/tripleo-config/docker-container-startup-config-step_{{step}}.json --config-id tripleo_step{{step}} --managed-by tripleo-{{role_name}}
|
|
when: docker_config_json.stat.exists
|
|
changed_when: false
|
|
check_mode: no
|
|
########################################################
|
|
# Bootstrap tasks, only performed on bootstrap_server_id
|
|
########################################################
|
|
- name: Run docker-puppet tasks (bootstrap tasks)
|
|
shell: python /var/lib/docker-puppet/docker-puppet.py
|
|
environment:
|
|
CONFIG: /var/lib/docker-puppet/docker-puppet-tasks{{step}}.json
|
|
NET_HOST: "true"
|
|
NO_ARCHIVE: "true"
|
|
STEP: "{{step}}"
|
|
when: deploy_server_id == bootstrap_server_id
|
|
changed_when: false
|
|
check_mode: no
|