Don't send duplicate signals via 99-refresh-completed
Currently we send signals for every deployment, even those already completed, so instead keep a record of already-signalled deployments similar to how heat-config does, which will remove the annoying SIGNAL_COMPLETE: Unknown events (and possibly be slightly faster too). Partial-Bug: #1564627 Change-Id: I0ec7ed4cc4e58a43a91e8323cb9a1bcaaafc9752
This commit is contained in:
parent
fdf717f2aa
commit
de7012df7c
@ -63,10 +63,23 @@ DEPLOYMENTS=$(os-apply-config --key deployments --type raw --key-default "" |
|
||||
select(.inputs[].name == \"deploy_signal_id\") |
|
||||
.id + (.inputs | map(select(.name == \"deploy_signal_id\")) | .[].value)) |
|
||||
.[]")
|
||||
|
||||
# We store a file per deployment similar to how heat-config stores them under
|
||||
# /var/lib/heat-config/deployed, here we use /var/lib/os-apply-config-deployments/deployed
|
||||
DEPLOYED_DIR="/var/lib/os-apply-config-deployments/deployed"
|
||||
if [ ! -d $DEPLOYED_DIR ]; then
|
||||
mkdir -p $DEPLOYED_DIR
|
||||
fi
|
||||
|
||||
for dep in ${DEPLOYMENTS}
|
||||
do
|
||||
DEPLOY_ID=$(echo $dep | sed "s/http.*$//")
|
||||
DEPLOY_URL=$(echo $dep | sed "s/^.*http/http/")
|
||||
echo "Signalling os-apply-config deployment $DEPLOY_ID $DEPLOY_URL"
|
||||
call_curl_deployment POST $DEPLOY_URL "os-apply-config deployment $DEPLOY_ID completed"
|
||||
if [ ! -f $DEPLOYED_DIR/$DEPLOY_ID ]; then
|
||||
echo "Signalling os-apply-config deployment $DEPLOY_ID $DEPLOY_URL"
|
||||
call_curl_deployment POST $DEPLOY_URL "os-apply-config deployment $DEPLOY_ID completed"
|
||||
touch $DEPLOYED_DIR/$DEPLOY_ID
|
||||
else
|
||||
echo "Skipping $DEPLOY_ID, already deployed"
|
||||
fi
|
||||
done
|
||||
|
Loading…
Reference in New Issue
Block a user