fix container/host detection in system-info script (#10647)
fix container/host detection in system-info script
Ilya Mashchenko committed
Feb 16, 2021 at 19:29 UTC
d9625ac6a9ac82eff2905e54fe673813e8d719fa
1 file changed
+12
-10
daemon/system-info.sh
+12
-10
@@ -108,9 +108,9 @@ else
108
fi
109
110
# shellcheck disable=SC2153
111
- if [ "${NAME}" = "unknown" ] || [ "${VERSION}" = "unknown" ] || [ "${ID}" = "unknown" ]; then
111
+ if [ "${CONTAINER_NAME}" = "unknown" ] || [ "${CONTAINER_VERSION}" = "unknown" ] || [ "${CONTAINER_ID}" = "unknown" ]; then
112
if [ -f "/etc/lsb-release" ]; then
113
- if [ "${OS_DETECTION}" = "unknown" ]; then
113
+ if [ "${CONTAINER_OS_DETECTION}" = "unknown" ]; then
114
CONTAINER_OS_DETECTION="/etc/lsb-release"
115
else
116
CONTAINER_OS_DETECTION="Mixed"
@@ -119,19 +119,19 @@ else
119
DISTRIB_RELEASE="unknown"
120
DISTRIB_CODENAME="unknown"
121
eval "$(grep -E "^(DISTRIB_ID|DISTRIB_RELEASE|DISTRIB_CODENAME)=" < /etc/lsb-release)"
122
- if [ "${NAME}" = "unknown" ]; then CONTAINER_NAME="${DISTRIB_ID}"; fi
123
- if [ "${VERSION}" = "unknown" ]; then CONTAINER_VERSION="${DISTRIB_RELEASE}"; fi
124
- if [ "${ID}" = "unknown" ]; then CONTAINER_ID="${DISTRIB_CODENAME}"; fi
122
+ if [ "${CONTAINER_NAME}" = "unknown" ]; then CONTAINER_NAME="${DISTRIB_ID}"; fi
123
+ if [ "${CONTAINER_VERSION}" = "unknown" ]; then CONTAINER_VERSION="${DISTRIB_RELEASE}"; fi
124
+ if [ "${CONTAINER_ID}" = "unknown" ]; then CONTAINER_ID="${DISTRIB_CODENAME}"; fi
125
fi
126
if [ -n "$(command -v lsb_release 2> /dev/null)" ]; then
127
- if [ "${OS_DETECTION}" = "unknown" ]; then
127
+ if [ "${CONTAINER_OS_DETECTION}" = "unknown" ]; then
128
CONTAINER_OS_DETECTION="lsb_release"
129
else
130
CONTAINER_OS_DETECTION="Mixed"
131
fi
132
- if [ "${NAME}" = "unknown" ]; then CONTAINER_NAME="$(lsb_release -is 2> /dev/null)"; fi
133
- if [ "${VERSION}" = "unknown" ]; then CONTAINER_VERSION="$(lsb_release -rs 2> /dev/null)"; fi
134
- if [ "${ID}" = "unknown" ]; then CONTAINER_ID="$(lsb_release -cs 2> /dev/null)"; fi
132
+ if [ "${CONTAINER_NAME}" = "unknown" ]; then CONTAINER_NAME="$(lsb_release -is 2> /dev/null)"; fi
133
+ if [ "${CONTAINER_VERSION}" = "unknown" ]; then CONTAINER_VERSION="$(lsb_release -rs 2> /dev/null)"; fi
134
+ if [ "${CONTAINER_ID}" = "unknown" ]; then CONTAINER_ID="$(lsb_release -cs 2> /dev/null)"; fi
135
fi
136
fi
137
fi
@@ -143,7 +143,9 @@ HOST_VERSION="unknown"
143
HOST_VERSION_ID="unknown"
144
HOST_ID="unknown"
145
HOST_ID_LIKE="unknown"
146
-if [ "${CONTAINER}" = "unknown" ]; then
146
+
147
+# 'systemd-detect-virt' returns 'none' if there is no hardware/container virtualization.
148
+if [ "${CONTAINER}" = "unknown" ] || [ "${CONTAINER}" = "none" ]; then
149
for v in NAME ID ID_LIKE VERSION VERSION_ID OS_DETECTION; do
150
eval "HOST_$v=\$CONTAINER_$v; CONTAINER_$v=none"
151
done