7 CONTROLLER_HOSTS=${CONTROLLER_HOSTS:-""}
8 COMPUTE_HOSTS=${COMPUTE_HOSTS:-""}
9 BLOCKSTORAGE_HOSTS=${BLOCKSTORAGE_HOSTS:-""}
10 OBJECTSTORAGE_HOSTS=${OBJECTSTORAGE_HOSTS:-""}
11 CEPHSTORAGE_HOSTS=${CEPHSTORAGE_HOSTS:-""}
12 SUBNODES_SSH_KEY=${SUBNODES_SSH_KEY:-"~/.ssh/id_rsa"}
13 SSH_OPTIONS="-tt -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=Verbose -o PasswordAuthentication=no -o ConnectionAttempts=32"
15 read -a Controller_hosts_a <<< $CONTROLLER_HOSTS
16 read -a Compute_hosts_a <<< $COMPUTE_HOSTS
17 read -a BlockStorage_hosts_a <<< $BLOCKSTORAGE_HOSTS
18 read -a ObjectStorage_hosts_a <<< $OBJECTSTORAGE_HOSTS
19 read -a CephStorage_hosts_a <<< $CEPHSTORAGE_HOSTS
21 roles=${OVERCLOUD_ROLES:-"Controller Compute BlockStorage ObjectStorage CephStorage"}
22 admin_user_id=$(openstack user show admin -c id -f value)
23 admin_project_id=$(openstack project show admin -c id -f value)
25 function check_stack {
26 local stack_to_check=${1:-""}
28 if [ "$stack_to_check" = "" ]; then
29 echo Stack not created
33 echo Checking if $1 stack is created
35 openstack stack resource list $stack_to_check
39 if [ ! "$rc" = "0" ]; then
40 echo Stack $1 not yet created
47 for role in $roles; do
48 while ! check_stack overcloud; do
52 rg_stack=$(openstack stack resource show overcloud $role -c physical_resource_id -f value)
53 while ! check_stack $rg_stack; do
55 rg_stack=$(openstack stack resource show overcloud $role -c physical_resource_id -f value)
58 stacks=$(openstack stack resource list $rg_stack -c physical_resource_id -f value)
62 for stack in $stacks; do
63 server_resource_name=$role
64 if [ "$server_resource_name" = "Compute" ]; then
65 server_resource_name="NovaCompute"
68 server_stack=$(openstack stack resource show $stack $server_resource_name -c physical_resource_id -f value)
69 while ! check_stack $server_stack; do
71 server_stack=$(openstack stack resource show $stack $server_resource_name -c physical_resource_id -f value)
74 deployed_server_stack=$(openstack stack resource show $server_stack deployed-server -c physical_resource_id -f value)
76 echo "======================"
77 echo "$role$i os-collect-config.conf configuration:"
82 command=os-refresh-config
86 user_id=$admin_user_id
89 project_id=$admin_project_id
90 stack_id=$deployed_server_stack
91 resource_name=deployed-server-config"
94 echo "======================"
99 eval host=\${${role}_hosts_a[i]}
100 if [ -n "$host" ]; then
101 # Delete the os-collect-config.conf template so our file won't get
103 ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host sudo /bin/rm -f /usr/libexec/os-apply-config/templates/etc/os-collect-config.conf
104 ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host "echo \"$config\" > os-collect-config.conf"
105 ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host sudo cp os-collect-config.conf /etc/os-collect-config.conf
106 ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host sudo systemctl restart os-collect-config