Hashar has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/234554

Change subject: (WIP) admin: support members aliasing (WIP)
......................................................................

(WIP) admin: support members aliasing (WIP)

Change-Id: I07c3ab77a5cb981691bca4d3ae452cf3c0773cab
---
M modules/admin/data/data.yaml
M modules/admin/data/data_admin.py
2 files changed, 20 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/54/234554/1

diff --git a/modules/admin/data/data.yaml b/modules/admin/data/data.yaml
index 950167e..d21da45 100644
--- a/modules/admin/data/data.yaml
+++ b/modules/admin/data/data.yaml
@@ -1,3 +1,7 @@
+aliases:
+    releng: &releng
+        [demon, dduvall, hashar, thcipriani, twentyafterfour, zfilipin]
+
 groups:
   absent:
     description: meta group for absented users
@@ -36,8 +40,7 @@
     gid: 704
     description: assist in managing gerrit server
     # qchris is RT 6720
-    # Rest is the Release Engineering team
-    members: [qchris, dduvall, hashar, thcipriani, twentyafterfour, zfilipin]
+    members: [*releng, qchris]
   deployment:
     gid: 705
     description: replaces 'mortals' for software deployment
@@ -127,9 +130,7 @@
   contint-admins:
     gid: 719
     description: users with some sudo permissions on jenkins and nodepool hosts
-    members: [bd808, cscott, dduvall, demon, krinkle, reedy, marktraceur,
-              twentyafterfour, zfilipin, thcipriani, legoktm, jzerebecki,
-              hashar]
+    members: [*releng, bd808, cscott, krinkle, reedy, marktraceur, legoktm, 
jzerebecki]
     privileges: ['ALL = (jenkins) NOPASSWD: ALL',
                  'ALL = (jenkins-slave) NOPASSWD: ALL',
                  'ALL = (gerritslave) NOPASSWD: ALL',
diff --git a/modules/admin/data/data_admin.py b/modules/admin/data/data_admin.py
index 551e092..1547ea1 100644
--- a/modules/admin/data/data_admin.py
+++ b/modules/admin/data/data_admin.py
@@ -13,11 +13,25 @@
     return dict(collections.OrderedDict(sorted(dictionary.items())))
 
 
+def flatten_members(members):
+    res = []
+    for m in members:
+        if isinstance(m, (list, tuple)):
+            res.extend(flatten_members(m))
+        else:
+            res.append(m)
+    # Make them uniq
+    return list(collections.OrderedDict.fromkeys(res))
+
+
 def main():
 
     data = open('data.yaml', 'r')
     admins = yaml.safe_load(data)
 
+    for group in admins['groups'].itervalues():
+        group['members'] = flatten_members(group['members'])
+
     if 'sort' in sys.argv:
         print yaml.dump({'groups': dict_sort(admins['groups'])})
         print yaml.dump({'users': dict_sort(admins['users'])})

-- 
To view, visit https://gerrit.wikimedia.org/r/234554
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I07c3ab77a5cb981691bca4d3ae452cf3c0773cab
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Hashar <has...@free.fr>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to