diff options
author | Sage Weil <sage@redhat.com> | 2020-03-23 20:09:41 -0500 |
---|---|---|
committer | Sage Weil <sage@redhat.com> | 2020-03-23 20:09:41 -0500 |
commit | 895b856aeedf3d5874b7a8bca263dd3fc13cbee9 (patch) | |
tree | fd793e89ae03c57ee7dc47eb129433f534791053 | |
parent | 04e0b9c2f85b807d776ecf04c024f18e9de56ffa (diff) | |
parent | 53037187c4d88fa287de14ecc0f2bf460682cfb9 (diff) | |
download | ceph-16.0.0.tar.gz |
Merge remote-tracking branch 'gh/octopus'v16.0.0
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | doc/cephadm/index.rst | 20 | ||||
-rw-r--r-- | doc/cephadm/operations.rst | 2 | ||||
-rw-r--r-- | doc/cephadm/stability.rst | 41 | ||||
-rw-r--r-- | doc/cephadm/troubleshooting.rst | 33 | ||||
-rw-r--r-- | doc/install/get-packages.rst | 112 | ||||
-rw-r--r-- | doc/releases/general.rst | 2 | ||||
-rw-r--r-- | doc/releases/index.rst | 1 | ||||
-rw-r--r-- | doc/releases/octopus.rst | 41 | ||||
-rw-r--r-- | doc/releases/releases.yml | 9 | ||||
-rwxr-xr-x | src/cephadm/cephadm | 3 | ||||
-rw-r--r-- | src/common/options.cc | 3 |
13 files changed, 207 insertions, 68 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d2eb9728887..ec2bd244fe4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -670,4 +670,4 @@ add_custom_target(tags DEPENDS ctags) find_package(CppCheck) find_package(IWYU) -set(VERSION 15.1.1) +set(VERSION 15.2.0) diff --git a/debian/changelog b/debian/changelog index 62bac97b09f..a2f31037cc9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +ceph (15.2.0-1) stable; urgency=medium + + * New upstream release + + -- Ceph Release Team <ceph-maintainers@ceph.com> Mon, 23 Mar 2020 17:47:44 +0000 + ceph (15.1.1-1) stable; urgency=medium * New upstream release diff --git a/doc/cephadm/index.rst b/doc/cephadm/index.rst index 4a0a9230fbd..e1be17e8d2f 100644 --- a/doc/cephadm/index.rst +++ b/doc/cephadm/index.rst @@ -9,19 +9,25 @@ manager daemon via SSH to add, remove, or update Ceph daemon containers. It does not rely on external configuration or orchestration tools like Ansible, Rook, or Salt. -Cephadm starts by bootstrapping a tiny Ceph cluster on a single node -(one monitor and one manager) and then uses the orchestration -interface ("day 2" commands) to expand the cluster to include all -hosts and to provision all Ceph daemons and services. This can be -performed via the Ceph command-line interface (CLI) or dashboard -(GUI). +Cephadm manages the full lifecycle of a Ceph cluster. It starts +by bootstrapping a tiny Ceph cluster on a single node (one monitor and +one manager) and then uses the orchestration interface ("day 2" +commands) to expand the cluster to include all hosts and to provision +all Ceph daemons and services. This can be performed via the Ceph +command-line interface (CLI) or dashboard (GUI). Cephadm is new in the Octopus v15.2.0 release and does not support older versions of Ceph. +.. note:: + + Cephadm is new. Please read about :ref:`cephadm-stability` before + using cephadm to deploy a production system. + .. toctree:: - :maxdepth: 2 + :maxdepth: 1 + stability install adoption upgrade diff --git a/doc/cephadm/operations.rst b/doc/cephadm/operations.rst index 2e25874aabd..59e2f2965f3 100644 --- a/doc/cephadm/operations.rst +++ b/doc/cephadm/operations.rst @@ -26,6 +26,8 @@ These events are also logged to the ``ceph.cephadm.log`` file on monitor hosts and to the monitor daemons' stderr. +.. _cephadm-logs: + Ceph daemon logs ================ diff --git a/doc/cephadm/stability.rst b/doc/cephadm/stability.rst new file mode 100644 index 00000000000..7054fea5adb --- /dev/null +++ b/doc/cephadm/stability.rst @@ -0,0 +1,41 @@ +.. _cephadm-stability: + +Stability +========= + +Cephadm is a new feature in the Octopus release and has seen limited +use in production and at scale. We would like users to try cephadm, +especially for new clusters, but please be aware that some +functionality is still rough around the edges. We expect fairly +frequent updates and improvements over the first several bug fix +releases of Octopus. + +Cephadm management of the following components are currently well-supported: + +- Monitors +- Managers +- OSDs +- CephFS file systems +- rbd-mirror + +The following components are working with cephadm, but the +documentation is not as complete as we would like, and there may be some +changes in the near future: + +- RGW +- dmcrypt OSDs + +Cephadm support for the following features is still under development: + +- NFS +- iSCSI + +If you run into problems, you can always pause cephadm with:: + + ceph orch pause + +Or turn cephadm off completely with:: + + ceph orch set backend '' + ceph mgr module disable cephadm + diff --git a/doc/cephadm/troubleshooting.rst b/doc/cephadm/troubleshooting.rst index 375420ad182..93f42025f7f 100644 --- a/doc/cephadm/troubleshooting.rst +++ b/doc/cephadm/troubleshooting.rst @@ -8,6 +8,39 @@ a specific service no longer runs properly. As cephadm deploys daemons as containers, troubleshooting daemons is slightly different. Here are a few tools and commands to help investigating issues. +Pausing or disabling cephadm +---------------------------- + +If something goes wrong and cephadm is doing behaving in a way you do +not like, you can pause most background activity with:: + + ceph orch pause + +This will stop any changes, but cephadm will still periodically check hosts to +refresh its inventory of daemons and devices. You can disable cephadm +completely with:: + + ceph orch set backend '' + ceph mgr module disable cephadm + +This will disable all of the ``ceph orch ...`` CLI commands but the previously +deployed daemon containers will still continue to exist and start as they +did before. + +Checking cephadm logs +--------------------- + +You can monitor the cephadm log in real time with:: + + ceph -W cephadm + +You can see the last few messages with:: + + ceph log last cephadm + +If you have enabled logging to files, you can see a cephadm log file called +``ceph.cephadm.log`` on monitor hosts (see :ref:`cephadm-logs`). + Gathering log files ------------------- diff --git a/doc/install/get-packages.rst b/doc/install/get-packages.rst index 532560d3e36..ab518c033ce 100644 --- a/doc/install/get-packages.rst +++ b/doc/install/get-packages.rst @@ -1,52 +1,77 @@ +.. _packages: + ============== Get Packages ============== To install Ceph and other enabling software, you need to retrieve packages from -the Ceph repository. Follow this guide to get packages; then, proceed to the -`Install Ceph Object Storage`_. - - -Getting Packages -================ +the Ceph repository. -There are two ways to get packages: +There are three ways to get packages: -- **Add Repositories:** Adding repositories is the easiest way to get packages, - because package management tools will retrieve the packages and all enabling - software for you in most cases. However, to use this approach, each +- **Cephadm:** Cephadm can configure your Ceph repositories for you + based on a release name or a specific Ceph version. Each :term:`Ceph Node` in your cluster must have internet access. +- **Configure Repositories Manually:** You can manually configure your + package management tool to retrieve Ceph packages and all enabling + software. Each :term:`Ceph Node` in your cluster must have internet + access. + - **Download Packages Manually:** Downloading packages manually is a convenient way to install Ceph if your environment does not allow a :term:`Ceph Node` to access the internet. +Install packages with cephadm +============================= + +#. Download the cephadm script:: + + curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm + chmod +x cephadm + +#. Configure the Ceph repository based on the release name:: + + ./cephadm add-repo --release nautilus + + For Octopus (15.2.0) and later releases, you can also specify a specific + version:: + + ./cephadm add-repo --version 15.2.1 -Requirements -============ + For development packages, you can specify a specific branch name:: + + ./cephadm add-repo --dev my-branch + +#. Install the appropriate packages. You can install them using your + package management tool (e.g., APT, Yum) directly, or you can also + use the cephadm wrapper. For example:: + + ./cephadm install ceph-common + + +Configure Repositories Manually +=============================== All Ceph deployments require Ceph packages (except for development). You should also add keys and recommended packages. - **Keys: (Recommended)** Whether you add repositories or download packages manually, you should download keys to verify the packages. If you do not get - the keys, you may encounter security warnings. See `Add Keys`_ for details. + the keys, you may encounter security warnings. - **Ceph: (Required)** All Ceph deployments require Ceph release packages, except for deployments that use development packages (development, QA, and - bleeding edge deployments only). See `Add Ceph`_ for details. + bleeding edge deployments only). - **Ceph Development: (Optional)** If you are developing for Ceph, testing Ceph development builds, or if you want features from the bleeding edge of Ceph - development, you may get Ceph development packages. See - `Add Ceph Development`_ for details. + development, you may get Ceph development packages. -If you intend to download packages manually, see Section `Download Packages`_. - Add Keys -======== +-------- Add a key to your system's list of trusted keys to avoid a security warning. For major releases (e.g., ``luminous``, ``mimic``, ``nautilus``) and development releases @@ -54,7 +79,7 @@ major releases (e.g., ``luminous``, ``mimic``, ``nautilus``) and development rel APT ---- +~~~ To install the ``release.asc`` key, execute the following:: @@ -62,14 +87,14 @@ To install the ``release.asc`` key, execute the following:: RPM ---- +~~~ To install the ``release.asc`` key, execute the following:: sudo rpm --import 'https://download.ceph.com/keys/release.asc' -Add Ceph -======== +Ceph Release Packages +--------------------- Release repositories use the ``release.asc`` key to verify packages. To install Ceph packages with the Advanced Package Tool (APT) or @@ -83,18 +108,22 @@ You may find releases for CentOS/RHEL and others (installed with YUM) at:: https://download.ceph.com/rpm-{release-name} -The major releases of Ceph are summarized at: :ref:`ceph-releases-general` +For Octopus and later releases, you can also configure a repository for a +specific version ``x.y.z``. For Debian/Ubuntu packages:: -Every second major release is considered Long Term Stable (LTS). Critical -bugfixes are backported to LTS releases until their retirement. Since retired -releases are no longer maintained, we recommend that users upgrade their -clusters regularly - preferably to the latest LTS release. + https://download.ceph.com/debian-{version} + +For RPMs:: + + https://download.ceph.com/rpm-{version} + +The major releases of Ceph are summarized at: :ref:`ceph-releases-general` .. tip:: For non-US users: There might be a mirror close to you where to download Ceph from. For more information see: `Ceph Mirrors`_. Debian Packages ---------------- +~~~~~~~~~~~~~~~ Add a Ceph package repository to your system's list of APT sources. For newer versions of Debian/Ubuntu, call ``lsb_release -sc`` on the command line to @@ -130,10 +159,10 @@ of Debian and Ubuntu releases supported. :: RPM Packages ------------- +~~~~~~~~~~~~ RHEL ----- +^^^^ For major releases, you may add a Ceph entry to the ``/etc/yum.repos.d`` directory. Create a ``ceph.repo`` file. In the example below, replace @@ -189,28 +218,28 @@ You can download the RPMs directly from:: to download Ceph from. For more information see: `Ceph Mirrors`_. openSUSE Leap 15.1 ------------------- +^^^^^^^^^^^^^^^^^^ You need to add the Ceph package repository to your list of zypper sources. This can be done with the following command :: zypper ar https://download.opensuse.org/repositories/filesystems:/ceph/openSUSE_Leap_15.1/filesystems:ceph.repo openSUSE Tumbleweed -------------------- +^^^^^^^^^^^^^^^^^^^ The newest major release of Ceph is already available through the normal Tumbleweed repositories. There's no need to add another package repository manually. -Add Ceph Development -==================== +Ceph Development Packages +------------------------- If you are developing Ceph and need to deploy and test specific Ceph branches, ensure that you remove repository entries for major releases first. DEB Packages ------------- +~~~~~~~~~~~~ We automatically build Ubuntu packages for current development branches in the Ceph source code repository. These packages are intended for developers and QA @@ -235,7 +264,7 @@ For Ubuntu Xenial and the master branch of Ceph, it would look like:: .. warning:: Development repositories are no longer available after two weeks. RPM Packages ------------- +~~~~~~~~~~~~ For current development branches, you may add a Ceph entry to the ``/etc/yum.repos.d`` directory. The `the shaman page`_ can be used to retrieve the full details @@ -254,15 +283,15 @@ For CentOS 7 and the master branch of Ceph, it would look like:: .. note:: If the repository is not ready an HTTP 504 will be returned -Download Packages -================= +Download Packages Manually +-------------------------- If you are attempting to install behind a firewall in an environment without internet access, you must retrieve the packages (mirrored with all the necessary dependencies) before attempting an install. Debian Packages ---------------- +~~~~~~~~~~~~~~~ Ceph requires additional third party libraries. @@ -286,7 +315,7 @@ your Linux distribution codename. Replace ``{arch}`` with the CPU architecture. RPM Packages ------------- +~~~~~~~~~~~~ Ceph requires additional additional third party libraries. To add the EPEL repository, execute the following:: @@ -325,7 +354,6 @@ line to get the short codename. :: -.. _Install Ceph Object Storage: ../install-storage-cluster .. _the testing Debian repository: https://download.ceph.com/debian-testing/dists .. _the shaman page: https://shaman.ceph.com .. _Ceph Mirrors: ../mirrors diff --git a/doc/releases/general.rst b/doc/releases/general.rst index 2fa172700e6..2d69e2026e2 100644 --- a/doc/releases/general.rst +++ b/doc/releases/general.rst @@ -122,7 +122,7 @@ Release timeline .. ceph_timeline:: releases.yml development nautilus mimic luminous kraken jewel infernalis hammer giant firefly emperor .. _Octopus: ../octopus -.. _15.1.0: ../octopus#v15-1-0-octopus +.. _15.2.0: ../octopus#v15-2-0-octopus .. _Nautilus: ../nautilus .. _14.2.8: ../nautilus#v14-2-8-nautilus diff --git a/doc/releases/index.rst b/doc/releases/index.rst index b5806a7326f..0d9bd66ad99 100644 --- a/doc/releases/index.rst +++ b/doc/releases/index.rst @@ -21,6 +21,7 @@ Active Releases .. toctree:: :maxdepth: 1 + Octopus <octopus> Nautilus <nautilus> Mimic <mimic> Luminous <luminous> diff --git a/doc/releases/octopus.rst b/doc/releases/octopus.rst index 751ae62b0d4..9cdba8c2891 100644 --- a/doc/releases/octopus.rst +++ b/doc/releases/octopus.rst @@ -1,9 +1,7 @@ -v15.1.0 Octopus +v15.2.0 Octopus =============== -.. note: This is a release candidate and not (yet) intended for production use. - -These are draft notes for the upcoming Octopus release. +This is the first stable release of Ceph Octopus. Major Changes from Nautilus --------------------------- @@ -16,10 +14,20 @@ General into the orchestration layer. For more information see :ref:`cephadm`. * Health alerts can now be muted, either temporarily or permanently. -* A simple 'alerts' capability has been introduced to send email +* Health alerts are now raised for recent Ceph daemons crashes. +* A simple 'alerts' module has been introduced to send email health alerts for clusters deployed without the benefit of an existing external monitoring infrastructure. -* Health alerts are now raised for recent Ceph daemons crashes. +* :ref:`Packages <packages>` are built for the following distributions: + + - CentOS 8 + - CentOS 7 (partial--see below) + - Ubuntu 18.04 (Bionic) + - :ref:`Container image <containers>` (based on CentOS 8) + + Note that the dashboard, prometheus, and restful manager modules + will not work on the CentOS 7 build due to Python 3 module + dependencies that are missing in CentOS 7. Dashboard @@ -112,8 +120,8 @@ RADOS scalable fashion. -**RBD** block storage -~~~~~~~~~~~~~~~~~~~~~ +RBD block storage +~~~~~~~~~~~~~~~~~ * Mirroring now supports a new snapshot-based mode that no longer requires the journaling feature and its related impacts in exchange for the loss @@ -131,8 +139,8 @@ RADOS * A new persistent read-only caching daemon is available to offload reads from shared parent images. -**RGW** object storage -~~~~~~~~~~~~~~~~~~~~~~ +RGW object storage +~~~~~~~~~~~~~~~~~~ * New `Multisite Sync Policy`_ primitives for per-bucket replication. (EXPERIMENTAL) * S3 feature support: @@ -148,8 +156,8 @@ RADOS * Added `HashiCorp Vault Integration`_ for SSE-KMS. * Added Keystone token cache for S3 requests. -**CephFS** distributed file system -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CephFS distributed file system +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Inline data support in CephFS has been deprecated and will likely be removed in a future release. @@ -354,6 +362,14 @@ upgrading to Octopus. Upgrade compatibility notes --------------------------- +* Starting with Octopus, there is now a separate repository directory + for each version on `download.ceph.com` (e.g., ``rpm-15.2.0`` and + ``debian-15.2.0``). The traditional package directory that is named + after the release (e.g., ``rpm-octopus`` and ``debian-octopus``) is + now a symlink to the most recently bug fix version for that release. + We no longer generate a single repository that combines all bug fix + versions for a single named release. + * The RGW "num_rados_handles" has been removed. If you were using a value of "num_rados_handles" greater than 1 multiply your current "objecter_inflight_ops" and @@ -598,7 +614,6 @@ Upgrade compatibility notes This change may affect the configuration for clients that include a ``.`` in their name. - Note that this only applies to configuration options in the .. _announcement: https://lists.fedoraproject.org/archives/list/epel-announce@lists.fedoraproject.org/message/EGUMKAIMPK2UD5VSHXM53BH2MBDGDWMO/ .. _Bucket Notifications: ../../radosgw/notifications diff --git a/doc/releases/releases.yml b/doc/releases/releases.yml index 0472c1cd6ad..c6d823e6f02 100644 --- a/doc/releases/releases.yml +++ b/doc/releases/releases.yml @@ -12,6 +12,11 @@ # If a version might represent an actual number (e.g. 0.80) quote it. # releases: + octopus: + releases: + - version: 15.2.0 + released: 2020-03-23 + target_eol: 2022-06-01 nautilus: releases: - version: 14.2.8 @@ -241,8 +246,12 @@ releases: development: releases: + - version: 15.1.1 + released: 2020-03-13 + skip_ref: true - version: 15.1.0 released: 2020-01-29 + skip_ref: true - version: 15.0.0 released: 2019-04-03 skip_ref: true diff --git a/src/cephadm/cephadm b/src/cephadm/cephadm index 1650e3227cf..c89ce1dea92 100755 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@ -1,7 +1,6 @@ #!/usr/bin/python3 -#DEFAULT_IMAGE='docker.io/ceph/ceph:v15.2' -DEFAULT_IMAGE='quay.io/ceph-ci/ceph:octopus' +DEFAULT_IMAGE='docker.io/ceph/ceph:v15' DATA_DIR='/var/lib/ceph' LOG_DIR='/var/log/ceph' LOCK_DIR='/run/cephadm' diff --git a/src/common/options.cc b/src/common/options.cc index d8800409db0..f6ac012c608 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -445,8 +445,7 @@ std::vector<Option> get_global_options() { Option("container_image", Option::TYPE_STR, Option::LEVEL_BASIC) .set_description("container image (used by cephadm orchestrator)") .set_flag(Option::FLAG_STARTUP) - .set_default("quay.io/ceph-ci/ceph:octopus"), - //.set_default("docker.io/ceph/ceph:v15.2"), + .set_default("docker.io/ceph/ceph:v15"), Option("no_config_file", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) .set_default(false) |