aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <marcin@juszkiewicz.com.pl>2021-07-28 09:25:45 +0200
committerMichal Arbet <michal.arbet@ultimum.io>2021-08-05 16:46:50 +0200
commit65684250175117b47d41e29d1bc3f9116c0084b5 (patch)
tree173833cb481a3e912efd721ff924f9b43de89dd9
parentea6ceef686c018d810a2ff20ca4ba81aa77164e5 (diff)
downloadkolla-65684250175117b47d41e29d1bc3f9116c0084b5.tar.gz
kolla-65684250175117b47d41e29d1bc3f9116c0084b5.zip
Config: allow to set group for user
According to recent IRC discussions is could be useful for haclient. Partial-Bug: #1934753 Change-Id: I670fa84476e35e55cbed2d22e48836ed5e28495f
-rw-r--r--docker/base/Dockerfile.j22
-rwxr-xr-xkolla/common/config.py9
-rwxr-xr-xkolla/image/build.py1
-rw-r--r--releasenotes/notes/set-group-for-user-aa9b3eae69d8f6a0.yaml3
4 files changed, 12 insertions, 3 deletions
diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
index 9430f2d13..7c771dd50 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -21,7 +21,7 @@ ENV LANG en_US.UTF-8
{# Specifics required such as homedir or shell are configured within the service specific image #}
{%- for name, user in users | dictsort() %}
{% if loop.first -%}RUN {% else %} && {% endif -%}
- groupadd --force --gid {{ user.gid }} {{ name }} \
+ groupadd --force --gid {{ user.gid }} {{ user.group }} \
&& useradd -l -M --shell /usr/sbin/nologin --uid {{ user.uid }} --gid {{ user.gid }} {{ name }}
{%- if not loop.last %} \{% endif -%}
{%- endfor %}
diff --git a/kolla/common/config.py b/kolla/common/config.py
index e47530397..f0b8f2df4 100755
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -954,10 +954,11 @@ def get_source_opts(type_=None, location=None, reference=None):
'or branch name'))]
-def get_user_opts(uid, gid):
+def get_user_opts(uid, gid, group):
return [
cfg.IntOpt('uid', default=uid, help='The user id'),
cfg.IntOpt('gid', default=gid, help='The group id'),
+ cfg.StrOpt('group', default=group, help='The group name'),
]
@@ -965,7 +966,11 @@ def gen_all_user_opts():
for name, params in USERS.items():
uid = params['uid']
gid = params['gid']
- yield name, get_user_opts(uid, gid)
+ try:
+ group = params['group']
+ except KeyError:
+ group = name[:-5]
+ yield name, get_user_opts(uid, gid, group)
def gen_all_source_opts():
diff --git a/kolla/image/build.py b/kolla/image/build.py
index fc897bdd2..f643a90b4 100755
--- a/kolla/image/build.py
+++ b/kolla/image/build.py
@@ -852,6 +852,7 @@ class KollaWorker(object):
ret[match.group(0)[:-5]] = {
'uid': user.uid,
'gid': user.gid,
+ 'group': user.group,
}
return ret
diff --git a/releasenotes/notes/set-group-for-user-aa9b3eae69d8f6a0.yaml b/releasenotes/notes/set-group-for-user-aa9b3eae69d8f6a0.yaml
new file mode 100644
index 000000000..da0b7a3ff
--- /dev/null
+++ b/releasenotes/notes/set-group-for-user-aa9b3eae69d8f6a0.yaml
@@ -0,0 +1,3 @@
+---
+features:
+ - Allow to set group for user.