Sage Weil [Wed, 12 May 2021 12:07:42 +0000 (07:07 -0500)]
Merge PR #41219 into pacific
* refs/pull/41219/head:
mgr/cephadm: misc. autopep8 changes
mgr/cephadm: add timeout when removing iscsi gateway.conf
mgr/cephadm: mock subprocess calls in tests that remove iscsi daemons
qa/tasks/cephadm_cases: longer wait for osd to start
mgr/cephadm: apply hostname/addr checks to 'orch host set-addr' too
mgr/cephadm: make 'host add' idempotent
mgr/cephadm: set host crush location based on HostSpec
python-common: add location property to HostSpec, + tests
doc/cephadm: rewriting "starting the upgrade"
doc/cephadm: rewrite "monitoring the upgrade"
doc/cephadm: rewrite "cancelling the upgrade"
doc/cephadm: rewrite "potential problems"
doc/cephadm: rewrite "using customized con..."
Add Rocky Linux to supported DISTRO_NAMES
mgr/cephadm: remove haproxy+keepalived container image from service spec
mgr/cephadm: extend disk selector test which disk size may be decimal
mgr/cephadm: When device size contains the decimal, it can not match size exactly.
mgr/dashboard: fix HAProxy (now called ingress)
mgr/cephadm: Purge iscsi configuration from pool and ceph config
Reviewed-by: Laura Paduano <lpaduano@suse.com> Reviewed-by: Michael Fritch <mfritch@suse.com>
Lucian Petrut [Fri, 7 May 2021 09:23:30 +0000 (09:23 +0000)]
win*.sh,cmake: Fix Windows linking errors
The Windows build is hitting linking errors after
bumping the Boost version to 1.75. The issue is that Boost
is now setting the zlib dependecy using INTERFACE_LINK_LIBRARIES,
which means that it's no longer located using the standard
"find_package" mechanism.
In order for the linker to locate zlib, we'll add it to the
linker search path.
Adam King [Wed, 5 May 2021 17:47:39 +0000 (13:47 -0400)]
mgr/cephadm: misc. autopep8 changes
Some of the file in mgr/cephadm are getting changed
every time I want to run the mgr tox tests to check
changes and it's inconvenient to have to check the
files out every time
Adam King [Wed, 5 May 2021 17:59:54 +0000 (13:59 -0400)]
mgr/cephadm: mock subprocess calls in tests that remove iscsi daemons
tests that remove iscsi daemons use subprocess.run to make
a call to rados to clear out the gateway.conf. We don't want
the tests to actually make that call.
Zac Dover [Thu, 6 May 2021 00:54:24 +0000 (10:54 +1000)]
doc/cephadm: rewrite "using customized con..."
This PR rewrites the text in "Using Customized
Container Images" so that it is just a bit
clearer, and it also formats the prompt in the
text correctly.
Dennis Körner [Tue, 4 May 2021 15:59:59 +0000 (17:59 +0200)]
Add Rocky Linux to supported DISTRO_NAMES
Rocky Linux is a RHEL clone. I did a test-installation of ceph pacific on Rocky Linux RC1 with cephadm. As far as I can see, everything works as expected.
Fixes: https://tracker.ceph.com/issues/50319 Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Support from Dashboard UI to create Ingress service type.
Nizamudeen A [Sun, 25 Apr 2021 11:01:00 +0000 (16:31 +0530)]
mgr/dashboard: Generate NPM dependencies manifest
A txt file with all the dependencies and its version & url link. Fixes: https://tracker.ceph.com/issues/50515 Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 825ea98915bcb0ab4bbaefb478ee0a0b8e506933)
Sage Weil [Thu, 6 May 2021 15:00:11 +0000 (10:00 -0500)]
Merge PR #41151 into pacific
* refs/pull/41151/head:
mgr/cephadm: ceph-volume verbose only when fails
qa/workunits/cephadm/test_cephadm: test zap-osds
cephadm: add --zap-osds argument to rm_cluster
cephadm: implement zap-osds --fsid ... command
doc/cephadm: add podman version note to install
mgr/cephadm: check hostname resolution before adding host
cephadm: provide a way to checkhost connection without /etc/hosts passed the shell
doc/cephadm: remove /etc/hosts from list of hostname resoltion methods
qa/suites/rados/cephadm/smoke-roleless: test client-keyring
qa/tasks/cephadm.py: adjust client.admin key mode; place on all hosts
cephadm: distribute client.admin keyring+conf to label:_admin on bootstrap
doc/cephadm: document the default 'admin' label
mgr/cephadm: 'ceph orch client-keyring ...' commands to manage keyring files
mgr/cephadm: reimplement ceph.conf pushing
mgr/cephadm: use _write_remote_file for ceph.conf
mgr/cephadm: _write_remote_file helper
mgr/cephadm: add placementspec for which hosts get ceph.conf
mgr/cephadm: skip ok-to-stop for mons in upgrade if < 3 mons
mgr/cephadm: don't allow upgrade start with less than 2 mgrs
cephadm: re-assimilate user provided conf after mgr created
cephadm: allow several public networks be matched
mgr/cephadm: The command of 'ceph orch daemon restart mgr.xxx' may case mgr daemon loop to restart
doc/cephadm: add a single word
doc/cephadm: adding "device" to a sentence
doc/cephadm: rewrite "nfs.rst"
mgr/cephadm: s/_hosts_with_daemon_inventory/_schedulable_hosts/
mgr/cephadm: don't remove daemons from hosts in maintenance or offline mode
mgr/cephadm: default status for daemons on maintenance hosts to stopped
qa/tasks/cephadm: fix ctx archive check for teuthology
python-common: use OrderedDict instead of Set to remove duplicates from host labels list
mgr/cephadm: less noise about osd specs
mgr/cephadm: kick serve loop when adding/removing labels
mgr/cephadm: do not place osds on _no_schedule hosts
doc/cephadm: document _no_schedule label
mgr/cephadm: fix 'orch ls' count to reflect schedulable hosts
mgr/cephadm: do not schedule on _no_schedule hosts
doc/cephadm: osd.rst -- removing colons
doc/cephadm: osd: rewrite "additional opts"
doc/cephadm: rewrite "advanced osd s. specs"
doc/cephadm: rewrite "delcarative state" in osd.rst
mgr/MgrStandby: fix config observer
mgr/MgrStandby: respawn if mgr_standby_modules changes
qa/tasks/mgr/test_dashboard: skip test_standby if mgr_standby_modules=false
qa/suites/rados/cephadm/smoke-*: use cephadm.wait_for_service
qa/suites/rados/cephadm/smoke-singlehost: test --single-host-defaults
cephadm: add --single-host-defaults option to bootstrap
mgr/cephadm: allow mgr colo if mgr_standby_modules=false
mgr/MgrStandby: add mgr_standby_modules option
cephadm: ignore apparmor if profiles file is empty
Reviewed-by: Sebastian Wagner <swagner@suse.com> Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
Sage Weil [Tue, 4 May 2021 16:06:17 +0000 (11:06 -0500)]
ceph_test_rados_api_service: stop threads before asserting
Otherwise, if we assert, we'll hang here:
Thread 1 (Thread 0x7f74eba79580 (LWP 1688617)):
#0 0x00007f74eb2aa529 in futex_wait (private=<optimized out>, expected=132, futex_word=0x7ffd642b4b54) at ../sysdeps/unix/sysv/linux/futex-internal.h:61
#1 futex_wait_simple (private=<optimized out>, expected=132, futex_word=0x7ffd642b4b54) at ../sysdeps/nptl/futex-internal.h:135
#2 __pthread_cond_destroy (cond=0x7ffd642b4b30) at pthread_cond_destroy.c:54
#3 0x0000563ff2e5a891 in LibRadosService_StatusFormat_Test::TestBody (this=<optimized out>) at /usr/include/c++/7/bits/unique_ptr.h:78
#4 0x0000563ff2e9dc3a in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (location=0x563ff2ea72e4 "the test body", method=<optimized out>, object=0x563ff422a6d0)
at ./src/googletest/googletest/src/gtest.cc:2605
#5 testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=object@entry=0x563ff422a6d0, method=<optimized out>, location=location@entry=0x563ff2ea72e4 "the test body")
at ./src/googletest/googletest/src/gtest.cc:2641
#6 0x0000563ff2e908c3 in testing::Test::Run (this=0x563ff422a6d0) at ./src/googletest/googletest/src/gtest.cc:2680
#7 0x0000563ff2e90a25 in testing::TestInfo::Run (this=0x563ff41a3b70) at ./src/googletest/googletest/src/gtest.cc:2858
#8 0x0000563ff2e90ec1 in testing::TestSuite::Run (this=0x563ff41b6230) at ./src/googletest/googletest/src/gtest.cc:3012
#9 0x0000563ff2e92bdc in testing::internal::UnitTestImpl::RunAllTests (this=<optimized out>) at ./src/googletest/googletest/src/gtest.cc:5723
#10 0x0000563ff2e9e14a in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (location=0x563ff2ea8728 "auxiliary test code (environments or event listeners)",
method=<optimized out>, object=0x563ff41a2d10) at ./src/googletest/googletest/src/gtest.cc:2605
#11 testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x563ff41a2d10, method=<optimized out>,
location=location@entry=0x563ff2ea8728 "auxiliary test code (environments or event listeners)") at ./src/googletest/googletest/src/gtest.cc:2641
#12 0x0000563ff2e90ae8 in testing::UnitTest::Run (this=0x563ff30c0660 <testing::UnitTest::GetInstance()::instance>) at ./src/googletest/googletest/src/gtest.cc:5306
Zac Dover [Tue, 30 Mar 2021 15:31:28 +0000 (01:31 +1000)]
doc/cephadm: add podman version note to install
This PR adds a note to the cephadm installation
guide that informs users that only podman version
2.0.0 and higher work with Ceph, with the
exception of podman version 2.2.1, which does
not work with Ceph. There is also a note regarding
kubic stable 3.0.1 working, but only with newer
kernels.
Sage Weil [Thu, 22 Apr 2021 12:12:49 +0000 (08:12 -0400)]
cephadm: distribute client.admin keyring+conf to label:_admin on bootstrap
If we are placing ceph.conf in /etc/ceph (the default), tell the cluster
to continue doing this going forward to hosts with the '_admin' label.
This doesn't induce the user to add the admin label to other hosts too,
unfortunately--e probably want them to add the admin label to other mons,
for instance--but it is a start.
Sage Weil [Wed, 21 Apr 2021 17:06:21 +0000 (13:06 -0400)]
mgr/cephadm: 'ceph orch client-keyring ...' commands to manage keyring files
Teach cephadm to manage keyring files on cluster hosts. These keys must
already exist in the mon auth database--cephadm does not create them if
they don't exist (and will issue warnings to the log if they do not).
A ceph.conf is pushed implicitly along with the keyring file.
Each keyring added will be pushed to the hosts described by the placement
spec with the appropriate ownership and mode. If the ownership, mode, or
path are modified, the files are rewritten or removed as need.
If the client-keyring entry is removed, the keyring files are removed.
Sage Weil [Tue, 20 Apr 2021 16:58:13 +0000 (12:58 -0400)]
mgr/cephadm: add placementspec for which hosts get ceph.conf
Add a config option to control which hosts (by default, *) get a
ceph.conf (if the bool manage_etc_ceph_ceph_conf option is enabled).
We don't modify the existing option because changing a type makes for a
messy migration: we have to sort out which section the config option is
in to change it. Also, a simple on/off which is more friendly than
specifying "*" to enable something.
mgr/cephadm: The command of 'ceph orch daemon restart mgr.xxx' may case mgr daemon loop to restart
Scene:
The mgr daemon is active. After execing restart command, it may be save "scheduled_daemon_actions": {"mgr.xxx": "restart"}}" to config-key.
So the mgr daemon will restart before call rm_scheduled_daemon_action which case mgr daemon will load restart forever.
Fix mgr infinite restart issue refering to the same solution as 'ceph orch daemon redeploy'.
Adam King [Wed, 14 Apr 2021 20:07:46 +0000 (16:07 -0400)]
mgr/cephadm: default status for daemons on maintenance hosts to stopped
we do not refresh the daemons on maintenance hosts so our info
on them is always outdated. Therefore, the best option is to
assume maintenance mode is working correctly and the daemons
are stopped