Merge "Fix conntrack proto sctp module"
[apex-tripleo-heat-templates.git] / deployed-server / scripts / get-occ-config.sh
index 404244b..28f038c 100755 (executable)
@@ -63,7 +63,7 @@ for role in $OVERCLOUD_ROLES; do
         rg_stack=$(openstack stack resource show overcloud $role -c physical_resource_id -f value)
     done
 
-    stacks=$(openstack stack resource list $rg_stack -c physical_resource_id -f value)
+    stacks=$(openstack stack resource list $rg_stack -c resource_name -c physical_resource_id -f json | jq -r "sort_by(.resource_name) | .[] | .physical_resource_id")
 
     i=0
 
@@ -79,19 +79,26 @@ for role in $OVERCLOUD_ROLES; do
             server_stack=$(openstack stack resource show $stack $server_resource_name -c physical_resource_id -f value)
         done
 
-        deployed_server_metadata_url=$(openstack stack resource metadata $server_stack deployed-server | jq -r '.["os-collect-config"].request.metadata_url')
+        while true; do
+            deployed_server_metadata_url=$(openstack stack resource metadata $server_stack deployed-server | jq -r '.["os-collect-config"].request.metadata_url')
+            if [ "$deployed_server_metadata_url" = "null" ]; then
+                continue
+            else
+                break
+            fi
+        done
 
         echo "======================"
-        echo "$role$i os-collect-config.conf configuration:"
-
-        config="
-[DEFAULT]
-collectors=request
-command=os-refresh-config
-polling_interval=30
+        echo "$role$i deployed-server.json configuration:"
 
-[request]
-metadata_url=$deployed_server_metadata_url"
+        config="{
+  \"os-collect-config\": {
+    \"collectors\": [\"request\", \"local\"],
+    \"request\": {
+      \"metadata_url\": \"$deployed_server_metadata_url\"
+    }
+  }
+}"
 
         echo "$config"
         echo "======================"
@@ -101,12 +108,11 @@ metadata_url=$deployed_server_metadata_url"
         host=
         eval host=\${${role}_hosts_a[i]}
         if [ -n "$host" ]; then
-            # Delete the os-collect-config.conf template so our file won't get
-            # overwritten
-            ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host sudo /bin/rm -f /usr/libexec/os-apply-config/templates/etc/os-collect-config.conf
-            ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host "echo \"$config\" > os-collect-config.conf"
-            ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host sudo cp os-collect-config.conf /etc/os-collect-config.conf
-            ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host sudo systemctl restart os-collect-config
+            ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host "echo '$config' > deployed-server.json"
+            ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host sudo mkdir -p -m 0700 /var/lib/os-collect-config/local-data/ || true
+            ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host sudo cp deployed-server.json /var/lib/os-collect-config/local-data/deployed-server.json
+            ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host sudo systemctl start os-collect-config
+            ssh $SSH_OPTIONS -i $SUBNODES_SSH_KEY $host sudo systemctl enable os-collect-config
         fi
 
         let i+=1