3fdbe98f24
We have built up a lot of cruft over the months within our roles. This review aims to clean up the unused sections. Now that we have each role within a single repository, ensuring a clean house is even more important than when they were separate. Change-Id: Ibb34b376c516a09ba0f7fdb02580e8803497fc50 |
||
---|---|---|
.. | ||
defaults | ||
tasks | ||
templates | ||
README.md |
Role Name
An Ansible role for scaling and deleting nodes from an overcloud.
Requirements
This role assumes it will be executed against a host on which a Liberty, Mitaka, Newton, or Ocata under/overcloud have already been deployed.
Note: The validate-simple role must be accessible.
Role Variables
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Note: Make sure to include all environment file and options from your initial Overcloud creation. This includes the same scale parameters for non-Compute nodes.
- artosn_scale_nodes: -- boolean value that will scale nodes if true
- artosn_delete_original_node: -- boolean value that will delete the original node of type that was scaled
- artosn_working_dir: <'/home/stack'> -- working directory for the role. Assumes stackrc file is present at this location
Dependencies
Example Playbook
- Sample playbook to call the role
- name: Scale overcloud nodes
hosts: undercloud
roles:
- ansible-role-tripleo-overcloud-scale-nodes
- Sample config file to scale from one compute node to two compute nodes on the overcloud
control_memory: 6144
compute_memory: 6144
undercloud_memory: 8192
undercloud_vcpu: 2
overcloud_nodes:
- name: control_0
flavor: control
- name: compute_0
flavor: compute
- name: compute_1
flavor: compute
- name: compute_2
flavor: compute
tempest: false
pingtest: true
deploy_timeout: 60
# General deployment info
libvirt_args: "--libvirt-type qemu"
flavor_args: >-
--control-flavor {{flavor_map.control
if flavor_map is defined and 'control' in flavor_map else 'oooq_control'}}
--compute-flavor {{flavor_map.compute
if flavor_map is defined and 'compute' in flavor_map else 'oooq_compute'}}
--ceph-storage-flavor {{flavor_map.ceph
if flavor_map is defined and 'ceph' in flavor_map else 'oooq_ceph'}}
timeout_args: "--timeout {{ deploy_timeout }}"
# Pulled this out so we can hand these configs to the openstack overcloud node delete command
scale_extra_configs: "-e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml -e ~/network-environment.yaml"
scale_extra_args: "--{{ node_to_scale }}-scale {{ final_scale_value }} {{ scale_extra_configs }} --ntp-server pool.ntp.org"
# Scale deployment info
node_to_scale: compute # Type of node to scale
initial_scale_value: 1 # Initial number of nodes to deploy
final_scale_value: 2 # Number of additional nodes to add during the scale
# Scale deployment arguments
scale_args: >-
{{ libvirt_args }}
{{ flavor_args }}
{{ timeout_args }}
{{ scale_extra_args }}
License
Apache
Author Information
RDO-CI Team