summaryrefslogtreecommitdiffstats
path: root/claim
diff options
context:
space:
mode:
authorEmmanuel Vasilakis <mrzammler@mm.st>2022-01-19 19:52:50 +0200
committerGitHub <noreply@github.com>2022-01-19 19:52:50 +0200
commit6600f33247368f0b124351abe5e9acf6e49c8cd2 (patch)
treea75d98febd6714132f5b1bbc2addbd8b400cae3c /claim
parentc5eb91bad10ea8079c6fa630de54b38762abebaf (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.c2
-rwxr-xr-xclaim/netdata-claim.sh.in4
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