common/util.cc: add CONTAINER_NAME processing for metadata

Kubernetes clusters use POD_NAME; simple containers should be
distinguishable and don't have 'pods'.

Signed-off-by: Dan Mick <dan.mick@redhat.com>
This commit is contained in:
Dan Mick 2018-10-30 20:50:53 -07:00
parent 70242bf7b5
commit f2d6b03583

View File

@ -154,15 +154,24 @@ void collect_sys_info(map<string, string> *m, CephContext *cct)
}
// but wait, am i in a container?
bool in_container = false;
if (const char *pod_name = getenv("POD_NAME")) {
(*m)["pod_name"] = pod_name;
in_container = true;
}
if (const char *container_name = getenv("CONTAINER_NAME")) {
(*m)["container_name"] = container_name;
in_container = true;
}
if (in_container) {
if (const char *node_name = getenv("NODE_NAME")) {
(*m)["container_hostname"] = u.nodename;
(*m)["hostname"] = node_name;
}
}
if (const char *ns = getenv("POD_NAMESPACE")) {
(*m)["pod_namespace"] = ns;
if (const char *ns = getenv("POD_NAMESPACE")) {
(*m)["pod_namespace"] = ns;
}
}
#ifdef __APPLE__