Commit Graph

120521 Commits

Author SHA1 Message Date
Harish Munjulur
3eec40adb9
Merge pull request #39790 from yuvalif/wip-yuval-fix-49557
rgw/notification: fix persistent notification hang when ack-levl=none
2021-03-04 11:05:30 -08:00
Harish Munjulur
50d509ef45
Merge pull request #39782 from yuvalif/wip-yuval-fix-49552
rgw/notification: fixing the "persistent=false" flag
2021-03-04 11:05:14 -08:00
Harish Munjulur
9bd2a5d1d9
Merge pull request #39515 from CloudFerro/gc_max_objs
rgw: limit rgw_gc_max_objs to RGW_SHARDS_PRIME_1
2021-03-04 11:03:56 -08:00
Harish Munjulur
dfcdc912e9
Merge pull request #39380 from leseb/rgw-svc-map-name
rgw: register daemon in service map with more details
2021-03-04 11:03:19 -08:00
Yuri Weinstein
4845755730 qa/tests: moved nautilus and octopus tests to run on gibba and -p 70 for smoke tests
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
2021-03-04 10:57:56 -08:00
Radoslaw Zarzynski
0b79eba1c0 crimson/osd: fix the serialization of notify_reply_t.
The `LibRadosWatchNotify.WatchNotify2` was expecting
data in the very raw form:

```cpp
  std::map<std::pair<uint64_t,uint64_t>, bufferlist> reply_map;
  std::set<std::pair<uint64_t,uint64_t> > missed_map;
  auto reply_p = reply.cbegin();
  decode(reply_map, reply_p);
  decode(missed_map, reply_p);
```

while the serialization of `notify_reply_t` was appending
extra preamable with versioning data.

This was the root cause of the following problem:
```
2021-03-04T15:40:03.001 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: Running main() from gmock_main.cc
2021-03-04T15:40:03.001 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: [==========] Running 11 tests from 2 test suites.
2021-03-04T15:40:03.002 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: [----------] Global test environment set-up.
2021-03-04T15:40:03.002 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: [----------] 10 tests from LibRadosWatchNotify
2021-03-04T15:40:03.002 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: [ RUN      ] LibRadosWatchNotify.WatchNotify
2021-03-04T15:40:03.002 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: watch_notify_test_cb
2021-03-04T15:40:03.003 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: [       OK ] LibRadosWatchNotify.WatchNotify (744 ms)
2021-03-04T15:40:03.003 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: [ RUN      ] LibRadosWatchNotify.Watch2Delete
2021-03-04T15:40:03.003 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: waiting up to 300 for disconnect notification ...
2021-03-04T15:40:03.003 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: watch_notify2_test_errcb cookie 94023196839536 err -107
2021-03-04T15:40:03.004 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: [       OK ] LibRadosWatchNotify.Watch2Delete (3123 ms)
2021-03-04T15:40:03.004 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: [ RUN      ] LibRadosWatchNotify.AioWatchDelete
2021-03-04T15:40:03.004 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: waiting up to 300 for disconnect notification ...
2021-03-04T15:40:03.004 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: watch_notify2_test_errcb cookie 94023196851488 err -107
2021-03-04T15:40:03.005 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: [       OK ] LibRadosWatchNotify.AioWatchDelete (5086 ms)
2021-03-04T15:40:03.005 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: [ RUN      ] LibRadosWatchNotify.WatchNotify2
2021-03-04T15:40:03.005 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: watch_notify2_test_cb from 4394 notify_id 120259084288 cookie 94023196869248
2021-03-04T15:40:03.005 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: unknown file: Failure
2021-03-04T15:40:03.006 INFO:tasks.workunit.client.0.smithi058.stdout:         api_watch_notify: C++ exception with description "End of buffer" thrown in the test body.```

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-03-04 18:23:56 +00:00
Radoslaw Zarzynski
09910c9352 crimson/osd: improve debugs around sending notify_reply_t.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-03-04 18:23:56 +00:00
Sebastian Wagner
97338d7343 doc/install/index_manual: remove cephadm from toctree
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2021-03-04 18:18:33 +01:00
Sage Weil
2a1c3997cd mgr/cephadm: document ok_to_stop output argument for clarity
Signed-off-by: Sage Weil <sage@newdream.net>
2021-03-04 12:01:28 -05:00
Sage Weil
defc019c6a Merge PR #39823 into master
* refs/pull/39823/head:
	qa/tasks/cephadm: remove mirror code

Reviewed-by: Sebastian Wagner <swagner@suse.com>
2021-03-04 11:41:28 -05:00
Sebastian Wagner
aec8aa96cb
Merge pull request #39822 from mgfritch/cephadm-custom-container-sample
cephadm: split custom container args into argv

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
2021-03-04 16:23:26 +01:00
Sebastian Wagner
7744777de1
Merge pull request #39699 from mgfritch/cephadm-bin-flake8-quotes
cephadm: introduce flake8 and flake8-quotes

Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
2021-03-04 15:59:07 +01:00
Sage Weil
2cce16537c mgr/DaemonServer: osd ok-to-stop: return json when there are unknown PGs
In 791952cc01 we switched to return JSON
both on success and fail to describe which PGs are affected or are blocking
the ability to stop/restart OSDs.  Do the same for the case where
some PG states are unknown (i.e., just after a mgr restart) so that
the cephadm upgrade process can unconditionally expect a JSON result.

Signed-off-by: Sage Weil <sage@newdream.net>
2021-03-04 08:41:07 -05:00
Sage Weil
208407c5c0 qa/tasks/cephadm: remove mirror code
This is being done from ansible now.  Also, it breaks when
the conf file has unqualified-search-registries but not 'registry'
entries.

Signed-off-by: Sage Weil <sage@newdream.net>
2021-03-04 07:39:15 -06:00
Kefu Chai
dbab7e24f3
Merge pull request #39831 from xxhdx1985126/wip-crimson-io-sequencer-bug
crimson/osd: do not pass lvalue of the lambda to seastar::futurize_invoke

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-03-04 21:10:36 +08:00
Matt Benjamin
c0e65f7496
Merge pull request #39656 from pritha-srivastava/wip-rgw-sts-user-fix
rgw/sts: fix for encoding/decoding user namespace
2021-03-04 07:57:58 -05:00
Ernesto Puerta
434530dd55
Merge pull request #39452 from rhcs-dashboard/wip-49283-master
mgr/dashboard: report mgr fsid 

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2021-03-04 13:53:06 +01:00
Xuehan Xu
a44cac9041 crimson/osd: do not pass lvalue of the lambda to seastar::futurize_invoke
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2021-03-04 20:31:24 +08:00
Kefu Chai
5b55f6709f
Merge pull request #39815 from sebastian-philipp/github-cephadm-minor
.github: Minor cephadm changes

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-03-04 19:06:08 +08:00
Kefu Chai
c7ab9845f5 doc: import layout.html from sphinx_rtd_theme
so we can customize it later

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-03-04 19:00:47 +08:00
Kefu Chai
275c6bd1b7 doc: switch to sphinx_rtd_theme
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-03-04 19:00:47 +08:00
Kefu Chai
cb7c0b41c5
Merge pull request #39827 from xxhdx1985126/wip-crimson-minor-bugs
crimson/osd: capture error_code by value in PG::handle_failed_op

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
2021-03-04 18:33:25 +08:00
Kefu Chai
762b27af2c
Merge pull request #39812 from rzarzynski/wip-crimson-admin-config-help
crimson/admin: add support for 'config help'

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-03-04 17:45:16 +08:00
Xuehan Xu
1df4ab9425 crimson/osd: capture error_code by value in PG::handle_failed_op
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2021-03-04 17:20:28 +08:00
Ernesto Puerta
461d17c29a
Merge pull request #39801 from rhcs-dashboard/49574-fix-pyjwt
mgr/dashboard: fix issues related with PyJWT versions >=2.0.0

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2021-03-04 09:53:42 +01:00
Nathan Cutler
18627bfeb0
Merge pull request #39755 from smithfarm/wip-49550
rpm: use PMDK system libraries on SUSE

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
2021-03-04 09:29:47 +01:00
Patrick Donnelly
61ea12852f
Merge PR #39799 into master
* refs/pull/39799/head:
	doc: update affiliation for myoungwon

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-03-03 20:05:22 -08:00
myoungwon oh
d0c56ec3ef doc: update affiliation for myoungwon
Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
2021-03-04 09:33:41 +09:00
Marcus Watts
891bf1a622 rgw/kms/kmip - document configuration for a new feature: kmip kms
I've written up a brief description of using kmip
with ceph.  Major features:
* ceph configuration.
* making keys with a "paste-in" python script.
* pointers to PyKMIP and IBM SKLM.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:10 -05:00
Marcus Watts
809677d991 rgw/kms/kmip - rgw / kmip test integration.
Actually add kmip to the kms crypt suite.

This also makes some ssl certs which is required for use of kmip.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:10 -05:00
Marcus Watts
096cdfaee3 rgw/kms/kmip - rgw / kmip test integration.
s3tests needs to know key names in order to run kms tests.
It seems desirable to have s3tests default to discovering
the names that were created by the pykmip task, and that
if there is more than one rgw connected to more than one
pykmip, that names belonging to the appropriate pykmip
instance should be used.

This logic does the following:
rgw task: save pykmip role name.
s3tests task: set kms_key (and kms_keyid2) to
these in order of priority
1	s3tests client task property ['kms_key'] (or ['kms_key2'])
2	first (second) secret created in the matching pykmip instance.
3	testkey-1 (testkey-2)

For case 2, names from the secrets have an initial "token-" stripped from them.
The assumption here is that rgw is being run with a setting such as
	rgw crypt kmip kms key template: pykmip-$keyid
therefore "pykmip-" will be prefixed back onto the key before use.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:10 -05:00
Marcus Watts
7105fa6cfe rgw/kms/kmip - rgw / kmip test integration.
Pass endpoint configuration from pykmip to radosgw at runtime.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:10 -05:00
Marcus Watts
4e04dc1d2e rgw/kms/kmip - correct documentation.
The pykmip task should be after ceph, and before rgw.

kmip needs ssl certs in order to function correctly.
Because the openssl_keys task has an indeterminate
order of execution, it is best to create the ca as
a separate task.  The ca can be shared with rgw, but
real life deployments of kmip are likely to have their
own CA.

In order to create kmip secrets, a client certificate
is necessary, so must be supplied to the pykmip task.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:10 -05:00
Marcus Watts
ef294fea7e rgw/kms/kmip - pykmip.py needs to make keys too.
The logic to deploy pykmip in teuthology was not complete.
The necessary logic to add kmip keys was missing.

Existing logic for other key services providers could use rest based
protocols directly from the teuthology host.  For kmip, it is necessary
to use a special protocol, and it is more convenient to run this directly
on the pykmip server.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:10 -05:00
Marcus Watts
1e457c5b58 rgw/kms/kmip - pykmip.py should actually run pykmip.
The logic to deploy pykmip in teuthology was not complete.
While it deployed all the code and certs to run pykmip,
it didn't actually run it.  This commit fixes that.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:10 -05:00
Marcus Watts
70d95ee6ad rgw/kms/kmip - python3 changes for testing.
python3 requires different imports and there's a different
way to get at the first element in a view.
This is to match changes introduced in the rest of ceph in these
commits: 24e7acc261 d7258ea7fd

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:10 -05:00
Marcus Watts
0d46a623bb rgw/kms/kmip - string handling cleanup.
Use string::data and string_view to clean up some string handling,
as suggested by reviewers.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:09 -05:00
Marcus Watts
c7afcbd2f8 teuthology/rgw: pykmip task
Configure and run a simple pykmip daemon,
similar in concept to barbican | vault.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:09 -05:00
Marcus Watts
0430ff7f9b kmip: first pass at implementation logic.
This implements SSE-KMS for the radosgw using kmip.
This uses symmetric raw keys with a name attribute in kmip,
so providing the same functionality as the "kv" key store
in hashicorp vault.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:09 -05:00
Marcus Watts
480431015a kmip: configuration options.
First pass at configuration configuration for kmip.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:09 -05:00
Marcus Watts
4dee60339d Including cmake build logic inside of libkmip.
Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:09 -05:00
Marcus Watts
3ba1384906 cmake glue to build libkmip.
Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:09 -05:00
Marcus Watts
bb72f10f86 Added libkmip as a submodule.
Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:09 -05:00
Michael Fritch
1474477375
cephadm: split custom container args into argv
introduced by usage of `shlex` in 3ea514c5

Fixes: https://tracker.ceph.com/issues/49590
Signed-off-by: Michael Fritch <mfritch@suse.com>
2021-03-03 13:48:12 -07:00
Nathan Cutler
30df650e64 rpm: use PMDK system libraries on SUSE
As of a49d1dbb32, when the rbd_rwl_cache and
rbd_ssd_cache bconds are enabled and WITH_SYSTEM_PMDK is disabled (as it is by
default), the RPM build attempts to

    git clone https://github.com/ceph/pmdk.git

but of course that won't work in the OBS, where the build workers have no
Internet connectivity.

Fortunately, the openSUSE/SLE versions targeted by Ceph master and pacific ship
the necessary PMDK libraries as RPM packages.

Fixes: a49d1dbb32
Fixes: https://tracker.ceph.com/issues/49550
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2021-03-03 20:46:20 +01:00
Nathan Cutler
ef0384dc50
Merge pull request #39765 from smithfarm/wip-ncpus-for-obs
rpm: set build parallelism from memory on SUSE

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: David Galloway <dgallowa@redhat.com>
2021-03-03 20:44:20 +01:00
Patrick Donnelly
7bb6845e87
Merge PR #39682 into master
* refs/pull/39682/head:
	vstart_runner: remove duplicate methods from LocalCephManager

Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-03-03 10:05:35 -08:00
Patrick Donnelly
3107a1f1f8
Merge PR #39780 into master
* refs/pull/39780/head:
	qa/vstart_runner: dont log "not Ceph bin" msg too often

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
2021-03-03 10:04:23 -08:00
Patrick Donnelly
c9c64eb66b
Merge PR #39681 into master
* refs/pull/39681/head:
	vstart_runner: define path to ceph binary and use it

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
2021-03-03 10:02:41 -08:00
Patrick Donnelly
ec1b82fd24
qa: skip exit-on-first-failure option for valgrind on ubuntu
The valgrind version is too old.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-03-03 09:30:21 -08:00