mirror of https://github.com/ceph/ceph-ansible.git
common: refactor installation method
The installation process is now described as follow: * you still have to choose a 'ceph_origin' installation method. The origin can be a 'repository' (add a new repository), distro (it will use the packages provided by the native repo source of your distribution), local (only available on redhat system, it installs locally built packages). This option is not well tested, so use it carefully * if ceph_origin == 'repository' you will have to decide what kind of repository you want to enable: - community: corresponds to the stable upstream/community version - enterprise: corresponds to the stable enterprise/downstream version (basically you are a red hat customer) - dev: it will install ceph from packages built out of the github development branches Signed-off-by: Sébastien Han <seb@redhat.com> Co-Authored-by: Guillaume Abrioux <gabrioux@redhat.com> Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>pull/1741/head
parent
b29014f96c
commit
ae2fd45994
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
ceph-ansible
|
ceph-ansible
|
||||||
============
|
============
|
||||||
|
|
||||||
Ansible playbooks for Ceph, the distributed filesystem.
|
Ansible playbooks for Ceph, the distributed filesystem.
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,6 +43,7 @@ The ``master`` branch should be considered experimental and used with caution.
|
||||||
|
|
||||||
Configuration and Usage
|
Configuration and Usage
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
This project assumes you have a basic knowledge of how ansible works and have already prepared your hosts for
|
This project assumes you have a basic knowledge of how ansible works and have already prepared your hosts for
|
||||||
configuration by ansible.
|
configuration by ansible.
|
||||||
|
|
||||||
|
@ -85,6 +87,15 @@ appropriate for your cluster setup. Perform the following steps to prepare your
|
||||||
It's important the playbook you use is placed at the root of the ``ceph-ansible`` project. This is how ansible will be able to find the roles that
|
It's important the playbook you use is placed at the root of the ``ceph-ansible`` project. This is how ansible will be able to find the roles that
|
||||||
``ceph-ansible`` provides.
|
``ceph-ansible`` provides.
|
||||||
|
|
||||||
|
ceph-ansible - choose installation method
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Ceph can be installed through several methods.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
installation/methods
|
||||||
|
|
||||||
ceph-ansible Configuration
|
ceph-ansible Configuration
|
||||||
--------------------------
|
--------------------------
|
||||||
|
@ -106,32 +117,26 @@ at the end of the filename, uncomment the options you wish to change and provide
|
||||||
An example configuration that deploys the upstream ``jewel`` version of ceph with OSDs that have collocated journals would look like this in ``group_vars/all.yml``::
|
An example configuration that deploys the upstream ``jewel`` version of ceph with OSDs that have collocated journals would look like this in ``group_vars/all.yml``::
|
||||||
|
|
||||||
|
|
||||||
ceph_stable: True
|
ceph_origin: repository
|
||||||
|
ceph_repository: community
|
||||||
ceph_stable_release: jewel
|
ceph_stable_release: jewel
|
||||||
public_network: "192.168.3.0/24"
|
public_network: "192.168.3.0/24"
|
||||||
cluster_network: "192.168.4.0/24"
|
cluster_network: "192.168.4.0/24"
|
||||||
monitor_interface: eth1
|
monitor_interface: eth1
|
||||||
journal_size: 100
|
|
||||||
osd_objectstore: "filestore"
|
|
||||||
devices:
|
devices:
|
||||||
- '/dev/sda'
|
- '/dev/sda'
|
||||||
- '/dev/sdb'
|
- '/dev/sdb'
|
||||||
osd_scenario: collocated
|
osd_scenario: collocated
|
||||||
# use this to set your PG config for the cluster
|
|
||||||
ceph_conf_overrides:
|
|
||||||
global:
|
|
||||||
osd_pool_default_pg_num: 8
|
|
||||||
osd_pool_default_size: 1
|
|
||||||
|
|
||||||
The following config options are required to be changed on all installations but there could be other required options depending on your OSD scenario
|
The following config options are required to be changed on all installations but there could be other required options depending on your OSD scenario
|
||||||
selection or other aspects of your cluster.
|
selection or other aspects of your cluster.
|
||||||
|
|
||||||
|
- ``ceph_origin``
|
||||||
- ``ceph_stable_release``
|
- ``ceph_stable_release``
|
||||||
- ``ceph_stable`` or ``ceph_rhcs`` or ``ceph_dev``
|
|
||||||
- ``public_network``
|
- ``public_network``
|
||||||
- ``osd_scenario``
|
- ``osd_scenario``
|
||||||
- ``journal_size``
|
|
||||||
- ``monitor_interface`` or ``monitor_address``
|
- ``monitor_interface`` or ``monitor_address``
|
||||||
|
- ``radosgw_interface`` or ``radosgw_address``
|
||||||
|
|
||||||
ceph.conf Configuration
|
ceph.conf Configuration
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
Installation methods
|
||||||
|
====================
|
||||||
|
|
||||||
|
The following are all of the available options for the installing Ceph through different channels.
|
||||||
|
We support 3 main installation methods, all managed by the ``ceph_origin`` variable:
|
||||||
|
|
||||||
|
- ``repository``: means that you will get ceph installed through a new repository. Later below choose between ``community``, ``rhcs`` or ``dev``. These options will be exposed through the ``ceph_repository`` variable.
|
||||||
|
- ``distro``: means that no separate repo file will be added and you will get whatever version of Ceph is included in your Linux distro.
|
||||||
|
- ``local``: means that the ceph binaries will be copied over from the local machine (not well tested, use at your own risk)
|
||||||
|
|
||||||
|
Origin: Repository
|
||||||
|
------------------
|
||||||
|
|
||||||
|
If ``ceph_origin`` is set to ``repository``, you now have the choice between a couple of repositories controlled by the ``ceph_repository`` option:
|
||||||
|
|
||||||
|
- ``community``: fetches packages from http://download.ceph.com, the official community Ceph repositories
|
||||||
|
- ``rhcs``: means you are a Red Hat customer, additionally you will have to select a repository type through ``ceph_repository_type`` (``cdn`` or ``iso``)
|
||||||
|
- ``dev``: fetches packages from shaman, a gitbuilder based package system
|
||||||
|
- ``uca``: fetches packages from Ubuntu Cloud Archive
|
||||||
|
- ``custom``: fetches packages from a specific repository
|
||||||
|
|
||||||
|
Community repository
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
If ``ceph_repository`` is set to ``community``, packages you will be by default installed from http://download.ceph.com, this can be changed by tweaking ``ceph_mirror``.
|
||||||
|
Final step is to select which Ceph release you want to install, for this you have to set ``ceph_stable_release`` accordingly.
|
||||||
|
For example, ``ceph_stable_release: luminous``.
|
||||||
|
|
||||||
|
RHCS repository
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
RHCS is the Red Hat Ceph Storage product from Red Hat, the enterprise version of Ceph.
|
||||||
|
If ``ceph_repository`` is set to ``rhcs``, packages you will be installed from Red Hat sources.
|
||||||
|
|
||||||
|
Additionally you will have to select a repository type through ``ceph_repository_type``, it can be ``cdn`` or ``iso``.
|
||||||
|
To choose a specific version of RHCS you can set the ``ceph_rhcs_version`` variable accordingly, e.g: ``ceph_rhcs_version: 2``.
|
||||||
|
|
||||||
|
UCA repository
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
If ``ceph_repository`` is set to ``uca``, packages you will be by default installed from http://ubuntu-cloud.archive.canonical.com/ubuntu, this can be changed by tweaking ``ceph_stable_repo_uca``.
|
||||||
|
You can also decide which OpenStack version the Ceph packages should come from by tweaking ``ceph_stable_openstack_release_uca``.
|
||||||
|
For example, ``ceph_stable_openstack_release_uca: liberty``.
|
||||||
|
|
||||||
|
Dev repository
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
If ``ceph_repository`` is set to ``dev``, packages you will be by default installed from https://shaman.ceph.com/, this can not be tweaked.
|
||||||
|
You can obviously decide which branch to install with the help of ``ceph_dev_branch`` (defaults to 'master').
|
||||||
|
Additionally, you can specify a SHA1 with ``ceph_dev_sha1``, defaults to 'latest' (as in latest built).
|
||||||
|
|
||||||
|
Custom repository
|
||||||
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
If ``ceph_repository`` is set to ``custom``, packages you will be by default installed from a desired repository.
|
||||||
|
This repository is specifie with ``ceph_custom_repo``, e.g: ``ceph_custom_repo: https://server.domain.com/ceph-custom-repo``.
|
||||||
|
|
||||||
|
|
||||||
|
Origin: Distro
|
||||||
|
--------------
|
||||||
|
|
||||||
|
If ``ceph_origin`` is set to ``distro``, no separate repo file will be added and you will get whatever version of Ceph is included in your Linux distro.
|
||||||
|
|
||||||
|
|
||||||
|
Origin: Local
|
||||||
|
-------------
|
||||||
|
|
||||||
|
If ``ceph_origin`` is set to ``local``, the ceph binaries will be copied over from the local machine (not well tested, use at your own risk)
|
|
@ -13,6 +13,22 @@ dummy:
|
||||||
# GENERAL #
|
# GENERAL #
|
||||||
###########
|
###########
|
||||||
|
|
||||||
|
######################################
|
||||||
|
# Releases name to number dictionary #
|
||||||
|
######################################
|
||||||
|
#ceph_release_num:
|
||||||
|
# dumpling: 0.67
|
||||||
|
# emperor: 0.72
|
||||||
|
# firefly: 0.80
|
||||||
|
# giant: 0.87
|
||||||
|
# hammer: 0.94
|
||||||
|
# infernalis: 9
|
||||||
|
# jewel: 10
|
||||||
|
# kraken: 11
|
||||||
|
# luminous: 12
|
||||||
|
# mimic: 13
|
||||||
|
|
||||||
|
# Directory to fetch cluster fsid, keys etc...
|
||||||
#fetch_directory: fetch/
|
#fetch_directory: fetch/
|
||||||
|
|
||||||
# The 'cluster' variable determines the name of the cluster.
|
# The 'cluster' variable determines the name of the cluster.
|
||||||
|
@ -26,16 +42,7 @@ dummy:
|
||||||
# With that you will be able to run "ceph health" normally
|
# With that you will be able to run "ceph health" normally
|
||||||
#cluster: ceph
|
#cluster: ceph
|
||||||
|
|
||||||
###########
|
# Inventory host group variables
|
||||||
# INSTALL #
|
|
||||||
###########
|
|
||||||
|
|
||||||
# Set uid/gid to default '64045' for bootstrap directories.
|
|
||||||
# '64045' is used for debian based distros. It must be set to 167 in case of rhel based distros.
|
|
||||||
# These values have to be set according to the base OS used by the container image, NOT the host.
|
|
||||||
#bootstrap_dirs_owner: "64045"
|
|
||||||
#bootstrap_dirs_group: "64045"
|
|
||||||
|
|
||||||
#mon_group_name: mons
|
#mon_group_name: mons
|
||||||
#osd_group_name: osds
|
#osd_group_name: osds
|
||||||
#rgw_group_name: rgws
|
#rgw_group_name: rgws
|
||||||
|
@ -53,13 +60,10 @@ dummy:
|
||||||
# want to set this to False to skip those checks.
|
# want to set this to False to skip those checks.
|
||||||
#check_firewall: False
|
#check_firewall: False
|
||||||
|
|
||||||
# This variable determines if ceph packages can be updated. If False, the
|
|
||||||
# package resources will use "state=present". If True, they will use
|
|
||||||
# "state=latest".
|
|
||||||
#upgrade_ceph_packages: False
|
|
||||||
|
|
||||||
# /!\ EITHER ACTIVE ceph_stable OR ceph_stable_uca OR ceph_dev OR ceph_custom /!\
|
|
||||||
|
|
||||||
|
############
|
||||||
|
# PACKAGES #
|
||||||
|
############
|
||||||
#debian_package_dependencies:
|
#debian_package_dependencies:
|
||||||
# - python-pycurl
|
# - python-pycurl
|
||||||
# - hdparm
|
# - hdparm
|
||||||
|
@ -76,69 +80,78 @@ dummy:
|
||||||
# - hdparm
|
# - hdparm
|
||||||
# - python-setuptools
|
# - python-setuptools
|
||||||
|
|
||||||
|
# Whether or not to install the ceph-test package.
|
||||||
|
#ceph_test: false
|
||||||
|
|
||||||
# Enable the ntp service by default to avoid clock skew on
|
# Enable the ntp service by default to avoid clock skew on
|
||||||
# ceph nodes
|
# ceph nodes
|
||||||
#ntp_service_enabled: true
|
#ntp_service_enabled: true
|
||||||
|
|
||||||
# Whether or not to install the ceph-test package.
|
# Set uid/gid to default '64045' for bootstrap directories.
|
||||||
#ceph_test: False
|
# '64045' is used for debian based distros. It must be set to 167 in case of rhel based distros.
|
||||||
|
# These values have to be set according to the base OS used by the container image, NOT the host.
|
||||||
|
#bootstrap_dirs_owner: "64045"
|
||||||
|
#bootstrap_dirs_group: "64045"
|
||||||
|
|
||||||
## Configure package origin
|
# This variable determines if ceph packages can be updated. If False, the
|
||||||
#
|
# package resources will use "state=present". If True, they will use
|
||||||
#ceph_origin: 'upstream' # or 'distro' or 'local'
|
# "state=latest".
|
||||||
# 'distro' means that no separate repo file will be added
|
#upgrade_ceph_packages: False
|
||||||
# you will get whatever version of Ceph is included in your Linux distro.
|
|
||||||
# 'local' means that the ceph binaries will be copied over from the local machine
|
|
||||||
|
|
||||||
# LOCAL CEPH INSTALLATION (ceph_origin==local)
|
|
||||||
#
|
|
||||||
# Path to DESTDIR of the ceph install
|
|
||||||
#ceph_installation_dir: "/path/to/ceph_installation/"
|
|
||||||
# Whether or not to use installer script rundep_installer.sh
|
|
||||||
# This script takes in rundep and installs the packages line by line onto the machine
|
|
||||||
# If this is set to false then it is assumed that the machine ceph is being copied onto will already have
|
|
||||||
# all runtime dependencies installed
|
|
||||||
#use_installer: false
|
|
||||||
# Root directory for ceph-ansible
|
|
||||||
#ansible_dir: "/path/to/ceph-ansible"
|
|
||||||
|
|
||||||
#ceph_use_distro_backports: false # DEBIAN ONLY
|
#ceph_use_distro_backports: false # DEBIAN ONLY
|
||||||
|
|
||||||
# STABLE
|
|
||||||
########
|
|
||||||
|
|
||||||
# COMMUNITY VERSION
|
###########
|
||||||
#ceph_stable: false # use ceph stable branch
|
# INSTALL #
|
||||||
|
###########
|
||||||
|
|
||||||
|
|
||||||
|
# ORIGIN SOURCE
|
||||||
|
#
|
||||||
|
# Choose between:
|
||||||
|
# - 'repository' means that you will get ceph installed through a new repository. Later below choose between 'community', 'rhcs' or 'dev'
|
||||||
|
# - 'distro' means that no separate repo file will be added
|
||||||
|
# you will get whatever version of Ceph is included in your Linux distro.
|
||||||
|
# 'local' means that the ceph binaries will be copied over from the local machine
|
||||||
|
#ceph_origin: 'dummy'
|
||||||
|
#valid_ceph_origins:
|
||||||
|
# - repository
|
||||||
|
# - distro
|
||||||
|
# - local
|
||||||
|
|
||||||
|
|
||||||
|
#ceph_repository: dummy
|
||||||
|
#valid_ceph_repository:
|
||||||
|
# - community
|
||||||
|
# - rhcs
|
||||||
|
# - dev
|
||||||
|
# - uca
|
||||||
|
# - custom
|
||||||
|
|
||||||
|
|
||||||
|
# REPOSITORY: COMMUNITY VERSION
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'community'
|
||||||
|
#
|
||||||
#ceph_mirror: http://download.ceph.com
|
#ceph_mirror: http://download.ceph.com
|
||||||
#ceph_stable_key: https://download.ceph.com/keys/release.asc
|
#ceph_stable_key: https://download.ceph.com/keys/release.asc
|
||||||
#ceph_stable_release: dummy
|
#ceph_stable_release: dummy
|
||||||
#ceph_stable_repo: "{{ ceph_mirror }}/debian-{{ ceph_stable_release }}"
|
#ceph_stable_repo: "{{ ceph_mirror }}/debian-{{ ceph_stable_release }}"
|
||||||
|
|
||||||
######################################
|
|
||||||
# Releases name to number dictionary #
|
|
||||||
######################################
|
|
||||||
#ceph_release_num:
|
|
||||||
# dumpling: 0.67
|
|
||||||
# emperor: 0.72
|
|
||||||
# firefly: 0.80
|
|
||||||
# giant: 0.87
|
|
||||||
# hammer: 0.94
|
|
||||||
# infernalis: 9
|
|
||||||
# jewel: 10
|
|
||||||
# kraken: 11
|
|
||||||
# luminous: 12
|
|
||||||
# mimic: 13
|
|
||||||
|
|
||||||
# Use the option below to specify your applicable package tree, eg. when using non-LTS Ubuntu versions
|
# Use the option below to specify your applicable package tree, eg. when using non-LTS Ubuntu versions
|
||||||
# # for a list of available Debian distributions, visit http://download.ceph.com/debian-{{ ceph_stable_release }}/dists/
|
# # for a list of available Debian distributions, visit http://download.ceph.com/debian-{{ ceph_stable_release }}/dists/
|
||||||
# for more info read: https://github.com/ceph/ceph-ansible/issues/305
|
# for more info read: https://github.com/ceph/ceph-ansible/issues/305
|
||||||
#ceph_stable_distro_source:
|
#ceph_stable_distro_source: "{{ ansible_lsb.codename }}"
|
||||||
|
|
||||||
# This option is needed for _both_ stable and dev version, so please always fill the right version
|
# This option is needed for _both_ stable and dev version, so please always fill the right version
|
||||||
# # for supported distros, see http://download.ceph.com/rpm-{{ ceph_stable_release }}/
|
# # for supported distros, see http://download.ceph.com/rpm-{{ ceph_stable_release }}/
|
||||||
#ceph_stable_redhat_distro: el7
|
#ceph_stable_redhat_distro: el7
|
||||||
|
|
||||||
# ENTERPRISE VERSION RED HAT STORAGE (from 1.3)
|
|
||||||
|
# REPOSITORY: RHCS VERSION RED HAT STORAGE (from 1.3)
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'rhcs'
|
||||||
|
#
|
||||||
# This version is only supported on RHEL >= 7.1
|
# This version is only supported on RHEL >= 7.1
|
||||||
# As of RHEL 7.1, libceph.ko and rbd.ko are now included in Red Hat's kernel
|
# As of RHEL 7.1, libceph.ko and rbd.ko are now included in Red Hat's kernel
|
||||||
# packages natively. The RHEL 7.1 kernel packages are more stable and secure than
|
# packages natively. The RHEL 7.1 kernel packages are more stable and secure than
|
||||||
|
@ -151,48 +164,64 @@ dummy:
|
||||||
# on RHEL 7.
|
# on RHEL 7.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Backward compatibility of variable names
|
|
||||||
# Commit 492518a2 changed variable names of rhcs installations
|
|
||||||
# to not break backward compatiblity we re-declare these variables
|
|
||||||
# with the content of the new variable
|
|
||||||
#ceph_rhcs: "{{ ceph_stable_rh_storage | default(false) }}"
|
|
||||||
# This will affect how/what repositories are enabled depending on the desired
|
|
||||||
# version. The previous version was 1.3. The current version is 2.
|
|
||||||
#ceph_rhcs_version: "{{ ceph_stable_rh_storage_version | default(2) }}"
|
#ceph_rhcs_version: "{{ ceph_stable_rh_storage_version | default(2) }}"
|
||||||
#ceph_rhcs_cdn_install: "{{ ceph_stable_rh_storage_cdn_install | default(false) }}" # assumes all the nodes can connect to cdn.redhat.com
|
#ceph_repository_type: dummy
|
||||||
#ceph_rhcs_cdn_debian_repo: https://customername:customerpasswd@rhcs.download.redhat.com
|
#valid_ceph_repository_type:
|
||||||
#ceph_rhcs_iso_install: "{{ ceph_stable_rh_storage_iso_install | default(false) }}" # usually used when nodes don't have access to cdn.redhat.com
|
# - cdn
|
||||||
|
# - iso
|
||||||
#ceph_rhcs_iso_path: "{{ ceph_stable_rh_storage_iso_path | default('') }}"
|
#ceph_rhcs_iso_path: "{{ ceph_stable_rh_storage_iso_path | default('') }}"
|
||||||
#ceph_rhcs_mount_path: "{{ ceph_stable_rh_storage_mount_path | default('/tmp/rh-storage-mount') }}"
|
#ceph_rhcs_mount_path: "{{ ceph_stable_rh_storage_mount_path | default('/tmp/rh-storage-mount') }}"
|
||||||
#ceph_rhcs_repository_path: "{{ ceph_stable_rh_storage_repository_path | default('/tmp/rh-storage-repo') }}" # where to copy iso's content
|
#ceph_rhcs_repository_path: "{{ ceph_stable_rh_storage_repository_path | default('/tmp/rh-storage-repo') }}" # where to copy iso's content
|
||||||
|
|
||||||
|
|
||||||
# UBUNTU CLOUD ARCHIVE
|
# REPOSITORY: UBUNTU CLOUD ARCHIVE
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'uca'
|
||||||
|
#
|
||||||
# This allows the install of Ceph from the Ubuntu Cloud Archive. The Ubuntu Cloud Archive
|
# This allows the install of Ceph from the Ubuntu Cloud Archive. The Ubuntu Cloud Archive
|
||||||
# usually has newer Ceph releases than the normal distro repository.
|
# usually has newer Ceph releases than the normal distro repository.
|
||||||
#
|
#
|
||||||
#ceph_stable_uca: false
|
#
|
||||||
#ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
|
#ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
|
||||||
#ceph_stable_openstack_release_uca: liberty
|
#ceph_stable_openstack_release_uca: liberty
|
||||||
#ceph_stable_release_uca: "{{ansible_lsb.codename}}-updates/{{ceph_stable_openstack_release_uca}}"
|
#ceph_stable_release_uca: "{{ansible_lsb.codename}}-updates/{{ceph_stable_openstack_release_uca}}"
|
||||||
|
|
||||||
# DEV
|
|
||||||
# ###
|
|
||||||
|
|
||||||
#ceph_dev: false # use ceph development branch
|
# REPOSITORY: DEV
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'dev'
|
||||||
|
#
|
||||||
#ceph_dev_branch: master # development branch you would like to use e.g: master, wip-hack
|
#ceph_dev_branch: master # development branch you would like to use e.g: master, wip-hack
|
||||||
#ceph_dev_sha1: latest # distinct sha1 to use, defaults to 'latest' (as in latest built)
|
#ceph_dev_sha1: latest # distinct sha1 to use, defaults to 'latest' (as in latest built)
|
||||||
|
|
||||||
# CUSTOM
|
|
||||||
# ###
|
|
||||||
|
|
||||||
|
|
||||||
|
# REPOSITORY: CUSTOM
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'custom'
|
||||||
|
#
|
||||||
# Use a custom repository to install ceph. For RPM, ceph_custom_repo should be
|
# Use a custom repository to install ceph. For RPM, ceph_custom_repo should be
|
||||||
# a URL to the .repo file to be installed on the targets. For deb,
|
# a URL to the .repo file to be installed on the targets. For deb,
|
||||||
# ceph_custom_repo should be the URL to the repo base.
|
# ceph_custom_repo should be the URL to the repo base.
|
||||||
#ceph_custom: false # use custom ceph repository
|
#
|
||||||
#ceph_custom_repo: https://server.domain.com/ceph-custom-repo
|
#ceph_custom_repo: https://server.domain.com/ceph-custom-repo
|
||||||
|
|
||||||
|
|
||||||
|
# ORIGIN: LOCAL CEPH INSTALLATION
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'local'
|
||||||
|
#
|
||||||
|
# Path to DESTDIR of the ceph install
|
||||||
|
#ceph_installation_dir: "/path/to/ceph_installation/"
|
||||||
|
# Whether or not to use installer script rundep_installer.sh
|
||||||
|
# This script takes in rundep and installs the packages line by line onto the machine
|
||||||
|
# If this is set to false then it is assumed that the machine ceph is being copied onto will already have
|
||||||
|
# all runtime dependencies installed
|
||||||
|
#use_installer: false
|
||||||
|
# Root directory for ceph-ansible
|
||||||
|
#ansible_dir: "/path/to/ceph-ansible"
|
||||||
|
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# CEPH CONFIGURATION #
|
# CEPH CONFIGURATION #
|
||||||
######################
|
######################
|
||||||
|
|
|
@ -13,6 +13,22 @@ dummy:
|
||||||
# GENERAL #
|
# GENERAL #
|
||||||
###########
|
###########
|
||||||
|
|
||||||
|
######################################
|
||||||
|
# Releases name to number dictionary #
|
||||||
|
######################################
|
||||||
|
#ceph_release_num:
|
||||||
|
# dumpling: 0.67
|
||||||
|
# emperor: 0.72
|
||||||
|
# firefly: 0.80
|
||||||
|
# giant: 0.87
|
||||||
|
# hammer: 0.94
|
||||||
|
# infernalis: 9
|
||||||
|
# jewel: 10
|
||||||
|
# kraken: 11
|
||||||
|
# luminous: 12
|
||||||
|
# mimic: 13
|
||||||
|
|
||||||
|
# Directory to fetch cluster fsid, keys etc...
|
||||||
fetch_directory: ~/ceph-ansible-keys
|
fetch_directory: ~/ceph-ansible-keys
|
||||||
|
|
||||||
# The 'cluster' variable determines the name of the cluster.
|
# The 'cluster' variable determines the name of the cluster.
|
||||||
|
@ -26,16 +42,7 @@ fetch_directory: ~/ceph-ansible-keys
|
||||||
# With that you will be able to run "ceph health" normally
|
# With that you will be able to run "ceph health" normally
|
||||||
#cluster: ceph
|
#cluster: ceph
|
||||||
|
|
||||||
###########
|
# Inventory host group variables
|
||||||
# INSTALL #
|
|
||||||
###########
|
|
||||||
|
|
||||||
# Set uid/gid to default '64045' for bootstrap directories.
|
|
||||||
# '64045' is used for debian based distros. It must be set to 167 in case of rhel based distros.
|
|
||||||
# These values have to be set according to the base OS used by the container image, NOT the host.
|
|
||||||
#bootstrap_dirs_owner: "64045"
|
|
||||||
#bootstrap_dirs_group: "64045"
|
|
||||||
|
|
||||||
#mon_group_name: mons
|
#mon_group_name: mons
|
||||||
#osd_group_name: osds
|
#osd_group_name: osds
|
||||||
#rgw_group_name: rgws
|
#rgw_group_name: rgws
|
||||||
|
@ -53,13 +60,10 @@ fetch_directory: ~/ceph-ansible-keys
|
||||||
# want to set this to False to skip those checks.
|
# want to set this to False to skip those checks.
|
||||||
#check_firewall: False
|
#check_firewall: False
|
||||||
|
|
||||||
# This variable determines if ceph packages can be updated. If False, the
|
|
||||||
# package resources will use "state=present". If True, they will use
|
|
||||||
# "state=latest".
|
|
||||||
#upgrade_ceph_packages: False
|
|
||||||
|
|
||||||
# /!\ EITHER ACTIVE ceph_stable OR ceph_stable_uca OR ceph_dev OR ceph_custom /!\
|
|
||||||
|
|
||||||
|
############
|
||||||
|
# PACKAGES #
|
||||||
|
############
|
||||||
#debian_package_dependencies:
|
#debian_package_dependencies:
|
||||||
# - python-pycurl
|
# - python-pycurl
|
||||||
# - hdparm
|
# - hdparm
|
||||||
|
@ -76,69 +80,78 @@ fetch_directory: ~/ceph-ansible-keys
|
||||||
# - hdparm
|
# - hdparm
|
||||||
# - python-setuptools
|
# - python-setuptools
|
||||||
|
|
||||||
|
# Whether or not to install the ceph-test package.
|
||||||
|
#ceph_test: false
|
||||||
|
|
||||||
# Enable the ntp service by default to avoid clock skew on
|
# Enable the ntp service by default to avoid clock skew on
|
||||||
# ceph nodes
|
# ceph nodes
|
||||||
#ntp_service_enabled: true
|
#ntp_service_enabled: true
|
||||||
|
|
||||||
# Whether or not to install the ceph-test package.
|
# Set uid/gid to default '64045' for bootstrap directories.
|
||||||
#ceph_test: False
|
# '64045' is used for debian based distros. It must be set to 167 in case of rhel based distros.
|
||||||
|
# These values have to be set according to the base OS used by the container image, NOT the host.
|
||||||
|
#bootstrap_dirs_owner: "64045"
|
||||||
|
#bootstrap_dirs_group: "64045"
|
||||||
|
|
||||||
## Configure package origin
|
# This variable determines if ceph packages can be updated. If False, the
|
||||||
#
|
# package resources will use "state=present". If True, they will use
|
||||||
#ceph_origin: 'upstream' # or 'distro' or 'local'
|
# "state=latest".
|
||||||
# 'distro' means that no separate repo file will be added
|
#upgrade_ceph_packages: False
|
||||||
# you will get whatever version of Ceph is included in your Linux distro.
|
|
||||||
# 'local' means that the ceph binaries will be copied over from the local machine
|
|
||||||
|
|
||||||
# LOCAL CEPH INSTALLATION (ceph_origin==local)
|
|
||||||
#
|
|
||||||
# Path to DESTDIR of the ceph install
|
|
||||||
#ceph_installation_dir: "/path/to/ceph_installation/"
|
|
||||||
# Whether or not to use installer script rundep_installer.sh
|
|
||||||
# This script takes in rundep and installs the packages line by line onto the machine
|
|
||||||
# If this is set to false then it is assumed that the machine ceph is being copied onto will already have
|
|
||||||
# all runtime dependencies installed
|
|
||||||
#use_installer: false
|
|
||||||
# Root directory for ceph-ansible
|
|
||||||
#ansible_dir: "/path/to/ceph-ansible"
|
|
||||||
|
|
||||||
#ceph_use_distro_backports: false # DEBIAN ONLY
|
#ceph_use_distro_backports: false # DEBIAN ONLY
|
||||||
|
|
||||||
# STABLE
|
|
||||||
########
|
|
||||||
|
|
||||||
# COMMUNITY VERSION
|
###########
|
||||||
#ceph_stable: false # use ceph stable branch
|
# INSTALL #
|
||||||
|
###########
|
||||||
|
|
||||||
|
|
||||||
|
# ORIGIN SOURCE
|
||||||
|
#
|
||||||
|
# Choose between:
|
||||||
|
# - 'repository' means that you will get ceph installed through a new repository. Later below choose between 'community', 'rhcs' or 'dev'
|
||||||
|
# - 'distro' means that no separate repo file will be added
|
||||||
|
# you will get whatever version of Ceph is included in your Linux distro.
|
||||||
|
# 'local' means that the ceph binaries will be copied over from the local machine
|
||||||
|
ceph_origin: repository
|
||||||
|
#valid_ceph_origins:
|
||||||
|
# - repository
|
||||||
|
# - distro
|
||||||
|
# - local
|
||||||
|
|
||||||
|
|
||||||
|
ceph_repository: rhcs
|
||||||
|
#valid_ceph_repository:
|
||||||
|
# - community
|
||||||
|
# - rhcs
|
||||||
|
# - dev
|
||||||
|
# - uca
|
||||||
|
# - custom
|
||||||
|
|
||||||
|
|
||||||
|
# REPOSITORY: COMMUNITY VERSION
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'community'
|
||||||
|
#
|
||||||
#ceph_mirror: http://download.ceph.com
|
#ceph_mirror: http://download.ceph.com
|
||||||
#ceph_stable_key: https://download.ceph.com/keys/release.asc
|
#ceph_stable_key: https://download.ceph.com/keys/release.asc
|
||||||
#ceph_stable_release: dummy
|
#ceph_stable_release: dummy
|
||||||
#ceph_stable_repo: "{{ ceph_mirror }}/debian-{{ ceph_stable_release }}"
|
#ceph_stable_repo: "{{ ceph_mirror }}/debian-{{ ceph_stable_release }}"
|
||||||
|
|
||||||
######################################
|
|
||||||
# Releases name to number dictionary #
|
|
||||||
######################################
|
|
||||||
#ceph_release_num:
|
|
||||||
# dumpling: 0.67
|
|
||||||
# emperor: 0.72
|
|
||||||
# firefly: 0.80
|
|
||||||
# giant: 0.87
|
|
||||||
# hammer: 0.94
|
|
||||||
# infernalis: 9
|
|
||||||
# jewel: 10
|
|
||||||
# kraken: 11
|
|
||||||
# luminous: 12
|
|
||||||
# mimic: 13
|
|
||||||
|
|
||||||
# Use the option below to specify your applicable package tree, eg. when using non-LTS Ubuntu versions
|
# Use the option below to specify your applicable package tree, eg. when using non-LTS Ubuntu versions
|
||||||
# # for a list of available Debian distributions, visit http://download.ceph.com/debian-{{ ceph_stable_release }}/dists/
|
# # for a list of available Debian distributions, visit http://download.ceph.com/debian-{{ ceph_stable_release }}/dists/
|
||||||
# for more info read: https://github.com/ceph/ceph-ansible/issues/305
|
# for more info read: https://github.com/ceph/ceph-ansible/issues/305
|
||||||
#ceph_stable_distro_source:
|
#ceph_stable_distro_source: "{{ ansible_lsb.codename }}"
|
||||||
|
|
||||||
# This option is needed for _both_ stable and dev version, so please always fill the right version
|
# This option is needed for _both_ stable and dev version, so please always fill the right version
|
||||||
# # for supported distros, see http://download.ceph.com/rpm-{{ ceph_stable_release }}/
|
# # for supported distros, see http://download.ceph.com/rpm-{{ ceph_stable_release }}/
|
||||||
#ceph_stable_redhat_distro: el7
|
#ceph_stable_redhat_distro: el7
|
||||||
|
|
||||||
# ENTERPRISE VERSION RED HAT STORAGE (from 1.3)
|
|
||||||
|
# REPOSITORY: RHCS VERSION RED HAT STORAGE (from 1.3)
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'rhcs'
|
||||||
|
#
|
||||||
# This version is only supported on RHEL >= 7.1
|
# This version is only supported on RHEL >= 7.1
|
||||||
# As of RHEL 7.1, libceph.ko and rbd.ko are now included in Red Hat's kernel
|
# As of RHEL 7.1, libceph.ko and rbd.ko are now included in Red Hat's kernel
|
||||||
# packages natively. The RHEL 7.1 kernel packages are more stable and secure than
|
# packages natively. The RHEL 7.1 kernel packages are more stable and secure than
|
||||||
|
@ -151,48 +164,64 @@ fetch_directory: ~/ceph-ansible-keys
|
||||||
# on RHEL 7.
|
# on RHEL 7.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Backward compatibility of variable names
|
|
||||||
# Commit 492518a2 changed variable names of rhcs installations
|
|
||||||
# to not break backward compatiblity we re-declare these variables
|
|
||||||
# with the content of the new variable
|
|
||||||
ceph_rhcs: true
|
|
||||||
# This will affect how/what repositories are enabled depending on the desired
|
|
||||||
# version. The previous version was 1.3. The current version is 2.
|
|
||||||
#ceph_rhcs_version: "{{ ceph_stable_rh_storage_version | default(2) }}"
|
#ceph_rhcs_version: "{{ ceph_stable_rh_storage_version | default(2) }}"
|
||||||
#ceph_rhcs_cdn_install: "{{ ceph_stable_rh_storage_cdn_install | default(false) }}" # assumes all the nodes can connect to cdn.redhat.com
|
#ceph_repository_type: dummy
|
||||||
#ceph_rhcs_cdn_debian_repo: https://customername:customerpasswd@rhcs.download.redhat.com
|
#valid_ceph_repository_type:
|
||||||
#ceph_rhcs_iso_install: "{{ ceph_stable_rh_storage_iso_install | default(false) }}" # usually used when nodes don't have access to cdn.redhat.com
|
# - cdn
|
||||||
|
# - iso
|
||||||
#ceph_rhcs_iso_path: "{{ ceph_stable_rh_storage_iso_path | default('') }}"
|
#ceph_rhcs_iso_path: "{{ ceph_stable_rh_storage_iso_path | default('') }}"
|
||||||
#ceph_rhcs_mount_path: "{{ ceph_stable_rh_storage_mount_path | default('/tmp/rh-storage-mount') }}"
|
#ceph_rhcs_mount_path: "{{ ceph_stable_rh_storage_mount_path | default('/tmp/rh-storage-mount') }}"
|
||||||
#ceph_rhcs_repository_path: "{{ ceph_stable_rh_storage_repository_path | default('/tmp/rh-storage-repo') }}" # where to copy iso's content
|
#ceph_rhcs_repository_path: "{{ ceph_stable_rh_storage_repository_path | default('/tmp/rh-storage-repo') }}" # where to copy iso's content
|
||||||
|
|
||||||
|
|
||||||
# UBUNTU CLOUD ARCHIVE
|
# REPOSITORY: UBUNTU CLOUD ARCHIVE
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'uca'
|
||||||
|
#
|
||||||
# This allows the install of Ceph from the Ubuntu Cloud Archive. The Ubuntu Cloud Archive
|
# This allows the install of Ceph from the Ubuntu Cloud Archive. The Ubuntu Cloud Archive
|
||||||
# usually has newer Ceph releases than the normal distro repository.
|
# usually has newer Ceph releases than the normal distro repository.
|
||||||
#
|
#
|
||||||
#ceph_stable_uca: false
|
#
|
||||||
#ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
|
#ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
|
||||||
#ceph_stable_openstack_release_uca: liberty
|
#ceph_stable_openstack_release_uca: liberty
|
||||||
#ceph_stable_release_uca: "{{ansible_lsb.codename}}-updates/{{ceph_stable_openstack_release_uca}}"
|
#ceph_stable_release_uca: "{{ansible_lsb.codename}}-updates/{{ceph_stable_openstack_release_uca}}"
|
||||||
|
|
||||||
# DEV
|
|
||||||
# ###
|
|
||||||
|
|
||||||
#ceph_dev: false # use ceph development branch
|
# REPOSITORY: DEV
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'dev'
|
||||||
|
#
|
||||||
#ceph_dev_branch: master # development branch you would like to use e.g: master, wip-hack
|
#ceph_dev_branch: master # development branch you would like to use e.g: master, wip-hack
|
||||||
#ceph_dev_sha1: latest # distinct sha1 to use, defaults to 'latest' (as in latest built)
|
#ceph_dev_sha1: latest # distinct sha1 to use, defaults to 'latest' (as in latest built)
|
||||||
|
|
||||||
# CUSTOM
|
|
||||||
# ###
|
|
||||||
|
|
||||||
|
|
||||||
|
# REPOSITORY: CUSTOM
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'custom'
|
||||||
|
#
|
||||||
# Use a custom repository to install ceph. For RPM, ceph_custom_repo should be
|
# Use a custom repository to install ceph. For RPM, ceph_custom_repo should be
|
||||||
# a URL to the .repo file to be installed on the targets. For deb,
|
# a URL to the .repo file to be installed on the targets. For deb,
|
||||||
# ceph_custom_repo should be the URL to the repo base.
|
# ceph_custom_repo should be the URL to the repo base.
|
||||||
#ceph_custom: false # use custom ceph repository
|
#
|
||||||
#ceph_custom_repo: https://server.domain.com/ceph-custom-repo
|
#ceph_custom_repo: https://server.domain.com/ceph-custom-repo
|
||||||
|
|
||||||
|
|
||||||
|
# ORIGIN: LOCAL CEPH INSTALLATION
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'local'
|
||||||
|
#
|
||||||
|
# Path to DESTDIR of the ceph install
|
||||||
|
#ceph_installation_dir: "/path/to/ceph_installation/"
|
||||||
|
# Whether or not to use installer script rundep_installer.sh
|
||||||
|
# This script takes in rundep and installs the packages line by line onto the machine
|
||||||
|
# If this is set to false then it is assumed that the machine ceph is being copied onto will already have
|
||||||
|
# all runtime dependencies installed
|
||||||
|
#use_installer: false
|
||||||
|
# Root directory for ceph-ansible
|
||||||
|
#ansible_dir: "/path/to/ceph-ansible"
|
||||||
|
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# CEPH CONFIGURATION #
|
# CEPH CONFIGURATION #
|
||||||
######################
|
######################
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
ceph_rhcs: true
|
ceph_repository: rhcs
|
||||||
|
ceph_origin: repository
|
||||||
fetch_directory: ~/ceph-ansible-keys
|
fetch_directory: ~/ceph-ansible-keys
|
||||||
|
|
|
@ -1,34 +1,34 @@
|
||||||
---
|
---
|
||||||
- name: make sure an installation origin was chosen
|
- name: make sure an installation origin was chosen
|
||||||
fail:
|
fail:
|
||||||
msg: "choose an installation origin"
|
msg: "choose an installation origin between repository, distro and local\nValid ceph_origin are: {{ valid_ceph_origins }}"
|
||||||
when:
|
when:
|
||||||
- ceph_origin != 'upstream'
|
- ceph_origin not in valid_ceph_origins
|
||||||
- ceph_origin != 'distro'
|
|
||||||
- ceph_origin != 'local'
|
|
||||||
tags:
|
tags:
|
||||||
- package-install
|
- package-install
|
||||||
|
|
||||||
- name: make sure an installation source was chosen
|
- name: make sure a repository was chosen
|
||||||
fail:
|
fail:
|
||||||
msg: "choose an upstream installation source or read https://github.com/ceph/ceph-ansible/wiki"
|
msg: "choose a repository installation source: {{ valid_ceph_repository }} or read http://docs.ceph.com/ceph-ansible/master/"
|
||||||
when:
|
when:
|
||||||
- ceph_origin == 'upstream'
|
- ceph_origin == 'repository'
|
||||||
- not ceph_stable
|
- ceph_repository not in valid_ceph_repository
|
||||||
- not ceph_dev
|
|
||||||
- not ceph_rhcs
|
|
||||||
- not ceph_stable_uca
|
|
||||||
- not ceph_custom
|
|
||||||
tags:
|
tags:
|
||||||
- package-install
|
- package-install
|
||||||
|
|
||||||
|
- name: fail if local scenario is enabled on debian
|
||||||
|
fail:
|
||||||
|
msg: "'local' installation scenario not supported on Debian systems"
|
||||||
|
when:
|
||||||
|
- ansible_os_family == 'Debian'
|
||||||
|
- ceph_origin == 'local'
|
||||||
|
|
||||||
- name: make sure ceph_stable_release is set
|
- name: make sure ceph_stable_release is set
|
||||||
fail:
|
fail:
|
||||||
msg: "make sure ceph_stable_release is set to a release name (e.g: luminous), http://docs.ceph.com/docs/master/release-notes/"
|
msg: "make sure ceph_stable_release is set to a release name (e.g: luminous), http://docs.ceph.com/docs/master/release-notes/"
|
||||||
when:
|
when:
|
||||||
- ceph_stable_release == 'dummy'
|
- ceph_stable_release == 'dummy'
|
||||||
- ceph_origin == 'upstream'
|
- (ceph_repository != 'rhcs' or ceph_repository != 'dev')
|
||||||
- ceph_stable
|
|
||||||
tags:
|
tags:
|
||||||
- package-install
|
- package-install
|
||||||
|
|
||||||
|
@ -37,19 +37,18 @@
|
||||||
msg: "wrong release name, see http://docs.ceph.com/docs/master/release-notes/"
|
msg: "wrong release name, see http://docs.ceph.com/docs/master/release-notes/"
|
||||||
when:
|
when:
|
||||||
- ceph_stable_release not in ceph_release_num
|
- ceph_stable_release not in ceph_release_num
|
||||||
- ceph_origin == 'upstream'
|
- ceph_origin == 'repository'
|
||||||
- ceph_stable
|
- ceph_repository != 'rhcs'
|
||||||
tags:
|
tags:
|
||||||
- package-install
|
- package-install
|
||||||
|
|
||||||
- name: verify that a method was chosen for red hat storage
|
- name: verify that a repository type was chosen for ceph rhcs version
|
||||||
fail:
|
fail:
|
||||||
msg: "choose between ceph_rhcs_cdn_install and ceph_rhcs_iso_install"
|
msg: "choose between 'cdn' or 'iso' installation, e.g: ceph_repository_type: cdn.\nValid ceph_repository_type are: {{ valid_ceph_repository_type }}"
|
||||||
when:
|
when:
|
||||||
- ceph_rhcs
|
- ceph_origin == 'repository'
|
||||||
- not ceph_rhcs_cdn_install
|
- ceph_repository == 'rhcs'
|
||||||
- not ceph_rhcs_iso_install
|
- ceph_repository_type in valid_ceph_repository_type
|
||||||
- ceph_origin != 'distro'
|
|
||||||
tags:
|
tags:
|
||||||
- package-install
|
- package-install
|
||||||
|
|
||||||
|
@ -57,13 +56,25 @@
|
||||||
fail:
|
fail:
|
||||||
msg: "ceph_rhcs_cdn_debian_repo url is invalid, please set your customername:customerpasswd"
|
msg: "ceph_rhcs_cdn_debian_repo url is invalid, please set your customername:customerpasswd"
|
||||||
when:
|
when:
|
||||||
- ceph_rhcs
|
- ceph_origin == 'repository'
|
||||||
- ceph_rhcs_cdn_install
|
- ceph_repository == 'rhcs'
|
||||||
|
- ceph_repository_type == 'cdn'
|
||||||
- ansible_os_family == 'Debian'
|
- ansible_os_family == 'Debian'
|
||||||
- ceph_rhcs_cdn_debian_repo == 'https://customername:customerpasswd@rhcs.download.redhat.com'
|
- ceph_rhcs_cdn_debian_repo == 'https://customername:customerpasswd@rhcs.download.redhat.com'
|
||||||
tags:
|
tags:
|
||||||
- package-install
|
- package-install
|
||||||
|
|
||||||
|
- name: verify that ceph_rhcs_cdn_debian_repo url is valid for red hat storage
|
||||||
|
fail:
|
||||||
|
msg: "iso installation is not supported by the Ceph Debian rhcs version"
|
||||||
|
when:
|
||||||
|
- ceph_origin == 'repository'
|
||||||
|
- ceph_repository == 'rhcs'
|
||||||
|
- ceph_repository_type == 'iso'
|
||||||
|
- ansible_os_family == 'Debian'
|
||||||
|
tags:
|
||||||
|
- package-install
|
||||||
|
|
||||||
- name: make sure monitor_interface or monitor_address is defined
|
- name: make sure monitor_interface or monitor_address is defined
|
||||||
fail:
|
fail:
|
||||||
msg: "you must set monitor_interface or monitor_address"
|
msg: "you must set monitor_interface or monitor_address"
|
||||||
|
|
|
@ -18,15 +18,36 @@
|
||||||
fail:
|
fail:
|
||||||
msg: "Distribution not supported {{ ansible_distribution_version }} by Red Hat Ceph Storage, only RHEL >= 7.3"
|
msg: "Distribution not supported {{ ansible_distribution_version }} by Red Hat Ceph Storage, only RHEL >= 7.3"
|
||||||
when:
|
when:
|
||||||
- ceph_rhcs
|
- ansible_distribution == 'Red Hat Enterprise Linux'
|
||||||
|
- ceph_repository == 'rhcs'
|
||||||
- ansible_distribution_version | version_compare('7.3', '<')
|
- ansible_distribution_version | version_compare('7.3', '<')
|
||||||
|
|
||||||
|
- name: determine if node is registered with subscription-manager
|
||||||
|
command: subscription-manager identity
|
||||||
|
register: subscription
|
||||||
|
changed_when: false
|
||||||
|
failed_when: false
|
||||||
|
always_run: true
|
||||||
|
when:
|
||||||
|
- ansible_distribution == 'Red Hat Enterprise Linux'
|
||||||
|
- ceph_repository == 'rhcs'
|
||||||
|
- ceph_repository_type == 'cdn'
|
||||||
|
|
||||||
|
- name: fail on unregistered red hat rhcs linux
|
||||||
|
fail:
|
||||||
|
msg: "You must register your machine with subscription-manager"
|
||||||
|
when:
|
||||||
|
- ansible_distribution == 'Red Hat Enterprise Linux'
|
||||||
|
- ceph_repository == 'rhcs'
|
||||||
|
- ceph_repository_type == 'cdn'
|
||||||
|
- subscription.rc != '0'
|
||||||
|
|
||||||
- name: fail on unsupported distribution for ubuntu cloud archive
|
- name: fail on unsupported distribution for ubuntu cloud archive
|
||||||
fail:
|
fail:
|
||||||
msg: "Distribution not supported by Ubuntu Cloud Archive: {{ ansible_distribution }}"
|
msg: "Distribution not supported by Ubuntu Cloud Archive: {{ ansible_distribution }}"
|
||||||
when:
|
when:
|
||||||
ceph_stable_uca and
|
- ceph_repository == 'uca'
|
||||||
'{{ ansible_distribution }}' not in ['Ubuntu']
|
- ansible_distribution != 'Ubuntu'
|
||||||
|
|
||||||
- name: fail on unsupported ansible version
|
- name: fail on unsupported ansible version
|
||||||
fail:
|
fail:
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
- name: configure debian community repository
|
||||||
|
include: debian_community_repository.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository == 'community'
|
||||||
|
|
||||||
|
- name: configure debian rhcs repository
|
||||||
|
include: debian_rhcs_repository.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository == 'rhcs'
|
||||||
|
|
||||||
|
- name: configure debian dev repository
|
||||||
|
include: debian_dev_repository.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository == 'dev'
|
||||||
|
|
||||||
|
- name: configure debian custom repository
|
||||||
|
include: debian_custom_repository.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository == 'custom'
|
||||||
|
|
||||||
|
- name: configure debian cloud archive repository
|
||||||
|
include: debian_uca_repository.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository == 'uca'
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
---
|
||||||
|
- name: make sure /tmp exists
|
||||||
|
file:
|
||||||
|
path: /tmp
|
||||||
|
state: directory
|
||||||
|
when:
|
||||||
|
- use_installer
|
||||||
|
|
||||||
|
- name: use mktemp to create name for rundep
|
||||||
|
command: "mktemp /tmp/rundep.XXXXXXXX"
|
||||||
|
register: rundep_location
|
||||||
|
when:
|
||||||
|
- use_installer
|
||||||
|
|
||||||
|
- name: copy rundep
|
||||||
|
copy:
|
||||||
|
src: "{{ansible_dir}}/rundep"
|
||||||
|
dest: "{{ item }}"
|
||||||
|
with_items: "{{ (rundep_location|default({})).stdout_lines|default([]) }}"
|
||||||
|
when:
|
||||||
|
- use_installer
|
||||||
|
|
||||||
|
- name: install ceph dependencies
|
||||||
|
script: "{{ ansible_dir }}/rundep_installer.sh {{ item }}"
|
||||||
|
become: true
|
||||||
|
with_items: "{{ (rundep_location|default({})).stdout_lines|default([]) }}"
|
||||||
|
when:
|
||||||
|
- use_installer
|
||||||
|
|
||||||
|
- name: ensure rsync is installed
|
||||||
|
package:
|
||||||
|
name: rsync
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: synchronize ceph install
|
||||||
|
synchronize:
|
||||||
|
src: "{{ceph_installation_dir}}/"
|
||||||
|
dest: "/"
|
||||||
|
|
||||||
|
- name: create user group ceph
|
||||||
|
group:
|
||||||
|
name: 'ceph'
|
||||||
|
|
||||||
|
- name: create user ceph
|
||||||
|
user:
|
||||||
|
name: 'ceph'
|
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
- name: configure redhat community repository
|
||||||
|
include: redhat_community_repository.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository == 'community'
|
||||||
|
|
||||||
|
- name: configure redhat rhcs repository
|
||||||
|
include: redhat_rhcs_repository.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository == 'rhcs'
|
||||||
|
|
||||||
|
- name: configure redhat dev repository
|
||||||
|
include: redhat_dev_repository.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository == 'dev'
|
||||||
|
|
||||||
|
- name: configure redhat custom repository
|
||||||
|
include: redhat_custom_repository.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository == 'custom'
|
||||||
|
|
||||||
|
# Remove yum caches so yum doesn't get confused if we are reinstalling a different ceph version
|
||||||
|
- name: purge yum cache
|
||||||
|
command: yum clean all
|
||||||
|
when:
|
||||||
|
ansible_pkg_mgr == 'yum'
|
|
@ -1,58 +0,0 @@
|
||||||
---
|
|
||||||
- name: install the ceph repository stable key
|
|
||||||
apt_key:
|
|
||||||
data: "{{ lookup('file', role_path+'/files/cephstable.asc') }}"
|
|
||||||
state: present
|
|
||||||
when: ceph_stable
|
|
||||||
|
|
||||||
- name: add ceph stable repository
|
|
||||||
apt_repository:
|
|
||||||
repo: "deb {{ ceph_stable_repo }} {{ ceph_stable_distro_source | default(ansible_lsb.codename) }} main"
|
|
||||||
state: present
|
|
||||||
changed_when: false
|
|
||||||
when: ceph_stable
|
|
||||||
|
|
||||||
- name: fetch ceph development repository sources list file
|
|
||||||
uri:
|
|
||||||
url: https://shaman.ceph.com/api/repos/ceph/{{ ceph_dev_branch }}/{{ ceph_dev_sha1 }}/{{ ansible_distribution | lower }}/{{ ansible_lsb.codename }}/repo
|
|
||||||
return_content: yes
|
|
||||||
register: ceph_dev_deb_repo
|
|
||||||
when: ceph_dev
|
|
||||||
|
|
||||||
- name: add ceph development repository
|
|
||||||
apt_repository:
|
|
||||||
repo: "{{ ceph_dev_deb_repo.content }}"
|
|
||||||
state: present
|
|
||||||
changed_when: false
|
|
||||||
when: ceph_dev
|
|
||||||
|
|
||||||
- name: add ubuntu cloud archive key package
|
|
||||||
package:
|
|
||||||
name: ubuntu-cloud-keyring
|
|
||||||
when: ceph_stable_uca
|
|
||||||
|
|
||||||
- name: add ubuntu cloud archive repository
|
|
||||||
apt_repository:
|
|
||||||
repo: "deb {{ ceph_stable_repo_uca }} {{ ceph_stable_release_uca}} main"
|
|
||||||
state: present
|
|
||||||
changed_when: false
|
|
||||||
when: ceph_stable_uca
|
|
||||||
|
|
||||||
- name: add custom repo
|
|
||||||
apt_repository:
|
|
||||||
repo: "deb {{ ceph_custom_repo }} {{ ansible_lsb.codename }} main"
|
|
||||||
state: present
|
|
||||||
changed_when: false
|
|
||||||
when: ceph_custom
|
|
||||||
|
|
||||||
- name: add gluster nfs ganesha repo
|
|
||||||
apt_repository:
|
|
||||||
repo: "{{ item }}"
|
|
||||||
state: present
|
|
||||||
with_items:
|
|
||||||
- ppa:gluster/libntirpc
|
|
||||||
- ppa:gluster/nfs-ganesha
|
|
||||||
changed_when: false
|
|
||||||
when:
|
|
||||||
- (nfs_obj_gw or nfs_file_gw)
|
|
||||||
- not ansible_distribution == "Debian"
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
---
|
||||||
|
- name: configure debian ceph community repository stable key
|
||||||
|
apt_key:
|
||||||
|
data: "{{ lookup('file', role_path+'/files/cephstable.asc') }}"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: configure debian ceph stable community repository
|
||||||
|
apt_repository:
|
||||||
|
repo: "deb {{ ceph_stable_repo }} {{ ceph_stable_distro_source | default(ansible_lsb.codename) }} main"
|
||||||
|
state: present
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: configure debian gluster nfs ganesha community repository for rgw nfs
|
||||||
|
apt_repository:
|
||||||
|
repo: "{{ item }}"
|
||||||
|
state: present
|
||||||
|
with_items:
|
||||||
|
- ppa:gluster/libntirpc
|
||||||
|
- ppa:gluster/nfs-ganesha
|
||||||
|
changed_when: false
|
||||||
|
when:
|
||||||
|
- (nfs_obj_gw or nfs_file_gw)
|
||||||
|
- not ansible_distribution == "Debian"
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
- name: configure debian custom repository
|
||||||
|
apt_repository:
|
||||||
|
repo: "deb {{ ceph_custom_repo }} {{ ansible_lsb.codename }} main"
|
||||||
|
state: present
|
||||||
|
changed_when: false
|
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
- name: fetch ceph debian development repository
|
||||||
|
uri:
|
||||||
|
url: https://shaman.ceph.com/api/repos/ceph/{{ ceph_dev_branch }}/{{ ceph_dev_sha1 }}/{{ ansible_distribution | lower }}/{{ ansible_lsb.codename }}/repo
|
||||||
|
return_content: yes
|
||||||
|
register: ceph_dev_deb_repo
|
||||||
|
|
||||||
|
- name: configure ceph debian development repository
|
||||||
|
apt_repository:
|
||||||
|
repo: "{{ ceph_dev_deb_repo.content }}"
|
||||||
|
state: present
|
||||||
|
changed_when: false
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
- include: prerequisite_rhcs_cdn_install_debian.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository_type == 'cdn'
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: add ubuntu cloud archive key package
|
||||||
|
package:
|
||||||
|
name: ubuntu-cloud-keyring
|
||||||
|
|
||||||
|
- name: add ubuntu cloud archive repository
|
||||||
|
apt_repository:
|
||||||
|
repo: "deb {{ ceph_stable_repo_uca }} {{ ceph_stable_release_uca }} main"
|
||||||
|
state: present
|
||||||
|
changed_when: false
|
|
@ -1,61 +1,53 @@
|
||||||
---
|
---
|
||||||
- name: install dependencies
|
- name: install red hat storage ceph mon for debian
|
||||||
apt:
|
|
||||||
pkg: "{{ item }}"
|
|
||||||
state: present
|
|
||||||
update_cache: yes
|
|
||||||
cache_valid_time: 3600
|
|
||||||
with_items: "{{ debian_package_dependencies }}"
|
|
||||||
|
|
||||||
- name: install red hat storage ceph mon
|
|
||||||
apt:
|
apt:
|
||||||
name: ceph-mon
|
name: ceph-mon
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
when: mon_group_name in group_names
|
when: mon_group_name in group_names
|
||||||
|
|
||||||
- name: install red hat storage ceph osd
|
- name: install red hat storage ceph osd for debian
|
||||||
apt:
|
apt:
|
||||||
name: ceph-osd
|
name: ceph-osd
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
when: osd_group_name in group_names
|
when: osd_group_name in group_names
|
||||||
|
|
||||||
- name: install ceph-test
|
- name: install ceph-test for debian
|
||||||
apt:
|
apt:
|
||||||
name: ceph-test
|
name: ceph-test
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
when: ceph_test
|
when: ceph_test
|
||||||
|
|
||||||
- name: install red hat storage radosgw
|
- name: install red hat storage radosgw for debian
|
||||||
apt:
|
apt:
|
||||||
name: radosgw
|
name: radosgw
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
when: rgw_group_name in group_names
|
when: rgw_group_name in group_names
|
||||||
|
|
||||||
- name: install red hat storage ceph mds
|
- name: install red hat storage ceph mds for debian
|
||||||
apt:
|
apt:
|
||||||
pkg: ceph-mds
|
pkg: ceph-mds
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
when: mds_group_name in group_names
|
when: mds_group_name in group_names
|
||||||
|
|
||||||
- name: install red hat storage ceph-fuse client
|
- name: install red hat storage ceph-fuse client for debian
|
||||||
apt:
|
apt:
|
||||||
pkg: ceph-fuse
|
pkg: ceph-fuse
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
when: client_group_name in group_names
|
when: client_group_name in group_names
|
||||||
|
|
||||||
- name: install red hat storage ceph-common
|
- name: install red hat storage ceph-common for debian
|
||||||
apt:
|
apt:
|
||||||
pkg: ceph-common
|
pkg: ceph-common
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
when: client_group_name in group_names
|
when: client_group_name in group_names
|
||||||
|
|
||||||
- name: install red hat storage nfs gateway
|
- name: install red hat storage nfs gateway for debian
|
||||||
apt:
|
apt:
|
||||||
name: nfs-ganesha-fsal
|
name: nfs-ganesha-fsal
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
when: nfs_group_name in group_names
|
when: nfs_group_name in group_names
|
||||||
|
|
||||||
- name: install ceph mgr
|
- name: install ceph mgr for debian
|
||||||
apt:
|
apt:
|
||||||
pkg: ceph-mgr
|
pkg: ceph-mgr
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
@ -0,0 +1,62 @@
|
||||||
|
---
|
||||||
|
- name: install ceph for debian
|
||||||
|
apt:
|
||||||
|
name: "ceph"
|
||||||
|
update_cache: no
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
default_release: "{{ ceph_stable_release_uca | default(ansible_distribution_release) }}{{ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else ''}}"
|
||||||
|
|
||||||
|
- name: install ceph-common for debian
|
||||||
|
apt:
|
||||||
|
name: ceph-common
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
default_release: "{{ ceph_stable_release_uca | default(ansible_distribution_release) }}{{ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else ''}}"
|
||||||
|
|
||||||
|
- name: install ceph-test for debian
|
||||||
|
apt:
|
||||||
|
name: ceph-test
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
default_release: "{{ ceph_stable_release_uca | default(ansible_distribution_release) }}{{ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else ''}}"
|
||||||
|
when:
|
||||||
|
- ceph_test
|
||||||
|
|
||||||
|
- name: install rados gateway for debian
|
||||||
|
apt:
|
||||||
|
name: radosgw
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
update_cache: yes
|
||||||
|
when:
|
||||||
|
- rgw_group_name in group_names
|
||||||
|
|
||||||
|
- name: install ceph mds for debian
|
||||||
|
apt:
|
||||||
|
name: ceph-mds
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
default_release: "{{ ceph_stable_release_uca | default(ansible_distribution_release) }}{{ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else ''}}"
|
||||||
|
when:
|
||||||
|
- mds_group_name in group_names
|
||||||
|
|
||||||
|
- name: install jemalloc for debian
|
||||||
|
apt:
|
||||||
|
name: libjemalloc1
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
update_cache: yes
|
||||||
|
when:
|
||||||
|
- nfs_group_name in group_names
|
||||||
|
|
||||||
|
- name: install nfs gateway for debian
|
||||||
|
apt:
|
||||||
|
name: nfs-ganesha-fsal
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
update_cache: yes
|
||||||
|
when:
|
||||||
|
- nfs_group_name in group_names
|
||||||
|
|
||||||
|
- name: install ceph mgr for debian
|
||||||
|
apt:
|
||||||
|
name: ceph-mgr
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
default_release: "{{ ceph_stable_release_uca | default(ansible_distribution_release) }}{{ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else ''}}"
|
||||||
|
when:
|
||||||
|
- mgr_group_name in group_names
|
||||||
|
- ceph_release_num.{{ ceph_release }} > ceph_release_num.jewel
|
|
@ -1,4 +1,9 @@
|
||||||
---
|
---
|
||||||
|
- name: configure debian repository installation
|
||||||
|
include: configure_debian_repository_installation.yml
|
||||||
|
when:
|
||||||
|
- ceph_origin == 'repository'
|
||||||
|
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
apt:
|
apt:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
|
@ -7,66 +12,18 @@
|
||||||
cache_valid_time: 3600
|
cache_valid_time: 3600
|
||||||
with_items: "{{ debian_package_dependencies }}"
|
with_items: "{{ debian_package_dependencies }}"
|
||||||
|
|
||||||
- name: configure ceph apt repository
|
|
||||||
include: debian_ceph_repository.yml
|
|
||||||
when: ceph_origin == 'upstream'
|
|
||||||
|
|
||||||
- name: update apt cache
|
- name: update apt cache
|
||||||
apt:
|
apt:
|
||||||
update_cache: yes
|
update_cache: yes
|
||||||
|
|
||||||
- name: install ceph
|
- name: install ceph debian packages
|
||||||
apt:
|
include: install_debian_packages.yml
|
||||||
name: "ceph"
|
|
||||||
update_cache: no
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
default_release: "{{ ceph_stable_release_uca | default(ansible_distribution_release) }}{{ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else ''}}"
|
|
||||||
|
|
||||||
- name: install ceph-test
|
|
||||||
apt:
|
|
||||||
pkg: ceph-test
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
default_release: "{{ ceph_stable_release_uca | default(ansible_distribution_release) }}{{ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else ''}}"
|
|
||||||
when: ceph_test
|
|
||||||
|
|
||||||
- name: install ceph-common
|
|
||||||
package:
|
|
||||||
name: 'ceph-common'
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
|
|
||||||
- name: install rados gateway
|
|
||||||
apt:
|
|
||||||
pkg: radosgw
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
update_cache: yes
|
|
||||||
when: rgw_group_name in group_names
|
|
||||||
|
|
||||||
- name: install ceph mds
|
|
||||||
apt:
|
|
||||||
pkg: ceph-mds
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
default_release: "{{ ceph_stable_release_uca | default(ansible_distribution_release) }}{{ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else ''}}"
|
|
||||||
when: mds_group_name in group_names
|
|
||||||
|
|
||||||
- name: install jemalloc
|
|
||||||
apt:
|
|
||||||
pkg: libjemalloc1
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
update_cache: yes
|
|
||||||
when: nfs_group_name in group_names
|
|
||||||
|
|
||||||
- name: install NFS gateway
|
|
||||||
apt:
|
|
||||||
pkg: nfs-ganesha-fsal
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
update_cache: yes
|
|
||||||
when: nfs_group_name in group_names
|
|
||||||
|
|
||||||
- name: install ceph mgr
|
|
||||||
apt:
|
|
||||||
pkg: ceph-mgr
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
default_release: "{{ ceph_stable_release_uca | default(ansible_distribution_release) }}{{ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else ''}}"
|
|
||||||
when:
|
when:
|
||||||
- mgr_group_name in group_names
|
- (ceph_origin == 'repository' or ceph_origin == 'distro')
|
||||||
- ceph_release_num.{{ ceph_release }} > ceph_release_num.jewel
|
- ceph_repository != 'rhcs'
|
||||||
|
|
||||||
|
- name: install ceph rhcs debian packages
|
||||||
|
include: install_debian_rhcs_packages.yml
|
||||||
|
when:
|
||||||
|
- (ceph_origin == 'repository' or ceph_origin == 'distro')
|
||||||
|
- ceph_repository == 'rhcs'
|
||||||
|
|
|
@ -1,153 +1,15 @@
|
||||||
---
|
---
|
||||||
- name: install redhat dependencies
|
- name: configure redhat repository installation
|
||||||
package:
|
include: configure_redhat_repository_installation.yml
|
||||||
name: "{{ item }}"
|
|
||||||
state: present
|
|
||||||
with_items: "{{ redhat_package_dependencies }}"
|
|
||||||
when: ansible_distribution == "RedHat"
|
|
||||||
|
|
||||||
- name: install centos dependencies
|
|
||||||
package:
|
|
||||||
name: "{{ item }}"
|
|
||||||
state: present
|
|
||||||
with_items: "{{ centos_package_dependencies }}"
|
|
||||||
when: ansible_distribution == "CentOS"
|
|
||||||
|
|
||||||
- name: configure ceph yum repository
|
|
||||||
include: redhat_ceph_repository.yml
|
|
||||||
when: ceph_origin == 'upstream'
|
|
||||||
|
|
||||||
- name: make sure /tmp exists
|
|
||||||
file:
|
|
||||||
path: /tmp
|
|
||||||
state: directory
|
|
||||||
when:
|
when:
|
||||||
- ceph_origin == 'local'
|
- ceph_origin == 'repository'
|
||||||
- use_installer
|
|
||||||
|
|
||||||
- name: use mktemp to create name for rundep
|
- name: configure redhat local installation
|
||||||
command: "mktemp /tmp/rundep.XXXXXXXX"
|
include: configure_redhat_local_installation.yml
|
||||||
register: rundep_location
|
|
||||||
when:
|
|
||||||
- ceph_origin == 'local'
|
|
||||||
- use_installer
|
|
||||||
|
|
||||||
- name: copy rundep
|
|
||||||
copy:
|
|
||||||
src: "{{ansible_dir}}/rundep"
|
|
||||||
dest: "{{ item }}"
|
|
||||||
with_items: "{{ (rundep_location|default({})).stdout_lines|default([]) }}"
|
|
||||||
when:
|
|
||||||
- ceph_origin == 'local'
|
|
||||||
- use_installer
|
|
||||||
|
|
||||||
- name: install ceph dependencies
|
|
||||||
script: "{{ ansible_dir }}/rundep_installer.sh {{ item }}"
|
|
||||||
become: true
|
|
||||||
with_items: "{{ (rundep_location|default({})).stdout_lines|default([]) }}"
|
|
||||||
when:
|
|
||||||
- ceph_origin == 'local'
|
|
||||||
- use_installer
|
|
||||||
|
|
||||||
- name: ensure rsync is installed
|
|
||||||
package:
|
|
||||||
name: rsync
|
|
||||||
state: present
|
|
||||||
when:
|
when:
|
||||||
- ceph_origin == 'local'
|
- ceph_origin == 'local'
|
||||||
|
|
||||||
- name: synchronize ceph install
|
- name: install redhat packages
|
||||||
synchronize:
|
include: install_redhat_packages.yml
|
||||||
src: "{{ceph_installation_dir}}/"
|
|
||||||
dest: "/"
|
|
||||||
when:
|
when:
|
||||||
- ceph_origin == 'local'
|
- (ceph_origin == 'repository' or ceph_origin == 'distro')
|
||||||
|
|
||||||
- name: create user group ceph
|
|
||||||
group:
|
|
||||||
name: 'ceph'
|
|
||||||
when:
|
|
||||||
- ceph_origin == 'local'
|
|
||||||
|
|
||||||
- name: create user ceph
|
|
||||||
user:
|
|
||||||
name: 'ceph'
|
|
||||||
when:
|
|
||||||
- ceph_origin == 'local'
|
|
||||||
|
|
||||||
- name: install ceph-common
|
|
||||||
package:
|
|
||||||
name: 'ceph-common'
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
|
|
||||||
- name: install distro or red hat storage ceph mon
|
|
||||||
package:
|
|
||||||
name: "ceph-mon"
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- mon_group_name in group_names
|
|
||||||
|
|
||||||
- name: install distro or red hat storage ceph osd
|
|
||||||
package:
|
|
||||||
name: "ceph-osd"
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- osd_group_name in group_names
|
|
||||||
|
|
||||||
- name: install distro or red hat storage ceph mds
|
|
||||||
package:
|
|
||||||
name: "ceph-mds"
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- mds_group_name in group_names
|
|
||||||
|
|
||||||
- name: install distro or red hat storage ceph-fuse
|
|
||||||
package:
|
|
||||||
name: "ceph-fuse"
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- client_group_name in group_names
|
|
||||||
|
|
||||||
- name: install distro or red hat storage ceph base
|
|
||||||
package:
|
|
||||||
name: "ceph-base"
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- client_group_name in group_names
|
|
||||||
|
|
||||||
- name: install ceph-test
|
|
||||||
package:
|
|
||||||
name: ceph-test
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when: ceph_test
|
|
||||||
|
|
||||||
- name: install rados gateway
|
|
||||||
package:
|
|
||||||
name: ceph-radosgw
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when: rgw_group_name in group_names
|
|
||||||
|
|
||||||
- name: install nfs ceph gateway
|
|
||||||
package:
|
|
||||||
name: nfs-ganesha-ceph
|
|
||||||
when:
|
|
||||||
- nfs_group_name in group_names
|
|
||||||
- nfs_file_gw
|
|
||||||
|
|
||||||
- name: install nfs rgw gateway
|
|
||||||
package:
|
|
||||||
name: "{{ item }}"
|
|
||||||
with_items:
|
|
||||||
- nfs-ganesha-rgw
|
|
||||||
- ceph-radosgw
|
|
||||||
when:
|
|
||||||
- nfs_group_name in group_names
|
|
||||||
- nfs_obj_gw
|
|
||||||
|
|
||||||
- name: install ceph mgr
|
|
||||||
package:
|
|
||||||
name: ceph-mgr
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- mgr_group_name in group_names
|
|
||||||
- ceph_release_num.{{ ceph_release }} > ceph_release_num.jewel
|
|
||||||
|
|
|
@ -0,0 +1,105 @@
|
||||||
|
---
|
||||||
|
- name: install redhat dependencies
|
||||||
|
package:
|
||||||
|
name: "{{ item }}"
|
||||||
|
state: present
|
||||||
|
with_items: "{{ redhat_package_dependencies }}"
|
||||||
|
when: ansible_distribution == "RedHat"
|
||||||
|
|
||||||
|
- name: install centos dependencies
|
||||||
|
package:
|
||||||
|
name: "{{ item }}"
|
||||||
|
state: present
|
||||||
|
with_items: "{{ centos_package_dependencies }}"
|
||||||
|
when: ansible_distribution == "CentOS"
|
||||||
|
|
||||||
|
- name: install redhat ceph-common
|
||||||
|
package:
|
||||||
|
name: "ceph-common"
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
|
||||||
|
- name: install redhat ceph-mon package
|
||||||
|
package:
|
||||||
|
name: "ceph-mon"
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
when:
|
||||||
|
- mon_group_name in group_names
|
||||||
|
|
||||||
|
- name: install redhat ceph-osd package
|
||||||
|
package:
|
||||||
|
name: "ceph-osd"
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
when:
|
||||||
|
- osd_group_name in group_names
|
||||||
|
|
||||||
|
- name: install redhat ceph-mds package
|
||||||
|
package:
|
||||||
|
name: "ceph-mds"
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
when:
|
||||||
|
- mds_group_name in group_names
|
||||||
|
|
||||||
|
- name: install redhat ceph-fuse package
|
||||||
|
package:
|
||||||
|
name: "ceph-fuse"
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
when:
|
||||||
|
- client_group_name in group_names
|
||||||
|
|
||||||
|
- name: install redhat ceph-base package
|
||||||
|
package:
|
||||||
|
package:
|
||||||
|
name: "ceph-base"
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
when:
|
||||||
|
- client_group_name in group_names
|
||||||
|
|
||||||
|
- name: install redhat ceph-test package
|
||||||
|
package:
|
||||||
|
name: ceph-test
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
when: ceph_test
|
||||||
|
|
||||||
|
- name: install redhat ceph-radosgw package
|
||||||
|
package:
|
||||||
|
name: ceph-radosgw
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
when: rgw_group_name in group_names
|
||||||
|
|
||||||
|
- name: install redhat nfs-ganesha-ceph package
|
||||||
|
package:
|
||||||
|
name: nfs-ganesha-ceph
|
||||||
|
when:
|
||||||
|
- nfs_group_name in group_names
|
||||||
|
- nfs_file_gw
|
||||||
|
|
||||||
|
- name: install redhat nfs-ganesha-rgw and ceph-radosgw packages
|
||||||
|
package:
|
||||||
|
name: "{{ item }}"
|
||||||
|
with_items:
|
||||||
|
- nfs-ganesha-fsal
|
||||||
|
- ceph-radosgw
|
||||||
|
when:
|
||||||
|
- nfs_group_name in group_names
|
||||||
|
- nfs_obj_gw
|
||||||
|
- ceph_rhcs_version == "2"
|
||||||
|
|
||||||
|
- name: install redhat nfs-ganesha-rgw and ceph-radosgw packages
|
||||||
|
package:
|
||||||
|
name: "{{ item }}"
|
||||||
|
with_items:
|
||||||
|
- nfs-ganesha-rgw
|
||||||
|
- nfs-ganesha-ceph
|
||||||
|
- ceph-radosgw
|
||||||
|
when:
|
||||||
|
- nfs_group_name in group_names
|
||||||
|
- nfs_obj_gw
|
||||||
|
- ceph_rhcs_version == "3"
|
||||||
|
|
||||||
|
- name: install redhat ceph-mgr package
|
||||||
|
package:
|
||||||
|
name: ceph-mgr
|
||||||
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
||||||
|
when:
|
||||||
|
- mgr_group_name in group_names
|
||||||
|
- ceph_release_num.{{ ceph_release }} > ceph_release_num.jewel
|
|
@ -1,80 +0,0 @@
|
||||||
---
|
|
||||||
- name: install red hat storage repository key
|
|
||||||
rpm_key:
|
|
||||||
key: "{{ ceph_rhcs_repository_path }}/RPM-GPG-KEY-redhat-release"
|
|
||||||
state: present
|
|
||||||
when:
|
|
||||||
- ceph_rhcs_iso_install
|
|
||||||
|
|
||||||
- name: add red hat storage repository
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/redhat_storage_repo.j2"
|
|
||||||
dest: /etc/yum.repos.d/rh_storage.repo
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: 0644
|
|
||||||
when:
|
|
||||||
- ceph_rhcs_iso_install
|
|
||||||
|
|
||||||
- name: install dependencies
|
|
||||||
package:
|
|
||||||
name: "{{ item }}"
|
|
||||||
state: present
|
|
||||||
with_items: "{{ redhat_package_dependencies }}"
|
|
||||||
|
|
||||||
- name: install red hat storage ceph mon
|
|
||||||
package:
|
|
||||||
name: "ceph-mon"
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- mon_group_name in group_names
|
|
||||||
|
|
||||||
- name: install red hat storage ceph osd
|
|
||||||
package:
|
|
||||||
name: "ceph-osd"
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- osd_group_name in group_names
|
|
||||||
|
|
||||||
- name: install red hat storage ceph mds
|
|
||||||
package:
|
|
||||||
name: "ceph-mds"
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- mds_group_name in group_names
|
|
||||||
|
|
||||||
- name: install red hat storage ceph-common
|
|
||||||
package:
|
|
||||||
name: "ceph-common"
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- client_group_name in group_names
|
|
||||||
|
|
||||||
- name: install ceph-test
|
|
||||||
package:
|
|
||||||
name: ceph-test
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- ceph_test
|
|
||||||
|
|
||||||
- name: install rados gateway
|
|
||||||
package:
|
|
||||||
name: ceph-radosgw
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- rgw_group_name in group_names
|
|
||||||
|
|
||||||
- name: install NFS gateway
|
|
||||||
package:
|
|
||||||
name: nfs-ganesha-ceph
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- nfs_group_name in group_names
|
|
||||||
|
|
||||||
- name: install ceph mgr
|
|
||||||
package:
|
|
||||||
name: ceph-mgr
|
|
||||||
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
||||||
when:
|
|
||||||
- mgr_group_name in group_names
|
|
||||||
- ceph_release_num.{{ ceph_release }} > ceph_release_num.jewel
|
|
|
@ -1,10 +1,4 @@
|
||||||
---
|
---
|
||||||
- name: determine if node is registered with subscription-manager.
|
|
||||||
command: subscription-manager identity
|
|
||||||
register: subscription
|
|
||||||
changed_when: false
|
|
||||||
always_run: true
|
|
||||||
|
|
||||||
- name: check if the red hat storage monitor repo is already present
|
- name: check if the red hat storage monitor repo is already present
|
||||||
shell: yum --noplugins --cacheonly repolist | grep -sq rhel-7-server-rhceph-{{ ceph_rhcs_version }}-mon-rpms
|
shell: yum --noplugins --cacheonly repolist | grep -sq rhel-7-server-rhceph-{{ ceph_rhcs_version }}-mon-rpms
|
||||||
changed_when: false
|
changed_when: false
|
|
@ -42,21 +42,15 @@
|
||||||
fstype: iso9660
|
fstype: iso9660
|
||||||
state: unmounted
|
state: unmounted
|
||||||
|
|
||||||
- name: install the red hat ceph storage repository key
|
- name: install red hat storage repository key
|
||||||
apt_key:
|
rpm_key:
|
||||||
file: "{{ ceph_rhcs_repository_path }}/MON/release.asc"
|
key: "{{ ceph_rhcs_repository_path }}/RPM-GPG-KEY-redhat-release"
|
||||||
state: present
|
state: present
|
||||||
when: ceph_rhcs_iso_install
|
|
||||||
|
|
||||||
- name: add red hat ceph storage repositories
|
|
||||||
apt_repository:
|
|
||||||
repo: "deb file://{{ ceph_rhcs_repository_path }}/{{ item }}/ {{ ansible_lsb.codename }} main"
|
|
||||||
state: present
|
|
||||||
changed_when: false
|
|
||||||
with_items:
|
|
||||||
- "MON"
|
|
||||||
- "OSD"
|
|
||||||
- "Tools"
|
|
||||||
- "Agent"
|
|
||||||
when: ceph_rhcs_iso_install
|
|
||||||
|
|
||||||
|
- name: add red hat storage repository
|
||||||
|
template:
|
||||||
|
src: "{{ role_path }}/templates/redhat_storage_repo.j2"
|
||||||
|
dest: /etc/yum.repos.d/rh_storage.repo
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0644
|
|
@ -1,46 +0,0 @@
|
||||||
---
|
|
||||||
- name: install the ceph stable repository key
|
|
||||||
rpm_key:
|
|
||||||
key: "{{ ceph_stable_key }}"
|
|
||||||
state: present
|
|
||||||
when: ceph_stable
|
|
||||||
|
|
||||||
- name: add ceph stable repository
|
|
||||||
yum_repository:
|
|
||||||
name: ceph_stable
|
|
||||||
description: Ceph Stable repo
|
|
||||||
gpgcheck: yes
|
|
||||||
state: present
|
|
||||||
gpgkey: "{{ ceph_stable_key }}"
|
|
||||||
baseurl: "{{ ceph_mirror }}/rpm-{{ ceph_stable_release }}/{{ ceph_stable_redhat_distro }}/$basearch"
|
|
||||||
when: ceph_stable
|
|
||||||
|
|
||||||
- name: fetch ceph development repo file
|
|
||||||
uri:
|
|
||||||
url: https://shaman.ceph.com/api/repos/ceph/{{ ceph_dev_branch }}/{{ ceph_dev_sha1 }}/{{ ansible_distribution | lower }}/{{ ansible_distribution_major_version }}/repo
|
|
||||||
return_content: yes
|
|
||||||
register: ceph_dev_yum_repo
|
|
||||||
when: ceph_dev
|
|
||||||
|
|
||||||
- name: add ceph development repository
|
|
||||||
copy:
|
|
||||||
content: "{{ ceph_dev_yum_repo.content }}"
|
|
||||||
dest: /etc/yum.repos.d/ceph-dev.repo
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
backup: yes
|
|
||||||
when: ceph_dev
|
|
||||||
|
|
||||||
- name: add custom repo
|
|
||||||
get_url:
|
|
||||||
url: "{{ ceph_custom_repo }}"
|
|
||||||
dest: /etc/yum.repos.d
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
when: ceph_custom
|
|
||||||
|
|
||||||
# Remove yum caches so yum doesn't get confused if we are reinstalling a different ceph version
|
|
||||||
- name: purge yum cache
|
|
||||||
command: yum clean all
|
|
||||||
when:
|
|
||||||
ansible_pkg_mgr == 'yum'
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
- name: configure red hat ceph community repository stable key
|
||||||
|
rpm_key:
|
||||||
|
key: "{{ ceph_stable_key }}"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: configure red hat ceph stable community repository
|
||||||
|
yum_repository:
|
||||||
|
name: ceph_stable
|
||||||
|
description: Ceph Stable repo
|
||||||
|
gpgcheck: yes
|
||||||
|
state: present
|
||||||
|
gpgkey: "{{ ceph_stable_key }}"
|
||||||
|
baseurl: "{{ ceph_mirror }}/rpm-{{ ceph_stable_release }}/{{ ceph_stable_redhat_distro }}/$basearch"
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
- name: configure red hat custom repository
|
||||||
|
get_url:
|
||||||
|
url: "{{ ceph_custom_repo }}"
|
||||||
|
dest: /etc/yum.repos.d
|
||||||
|
owner: root
|
||||||
|
group: root
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
- name: fetch ceph red hat development repository
|
||||||
|
uri:
|
||||||
|
url: https://shaman.ceph.com/api/repos/ceph/{{ ceph_dev_branch }}/{{ ceph_dev_sha1 }}/{{ ansible_distribution | lower }}/{{ ansible_distribution_major_version }}/repo
|
||||||
|
return_content: yes
|
||||||
|
register: ceph_dev_yum_repo
|
||||||
|
|
||||||
|
- name: configure ceph red hat development repository
|
||||||
|
copy:
|
||||||
|
content: "{{ ceph_dev_yum_repo.content }}"
|
||||||
|
dest: /etc/yum.repos.d/ceph-dev.repo
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
backup: yes
|
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
- include: prerequisite_rhcs_iso_install.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository_type == 'iso'
|
||||||
|
|
||||||
|
- include: prerequisite_rhcs_cdn_install.yml
|
||||||
|
when:
|
||||||
|
- ceph_repository_type == 'cdn'
|
|
@ -12,39 +12,9 @@
|
||||||
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
||||||
static: False
|
static: False
|
||||||
|
|
||||||
- include: ./pre_requisites/prerequisite_rhcs_iso_install.yml
|
|
||||||
when:
|
|
||||||
- ceph_rhcs
|
|
||||||
- ceph_rhcs_iso_install
|
|
||||||
tags:
|
|
||||||
- package-install
|
|
||||||
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
|
||||||
static: False
|
|
||||||
|
|
||||||
- include: ./pre_requisites/prerequisite_rhcs_cdn_install.yml
|
|
||||||
when:
|
|
||||||
- ceph_rhcs
|
|
||||||
- ceph_rhcs_cdn_install
|
|
||||||
- ansible_os_family == "RedHat"
|
|
||||||
tags:
|
|
||||||
- package-install
|
|
||||||
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
|
||||||
static: False
|
|
||||||
|
|
||||||
- include: ./pre_requisites/prerequisite_rhcs_cdn_install_debian.yml
|
|
||||||
when:
|
|
||||||
- ceph_rhcs
|
|
||||||
- ceph_rhcs_cdn_install
|
|
||||||
- ansible_os_family == "Debian"
|
|
||||||
tags:
|
|
||||||
- package-install
|
|
||||||
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
|
||||||
static: False
|
|
||||||
|
|
||||||
- include: ./installs/install_on_redhat.yml
|
- include: ./installs/install_on_redhat.yml
|
||||||
when:
|
when:
|
||||||
- ansible_os_family == 'RedHat'
|
- ansible_os_family == 'RedHat'
|
||||||
- not ceph_rhcs
|
|
||||||
tags:
|
tags:
|
||||||
- package-install
|
- package-install
|
||||||
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
||||||
|
@ -53,25 +23,6 @@
|
||||||
- include: ./installs/install_on_debian.yml
|
- include: ./installs/install_on_debian.yml
|
||||||
when:
|
when:
|
||||||
- ansible_os_family == 'Debian'
|
- ansible_os_family == 'Debian'
|
||||||
- not ceph_rhcs
|
|
||||||
tags:
|
|
||||||
- package-install
|
|
||||||
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
|
||||||
static: False
|
|
||||||
|
|
||||||
- include: ./installs/install_rh_storage_on_redhat.yml
|
|
||||||
when:
|
|
||||||
- ceph_rhcs
|
|
||||||
- ansible_distribution == "RedHat"
|
|
||||||
tags:
|
|
||||||
- package-install
|
|
||||||
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
|
||||||
static: False
|
|
||||||
|
|
||||||
- include: ./installs/install_rh_storage_on_debian.yml
|
|
||||||
when:
|
|
||||||
- ansible_os_family == 'Debian'
|
|
||||||
- ceph_rhcs
|
|
||||||
tags:
|
tags:
|
||||||
- package-install
|
- package-install
|
||||||
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
||||||
|
@ -109,7 +60,9 @@
|
||||||
|
|
||||||
# override ceph_stable_release for ceph_dev and rhcs installations since ceph_stable_release is not mandatory
|
# override ceph_stable_release for ceph_dev and rhcs installations since ceph_stable_release is not mandatory
|
||||||
- include: ./release-rhcs.yml
|
- include: ./release-rhcs.yml
|
||||||
when: (ceph_rhcs or ceph_dev)
|
when:
|
||||||
|
- ansible_os_family == 'RedHat'
|
||||||
|
- ceph_repository in ['rhcs', 'dev']
|
||||||
tags:
|
tags:
|
||||||
- always
|
- always
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
- restart ceph mdss
|
- restart ceph mdss
|
||||||
- restart ceph rgws
|
- restart ceph rgws
|
||||||
- restart ceph nfss
|
- restart ceph nfss
|
||||||
when: not containerized_deployment
|
when: not containerized_deployment|bool
|
||||||
|
|
||||||
# ceph-docker-common
|
# ceph-docker-common
|
||||||
# only create fetch directory when:
|
# only create fetch directory when:
|
||||||
|
@ -118,4 +118,4 @@
|
||||||
set_fact:
|
set_fact:
|
||||||
fsid: "{{ cluster_uuid.stdout }}"
|
fsid: "{{ cluster_uuid.stdout }}"
|
||||||
when: generate_fsid
|
when: generate_fsid
|
||||||
when: containerized_deployment
|
when: containerized_deployment|bool
|
||||||
|
|
|
@ -5,6 +5,22 @@
|
||||||
# GENERAL #
|
# GENERAL #
|
||||||
###########
|
###########
|
||||||
|
|
||||||
|
######################################
|
||||||
|
# Releases name to number dictionary #
|
||||||
|
######################################
|
||||||
|
ceph_release_num:
|
||||||
|
dumpling: 0.67
|
||||||
|
emperor: 0.72
|
||||||
|
firefly: 0.80
|
||||||
|
giant: 0.87
|
||||||
|
hammer: 0.94
|
||||||
|
infernalis: 9
|
||||||
|
jewel: 10
|
||||||
|
kraken: 11
|
||||||
|
luminous: 12
|
||||||
|
mimic: 13
|
||||||
|
|
||||||
|
# Directory to fetch cluster fsid, keys etc...
|
||||||
fetch_directory: fetch/
|
fetch_directory: fetch/
|
||||||
|
|
||||||
# The 'cluster' variable determines the name of the cluster.
|
# The 'cluster' variable determines the name of the cluster.
|
||||||
|
@ -18,16 +34,7 @@ fetch_directory: fetch/
|
||||||
# With that you will be able to run "ceph health" normally
|
# With that you will be able to run "ceph health" normally
|
||||||
cluster: ceph
|
cluster: ceph
|
||||||
|
|
||||||
###########
|
# Inventory host group variables
|
||||||
# INSTALL #
|
|
||||||
###########
|
|
||||||
|
|
||||||
# Set uid/gid to default '64045' for bootstrap directories.
|
|
||||||
# '64045' is used for debian based distros. It must be set to 167 in case of rhel based distros.
|
|
||||||
# These values have to be set according to the base OS used by the container image, NOT the host.
|
|
||||||
bootstrap_dirs_owner: "64045"
|
|
||||||
bootstrap_dirs_group: "64045"
|
|
||||||
|
|
||||||
mon_group_name: mons
|
mon_group_name: mons
|
||||||
osd_group_name: osds
|
osd_group_name: osds
|
||||||
rgw_group_name: rgws
|
rgw_group_name: rgws
|
||||||
|
@ -45,13 +52,10 @@ mgr_group_name: mgrs
|
||||||
# want to set this to False to skip those checks.
|
# want to set this to False to skip those checks.
|
||||||
check_firewall: False
|
check_firewall: False
|
||||||
|
|
||||||
# This variable determines if ceph packages can be updated. If False, the
|
|
||||||
# package resources will use "state=present". If True, they will use
|
|
||||||
# "state=latest".
|
|
||||||
upgrade_ceph_packages: False
|
|
||||||
|
|
||||||
# /!\ EITHER ACTIVE ceph_stable OR ceph_stable_uca OR ceph_dev OR ceph_custom /!\
|
|
||||||
|
|
||||||
|
############
|
||||||
|
# PACKAGES #
|
||||||
|
############
|
||||||
debian_package_dependencies:
|
debian_package_dependencies:
|
||||||
- python-pycurl
|
- python-pycurl
|
||||||
- hdparm
|
- hdparm
|
||||||
|
@ -68,69 +72,78 @@ redhat_package_dependencies:
|
||||||
- hdparm
|
- hdparm
|
||||||
- python-setuptools
|
- python-setuptools
|
||||||
|
|
||||||
|
# Whether or not to install the ceph-test package.
|
||||||
|
ceph_test: false
|
||||||
|
|
||||||
# Enable the ntp service by default to avoid clock skew on
|
# Enable the ntp service by default to avoid clock skew on
|
||||||
# ceph nodes
|
# ceph nodes
|
||||||
ntp_service_enabled: true
|
ntp_service_enabled: true
|
||||||
|
|
||||||
# Whether or not to install the ceph-test package.
|
# Set uid/gid to default '64045' for bootstrap directories.
|
||||||
ceph_test: False
|
# '64045' is used for debian based distros. It must be set to 167 in case of rhel based distros.
|
||||||
|
# These values have to be set according to the base OS used by the container image, NOT the host.
|
||||||
|
bootstrap_dirs_owner: "64045"
|
||||||
|
bootstrap_dirs_group: "64045"
|
||||||
|
|
||||||
## Configure package origin
|
# This variable determines if ceph packages can be updated. If False, the
|
||||||
#
|
# package resources will use "state=present". If True, they will use
|
||||||
ceph_origin: 'upstream' # or 'distro' or 'local'
|
# "state=latest".
|
||||||
# 'distro' means that no separate repo file will be added
|
upgrade_ceph_packages: False
|
||||||
# you will get whatever version of Ceph is included in your Linux distro.
|
|
||||||
# 'local' means that the ceph binaries will be copied over from the local machine
|
|
||||||
|
|
||||||
# LOCAL CEPH INSTALLATION (ceph_origin==local)
|
|
||||||
#
|
|
||||||
# Path to DESTDIR of the ceph install
|
|
||||||
#ceph_installation_dir: "/path/to/ceph_installation/"
|
|
||||||
# Whether or not to use installer script rundep_installer.sh
|
|
||||||
# This script takes in rundep and installs the packages line by line onto the machine
|
|
||||||
# If this is set to false then it is assumed that the machine ceph is being copied onto will already have
|
|
||||||
# all runtime dependencies installed
|
|
||||||
#use_installer: false
|
|
||||||
# Root directory for ceph-ansible
|
|
||||||
#ansible_dir: "/path/to/ceph-ansible"
|
|
||||||
|
|
||||||
ceph_use_distro_backports: false # DEBIAN ONLY
|
ceph_use_distro_backports: false # DEBIAN ONLY
|
||||||
|
|
||||||
# STABLE
|
|
||||||
########
|
|
||||||
|
|
||||||
# COMMUNITY VERSION
|
###########
|
||||||
ceph_stable: false # use ceph stable branch
|
# INSTALL #
|
||||||
|
###########
|
||||||
|
|
||||||
|
|
||||||
|
# ORIGIN SOURCE
|
||||||
|
#
|
||||||
|
# Choose between:
|
||||||
|
# - 'repository' means that you will get ceph installed through a new repository. Later below choose between 'community', 'rhcs' or 'dev'
|
||||||
|
# - 'distro' means that no separate repo file will be added
|
||||||
|
# you will get whatever version of Ceph is included in your Linux distro.
|
||||||
|
# 'local' means that the ceph binaries will be copied over from the local machine
|
||||||
|
ceph_origin: 'dummy'
|
||||||
|
valid_ceph_origins:
|
||||||
|
- repository
|
||||||
|
- distro
|
||||||
|
- local
|
||||||
|
|
||||||
|
|
||||||
|
ceph_repository: dummy
|
||||||
|
valid_ceph_repository:
|
||||||
|
- community
|
||||||
|
- rhcs
|
||||||
|
- dev
|
||||||
|
- uca
|
||||||
|
- custom
|
||||||
|
|
||||||
|
|
||||||
|
# REPOSITORY: COMMUNITY VERSION
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'community'
|
||||||
|
#
|
||||||
ceph_mirror: http://download.ceph.com
|
ceph_mirror: http://download.ceph.com
|
||||||
ceph_stable_key: https://download.ceph.com/keys/release.asc
|
ceph_stable_key: https://download.ceph.com/keys/release.asc
|
||||||
ceph_stable_release: dummy
|
ceph_stable_release: dummy
|
||||||
ceph_stable_repo: "{{ ceph_mirror }}/debian-{{ ceph_stable_release }}"
|
ceph_stable_repo: "{{ ceph_mirror }}/debian-{{ ceph_stable_release }}"
|
||||||
|
|
||||||
######################################
|
|
||||||
# Releases name to number dictionary #
|
|
||||||
######################################
|
|
||||||
ceph_release_num:
|
|
||||||
dumpling: 0.67
|
|
||||||
emperor: 0.72
|
|
||||||
firefly: 0.80
|
|
||||||
giant: 0.87
|
|
||||||
hammer: 0.94
|
|
||||||
infernalis: 9
|
|
||||||
jewel: 10
|
|
||||||
kraken: 11
|
|
||||||
luminous: 12
|
|
||||||
mimic: 13
|
|
||||||
|
|
||||||
# Use the option below to specify your applicable package tree, eg. when using non-LTS Ubuntu versions
|
# Use the option below to specify your applicable package tree, eg. when using non-LTS Ubuntu versions
|
||||||
# # for a list of available Debian distributions, visit http://download.ceph.com/debian-{{ ceph_stable_release }}/dists/
|
# # for a list of available Debian distributions, visit http://download.ceph.com/debian-{{ ceph_stable_release }}/dists/
|
||||||
# for more info read: https://github.com/ceph/ceph-ansible/issues/305
|
# for more info read: https://github.com/ceph/ceph-ansible/issues/305
|
||||||
#ceph_stable_distro_source:
|
#ceph_stable_distro_source: "{{ ansible_lsb.codename }}"
|
||||||
|
|
||||||
# This option is needed for _both_ stable and dev version, so please always fill the right version
|
# This option is needed for _both_ stable and dev version, so please always fill the right version
|
||||||
# # for supported distros, see http://download.ceph.com/rpm-{{ ceph_stable_release }}/
|
# # for supported distros, see http://download.ceph.com/rpm-{{ ceph_stable_release }}/
|
||||||
ceph_stable_redhat_distro: el7
|
ceph_stable_redhat_distro: el7
|
||||||
|
|
||||||
# ENTERPRISE VERSION RED HAT STORAGE (from 1.3)
|
|
||||||
|
# REPOSITORY: RHCS VERSION RED HAT STORAGE (from 1.3)
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'rhcs'
|
||||||
|
#
|
||||||
# This version is only supported on RHEL >= 7.1
|
# This version is only supported on RHEL >= 7.1
|
||||||
# As of RHEL 7.1, libceph.ko and rbd.ko are now included in Red Hat's kernel
|
# As of RHEL 7.1, libceph.ko and rbd.ko are now included in Red Hat's kernel
|
||||||
# packages natively. The RHEL 7.1 kernel packages are more stable and secure than
|
# packages natively. The RHEL 7.1 kernel packages are more stable and secure than
|
||||||
|
@ -143,48 +156,64 @@ ceph_stable_redhat_distro: el7
|
||||||
# on RHEL 7.
|
# on RHEL 7.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Backward compatibility of variable names
|
|
||||||
# Commit 492518a2 changed variable names of rhcs installations
|
|
||||||
# to not break backward compatiblity we re-declare these variables
|
|
||||||
# with the content of the new variable
|
|
||||||
ceph_rhcs: "{{ ceph_stable_rh_storage | default(false) }}"
|
|
||||||
# This will affect how/what repositories are enabled depending on the desired
|
|
||||||
# version. The previous version was 1.3. The current version is 2.
|
|
||||||
ceph_rhcs_version: "{{ ceph_stable_rh_storage_version | default(2) }}"
|
ceph_rhcs_version: "{{ ceph_stable_rh_storage_version | default(2) }}"
|
||||||
ceph_rhcs_cdn_install: "{{ ceph_stable_rh_storage_cdn_install | default(false) }}" # assumes all the nodes can connect to cdn.redhat.com
|
ceph_repository_type: dummy
|
||||||
ceph_rhcs_cdn_debian_repo: https://customername:customerpasswd@rhcs.download.redhat.com
|
valid_ceph_repository_type:
|
||||||
ceph_rhcs_iso_install: "{{ ceph_stable_rh_storage_iso_install | default(false) }}" # usually used when nodes don't have access to cdn.redhat.com
|
- cdn
|
||||||
|
- iso
|
||||||
ceph_rhcs_iso_path: "{{ ceph_stable_rh_storage_iso_path | default('') }}"
|
ceph_rhcs_iso_path: "{{ ceph_stable_rh_storage_iso_path | default('') }}"
|
||||||
ceph_rhcs_mount_path: "{{ ceph_stable_rh_storage_mount_path | default('/tmp/rh-storage-mount') }}"
|
ceph_rhcs_mount_path: "{{ ceph_stable_rh_storage_mount_path | default('/tmp/rh-storage-mount') }}"
|
||||||
ceph_rhcs_repository_path: "{{ ceph_stable_rh_storage_repository_path | default('/tmp/rh-storage-repo') }}" # where to copy iso's content
|
ceph_rhcs_repository_path: "{{ ceph_stable_rh_storage_repository_path | default('/tmp/rh-storage-repo') }}" # where to copy iso's content
|
||||||
|
|
||||||
|
|
||||||
# UBUNTU CLOUD ARCHIVE
|
# REPOSITORY: UBUNTU CLOUD ARCHIVE
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'uca'
|
||||||
|
#
|
||||||
# This allows the install of Ceph from the Ubuntu Cloud Archive. The Ubuntu Cloud Archive
|
# This allows the install of Ceph from the Ubuntu Cloud Archive. The Ubuntu Cloud Archive
|
||||||
# usually has newer Ceph releases than the normal distro repository.
|
# usually has newer Ceph releases than the normal distro repository.
|
||||||
#
|
#
|
||||||
ceph_stable_uca: false
|
#
|
||||||
#ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
|
#ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
|
||||||
#ceph_stable_openstack_release_uca: liberty
|
#ceph_stable_openstack_release_uca: liberty
|
||||||
#ceph_stable_release_uca: "{{ansible_lsb.codename}}-updates/{{ceph_stable_openstack_release_uca}}"
|
#ceph_stable_release_uca: "{{ansible_lsb.codename}}-updates/{{ceph_stable_openstack_release_uca}}"
|
||||||
|
|
||||||
# DEV
|
|
||||||
# ###
|
|
||||||
|
|
||||||
ceph_dev: false # use ceph development branch
|
# REPOSITORY: DEV
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'dev'
|
||||||
|
#
|
||||||
ceph_dev_branch: master # development branch you would like to use e.g: master, wip-hack
|
ceph_dev_branch: master # development branch you would like to use e.g: master, wip-hack
|
||||||
ceph_dev_sha1: latest # distinct sha1 to use, defaults to 'latest' (as in latest built)
|
ceph_dev_sha1: latest # distinct sha1 to use, defaults to 'latest' (as in latest built)
|
||||||
|
|
||||||
# CUSTOM
|
|
||||||
# ###
|
|
||||||
|
|
||||||
|
|
||||||
|
# REPOSITORY: CUSTOM
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'custom'
|
||||||
|
#
|
||||||
# Use a custom repository to install ceph. For RPM, ceph_custom_repo should be
|
# Use a custom repository to install ceph. For RPM, ceph_custom_repo should be
|
||||||
# a URL to the .repo file to be installed on the targets. For deb,
|
# a URL to the .repo file to be installed on the targets. For deb,
|
||||||
# ceph_custom_repo should be the URL to the repo base.
|
# ceph_custom_repo should be the URL to the repo base.
|
||||||
ceph_custom: false # use custom ceph repository
|
#
|
||||||
ceph_custom_repo: https://server.domain.com/ceph-custom-repo
|
ceph_custom_repo: https://server.domain.com/ceph-custom-repo
|
||||||
|
|
||||||
|
|
||||||
|
# ORIGIN: LOCAL CEPH INSTALLATION
|
||||||
|
#
|
||||||
|
# Enabled when ceph_repository == 'local'
|
||||||
|
#
|
||||||
|
# Path to DESTDIR of the ceph install
|
||||||
|
#ceph_installation_dir: "/path/to/ceph_installation/"
|
||||||
|
# Whether or not to use installer script rundep_installer.sh
|
||||||
|
# This script takes in rundep and installs the packages line by line onto the machine
|
||||||
|
# If this is set to false then it is assumed that the machine ceph is being copied onto will already have
|
||||||
|
# all runtime dependencies installed
|
||||||
|
#use_installer: false
|
||||||
|
# Root directory for ceph-ansible
|
||||||
|
#ansible_dir: "/path/to/ceph-ansible"
|
||||||
|
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# CEPH CONFIGURATION #
|
# CEPH CONFIGURATION #
|
||||||
######################
|
######################
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
ceph_stable: True
|
ceph_origin: repository
|
||||||
|
ceph_repository: community
|
||||||
cluster: test
|
cluster: test
|
||||||
monitor_interface: eth1
|
monitor_interface: eth1
|
||||||
radosgw_interface: eth1
|
radosgw_interface: eth1
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
ceph_stable: True
|
ceph_origin: repository
|
||||||
|
ceph_repository: community
|
||||||
public_network: "192.168.11.0/24"
|
public_network: "192.168.11.0/24"
|
||||||
cluster_network: "192.168.12.0/24"
|
cluster_network: "192.168.12.0/24"
|
||||||
journal_size: 100
|
journal_size: 100
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
ceph_stable: True
|
ceph_origin: repository
|
||||||
|
ceph_repository: community
|
||||||
public_network: "192.168.13.0/24"
|
public_network: "192.168.13.0/24"
|
||||||
cluster_network: "192.168.14.0/24"
|
cluster_network: "192.168.14.0/24"
|
||||||
journal_size: 100
|
journal_size: 100
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
---
|
---
|
||||||
docker: true
|
docker: true
|
||||||
containerized_deployment: True
|
containerized_deployment: True
|
||||||
ceph_stable: True
|
|
||||||
ceph_mon_docker_subnet: "{{ public_network }}"
|
ceph_mon_docker_subnet: "{{ public_network }}"
|
||||||
public_network: "192.168.23.0/24"
|
public_network: "192.168.23.0/24"
|
||||||
cluster_network: "192.168.24.0/24"
|
cluster_network: "192.168.24.0/24"
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
# that this scenario is using docker
|
# that this scenario is using docker
|
||||||
docker: True
|
docker: True
|
||||||
|
|
||||||
ceph_stable: True
|
|
||||||
containerized_deployment: True
|
containerized_deployment: True
|
||||||
cluster: test
|
cluster: test
|
||||||
monitor_interface: eth1
|
monitor_interface: eth1
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
# that this scenario is using docker
|
# that this scenario is using docker
|
||||||
docker: True
|
docker: True
|
||||||
|
|
||||||
ceph_stable: True
|
|
||||||
containerized_deployment: True
|
containerized_deployment: True
|
||||||
cluster: test
|
cluster: test
|
||||||
monitor_interface: eth1
|
monitor_interface: eth1
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
ceph_stable: True
|
ceph_origin: repository
|
||||||
|
ceph_repository: community
|
||||||
cluster: test
|
cluster: test
|
||||||
monitor_interface: eth1
|
monitor_interface: eth1
|
||||||
radosgw_interface: eth1
|
radosgw_interface: eth1
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
ceph_stable: True
|
ceph_origin: repository
|
||||||
|
ceph_repository: community
|
||||||
cluster: test
|
cluster: test
|
||||||
public_network: "192.168.1.0/24"
|
public_network: "192.168.1.0/24"
|
||||||
cluster_network: "192.168.2.0/24"
|
cluster_network: "192.168.2.0/24"
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
ceph_stable: True
|
ceph_origin: repository
|
||||||
|
ceph_repository: community
|
||||||
public_network: "192.168.11.0/24"
|
public_network: "192.168.11.0/24"
|
||||||
cluster_network: "192.168.12.0/24"
|
cluster_network: "192.168.12.0/24"
|
||||||
journal_size: 100
|
journal_size: 100
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
ceph_stable: True
|
ceph_origin: repository
|
||||||
|
ceph_repository: community
|
||||||
public_network: "192.168.13.0/24"
|
public_network: "192.168.13.0/24"
|
||||||
cluster_network: "192.168.14.0/24"
|
cluster_network: "192.168.14.0/24"
|
||||||
journal_size: 100
|
journal_size: 100
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
# that this scenario is using docker
|
# that this scenario is using docker
|
||||||
docker: True
|
docker: True
|
||||||
|
|
||||||
ceph_stable: True
|
|
||||||
containerized_deployment: True
|
containerized_deployment: True
|
||||||
cluster: ceph
|
cluster: ceph
|
||||||
monitor_interface: eth1
|
monitor_interface: eth1
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
# that this scenario is using docker
|
# that this scenario is using docker
|
||||||
docker: True
|
docker: True
|
||||||
|
|
||||||
ceph_stable: True
|
|
||||||
containerized_deployment: True
|
containerized_deployment: True
|
||||||
cluster: test
|
cluster: test
|
||||||
monitor_interface: eth1
|
monitor_interface: eth1
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
# that this scenario is using docker
|
# that this scenario is using docker
|
||||||
docker: True
|
docker: True
|
||||||
|
|
||||||
ceph_stable: True
|
|
||||||
containerized_deployment: True
|
containerized_deployment: True
|
||||||
cluster: test
|
cluster: test
|
||||||
monitor_interface: eth1
|
monitor_interface: eth1
|
||||||
|
|
|
@ -16,4 +16,4 @@ rgw0
|
||||||
mgr0
|
mgr0
|
||||||
|
|
||||||
[clients]
|
[clients]
|
||||||
client0
|
client0 ceph_origin="repository" ceph_repository="community" containerized_deployment="False"
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
ceph_stable: True
|
ceph_origin: repository
|
||||||
|
ceph_repository: community
|
||||||
cluster: test
|
cluster: test
|
||||||
public_network: "192.168.3.0/24"
|
public_network: "192.168.3.0/24"
|
||||||
cluster_network: "192.168.4.0/24"
|
cluster_network: "192.168.4.0/24"
|
||||||
|
|
|
@ -6,16 +6,10 @@
|
||||||
- vagrant_setup
|
- vagrant_setup
|
||||||
tasks:
|
tasks:
|
||||||
|
|
||||||
- name: change ceph_stable to False
|
- name: change ceph_repository to 'dev'
|
||||||
replace:
|
replace:
|
||||||
regexp: "ceph_stable:.*"
|
regexp: "ceph_repository:.*"
|
||||||
replace: "ceph_stable: False"
|
replace: "ceph_repository: dev"
|
||||||
dest: "{{ change_dir }}/group_vars/all"
|
|
||||||
when: change_dir is defined
|
|
||||||
|
|
||||||
- name: set ceph_dev to True
|
|
||||||
lineinfile:
|
|
||||||
line: "ceph_dev: True"
|
|
||||||
dest: "{{ change_dir }}/group_vars/all"
|
dest: "{{ change_dir }}/group_vars/all"
|
||||||
when: change_dir is defined
|
when: change_dir is defined
|
||||||
|
|
||||||
|
|
|
@ -27,22 +27,17 @@
|
||||||
dest: "{{ change_dir }}/vagrant_variables.yml"
|
dest: "{{ change_dir }}/vagrant_variables.yml"
|
||||||
when: change_dir is defined
|
when: change_dir is defined
|
||||||
|
|
||||||
- name: change ceph_stable to False
|
- name: change ceph_origin to distro
|
||||||
replace:
|
replace:
|
||||||
regexp: "ceph_stable:.*"
|
regexp: "ceph_origin:.*"
|
||||||
replace: "ceph_stable: False"
|
replace: "ceph_origin: distro"
|
||||||
dest: "{{ change_dir }}/group_vars/all"
|
dest: "{{ change_dir }}/group_vars/all"
|
||||||
when: change_dir is defined
|
when: change_dir is defined
|
||||||
|
|
||||||
- name: set ceph_rhcs to True
|
- name: change ceph_repository to rhcs
|
||||||
lineinfile:
|
replace:
|
||||||
line: "ceph_rhcs: True"
|
regexp: "ceph_repository:.*"
|
||||||
dest: "{{ change_dir }}/group_vars/all"
|
replace: "ceph_repository: rhcs"
|
||||||
when: change_dir is defined
|
|
||||||
|
|
||||||
- name: set ceph_origin to distro
|
|
||||||
lineinfile:
|
|
||||||
line: "ceph_origin: distro"
|
|
||||||
dest: "{{ change_dir }}/group_vars/all"
|
dest: "{{ change_dir }}/group_vars/all"
|
||||||
when: change_dir is defined
|
when: change_dir is defined
|
||||||
|
|
||||||
|
@ -55,7 +50,8 @@
|
||||||
tasks:
|
tasks:
|
||||||
|
|
||||||
- name: check if it is Atomic host
|
- name: check if it is Atomic host
|
||||||
stat: path=/run/ostree-booted
|
stat:
|
||||||
|
path: /run/ostree-booted
|
||||||
register: stat_ostree
|
register: stat_ostree
|
||||||
always_run: true
|
always_run: true
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
ceph_stable: True
|
ceph_origin: repository
|
||||||
|
ceph_repository: community
|
||||||
cluster: test
|
cluster: test
|
||||||
public_network: "192.168.5.0/24"
|
public_network: "192.168.5.0/24"
|
||||||
cluster_network: "192.168.6.0/24"
|
cluster_network: "192.168.6.0/24"
|
||||||
|
|
2
tox.ini
2
tox.ini
|
@ -152,7 +152,7 @@ changedir=
|
||||||
|
|
||||||
commands=
|
commands=
|
||||||
rhcs: ansible-playbook -vv -i "localhost," -c local {toxinidir}/tests/functional/rhcs_setup.yml --extra-vars "change_dir={changedir}" --tags "vagrant_setup"
|
rhcs: ansible-playbook -vv -i "localhost," -c local {toxinidir}/tests/functional/rhcs_setup.yml --extra-vars "change_dir={changedir}" --tags "vagrant_setup"
|
||||||
dev: ansible-playbook -vv -i "localhost," -c local {toxinidir}/tests/functional/dev_setup.yml --extra-vars "change_dir={changedir}" --tags "vagrant_setup"
|
dev: ansible-playbook -vv -i "localhost," -c local {toxinidir}/tests/functional/dev_setup.yml --extra-vars "change_dir={changedir} ceph_dev_branch={env:CEPH_DEV_BRANCH:master} ceph_dev_sha1={env:CEPH_DEV_SHA1:latest}" --tags "vagrant_setup"
|
||||||
|
|
||||||
vagrant up --no-provision {posargs:--provider=virtualbox}
|
vagrant up --no-provision {posargs:--provider=virtualbox}
|
||||||
bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir}
|
bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir}
|
||||||
|
|
Loading…
Reference in New Issue