Optimized Ansible tasks in deplay-steps-tasks.yaml
- do not use set_fact when a lookup can be done directly in the task - use multi-line YAML for easier legibility - ignore errors in file lookup plugin when file does not exist and set defaults Change-Id: I832a2ec34f4ed4a87e30d0c88f4c60bcf2f4c151
This commit is contained in:
parent
dc3b0a76aa
commit
1deab1217d
|
@ -9,47 +9,41 @@
|
|||
become: true
|
||||
block:
|
||||
- name: Create /var/lib/tripleo-config directory
|
||||
file: path=/var/lib/tripleo-config state=directory setype=svirt_sandbox_file_t selevel=s0 recurse=true
|
||||
file:
|
||||
path: /var/lib/tripleo-config
|
||||
state: directory
|
||||
setype: svirt_sandbox_file_t
|
||||
selevel: s0
|
||||
recurse: true
|
||||
|
||||
# Puppet manifest for baremetal host configuration
|
||||
- name: Check if puppet step_config.pp manifest exists
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
stat:
|
||||
path: "{{ tripleo_role_name + '/step_config.pp' }}"
|
||||
register: stat_step_config
|
||||
|
||||
- name: Set fact when file existed
|
||||
no_log: True
|
||||
set_fact:
|
||||
role_data_step_config: "{{lookup('file', tripleo_role_name + '/step_config.pp')}}"
|
||||
when: stat_step_config.stat.exists
|
||||
|
||||
- name: Write the puppet step_config manifest
|
||||
copy: content="{{role_data_step_config}}" dest=/var/lib/tripleo-config/puppet_step_config.pp force=yes mode=0600
|
||||
copy:
|
||||
content: "{{ lookup('file', tripleo_role_name + '/step_config.pp', errors='ignore') | default('', True) }}"
|
||||
dest: /var/lib/tripleo-config/puppet_step_config.pp
|
||||
force: yes
|
||||
mode: '0600'
|
||||
|
||||
# Config file for our docker-puppet.py script, used to generate container configs
|
||||
- name: Create /var/lib/docker-puppet
|
||||
file: path=/var/lib/docker-puppet state=directory setype=svirt_sandbox_file_t selevel=s0 recurse=true
|
||||
|
||||
- name: Check if docker-puppet puppet_config.yaml configuration file exists
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
stat:
|
||||
path: "{{ tripleo_role_name + '/puppet_config.yaml' }}"
|
||||
register: stat_puppet_config
|
||||
|
||||
- name: Set fact when file existed
|
||||
no_log: True
|
||||
set_fact:
|
||||
role_data_puppet_config: "{{lookup('file', tripleo_role_name + '/puppet_config.yaml') | from_yaml | to_json}}"
|
||||
when: stat_puppet_config.stat.exists
|
||||
file:
|
||||
path: /var/lib/docker-puppet
|
||||
state: directory
|
||||
setype: svirt_sandbox_file_t
|
||||
selevel: s0
|
||||
|
||||
- name: Write docker-puppet.json file
|
||||
copy: content="{{role_data_puppet_config}}" dest=/var/lib/docker-puppet/docker-puppet.json force=yes mode=0600
|
||||
copy:
|
||||
content: "{{ lookup('file', tripleo_role_name + '/puppet_config.yaml', errors='ignore') | default([], True) | from_yaml | to_json }}"
|
||||
dest: /var/lib/docker-puppet/docker-puppet.json
|
||||
force: yes
|
||||
mode: '0600'
|
||||
|
||||
- name: Create /var/lib/docker-config-scripts
|
||||
file: path=/var/lib/docker-config-scripts state=directory
|
||||
file:
|
||||
path: /var/lib/docker-config-scripts
|
||||
state: directory
|
||||
|
||||
|
||||
# The container config files
|
||||
# /var/lib/docker-container-startup-configs.json is removed as we now write
|
||||
|
@ -59,27 +53,21 @@
|
|||
path: /var/lib/docker-container-startup-configs.json
|
||||
state: absent
|
||||
|
||||
- name: Check if docker_config_scripts.yaml file exists
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
stat:
|
||||
path: "{{ tripleo_role_name + '/docker_config_scripts.yaml' }}"
|
||||
register: stat_docker_config_scripts
|
||||
|
||||
- name: Set fact when file existed
|
||||
no_log: True
|
||||
set_fact:
|
||||
role_data_docker_config_scripts: "{{lookup('file', tripleo_role_name + '/docker_config_scripts.yaml') | from_yaml}}"
|
||||
when: stat_docker_config_scripts.stat.exists
|
||||
|
||||
- name: Write docker config scripts
|
||||
copy: content="{{item.value.content}}" dest="/var/lib/docker-config-scripts/{{item.key}}" force=yes mode="{{item.value.mode|default('0600', true)}}"
|
||||
copy:
|
||||
content: "{{ item.value.content }}"
|
||||
dest: "/var/lib/docker-config-scripts/{{ item.key }}"
|
||||
force: yes
|
||||
mode: "{{ item.value.mode | default('0600', true) }}"
|
||||
with_dict: "{{ role_data_docker_config_scripts }}"
|
||||
vars:
|
||||
role_data_docker_config_scripts: "{{ lookup('file', tripleo_role_name + '/docker_config_scripts.yaml', errors='ignore') | default({}, True) | from_yaml }}"
|
||||
|
||||
|
||||
# Here we are dumping all the docker container startup configuration data
|
||||
# so that we can have access to how they are started outside of heat
|
||||
# and docker-cmd. This lets us create command line tools to test containers.
|
||||
# FIXME We need to update the defaults e.g in docker-toool so we can remove the
|
||||
# FIXME We need to update the defaults, e.g in docker-tool, so we can remove the
|
||||
# docker-container-startup-configs.json and use per-step configs instead
|
||||
- name: Set docker_config_default fact
|
||||
no_log: True
|
||||
|
@ -87,50 +75,43 @@
|
|||
docker_config_default: "{{ docker_config_default | default({}) | combine( {'step_' + item: {}} ) }}"
|
||||
with_sequence: count={{ deploy_steps_max }}
|
||||
|
||||
- name: Check if docker_config.yaml file exists
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
stat:
|
||||
path: "{{ tripleo_role_name + '/docker_config.yaml' }}"
|
||||
register: stat_docker_config
|
||||
|
||||
- name: Set fact when file existed
|
||||
no_log: True
|
||||
set_fact:
|
||||
role_data_docker_config: "{{lookup('file', tripleo_role_name + '/docker_config.yaml') | from_yaml}}"
|
||||
when: stat_docker_config.stat.exists
|
||||
|
||||
- name: Set docker_startup_configs_with_default fact
|
||||
no_log: True
|
||||
set_fact:
|
||||
docker_config_with_default: "{{ docker_config_default | combine(role_data_docker_config) }}"
|
||||
vars:
|
||||
role_data_docker_config: "{{ lookup('file', tripleo_role_name + '/docker_config.yaml', errors='ignore') | default({}, True) | from_yaml }}"
|
||||
|
||||
- name: Write docker-container-startup-configs
|
||||
copy: content="{{docker_config_with_default | to_json }}" dest=/var/lib/docker-container-startup-configs.json force=yes mode=0600
|
||||
copy:
|
||||
content: "{{ docker_config_with_default | to_json }}"
|
||||
dest: /var/lib/docker-container-startup-configs.json
|
||||
force: yes
|
||||
mode: '0600'
|
||||
|
||||
- name: Write per-step docker-container-startup-configs
|
||||
copy: content="{{item.value|to_json}}" dest="/var/lib/tripleo-config/docker-container-startup-config-{{item.key}}.json" force=yes mode=0600
|
||||
copy:
|
||||
content: "{{ item.value | to_json }}"
|
||||
dest: "/var/lib/tripleo-config/docker-container-startup-config-{{ item.key }}.json"
|
||||
force: yes
|
||||
mode: '0600'
|
||||
with_dict: "{{ docker_config_with_default }}"
|
||||
|
||||
- name: Create /var/lib/kolla/config_files directory
|
||||
file: path=/var/lib/kolla/config_files state=directory setype=svirt_sandbox_file_t selevel=s0 recurse=true
|
||||
|
||||
- name: Check if kolla_config.yaml file exists
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
stat:
|
||||
path: "{{ tripleo_role_name + '/kolla_config.yaml' }}"
|
||||
register: stat_kolla_config
|
||||
|
||||
- name: Set fact when file existed
|
||||
no_log: True
|
||||
set_fact:
|
||||
role_data_kolla_config: "{{lookup('file', tripleo_role_name + '/kolla_config.yaml') | from_yaml}}"
|
||||
when: stat_kolla_config.stat.exists
|
||||
file:
|
||||
path: /var/lib/kolla/config_files
|
||||
state: directory
|
||||
setype: svirt_sandbox_file_t
|
||||
selevel: s0
|
||||
recurse: true
|
||||
|
||||
- name: Write kolla config json files
|
||||
copy: content="{{item.value|to_json}}" dest="{{item.key}}" force=yes mode=0600
|
||||
with_dict: "{{role_data_kolla_config}}"
|
||||
copy:
|
||||
content: "{{ item.value | to_json }}"
|
||||
dest: "{{ item.key }}"
|
||||
force: yes
|
||||
mode: '0600'
|
||||
with_dict: "{{ lookup('file', tripleo_role_name + '/kolla_config.yaml', errors='ignore') | default([], True) | from_yaml }}"
|
||||
|
||||
########################################################
|
||||
# Bootstrap tasks, only performed on bootstrap_server_id
|
||||
|
@ -144,22 +125,13 @@
|
|||
- /var/lib/docker-puppet/docker-puppet-tasks*.json
|
||||
when: deploy_server_id == bootstrap_server_id
|
||||
|
||||
- name: Check if docker_puppet_tasks.yaml file exists
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
stat:
|
||||
path: "{{ tripleo_role_name + '/docker_puppet_tasks.yaml' }}"
|
||||
register: stat_docker_puppet_tasks
|
||||
|
||||
- name: Set fact when file existed
|
||||
no_log: True
|
||||
set_fact:
|
||||
role_data_docker_puppet_tasks: "{{lookup('file', tripleo_role_name + '/docker_puppet_tasks.yaml') | from_yaml}}"
|
||||
when: stat_docker_puppet_tasks.stat.exists
|
||||
|
||||
- name: Write docker-puppet-tasks json files
|
||||
copy: content="{{item.value|to_json}}" dest=/var/lib/docker-puppet/docker-puppet-tasks{{item.key.replace("step_", "")}}.json force=yes mode=0600
|
||||
with_dict: "{{role_data_docker_puppet_tasks}}"
|
||||
copy:
|
||||
content: "{{item.value|to_json}}"
|
||||
dest: /var/lib/docker-puppet/docker-puppet-tasks{{item.key.replace("step_", "")}}.json
|
||||
force: yes
|
||||
mode: '0600'
|
||||
with_dict: "{{ lookup('file', tripleo_role_name + '/docker_puppet_tasks.yaml', errors='ignore') | default({}, True) | from_yaml }}"
|
||||
when: deploy_server_id == bootstrap_server_id
|
||||
|
||||
#####################################################
|
||||
|
@ -174,7 +146,11 @@
|
|||
- enable_debug | default(false) | bool
|
||||
|
||||
- name: Write the config_step hieradata
|
||||
copy: content="{{dict(step=step|int)|to_json}}" dest=/etc/puppet/hieradata/config_step.json force=true mode=0600
|
||||
copy:
|
||||
content: "{{ dict(step=step|int) | to_json }}"
|
||||
dest: /etc/puppet/hieradata/config_step.json
|
||||
force: true
|
||||
mode: '0600'
|
||||
become: true
|
||||
|
||||
- name: Run puppet host configuration for step {{ step }}
|
||||
|
@ -194,7 +170,8 @@
|
|||
become: true
|
||||
|
||||
- name: "Debug output for task which failed: Run puppet host configuration for step {{ step }}"
|
||||
debug: var=outputs.stdout_lines|default([])|union(outputs.stderr_lines|default([]))
|
||||
debug:
|
||||
var: outputs.stdout_lines | default([]) | union(outputs.stderr_lines | default([]))
|
||||
when:
|
||||
- enable_puppet | default(true) | bool
|
||||
- outputs.rc is defined
|
||||
|
@ -219,7 +196,8 @@
|
|||
become: true
|
||||
|
||||
- name: "Debug output for task which failed: Run docker-puppet tasks (generate config) during step {{ step }}"
|
||||
debug: var=outputs.stdout_lines|default([])|union(outputs.stderr_lines|default([]))
|
||||
debug:
|
||||
var: outputs.stdout_lines | default([]) | union(outputs.stderr_lines | default([]))
|
||||
when: outputs.rc is defined
|
||||
failed_when: outputs.rc != 0
|
||||
|
||||
|
@ -243,7 +221,8 @@
|
|||
become: true
|
||||
|
||||
- name: "Debug output for task which failed: Start containers for step {{ step }}"
|
||||
debug: var=outputs.stdout_lines|default([])|union(outputs.stderr_lines|default([]))
|
||||
debug:
|
||||
var: outputs.stdout_lines | default([]) | union(outputs.stderr_lines | default([]))
|
||||
when: outputs.rc is defined
|
||||
failed_when: outputs.rc != 0
|
||||
|
||||
|
@ -264,7 +243,9 @@
|
|||
NET_HOST: "true"
|
||||
NO_ARCHIVE: "true"
|
||||
STEP: "{{ step }}"
|
||||
when: deploy_server_id == bootstrap_server_id and docker_puppet_tasks_json.stat.exists
|
||||
when:
|
||||
- deploy_server_id == bootstrap_server_id
|
||||
- docker_puppet_tasks_json.stat.exists
|
||||
changed_when: false
|
||||
check_mode: no
|
||||
register: outputs
|
||||
|
@ -273,7 +254,8 @@
|
|||
become: true
|
||||
|
||||
- name: "Debug output for task which failed: Run docker-puppet tasks (bootstrap tasks) for step {{ step }}"
|
||||
debug: var=outputs.stdout_lines|default([])|union(outputs.stderr_lines|default([]))
|
||||
debug:
|
||||
var: outputs.stdout_lines | default([]) | union(outputs.stderr_lines | default([]))
|
||||
when: outputs.rc is defined
|
||||
failed_when: outputs.rc != 0
|
||||
|
||||
|
|
Loading…
Reference in New Issue