From: Sage Weil Date: Wed, 11 Dec 2019 21:35:02 +0000 (-0600) Subject: mgr/ssh -> mgr/cephadm X-Git-Tag: v15.1.0~544^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cd1c05acbbe672dd21ac132f81fe63e466e2286f;p=ceph.git mgr/ssh -> mgr/cephadm Signed-off-by: Sage Weil --- diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 65bed6376fb9..493b1fc4c97d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -13,13 +13,13 @@ /src/pybind/mgr/orchestrator_cli @ceph/orchestrators /src/pybind/mgr/orchestrator.py @ceph/orchestrators /src/pybind/mgr/rook @ceph/orchestrators -/src/pybind/mgr/ssh @ceph/orchestrators +/src/pybind/mgr/cephadm @ceph/orchestrators /src/pybind/mgr/test_orchestrator @ceph/orchestrators /src/python-common/ceph/deployment @ceph/orchestrators /qa/workunits/cephadm/test_cephadm.sh @ceph/orchestrators /qa/tasks/ceph2.py @ceph/orchestrators /qa/tasks/mgr/test_orchestrator_cli.py @ceph/orchestrators -/qa/tasks/mgr/test_ssh_orchestrator.py @ceph/orchestrators +/qa/tasks/mgr/test_cephadm_orchestrator.py @ceph/orchestrators /doc/mgr/orchestrator_cli.rst @ceph/orchestrators /doc/mgr/orchestrator_modules.rst @ceph/orchestrators diff --git a/ceph.spec.in b/ceph.spec.in index 968f25dc5375..423fd9e40a58 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -486,7 +486,7 @@ Recommends: ceph-mgr-diskprediction-local = %{_epoch_prefix}%{version}-%{release Recommends: ceph-mgr-diskprediction-cloud = %{_epoch_prefix}%{version}-%{release} Recommends: ceph-mgr-rook = %{_epoch_prefix}%{version}-%{release} Recommends: ceph-mgr-k8sevents = %{_epoch_prefix}%{version}-%{release} -Recommends: ceph-mgr-ssh = %{_epoch_prefix}%{version}-%{release} +Recommends: ceph-mgr-cephadm = %{_epoch_prefix}%{version}-%{release} Recommends: python%{_python_buildid}-influxdb %endif %if 0%{?rhel} == 7 @@ -596,8 +596,8 @@ Requires: python%{_python_buildid}-PyYAML ceph-mgr-k8sevents is a ceph-mgr plugin that sends every ceph-events to kubernetes' events API -%package mgr-ssh -Summary: Ceph Manager plugin for SSH-based orchestration +%package mgr-cephadm +Summary: Ceph Manager plugin for cephadm-based orchestration BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems @@ -611,9 +611,9 @@ Requires: openssh %if 0%{?rhel} || 0%{?fedora} Requires: openssh-clients %endif -%description mgr-ssh -ceph-mgr-ssh is a ceph-mgr module for orchestration functions using -direct SSH connections for management operations. +%description mgr-cephadm +ceph-mgr-cephadm is a ceph-mgr module for orchestration functions using +the integrated cephadm deployment tool management operations. %package fuse Summary: Ceph fuse-based client @@ -1040,7 +1040,7 @@ Group: Development/Libraries/Python %{?python_provide:%python_provide python-ceph-common} %description -n python-ceph-common This package contains data structures, classes and functions used by Ceph. -It also contains utilities used for the SSH orchestrator. +It also contains utilities used for the cephadm orchestrator. %endif %package -n python%{python3_pkgversion}-ceph-common @@ -1051,7 +1051,7 @@ Group: Development/Libraries/Python %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-common} %description -n python%{python3_pkgversion}-ceph-common This package contains data structures, classes and functions used by Ceph. -It also contains utilities used for the SSH orchestrator. +It also contains utilities used for the cephadm orchestrator. %if 0%{with cephfs_shell} %package -n cephfs-shell @@ -1513,7 +1513,7 @@ fi %pre -n cephadm # create user if ! getent passwd | grep -q '^cephadm:'; then - useradd -r -s /bin/bash -c "cephadm user for mgr/ssh" -m cephadm + useradd -r -s /bin/bash -c "cephadm user for mgr/cephadm" -m cephadm fi # set up (initially empty) .ssh/authorized_keys file if ! test -d /home/cephadm/.ssh; then @@ -1819,15 +1819,15 @@ if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi -%files mgr-ssh -%{_datadir}/ceph/mgr/ssh +%files mgr-cephadm +%{_datadir}/ceph/mgr/cephadm -%post mgr-ssh +%post mgr-cephadm if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi -%postun mgr-ssh +%postun mgr-cephadm if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi diff --git a/debian/ceph-mgr-cephadm.install b/debian/ceph-mgr-cephadm.install new file mode 100644 index 000000000000..8dcbda16540e --- /dev/null +++ b/debian/ceph-mgr-cephadm.install @@ -0,0 +1 @@ +usr/share/ceph/mgr/cephadm diff --git a/debian/ceph-mgr-cephadm.postinst b/debian/ceph-mgr-cephadm.postinst new file mode 100644 index 000000000000..a69aaec0e805 --- /dev/null +++ b/debian/ceph-mgr-cephadm.postinst @@ -0,0 +1,41 @@ +#!/bin/sh +# vim: set noet ts=8: +# postinst script for ceph-mgr-cephadm +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# +# postinst configure +# old-postinst abort-upgrade +# conflictor's-postinst abort-remove in-favour +# postinst abort-remove +# deconfigured's-postinst abort-deconfigure in-favour [ ] +# + +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +case "$1" in + configure) + # attempt to load the plugin if the mgr is running + deb-systemd-invoke try-restart ceph-mgr.target + ;; + abort-upgrade|abort-remove|abort-deconfigure) + : + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/ceph-mgr-cephadm.prerm b/debian/ceph-mgr-cephadm.prerm new file mode 100644 index 000000000000..e8e9959b1f32 --- /dev/null +++ b/debian/ceph-mgr-cephadm.prerm @@ -0,0 +1,8 @@ +#!/bin/sh +# vim: set noet ts=8: + +set -e + +#DEBHELPER# + +exit 0 diff --git a/debian/ceph-mgr-ssh.install b/debian/ceph-mgr-ssh.install deleted file mode 100644 index 4023e4ead43b..000000000000 --- a/debian/ceph-mgr-ssh.install +++ /dev/null @@ -1 +0,0 @@ -usr/share/ceph/mgr/ssh diff --git a/debian/ceph-mgr-ssh.postinst b/debian/ceph-mgr-ssh.postinst deleted file mode 100644 index c0e3b13c5b18..000000000000 --- a/debian/ceph-mgr-ssh.postinst +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# vim: set noet ts=8: -# postinst script for ceph-mgr-ssh -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# -# postinst configure -# old-postinst abort-upgrade -# conflictor's-postinst abort-remove in-favour -# postinst abort-remove -# deconfigured's-postinst abort-deconfigure in-favour [ ] -# - -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -case "$1" in - configure) - # attempt to load the plugin if the mgr is running - deb-systemd-invoke try-restart ceph-mgr.target - ;; - abort-upgrade|abort-remove|abort-deconfigure) - : - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 - - diff --git a/debian/ceph-mgr-ssh.prerm b/debian/ceph-mgr-ssh.prerm deleted file mode 100644 index e8e9959b1f32..000000000000 --- a/debian/ceph-mgr-ssh.prerm +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# vim: set noet ts=8: - -set -e - -#DEBHELPER# - -exit 0 diff --git a/debian/cephadm.postinst b/debian/cephadm.postinst index 4b2bdf7899b2..e84b9e1f62d8 100644 --- a/debian/cephadm.postinst +++ b/debian/cephadm.postinst @@ -25,7 +25,7 @@ case "$1" in # 1. create user if not existing if ! getent passwd | grep -q "^cephadm:"; then echo -n "Adding system user cephadm.." - adduser --quiet --system --disabled-password --gecos 'Ceph-dameon user for mgr/ssh' --shell /bin/bash cephadm 2>/dev/null || true + adduser --quiet --system --disabled-password --gecos 'Ceph-dameon user for cephadm' --shell /bin/bash cephadm 2>/dev/null || true echo "..done" fi diff --git a/debian/control b/debian/control index 838b139fc76b..d252ff60d61d 100644 --- a/debian/control +++ b/debian/control @@ -227,7 +227,7 @@ Recommends: ceph-mgr-dashboard, ceph-mgr-diskprediction-cloud, ceph-mgr-rook, ceph-mgr-k8sevents, - ceph-mgr-ssh + ceph-mgr-cephadm Suggests: python-influxdb Replaces: ceph (<< 0.93-417), Breaks: ceph (<< 0.93-417), @@ -326,7 +326,7 @@ Description: kubernetes events plugin for ceph-mgr ceph related events to the kubernetes events API, and track all events that occur within the rook-ceph namespace. -Package: ceph-mgr-ssh +Package: ceph-mgr-cephadm Architecture: all Depends: ceph-mgr (= ${binary:Version}), cephadm, @@ -334,12 +334,12 @@ Depends: ceph-mgr (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, openssh-client -Description: ssh orchestrator plugin for ceph-mgr +Description: cephadm orchestrator plugin for ceph-mgr Ceph is a massively scalable, open-source, distributed storage system that runs on commodity hardware and delivers object, block and file system storage. . - This package contains the SSH plugin for ceph-mgr's orchestration + This package contains the CEPHADM plugin for ceph-mgr's orchestration functionality, to allow ceph-mgr to perform orchestration functions over a standard SSH connection. @@ -1249,7 +1249,7 @@ Description: Python 2 utility libraries for Ceph block and file system storage. . This package contains data structures, classes and functions used by Ceph. - It also contains utilities used for the SSH orchestrator. + It also contains utilities used for the cephadm orchestrator. Package: python3-ceph-common Architecture: all @@ -1262,7 +1262,7 @@ Description: Python 3 utility libraries for Ceph block and file system storage. . This package contains data structures, classes and functions used by Ceph. - It also contains utilities used for the SSH orchestrator. + It also contains utilities used for the cephadm orchestrator. Package: libcephfs-java Section: java diff --git a/doc/mgr/cephadm.rst b/doc/mgr/cephadm.rst new file mode 100644 index 000000000000..1d5266b9d0b4 --- /dev/null +++ b/doc/mgr/cephadm.rst @@ -0,0 +1,39 @@ +==================== +cephadm orchestrator +==================== + +The cephadm orchestrator is an orchestrator module that does not rely on a separate +system such as Rook or Ansible, but rather manages nodes in a cluster by +establishing an SSH connection and issuing explicit management commands. + +Orchestrator modules only provide services to other modules, which in turn +provide user interfaces. To try out the cephadm module, you might like +to use the :ref:`Orchestrator CLI ` module. + +Requirements +------------ + +- The Python `remoto` library version 0.35 or newer + +Configuration +------------- + +The cephadm orchestrator can be configured to use an SSH configuration file. This is +useful for specifying private keys and other SSH connection options. + +:: + + # ceph config set mgr mgr/cephadm/ssh_config_file /path/to/config + +An SSH configuration file can be provided without requiring an accessible file +system path as the method above does. + +:: + + # ceph cephadm set-ssh-config -i /path/to/config + +To clear this value use the command: + +:: + + # ceph cephadm clear-ssh-config diff --git a/doc/mgr/index.rst b/doc/mgr/index.rst index 6b377d1bd01f..5fbec8554ae1 100644 --- a/doc/mgr/index.rst +++ b/doc/mgr/index.rst @@ -41,9 +41,9 @@ sensible. Telemetry module Iostat module Crash module + Insights module Orchestrator CLI module + Cephadm orchestrator Rook module DeepSea module - Insights module Ansible module - SSH orchestrator diff --git a/doc/mgr/ssh.rst b/doc/mgr/ssh.rst deleted file mode 100644 index 1b904061451e..000000000000 --- a/doc/mgr/ssh.rst +++ /dev/null @@ -1,39 +0,0 @@ -================ -SSH orchestrator -================ - -The SSH orchestrator is an orchestrator module that does not rely on a separate -system such as Rook or Ansible, but rather manages nodes in a cluster by -establishing an SSH connection and issuing explicit management commands. - -Orchestrator modules only provide services to other modules, which in turn -provide user interfaces. To try out the SSH module, you might like -to use the :ref:`Orchestrator CLI ` module. - -Requirements ------------- - -- The Python `remoto` library version 0.35 or newer - -Configuration -------------- - -The SSH orchestrator can be configured to use an SSH configuration file. This is -useful for specifying private keys and other SSH connection options. - -:: - - # ceph config set mgr mgr/ssh/ssh_config_file /path/to/config - -An SSH configuration file can be provided without requiring an accessible file -system path as the method above does. - -:: - - # ceph ssh set-ssh-config -i /path/to/config - -To clear this value use the command: - -:: - - # ceph ssh clear-ssh-config diff --git a/qa/packages/packages.yaml b/qa/packages/packages.yaml index c545563e12da..314a0ac0114a 100644 --- a/qa/packages/packages.yaml +++ b/qa/packages/packages.yaml @@ -41,7 +41,7 @@ ceph: - ceph-mgr-diskprediction-cloud - ceph-mgr-diskprediction-local - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - ceph-fuse - libcephfs2 - libcephfs-devel diff --git a/qa/suites/rados/cephadm/% b/qa/suites/rados/cephadm/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/rados/cephadm/.qa b/qa/suites/rados/cephadm/.qa new file mode 120000 index 000000000000..fea2489fdf6d --- /dev/null +++ b/qa/suites/rados/cephadm/.qa @@ -0,0 +1 @@ +../.qa \ No newline at end of file diff --git a/qa/suites/rados/cephadm/fixed-2.yaml b/qa/suites/rados/cephadm/fixed-2.yaml new file mode 120000 index 000000000000..230ff0fdab41 --- /dev/null +++ b/qa/suites/rados/cephadm/fixed-2.yaml @@ -0,0 +1 @@ +.qa/clusters/fixed-2.yaml \ No newline at end of file diff --git a/qa/suites/rados/cephadm/mode/packaged.yaml b/qa/suites/rados/cephadm/mode/packaged.yaml new file mode 100644 index 000000000000..33e7d7b05c6f --- /dev/null +++ b/qa/suites/rados/cephadm/mode/packaged.yaml @@ -0,0 +1,5 @@ +overrides: + ceph2: + cephadm_mode: cephadm-package + install: + extra_packages: [cephadm] diff --git a/qa/suites/rados/cephadm/mode/root.yaml b/qa/suites/rados/cephadm/mode/root.yaml new file mode 100644 index 000000000000..d9ef264d3b7e --- /dev/null +++ b/qa/suites/rados/cephadm/mode/root.yaml @@ -0,0 +1,3 @@ +overrides: + ceph2: + cephadm_mode: root diff --git a/qa/suites/rados/cephadm/msgr b/qa/suites/rados/cephadm/msgr new file mode 120000 index 000000000000..57bee80db00a --- /dev/null +++ b/qa/suites/rados/cephadm/msgr @@ -0,0 +1 @@ +.qa/msgr \ No newline at end of file diff --git a/qa/suites/rados/cephadm/start.yaml b/qa/suites/rados/cephadm/start.yaml new file mode 100644 index 000000000000..d43d570915f8 --- /dev/null +++ b/qa/suites/rados/cephadm/start.yaml @@ -0,0 +1,3 @@ +tasks: +- install: +- ceph2: diff --git a/qa/suites/rados/cephadm/supported-random-distro$ b/qa/suites/rados/cephadm/supported-random-distro$ new file mode 120000 index 000000000000..0862b4457b37 --- /dev/null +++ b/qa/suites/rados/cephadm/supported-random-distro$ @@ -0,0 +1 @@ +.qa/distros/supported-random-distro$ \ No newline at end of file diff --git a/qa/suites/rados/cephadm/tasks/rados_api_tests.yaml b/qa/suites/rados/cephadm/tasks/rados_api_tests.yaml new file mode 120000 index 000000000000..72299dabbf27 --- /dev/null +++ b/qa/suites/rados/cephadm/tasks/rados_api_tests.yaml @@ -0,0 +1 @@ +../../basic/tasks/rados_api_tests.yaml \ No newline at end of file diff --git a/qa/suites/rados/cephadm/tasks/rados_python.yaml b/qa/suites/rados/cephadm/tasks/rados_python.yaml new file mode 120000 index 000000000000..f989c79b3ac8 --- /dev/null +++ b/qa/suites/rados/cephadm/tasks/rados_python.yaml @@ -0,0 +1 @@ +../../basic/tasks/rados_python.yaml \ No newline at end of file diff --git a/qa/suites/rados/mgr/tasks/cephadm_orchestrator.yaml b/qa/suites/rados/mgr/tasks/cephadm_orchestrator.yaml new file mode 100644 index 000000000000..6b88bfb4b550 --- /dev/null +++ b/qa/suites/rados/mgr/tasks/cephadm_orchestrator.yaml @@ -0,0 +1,18 @@ + +tasks: + - install: + - ceph: + # tests may leave mgrs broken, so don't try and call into them + # to invoke e.g. pg dump during teardown. + wait-for-scrub: false + log-whitelist: + - overall HEALTH_ + - \(MGR_DOWN\) + - \(MGR_INSIGHTS_WARNING\) + - \(insights_health_check + - \(PG_ + - replacing it with standby + - No standby daemons available + - cephfs_test_runner: + modules: + - tasks.mgr.test_cephadm_orchestrator diff --git a/qa/suites/rados/mgr/tasks/ssh_orchestrator.yaml b/qa/suites/rados/mgr/tasks/ssh_orchestrator.yaml deleted file mode 100644 index cd606f76094c..000000000000 --- a/qa/suites/rados/mgr/tasks/ssh_orchestrator.yaml +++ /dev/null @@ -1,18 +0,0 @@ - -tasks: - - install: - - ceph: - # tests may leave mgrs broken, so don't try and call into them - # to invoke e.g. pg dump during teardown. - wait-for-scrub: false - log-whitelist: - - overall HEALTH_ - - \(MGR_DOWN\) - - \(MGR_INSIGHTS_WARNING\) - - \(insights_health_check - - \(PG_ - - replacing it with standby - - No standby daemons available - - cephfs_test_runner: - modules: - - tasks.mgr.test_ssh_orchestrator diff --git a/qa/suites/rados/ssh/% b/qa/suites/rados/ssh/% deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/qa/suites/rados/ssh/.qa b/qa/suites/rados/ssh/.qa deleted file mode 120000 index fea2489fdf6d..000000000000 --- a/qa/suites/rados/ssh/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa \ No newline at end of file diff --git a/qa/suites/rados/ssh/fixed-2.yaml b/qa/suites/rados/ssh/fixed-2.yaml deleted file mode 120000 index 230ff0fdab41..000000000000 --- a/qa/suites/rados/ssh/fixed-2.yaml +++ /dev/null @@ -1 +0,0 @@ -.qa/clusters/fixed-2.yaml \ No newline at end of file diff --git a/qa/suites/rados/ssh/mode/packaged.yaml b/qa/suites/rados/ssh/mode/packaged.yaml deleted file mode 100644 index 33e7d7b05c6f..000000000000 --- a/qa/suites/rados/ssh/mode/packaged.yaml +++ /dev/null @@ -1,5 +0,0 @@ -overrides: - ceph2: - cephadm_mode: cephadm-package - install: - extra_packages: [cephadm] diff --git a/qa/suites/rados/ssh/mode/root.yaml b/qa/suites/rados/ssh/mode/root.yaml deleted file mode 100644 index d9ef264d3b7e..000000000000 --- a/qa/suites/rados/ssh/mode/root.yaml +++ /dev/null @@ -1,3 +0,0 @@ -overrides: - ceph2: - cephadm_mode: root diff --git a/qa/suites/rados/ssh/msgr b/qa/suites/rados/ssh/msgr deleted file mode 120000 index 57bee80db00a..000000000000 --- a/qa/suites/rados/ssh/msgr +++ /dev/null @@ -1 +0,0 @@ -.qa/msgr \ No newline at end of file diff --git a/qa/suites/rados/ssh/start.yaml b/qa/suites/rados/ssh/start.yaml deleted file mode 100644 index d43d570915f8..000000000000 --- a/qa/suites/rados/ssh/start.yaml +++ /dev/null @@ -1,3 +0,0 @@ -tasks: -- install: -- ceph2: diff --git a/qa/suites/rados/ssh/supported-random-distro$ b/qa/suites/rados/ssh/supported-random-distro$ deleted file mode 120000 index 0862b4457b37..000000000000 --- a/qa/suites/rados/ssh/supported-random-distro$ +++ /dev/null @@ -1 +0,0 @@ -.qa/distros/supported-random-distro$ \ No newline at end of file diff --git a/qa/suites/rados/ssh/tasks/rados_api_tests.yaml b/qa/suites/rados/ssh/tasks/rados_api_tests.yaml deleted file mode 120000 index 72299dabbf27..000000000000 --- a/qa/suites/rados/ssh/tasks/rados_api_tests.yaml +++ /dev/null @@ -1 +0,0 @@ -../../basic/tasks/rados_api_tests.yaml \ No newline at end of file diff --git a/qa/suites/rados/ssh/tasks/rados_python.yaml b/qa/suites/rados/ssh/tasks/rados_python.yaml deleted file mode 120000 index f989c79b3ac8..000000000000 --- a/qa/suites/rados/ssh/tasks/rados_python.yaml +++ /dev/null @@ -1 +0,0 @@ -../../basic/tasks/rados_python.yaml \ No newline at end of file diff --git a/qa/suites/rados/thrash-old-clients/1-install/hammer.yaml b/qa/suites/rados/thrash-old-clients/1-install/hammer.yaml index d137fddcc493..6cf32608d6b4 100644 --- a/qa/suites/rados/thrash-old-clients/1-install/hammer.yaml +++ b/qa/suites/rados/thrash-old-clients/1-install/hammer.yaml @@ -20,7 +20,7 @@ tasks: - ceph-mgr-diskprediction-local - ceph-mgr-diskprediction-cloud - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - cephadm - ceph-mgr - libcephfs2 diff --git a/qa/suites/rados/thrash-old-clients/1-install/jewel-v1only.yaml b/qa/suites/rados/thrash-old-clients/1-install/jewel-v1only.yaml index ded6183bd684..2ba6d4c098bc 100644 --- a/qa/suites/rados/thrash-old-clients/1-install/jewel-v1only.yaml +++ b/qa/suites/rados/thrash-old-clients/1-install/jewel-v1only.yaml @@ -17,7 +17,7 @@ tasks: - ceph-mgr-diskprediction-local - ceph-mgr-diskprediction-cloud - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - cephadm - ceph-mgr - libcephfs2 diff --git a/qa/suites/rados/thrash-old-clients/1-install/jewel.yaml b/qa/suites/rados/thrash-old-clients/1-install/jewel.yaml index d8e0f7f2daf1..40856c1b5c02 100644 --- a/qa/suites/rados/thrash-old-clients/1-install/jewel.yaml +++ b/qa/suites/rados/thrash-old-clients/1-install/jewel.yaml @@ -16,7 +16,7 @@ tasks: - ceph-mgr-diskprediction-local - ceph-mgr-diskprediction-cloud - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - cephadm - ceph-mgr - libcephfs2 diff --git a/qa/suites/rados/thrash-old-clients/1-install/luminous-v1only.yaml b/qa/suites/rados/thrash-old-clients/1-install/luminous-v1only.yaml index 1ebe7af9c146..0238fd199063 100644 --- a/qa/suites/rados/thrash-old-clients/1-install/luminous-v1only.yaml +++ b/qa/suites/rados/thrash-old-clients/1-install/luminous-v1only.yaml @@ -17,7 +17,7 @@ tasks: - ceph-mgr-diskprediction-local - ceph-mgr-diskprediction-cloud - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - cephadm extra_packages: ['librados2'] - install.upgrade: diff --git a/qa/suites/rados/thrash-old-clients/1-install/luminous.yaml b/qa/suites/rados/thrash-old-clients/1-install/luminous.yaml index ccd3c06a31af..64004bde350c 100644 --- a/qa/suites/rados/thrash-old-clients/1-install/luminous.yaml +++ b/qa/suites/rados/thrash-old-clients/1-install/luminous.yaml @@ -16,7 +16,7 @@ tasks: - ceph-mgr-diskprediction-local - ceph-mgr-diskprediction-cloud - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - cephadm extra_packages: ['librados2'] - install.upgrade: diff --git a/qa/suites/rados/thrash-old-clients/1-install/mimic-v1only.yaml b/qa/suites/rados/thrash-old-clients/1-install/mimic-v1only.yaml index 4c503f42fe29..e7e2961ce887 100644 --- a/qa/suites/rados/thrash-old-clients/1-install/mimic-v1only.yaml +++ b/qa/suites/rados/thrash-old-clients/1-install/mimic-v1only.yaml @@ -17,7 +17,7 @@ tasks: - ceph-mgr-diskprediction-local - ceph-mgr-diskprediction-cloud - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - cephadm extra_packages: ['librados2'] - install.upgrade: diff --git a/qa/suites/rados/thrash-old-clients/1-install/mimic.yaml b/qa/suites/rados/thrash-old-clients/1-install/mimic.yaml index 20d4e00e2137..dae4276cd720 100644 --- a/qa/suites/rados/thrash-old-clients/1-install/mimic.yaml +++ b/qa/suites/rados/thrash-old-clients/1-install/mimic.yaml @@ -17,7 +17,7 @@ tasks: - ceph-mgr-diskprediction-local - ceph-mgr-diskprediction-cloud - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - cephadm extra_packages: ['librados2'] - install.upgrade: diff --git a/qa/suites/upgrade/mimic-x-singleton/1-install/mimic.yaml b/qa/suites/upgrade/mimic-x-singleton/1-install/mimic.yaml index 7d0040c3ecf2..f04e16666bac 100644 --- a/qa/suites/upgrade/mimic-x-singleton/1-install/mimic.yaml +++ b/qa/suites/upgrade/mimic-x-singleton/1-install/mimic.yaml @@ -15,7 +15,7 @@ tasks: - ceph-mgr-diskprediction-local - ceph-mgr-diskprediction-cloud - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - cephadm extra_packages: ['librados2'] - print: "**** done install mimic" diff --git a/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/mimic.yaml b/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/mimic.yaml index bed822537729..92c5c9fd4355 100644 --- a/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/mimic.yaml +++ b/qa/suites/upgrade/mimic-x/parallel/1-ceph-install/mimic.yaml @@ -12,7 +12,7 @@ tasks: - ceph-mgr-diskprediction-local - ceph-mgr-diskprediction-cloud - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - cephadm extra_packages: ['librados2'] - print: "**** done installing mimic" diff --git a/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/mimic.yaml b/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/mimic.yaml index 835a20fdb746..f001104f738b 100644 --- a/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/mimic.yaml +++ b/qa/suites/upgrade/mimic-x/stress-split/1-ceph-install/mimic.yaml @@ -9,7 +9,7 @@ tasks: - ceph-mgr-diskprediction-local - ceph-mgr-diskprediction-cloud - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - cephadm extra_packages: ['librados2'] - print: "**** done install mimic" diff --git a/qa/suites/upgrade/nautilus-x-singleton/1-install/nautilus.yaml b/qa/suites/upgrade/nautilus-x-singleton/1-install/nautilus.yaml index 064c2203cfd3..31eb930600f7 100644 --- a/qa/suites/upgrade/nautilus-x-singleton/1-install/nautilus.yaml +++ b/qa/suites/upgrade/nautilus-x-singleton/1-install/nautilus.yaml @@ -15,7 +15,7 @@ tasks: - ceph-mgr-diskprediction-local - ceph-mgr-diskprediction-cloud - ceph-mgr-rook - - ceph-mgr-ssh + - ceph-mgr-cephadm - cephadm extra_packages: ['librados2'] - print: "**** done install nautilus" diff --git a/qa/tasks/mgr/test_cephadm_orchestrator.py b/qa/tasks/mgr/test_cephadm_orchestrator.py new file mode 100644 index 000000000000..7c1bc826d8c6 --- /dev/null +++ b/qa/tasks/mgr/test_cephadm_orchestrator.py @@ -0,0 +1,26 @@ +import json +import logging +from tempfile import NamedTemporaryFile +from teuthology.exceptions import CommandFailedError +from mgr_test_case import MgrTestCase + +log = logging.getLogger(__name__) + +class TestOrchestratorCli(MgrTestCase): + MGRS_REQUIRED = 1 + + def _orch_cmd(self, *args): + return self.mgr_cluster.mon_manager.raw_cluster_cmd("orchestrator", *args) + + def setUp(self): + super(TestOrchestratorCli, self).setUp() + self._load_module("orchestrator_cli") + self._load_module("cephadm") + self._orch_cmd("set", "backend", "cephadm") + + def test_host_ls(self): + self._orch_cmd("host", "add", "osd0") + self._orch_cmd("host", "add", "mon0") + ret = self._orch_cmd("host", "ls") + self.assertIn("osd0", ret) + self.assertIn("mon0", ret) diff --git a/qa/tasks/mgr/test_ssh_orchestrator.py b/qa/tasks/mgr/test_ssh_orchestrator.py deleted file mode 100644 index 76a31dd332c6..000000000000 --- a/qa/tasks/mgr/test_ssh_orchestrator.py +++ /dev/null @@ -1,26 +0,0 @@ -import json -import logging -from tempfile import NamedTemporaryFile -from teuthology.exceptions import CommandFailedError -from mgr_test_case import MgrTestCase - -log = logging.getLogger(__name__) - -class TestOrchestratorCli(MgrTestCase): - MGRS_REQUIRED = 1 - - def _orch_cmd(self, *args): - return self.mgr_cluster.mon_manager.raw_cluster_cmd("orchestrator", *args) - - def setUp(self): - super(TestOrchestratorCli, self).setUp() - self._load_module("orchestrator_cli") - self._load_module("ssh") - self._orch_cmd("set", "backend", "ssh") - - def test_host_ls(self): - self._orch_cmd("host", "add", "osd0") - self._orch_cmd("host", "add", "mon0") - ret = self._orch_cmd("host", "ls") - self.assertIn("osd0", ret) - self.assertIn("mon0", ret) diff --git a/src/cephadm/cephadm b/src/cephadm/cephadm index 98fe30b6d686..385790ea3f56 100755 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@ -1243,14 +1243,14 @@ def command_bootstrap(): # ssh if not args.skip_ssh: - logger.info('Enabling ssh module...') - cli(['mgr', 'module', 'enable', 'ssh']) + logger.info('Enabling cephadm module...') + cli(['mgr', 'module', 'enable', 'cephadm']) logger.info('Setting orchestrator backend to ssh...') - cli(['orchestrator', 'set', 'backend', 'ssh']) + cli(['orchestrator', 'set', 'backend', 'cephadm']) logger.info('Generating ssh key...') - cli(['ssh', 'generate-key']) - ssh_pub = cli(['ssh', 'get-pub-key']) + cli(['cephadm', 'generate-key']) + ssh_pub = cli(['cephadm', 'get-pub-key']) with open(args.output_pub_ssh_key, 'w') as f: f.write(ssh_pub) diff --git a/src/common/options.cc b/src/common/options.cc index 10f1ad364691..bbe8a850fcc2 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -437,7 +437,7 @@ std::vector