]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Fixing user keys handling
authorRedouane Kachach <rkachach@redhat.com>
Tue, 11 Oct 2022 16:13:18 +0000 (18:13 +0200)
committerAdam King <adking@redhat.com>
Wed, 5 Apr 2023 17:31:44 +0000 (13:31 -0400)
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit ff8a1b8edbc38aa5a961868862b4a6a12096eaf6)

src/python-common/ceph/rgw/rgwam_core.py
src/python-common/ceph/rgw/types.py

index e7c09b590b352d15e79d7aa4e8244818fcb531c2..ae4d4452ad85d0ab48b843a83863adb3a28c238f 100644 (file)
@@ -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)
 
index bf434168bf5dd50d9d08de6a1a244a67ec6fbc68..c1c49df4ff554a0cec64588f6cc3118cb3c7e1ee 100644 (file)
@@ -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