path: root/deployed-server
diff options
authorJames Slagle <jslagle@redhat.com>2016-10-12 16:06:00 -0400
committerJames Slagle <jslagle@redhat.com>2016-12-01 17:43:45 -0500
commit64e44e8626e394a8ec41c798769893c0629958a3 (patch)
treec8a16a89808915d7f17663cbb9ca968688a2ca98 /deployed-server
parentd19ae9f4909b36697e224b4fd1878ebe439a679e (diff)
Make get-occ-config.sh support custom roles
Updates the get-occ-config.sh script used with the deployed-server environment to support custom roles. Any custom role name, and a corresponding set of hosts (ip addresses or hostnames) can now be passed to the script and it will query for the proper nested stack uuid's and configure os-collect-config appropriately on the respective nodes. Change-Id: I8fc39e6d18cd70ff881e2a284234b26261018d67
Diffstat (limited to 'deployed-server')
2 files changed, 25 insertions, 12 deletions
diff --git a/deployed-server/README.rst b/deployed-server/README.rst
index ce74e77b..f269b6a4 100644
--- a/deployed-server/README.rst
+++ b/deployed-server/README.rst
@@ -119,10 +119,15 @@ from the deployment command, the script should be ready to run:
[NovaCompute]: CREATE_IN_PROGRESS state changed
The user running the script must be able to ssh as root to each server. Define
-the hostnames of the deployed servers you intend to use for each role type::
- export controller_hosts="controller0 controller1 controller2"
- export compute_hosts="compute0"
+the the names of your custom roles (if applicable) and hostnames of the deployed
+servers you intend to use for each role type. For each role name, a
+corresponding <role-name>_hosts variable should also be defined, e.g.::
+ export ROLES="Controller NewtorkNode StorageNode Compute"
+ export Controller_hosts=""
+ export NetworkNode_hosts=""
+ export StorageNode_hosts=" 10.0.08"
+ export Compute_hosts=""
Then run the script on the undercloud with a stackrc file sourced, and
the script will copy the needed os-collect-config.conf configuration to each
diff --git a/deployed-server/scripts/get-occ-config.sh b/deployed-server/scripts/get-occ-config.sh
index d6219e85..c3ce7183 100755
--- a/deployed-server/scripts/get-occ-config.sh
+++ b/deployed-server/scripts/get-occ-config.sh
SSH_OPTIONS="-tt -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=Verbose -o PasswordAuthentication=no -o ConnectionAttempts=32"
+OVERCLOUD_ROLES=${OVERCLOUD_ROLES:-"Controller Compute BlockStorage ObjectStorage CephStorage"}
+# Set the _hosts vars for the default roles based on the old var names that
+# were all caps for backwards compatibility.
+# Set the _hosts_a vars for each role defined
+for role in $OVERCLOUD_ROLES; do
+ eval hosts=\${${role}_hosts}
+ read -a ${role}_hosts_a <<< $hosts
-read -a Controller_hosts_a <<< $CONTROLLER_HOSTS
-read -a Compute_hosts_a <<< $COMPUTE_HOSTS
-read -a BlockStorage_hosts_a <<< $BLOCKSTORAGE_HOSTS
-read -a ObjectStorage_hosts_a <<< $OBJECTSTORAGE_HOSTS
-read -a CephStorage_hosts_a <<< $CEPHSTORAGE_HOSTS
-roles=${OVERCLOUD_ROLES:-"Controller Compute BlockStorage ObjectStorage CephStorage"}
admin_user_id=$(openstack user show admin -c id -f value)
admin_project_id=$(openstack project show admin -c id -f value)
@@ -44,7 +52,7 @@ function check_stack {
-for role in $roles; do
+for role in $OVERCLOUD_ROLES; do
while ! check_stack overcloud; do