Run compute upgrade only in compute hosts.
The basic deployment used in TripleO CI with only a controller is displaying the controller in the openstack hypervisor list command and tries running upgrade-non-controller.sh on it, which fails. With this change we plan to filter out only those hosts with the compute role, leaving aside those hosts in which nova-scheduler and nova-compute are running at the same time. Closes-Bug: #1747432 Change-Id: If7bfd63d62509387be4b843d470816365f68cfaf
This commit is contained in:
parent
6d4d27c743
commit
8d852b0491
25
tasks/upgrade/compute_detect.yml
Normal file
25
tasks/upgrade/compute_detect.yml
Normal file
@ -0,0 +1,25 @@
|
||||
- name: list hypervisors in overcloud
|
||||
shell: |
|
||||
source {{ overcloud_rc }}
|
||||
openstack hypervisor list -f json | jq -r -c '.[] | .["Hypervisor Hostname"]'
|
||||
register: hypervisors
|
||||
|
||||
- name: hosts running nova-compute
|
||||
shell: |
|
||||
source {{ overcloud_rc }}
|
||||
openstack compute service list --service nova-compute -c Host -f value
|
||||
register: nova_compute_hosts
|
||||
|
||||
- name: hosts running nova-scheduller
|
||||
shell: |
|
||||
source {{ overcloud_rc }}
|
||||
openstack compute service list --service nova-scheduler -c Host -f value
|
||||
register: nova_scheduler_hosts
|
||||
|
||||
- name: controller hosts acting as all-in-one
|
||||
set_fact:
|
||||
all_in_one: "{{ nova_compute_hosts.stdout_lines | default([]) | intersect(nova_scheduler_hosts.stdout_lines | default([])) }}"
|
||||
|
||||
- name: Filter out only compute nodes
|
||||
set_fact:
|
||||
compute_nodes: "{{ hypervisors.stdout_lines | default([]) | difference(all_in_one) }}"
|
@ -1,10 +1,6 @@
|
||||
- name: list compute nodes
|
||||
shell: |
|
||||
source {{ overcloud_rc }}
|
||||
openstack hypervisor list -f json | jq -r -c '.[] | .["Hypervisor Hostname"]'
|
||||
register: hypervisors
|
||||
- include: compute_detect.yml
|
||||
|
||||
- include: node_upgrade.yml
|
||||
with_items: "{{ hypervisors.stdout_lines }}"
|
||||
with_items: "{{ compute_nodes }}"
|
||||
loop_control:
|
||||
loop_var: node_name
|
||||
|
@ -1,17 +1,15 @@
|
||||
---
|
||||
- block:
|
||||
- name: register instances running on {{ node_name }}
|
||||
shell: |
|
||||
source {{ overcloud_rc }}
|
||||
openstack server list --host {{ node_name }} -f json | jq -r -c '.[] | select(.Status | contains("ACTIVE") or contains("PAUSED")) | .Name'
|
||||
register: node_instances
|
||||
- name: register instances running on {{ node_name }}
|
||||
shell: |
|
||||
source {{ overcloud_rc }}
|
||||
openstack server list --host {{ node_name }} -f json | jq -r -c '.[] | select(.Status | contains("ACTIVE") or contains("PAUSED")) | .Name'
|
||||
register: node_instances
|
||||
|
||||
- name: create pre upgrade script for {{ node_name }}
|
||||
template:
|
||||
src: node_upgrade_pre.sh.j2
|
||||
dest: "{{working_dir}}/{{ node_name | splitext | first | splitext | first }}_upgrade_pre.sh"
|
||||
mode: 0775
|
||||
when: "node_name in hypervisors.stdout_lines"
|
||||
- name: create pre upgrade script for {{ node_name }}
|
||||
template:
|
||||
src: node_upgrade_pre.sh.j2
|
||||
dest: "{{working_dir}}/{{ node_name | splitext | first | splitext | first }}_upgrade_pre.sh"
|
||||
mode: 0775
|
||||
|
||||
- name: create script for upgrading {{ node_name }}
|
||||
template:
|
||||
|
@ -1,18 +1,14 @@
|
||||
- name: register compute nodes
|
||||
shell: |
|
||||
source {{ overcloud_rc }}
|
||||
openstack hypervisor list -f json | jq -r -c '.[] | .["Hypervisor Hostname"]'
|
||||
register: hypervisors
|
||||
|
||||
- name: register swift storage nodes
|
||||
shell: |
|
||||
source {{ undercloud_rc }}
|
||||
openstack server list -f json | jq -r -c '.[] | select(.Name | contains("swift") or contains("objectstorage")) | .Name'
|
||||
register: swift_nodes
|
||||
|
||||
- include: compute_detect.yml
|
||||
|
||||
- include: node_upgrade_script.yml
|
||||
loop_control:
|
||||
loop_var: node_name
|
||||
with_items:
|
||||
- "{{ hypervisors.stdout_lines }}"
|
||||
- "{{ compute_nodes }}"
|
||||
- "{{ swift_nodes.stdout_lines }}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user