From: Redouane Kachach Date: Tue, 11 Oct 2022 16:13:18 +0000 (+0200) Subject: Fixing user keys handling X-Git-Tag: v17.2.7~485^2~9 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=892f9d9c56d15a9b2ec1746e7171666bdbd25f77;p=ceph.git Fixing user keys handling Signed-off-by: Redouane Kachach (cherry picked from commit ff8a1b8edbc38aa5a961868862b4a6a12096eaf6) --- diff --git a/src/python-common/ceph/rgw/rgwam_core.py b/src/python-common/ceph/rgw/rgwam_core.py index e7c09b590b352..ae4d4452ad85d 100644 --- a/src/python-common/ceph/rgw/rgwam_core.py +++ b/src/python-common/ceph/rgw/rgwam_core.py @@ -487,9 +487,6 @@ class RGWAM: is_system=True) sys_user = RGWUser(sys_user_info) logging.info(f'Created system user: {sys_user.uid} on {realm.name}/{zonegroup.name}/{zone.name}') - access_key = sys_user.keys[0].access_key if sys_user and sys_user.keys else '' - secret_key = sys_user.keys[0].secret_key if sys_user and sys_user.keys else '' - sys_user.add_key(access_key, secret_key) return sys_user except RGWAMException as e: raise RGWAMException('failed to create system user', e) @@ -533,8 +530,9 @@ class RGWAM: # Create system user, normal user and update the master zone sys_user = self.create_system_user(realm, zonegroup, zone) - access_key = sys_user.keys[0].access_key - secret = sys_user.keys[0].secret_key + rgw_acces_key = sys_user.get_key(0) + access_key = rgw_acces_key.access_key if rgw_acces_key else '' + secret = rgw_acces_key.secret_key if rgw_acces_key else '' self.zone_op().modify(zone, zonegroup, None, None, access_key, secret) self.update_period(realm, zonegroup) diff --git a/src/python-common/ceph/rgw/types.py b/src/python-common/ceph/rgw/types.py index bf434168bf5dd..c1c49df4ff554 100644 --- a/src/python-common/ceph/rgw/types.py +++ b/src/python-common/ceph/rgw/types.py @@ -178,3 +178,6 @@ class RGWUser(JSONObj): self.keys.append(RGWAccessKey({'user': self.uid, 'access_key': access_key, 'secret_key': secret})) + + def get_key(self, index): + return self.keys[index] if index < len(self.keys) else None