Merge "Load roles list from yaml instead of awk parsing" into stable/queens
This commit is contained in:
commit
e8f1e97521
|
@ -228,3 +228,6 @@ ceph_osd_enabled: false
|
|||
|
||||
# Remove unused RPMs
|
||||
upgrade_remove_rpm: false
|
||||
|
||||
# List of roles deployed in overcloud
|
||||
oc_roles: []
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
- name: generate inventory file
|
||||
shell: |
|
||||
source {{ undercloud_rc }}
|
||||
/usr/bin/tripleo-ansible-inventory --plan {{ overcloud_stack_name }} \
|
||||
{% if overcloud_ssh_user != '' %} --ansible_ssh_user {{ overcloud_ssh_user }} {% endif %} \
|
||||
--static-yaml-inventory {{working_dir}}//tripleo-ansible-inventory.yaml
|
||||
|
||||
- name: load inventory file
|
||||
command: cat {{working_dir}}//tripleo-ansible-inventory.yaml
|
||||
register: upgrade_tripleo_inventory
|
||||
|
||||
- name: store roles
|
||||
set_fact:
|
||||
oc_roles: "{{ oc_roles + [item.key] }}"
|
||||
with_dict: "{{ (upgrade_tripleo_inventory.stdout | from_yaml).overcloud.children }}"
|
||||
|
||||
- name: register controller role name
|
||||
set_fact:
|
||||
controller_role_name: "{{ item|regex_search('[A-Za-z0-9]*[Cc]ontroller[A-Za-z0-9]*') }}"
|
||||
when: item|regex_search('[A-Za-z0-9]*[Cc]ontroller[A-Za-z0-9]*')
|
||||
with_items: "{{ oc_roles }}"
|
||||
|
||||
- name: store sorted roles with controller first
|
||||
set_fact:
|
||||
oc_roles: "{{ oc_roles|intersect([controller_role_name]) + oc_roles|difference([controller_role_name]) }}"
|
|
@ -1,22 +1,6 @@
|
|||
---
|
||||
- name: generate overcloud ansible static yaml inventory file
|
||||
shell: |
|
||||
source {{ undercloud_rc }}
|
||||
/usr/bin/tripleo-ansible-inventory \
|
||||
--plan {{ overcloud_stack_name }} \
|
||||
{% if overcloud_ssh_user != '' %} --ansible_ssh_user {{ overcloud_ssh_user }} {% endif %} \
|
||||
--static-yaml-inventory {{ working_dir }}/tripleo-ansible-inventory-static.yaml
|
||||
|
||||
- name: register deployed roles list
|
||||
shell: |
|
||||
awk -F':' '/role_name/ {gsub("[[:space:][:punct:]]", "", $2); print $2}' {{ working_dir }}/tripleo-ansible-inventory-static.yaml
|
||||
register: oc_roles
|
||||
|
||||
- name: store roles
|
||||
vars:
|
||||
controller_role_name: "{{ oc_roles.stdout|regex_search('[A-Za-z0-9]*[Cc]ontroller[A-Za-z0-9]*') }}"
|
||||
set_fact:
|
||||
oc_roles: "{{ [controller_role_name] + oc_roles.stdout_lines|difference([controller_role_name]) }}"
|
||||
- name: generate roles list from inventory file
|
||||
include: ../common/load_roles_from_inventory.yaml
|
||||
|
||||
- name: create FFU role ugrades scripts
|
||||
template:
|
||||
|
@ -63,7 +47,7 @@
|
|||
- block:
|
||||
- name: register compute nodes from tripleo ansible inventory
|
||||
shell: |
|
||||
awk -F':' '/^[^ \n]*compute-/ {print $1}' {{ working_dir }}/tripleo-ansible-inventory-static.yaml
|
||||
awk -F':' '/^[^ \n]*compute-/ {print $1}' {{working_dir}}/tripleo-ansible-inventory.yaml
|
||||
register: tripleo_compute_nodes
|
||||
tags: ffu_overcloud_upgrade_compute
|
||||
|
||||
|
|
|
@ -28,18 +28,8 @@
|
|||
- name: include l3 agent tasks
|
||||
include: ../common/create_l3_agent_connectivity_check_script.yml
|
||||
|
||||
- name: generate inventory file
|
||||
shell: |
|
||||
source {{ undercloud_rc }} ;
|
||||
tripleo-ansible-inventory --plan {{ overcloud_stack_name }} {% if overcloud_ssh_user != '' %} --ansible_ssh_user {{ overcloud_ssh_user }} {% endif %} --static-yaml-inventory /tmp/fake-oc-hosts.yaml ;
|
||||
awk -F':' '/role_name/ {gsub("[[:space:][:punct:]]", "", $2); print $2}' /tmp/fake-oc-hosts.yaml
|
||||
register: oc_roles
|
||||
|
||||
- name: store roles
|
||||
vars:
|
||||
controller_role_name: "{{ oc_roles.stdout|regex_search('[A-Za-z0-9]*[Cc]ontroller[A-Za-z0-9]*') }}"
|
||||
set_fact:
|
||||
oc_roles: "{{ [controller_role_name] + oc_roles.stdout_lines|difference([controller_role_name]) }}"
|
||||
- name: generate roles list from inventory file
|
||||
include: ../common/load_roles_from_inventory.yaml
|
||||
|
||||
- name: create overcloud update prepare script
|
||||
template:
|
||||
|
|
|
@ -26,18 +26,8 @@
|
|||
- undercloud_ssl|succeeded
|
||||
- not splitstack_deployment|bool
|
||||
|
||||
- name: generate inventory file
|
||||
shell: |
|
||||
source {{ undercloud_rc }} ;
|
||||
tripleo-ansible-inventory --plan {{ overcloud_stack_name }} --static-inventory /tmp/fake-oc-hosts ;
|
||||
awk -F'=' '/role_name/ {gsub("[[:space:][:punct:]]", "", $2); print $2}' /tmp/fake-oc-hosts
|
||||
register: oc_roles
|
||||
|
||||
- name: store roles
|
||||
vars:
|
||||
controller_role_name: "{{ oc_roles.stdout|regex_search('[A-Za-z0-9]*[Cc]ontroller[A-Za-z0-9]*') }}"
|
||||
set_fact:
|
||||
oc_roles: "{{ [controller_role_name] + oc_roles.stdout_lines|difference([controller_role_name]) }}"
|
||||
- name: generate roles list from inventory file
|
||||
include: ../common/load_roles_from_inventory.yaml
|
||||
|
||||
- name: create workload launch script
|
||||
template:
|
||||
|
|
Loading…
Reference in New Issue