]> arthur.barton.de Git - netdata.git/commitdiff
move machine_guid from registry to rrdhost
authorCosta Tsaousis (ktsaou) <costa@tsaousis.gr>
Fri, 17 Feb 2017 20:42:59 +0000 (22:42 +0200)
committerCosta Tsaousis (ktsaou) <costa@tsaousis.gr>
Fri, 17 Feb 2017 20:42:59 +0000 (22:42 +0200)
src/registry.c
src/registry_internals.c
src/registry_internals.h
src/rrd.h

index 633535a66aa6b0f09cece50da0004c3d128e15be..77638abe32a3128591790219f57021c27db0d8ae 100644 (file)
@@ -45,7 +45,7 @@ static inline void registry_json_header(struct web_client *w, const char *action
     buffer_flush(w->response.data);
     w->response.data->contenttype = CT_APPLICATION_JSON;
     buffer_sprintf(w->response.data, "{\n\t\"action\": \"%s\",\n\t\"status\": \"%s\",\n\t\"hostname\": \"%s\",\n\t\"machine_guid\": \"%s\"",
-            action, status, registry.hostname, registry.machine_guid);
+            action, status, registry.hostname, localhost.machine_guid);
 }
 
 static inline void registry_json_footer(struct web_client *w) {
index d32d549e28352e9a87365068d6fc173e6945b4ad..04fcf347455772e7a51145f45f3456d86f2a0bf4 100644 (file)
@@ -275,8 +275,8 @@ static inline int is_machine_guid_blacklisted(const char *guid) {
 }
 
 char *registry_get_this_machine_guid(void) {
-    if(likely(registry.machine_guid[0]))
-        return registry.machine_guid;
+    if(likely(localhost.machine_guid[0]))
+        return localhost.machine_guid;
 
     // read it from disk
     int fd = open(registry.machine_guid_filename, O_RDONLY);
@@ -286,38 +286,38 @@ char *registry_get_this_machine_guid(void) {
             error("Failed to read machine GUID from '%s'", registry.machine_guid_filename);
         else {
             buf[GUID_LEN] = '\0';
-            if(registry_regenerate_guid(buf, registry.machine_guid) == -1) {
+            if(registry_regenerate_guid(buf, localhost.machine_guid) == -1) {
                 error("Failed to validate machine GUID '%s' from '%s'. Ignoring it - this might mean this netdata will appear as duplicate in the registry.",
                         buf, registry.machine_guid_filename);
 
-                registry.machine_guid[0] = '\0';
+                localhost.machine_guid[0] = '\0';
             }
-            else if(is_machine_guid_blacklisted(registry.machine_guid))
-                registry.machine_guid[0] = '\0';
+            else if(is_machine_guid_blacklisted(localhost.machine_guid))
+                localhost.machine_guid[0] = '\0';
         }
         close(fd);
     }
 
     // generate a new one?
-    if(!registry.machine_guid[0]) {
+    if(!localhost.machine_guid[0]) {
         uuid_t uuid;
 
         uuid_generate_time(uuid);
-        uuid_unparse_lower(uuid, registry.machine_guid);
-        registry.machine_guid[GUID_LEN] = '\0';
+        uuid_unparse_lower(uuid, localhost.machine_guid);
+        localhost.machine_guid[GUID_LEN] = '\0';
 
         // save it
         fd = open(registry.machine_guid_filename, O_WRONLY|O_CREAT|O_TRUNC, 444);
         if(fd == -1)
             fatal("Cannot create unique machine id file '%s'. Please fix this.", registry.machine_guid_filename);
 
-        if(write(fd, registry.machine_guid, GUID_LEN) != GUID_LEN)
+        if(write(fd, localhost.machine_guid, GUID_LEN) != GUID_LEN)
             fatal("Cannot write the unique machine id file '%s'. Please fix this.", registry.machine_guid_filename);
 
         close(fd);
     }
 
-    setenv("NETDATA_REGISTRY_UNIQUE_ID", registry.machine_guid, 1);
+    setenv("NETDATA_REGISTRY_UNIQUE_ID", localhost.machine_guid, 1);
 
-    return registry.machine_guid;
+    return localhost.machine_guid;
 }
index 9c0b744524c7eeb0364c4271c0b3ce1e61112408..42c36620a9a6f9e31648eb492e6c34cabd21e40f 100644 (file)
@@ -14,8 +14,6 @@
 struct registry {
     int enabled;
 
-    char machine_guid[GUID_LEN + 1];
-
     // entries counters / statistics
     unsigned long long persons_count;
     unsigned long long machines_count;
index 4b96a47d3ef922bf509e4205d68c5808ba016401..e1f312a70c1b1f297922562db3dfff79d22c183f 100644 (file)
--- a/src/rrd.h
+++ b/src/rrd.h
@@ -297,6 +297,7 @@ struct rrdhost {
     avl avl;
 
     char *hostname;
+    char machine_guid[GUID_LEN + 1];
 
     RRDSET *rrdset_root;
     pthread_rwlock_t rrdset_root_rwlock;