diff options
author | Emmanuel Vasilakis <mrzammler@mm.st> | 2022-01-19 19:52:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-19 19:52:50 +0200 |
commit | 6600f33247368f0b124351abe5e9acf6e49c8cd2 (patch) | |
tree | a75d98febd6714132f5b1bbc2addbd8b400cae3c /claim | |
parent | c5eb91bad10ea8079c6fa630de54b38762abebaf (diff) |
Handle re-claim while the agent is running in new architecture (#11924)
* re-connect when re-claiming
* send the previous claim_id when disconnecting
* use same block for aclk_kill_link
* free prev_claimed_id
Diffstat (limited to 'claim')
-rw-r--r-- | claim/claim.c | 2 | ||||
-rwxr-xr-x | claim/netdata-claim.sh.in | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/claim/claim.c b/claim/claim.c index 2007b637a5..c919fa3bdc 100644 --- a/claim/claim.c +++ b/claim/claim.c @@ -136,6 +136,8 @@ void load_claiming_state(void) uuid_t uuid; rrdhost_aclk_state_lock(localhost); if (localhost->aclk_state.claimed_id) { + if (aclk_connected) + localhost->aclk_state.prev_claimed_id = strdupz(localhost->aclk_state.claimed_id); freez(localhost->aclk_state.claimed_id); localhost->aclk_state.claimed_id = NULL; } diff --git a/claim/netdata-claim.sh.in b/claim/netdata-claim.sh.in index f2120ae9cd..9f04de0daa 100755 --- a/claim/netdata-claim.sh.in +++ b/claim/netdata-claim.sh.in @@ -386,7 +386,9 @@ fi if [ "${HTTP_STATUS_CODE}" = "204" ] || [ "${ERROR_KEY}" = "ErrAlreadyClaimed" ] ; then rm -f "${CLAIMING_DIR}/tmpout.txt" - echo -n "${ID}" >"${CLAIMING_DIR}/claimed_id" || (echo >&2 "Claiming failed"; set -e; exit 2) + if [ "${HTTP_STATUS_CODE}" = "204" ] ; then + echo -n "${ID}" >"${CLAIMING_DIR}/claimed_id" || (echo >&2 "Claiming failed"; set -e; exit 2) + fi rm -f "${CLAIMING_DIR}/token" || (echo >&2 "Claiming failed"; set -e; exit 2) # Rewrite the cloud.conf on the disk |