
Certain services are expected to be served by more than one server, think of git mirrors, zuul workers etc. While we could define all of them with numbered pattern manually in the resources.yaml file, this gets unwieldy and boring if the count is large, repeating on and on the same server stanzas with just <service_name><$NODE_COUNT>. This change allows to put a 'node_count' attribute to the server resource. With it, the role will create as many servers as 'node_count' by numbering the servers as <server_name><$NODE_COUNT>. e.g. servers: - name: logstash-worker.openstack.org image: ubuntu-trusty flavor: d1 node_count: 2 That would make the role to create two server instances named 'logstash-worker01.openstack.org' and 'logstash-worker02.openstack.org' Change-Id: I220a2786efe56187f60f1eed2f32e661e6d3ed3f
ansible-role-cloud-launcher
Ansible role to launch multiple OpenStack Clouds resources
- License: Apache License, Version 2.0
- Documentation: https://ansible-role-cloud-launcher.readthedocs.org
- Source: https://git.openstack.org/cgit/openstack/ansible-role-cloud-launcher
- Bugs: https://bugs.launchpad.net/ansible-role-cloud-launcher
Description
ansible-role-cloud-launcher is an Ansible role that allows to launch multiple OpenStack clouds resources. Resources can be defined in a cloud by cloud basis or defined in a profile, which may be reused by more than one cloud.
Requirements
shade library needs to be installed, as that is required by the OpenStack Ansible modules.
Role Variables
The role expects variables fed by ansible-playbook on the CLI, for example:
ansible-playbook -i inventory play.yml -e "@resources.yml"
The role expects the resources variables file to have two dict variables, profiles and clouds.
profiles contains a list of OpenStack resources definitions that are meant to be reused by one or more clouds.
clouds contains a list of clouds the role will launch resources on. Each cloud definition will have the OSCC cloud name, a list of profiles the cloud will reuse and a list of resources specific to that cloud.
Please check resources.yml.sample on this repository for a full-blown example.
Dependencies
None