Use the local collector to bootstrap deployed servers

os-collect-config is already configured to use json files in
/var/lib/os-collect-config/local-data/ as a data source, so this can
be used in the deployed-server get-occ-config.sh to copy in the
required json to generate the required os-collect-config.conf.

Co-Authored-By: James Slagle <jslagle@redhat.com>
Closes-Bug: #1679705
Change-Id: Ibde9e6bf360277d4ff64f66d637a5c7f0360e754
This commit is contained in:
Steve Baker 2016-12-01 01:02:54 +00:00 committed by James Slagle
parent 1b09a3d6e2
commit 5e934cd9b8
2 changed files with 24 additions and 15 deletions

View File

@ -89,16 +89,16 @@ for role in $OVERCLOUD_ROLES; do
done
echo "======================"
echo "$role$i os-collect-config.conf configuration:"
echo "$role$i deployed-server.json configuration:"
config="
[DEFAULT]
collectors=request
command=os-refresh-config
polling_interval=30
[request]
metadata_url=$deployed_server_metadata_url"
config="{
\"os-collect-config\": {
\"collectors\": [\"request\", \"local\"],
\"request\": {
\"metadata_url\": \"$deployed_server_metadata_url\"
}
}
}"
echo "$config"
echo "======================"
@ -108,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

View File

@ -0,0 +1,10 @@
---
fixes:
- The deployed-server Heat agent configuration script,
get-occ-config.sh, is now updated to configure the
local data source for os-collect-config instead of
configuring /etc/os-collect-config.conf directly. Doing
so means that the configuration template for os-apply-config
no longer has to be deleted as the file will be rendered
correctly with the right data. See
https://bugs.launchpad.net/tripleo/+bug/1679705