Commit Graph

19 Commits

Author SHA1 Message Date
Kefu Chai
d7258ea7fd qa/tasks: use next(iter(..)) for accessing first element in a view
in python2, dict.values() and dict.keys() return lists. but in python3,
they return views, which cannot be indexed directly using an integer index.

there are three use cases when we access these views in python3:

1. get the first element
2. get all the elements and then *might* want to access them by index
3. get the first element assuming there is only a single element in
   the view
4. iterate thru the view

in the 1st case, we cannot assume the number of elements, so to be
python3 compatible, we should use `next(iter(a_dict))` instead.

in the 2nd case, in this change, the view is materialized using
`list(a_dict)`.

in the 3rd case, we can just continue using the short hand of
```py
(first_element,) = a_dict.keys()
```
to unpack the view. this works in both python2 and python3.

in the 4th case, the existing code works in both python2 and python3, as
both list and view can be iterated using `iter`, and `len` works as
well.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 20:33:47 +08:00
Kefu Chai
947a74349d qa: import with full path
to be py3 compatible

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-24 18:27:55 +08:00
Thomas Bechtold
0127cd1e88 qa: Enable flake8 tox and fix failures
There were a couple of problems found by flake8 in the qa/
directory (most of them fixed now). Enabling flake8 during the usual
check runs hopefully avoids adding new issues in the future.

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
2019-12-12 10:21:01 +01:00
Soumya Koduri
eb6eddbe8d Validate bucket names as per revised s3 spec
As per amazon s3 spec -
https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html

* The s3 bucket names should not contain upper case letters or underscore.
* Name cannot end with dash or have consecutive periods, or dashes adjacent
  to periods.
* Each label in the bucket name must start and end with a lowercase
  letter or a number.
* Name cannot exceed 63 characters.

This change is to enforce these rules if rgw_relaxed_s3_bucket_names is set to
'false' which is by default.

Fixes: https://tracker.ceph.com/issues/36293

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2019-08-08 16:54:12 +05:30
lishuhao
d2c02b37e3 rgw: make rgw admin ops api get user info consistent with the command line
GET /{admin}/user?format=json HTTP/1.1
Host: {fqdn}
This api gets the information is incomplete relative to radosgw-admin user info --uid xxxx

This modification will change the information returned by the three calls :
RGWUserAdminOp_User::info
RGWUserAdminOp_User::create
RGWUserAdminOp_User::modify

Signed-off-by: Li Shuhao <lishuhao@unitedstack.com>
2019-03-28 11:28:43 +08:00
Casey Bodley
2217c0f018 qa/rgw: radosgw_admin_rest.py uses /admin/user?list for user listing
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-11-30 12:22:23 -05:00
Casey Bodley
abfefe5f27 qa/rgw: fix invalid syntax error in radosgw_admin_rest.py
Fixes: http://tracker.ceph.com/issues/37440

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-11-28 10:53:23 -05:00
Casey Bodley
b54b1db0f4
Merge pull request #25073 from oshynsong/master
rgw: add list user admin OP API

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2018-11-27 09:08:01 -05:00
songshuangyang
b7580932c0 rgw: add list user admin OP API unit tests
Signed-off-by: Oshyn Song <dualyangsong@gmail.com>
2018-11-21 20:39:37 +08:00
Volker Theile
9440776f06 rgw: Return tenant field in bucket_stats function
Fixes: https://tracker.ceph.com/issues/36681

Signed-off-by: Volker Theile <vtheile@suse.com>
2018-11-02 13:26:10 +01:00
Casey Bodley
ce45875d80
Merge pull request #23145 from cbodley/wip-qa-rgw-admin-rest
qa/rgw: add radosgw-admin-rest task to singleton suite

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2018-08-01 13:52:40 -04:00
Casey Bodley
b696c8493c qa/rgw: fix 'policy show' tests in radosgw_admin_rest task
'policy show' returns a json-encoded representation of
RGWAccessControlPolicy, while key.get_xml_acl() returns
RGWAccessControlPolicy_S3 encoded as xml. so even with '&format=xml',
the strings won't match

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-07-27 14:29:48 -04:00
Casey Bodley
638fa1de42 qa/rgw: add bucket-id param to 'bucket link' admin api test
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-07-27 14:29:47 -04:00
Casey Bodley
3b795cc2c3 qa/rgw: radosgw_admin_rest task tolerates empty responses
result.json() throws a 'JSONDecodeError: Expecting value: line 1 column 1'
for requests that return no body, such as 'user rm' 'key rm' 'subuser
rm', 'bucket unlink', etc

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-07-27 14:29:47 -04:00
Casey Bodley
975f34f2f6 qa/rgw: radosgw_admin_rest task uses rgw.role_endpoints for connections
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-07-27 14:29:47 -04:00
Casey Bodley
2f37710ce7 qa/rgw: radosgw_admin_rest task uses util.rgw.rgwadmin()
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-07-27 14:29:47 -04:00
yuliyang
30bd588300 qa: add test for https://github.com/ceph/ceph/pull/22790
Signed-off-by: yuliyang <yuliyang@cmss.chinamobile.com>
2018-07-20 22:22:37 +08:00
Volker Theile
c6792a8be2 rgw: Do not modify email if argument is not set
The RGW Admin OPS API overwrites the users email either it is not set via argument, e.g. when executing /{admin}/user?uid=test5&suspended=true.

Signed-off-by: Volker Theile <vtheile@suse.com>
2018-05-16 15:49:57 +02:00
Sage Weil
c01f2ee0e2 move ceph-qa-suite dirs into qa/ 2016-12-14 11:29:55 -06:00