Commit Graph

1162 Commits (stable-2.2)

Author SHA1 Message Date
Guillaume Abrioux 8ac6ce7e42 osd: fix dmcrypt on stable-2.2
the osd disk activate can't find device in /dev/mapper/* because of a
refactor that is missing in stable-2.2 branch

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-11-15 16:57:17 +01:00
Guillaume Abrioux 564f002719 rgw: followup on b278d7c
b278d7c has introduced an error for containerized deployment with `stable-2.2`
It removed the copy_configs.yml file but not the include in `main.yml`.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-11-06 09:51:59 +01:00
Florian Haas 23c42939cd stable-2.2: Drop remaining ceph_nfs_rgw_* variables
With all references to the nfs-ganesha RGW FSAL removed from this
branch, the remaining ceph_nfs_rgw_* are no longer used
anywhere. Remove them in order to avoid potential user confusion.
2017-09-21 22:59:49 +02:00
Florian Haas b278d7cbcd stable-2.2: drop nfs_obj_gw
As Ali Maredia explains (in
https://github.com/ceph/ceph-ansible/issues/1907#issuecomment-331200448),
since the Ceph RGW/NFS gateway (with the nfs-ganesha RGW FSAL) is not
supported for any stable Ceph release prior to Luminous, the
nfs_obj_gw variable does not serve any real purpose in this
branch. Thus, remove it along with all references that use it.
2017-09-21 22:59:49 +02:00
Florian Haas 3b01f8b412 stable-2.2: Drop RGW FSAL from ganesha.conf
As Ken Dryer explains (in
https://github.com/ceph/ceph-ansible/issues/1907#issuecomment-330364084),
nfs-ganesha 2.5 requires newer features than what Ceph Jewel
supports. Since this branch isn't expected to support Luminous, it
follows that clusters deployed from this branch won't ever support an
RGW that can be used with the nfs-ganesha RGW FSAL.

Consequently, remove support for the RGW FSAL from the ganesha.conf
template in this branch.
2017-09-21 22:59:49 +02:00
Florian Haas 72e32ae0bf stable-2.2: Introduce ceph_nfs_ceph_user
In analogy to ceph_nfs_rgw_user, we should be able to define a user
with which the nfs-ganesha Ceph FSAL connects to the cluster.

Introduce a ceph_nfs_ceph_user, setting its default to "admin" (which
preserves the prior behavior of always connecting as client.admin).

Backport of #1911.
2017-09-18 22:50:06 +02:00
Florian Haas 04868bf882 stable-2.2: Fix nfs-ganesha configuration template
The ganesha.conf template included several parameters that were wrong.

- Change NFS_Protocols to Protocols
- Change Transport_Protocols to Transports

In addition, change capitalization of other configuration options in
order to be in line with what
https://github.com/nfs-ganesha/nfs-ganesha/blob/master/src/config_samples/config.txt says.

Fixed #1909.
2017-09-18 22:50:06 +02:00
Florian Haas f349b90bc8 stable-2.2: Fix nfs-ganesha package installation
The gluster/nfs-ganesha PPA does not contain any nfs-ganesha builds
with the Ceph FSAL enabled, so adding that PPA is fairly useless.

Set the correct PPA (gluster/nfs-ganesha-2.5), and also correct the
PPA name for libntirpc.

Finally, install the correct package (nfs-ganesha-ceph not
nfs-ganesha-fsal).

Fixes #1905.
2017-09-18 22:50:05 +02:00
Andrew Schoen 1f75b1a7f9 ceph-mon: fix support for ipv6 on containerized mons
The fact ['ansible_$interface']['ipv4'] is a dictionary where
['ansible_$interface']['ipv6'] is a list. If we use
ansible_default_ipv6|ipv4 is is always a dictionary which allows us to
get the ipv6 and ipv4 address without adding more complexity to the
template.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
(cherry picked from commit e8187f6a0f)
2017-06-05 13:44:03 -05:00
Sébastien Han 4bd9bea4b5 mon: fix with_items being evaluated before when
Ansible evaluates the 'with_items' before the 'when' so if the inventory
does not have the group declared it'll fail. To fix this, we set an
empty array to make the with_items happy and then evaluate with the
'when'.

Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 05331a2634)
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-05-24 16:31:33 +02:00
Sébastien Han 7238892b80 common: remove useless check
We only check for everything expect 'distro' because that
is a valid way of deploying RHCS, with preprepared repos
present on the nodes.

Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 468dc06bcd)
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-05-24 14:05:19 +02:00
Sébastien Han 1fc3c8d68e common: fix installation condition
Problem: we could end up in situation where we would install a package
on a machine that does not have the right repo enabled. Because the
condition was set to OR we weren't pinning a particular host but just a
condition. Let's say someone sets 'ceph_origin == "distro"', this would
try to install OSD packages on Monitors.

Solution: use a AND condition to first pin to the group_name (which
identifies a set of hosts) AND then after this one of the installation
condition.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1453119
Co-Authored-By: https://github.com/zhsj
Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit f7e9585a2c)
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-05-24 14:05:19 +02:00
Sébastien Han fb27d0a4f2 common: explicitly set rhel os version support
Clarify in the error message that only RHEL version >= 7.3 are
supported.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1452431
Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 8ad503b248)
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-05-19 17:24:25 +02:00
Sébastien Han 4fdfaf559a Merge pull request #1549 from ceph/container-ipv6-bkp
backport: Container ipv6 bkp
2017-05-18 15:35:22 +02:00
Sébastien Han 1dd1b48d2f Merge pull request #1550 from ceph/luminous-bkp
backport: ceph-common: add luminous to ceph_release_num
2017-05-18 15:33:31 +02:00
Sébastien Han fcd7382074 Merge pull request #1540 from ceph/piwi3910-master-bkp
backport: added support for Sandisk FusionIO devices
2017-05-18 15:33:05 +02:00
Andrew Schoen 92e96fe7dd ceph-common: add luminous to ceph_release_num
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
(cherry picked from commit 471cdb0c39)
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-05-18 15:11:16 +02:00
Sébastien Han 3a757843b0 mon: do not hardcode ipv4
Problem: fail to deploy a containerized Ceph cluster with ipv6
Solution: do not hardcode ipv4 when bootstrapping the container.

Now use ip_version: ipv6 to get a containerized cluster deployed with
ipv6.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1451786
Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit c7aae7f965)
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-05-18 14:48:47 +02:00
Sébastien Han 4ce7220339 Merge pull request #1542 from ceph/monitor_interface-bkp
backport: monitor_interface: document need to use monitor_address when using IPv6
2017-05-18 11:13:38 +02:00
Pascal Watteel d815e46350 added support for Sandisk FusionIO devices
Signed-off-by: Pascal Watteel <pascal.watteel@emc.com>
(cherry picked from commit e4ef8bb87f)
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-05-18 11:12:08 +02:00
Florian Klink 98915a9114 monitor_interface: document need to use monitor_address when using IPv6
Already documented in the Red Hat Ceph Storage 2 Installation Guide
for Red Hat Enterprise Linux, but not here

Signed-off-by: Florian Klink <flokli@flokli.de>
(cherry picked from commit 10b91661ce)
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-05-17 15:47:57 +02:00
yanyx ff2bdaacf3 ignore error when key is not exist
(cherry picked from commit 027f9aaf09)
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-05-17 15:34:07 +02:00
Andrew Schoen 8df280e28a Merge pull request #1523 from ceph/backport-pg-message
ceph-common: improve error message on restart osd daemon script
2017-05-16 20:56:11 -05:00
Alfredo Deza 714186c55a ceph-common: improve error message on restart osd daemon script
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit b04d18988e)
2017-05-15 12:44:49 -04:00
Ali Maredia f685bd873f rgw: move default bucket quota conf vars to global
"rgw override bucket index max shards" and
"rgw bucket default quota max objects" were in the
client section of the ceph.conf and not being
applied, this commit moves them to global

Resolves: bz#1391500

Signed-off-by: Ali Maredia <amaredia@redhat.com>
(cherry picked from commit 2aeb3a4957)
2017-05-10 13:14:11 -04:00
Guillaume Abrioux f3ba4acc24 Common: Fix condition on osd restart handler
Fix the condition on the osd restart handler.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-04-27 14:51:20 +02:00
Ali Maredia 16108f5d23 rgw: set tuning parameters
Change civetweb_num_thread default to 100

Add capability to override number of pgs for
rgw pools.

Add ceph.conf vars to enable default bucket
object quota at users choosing into the ceph.conf.j2
template

Resolves: rhbz#1437173
Resolves: rhbz#1391500

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2017-04-25 16:22:36 -04:00
Sébastien Han 4285baf787 mon: upgrade calamari when running rolling_update playbook
Prior to this change, ansible was only checking for the existence of the
package, now if upgrade_ceph_packages is true this means we are
performing an upgrade.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1442016

Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 84d96be197)
2017-04-25 17:33:51 +02:00
Guillaume Abrioux 11f0296744 Common: Restore check_socket
Restore the check_socket that was removed by `5bec62b`.
This commit also improves the logging in `restart_*_daemon.sh` scripts

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-04-24 19:04:57 +02:00
Andrew Schoen 7112253f4f ceph-common: is ceph_rchs is True do not include install_on_redhat.yml
That task includes logic for upstream installs that we do not want to
run when deploying RHCS.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
(cherry picked from commit 37d38b122b)
2017-04-13 14:55:46 -05:00
Sébastien Han 186a392656 Merge pull request #1425 from ceph/bump-kraken
common: bump ceph version to kraken
2017-04-10 19:03:39 +02:00
Sébastien Han e48c31c671 common: bump ceph version to kraken
Kraken has been out for a couple of weeks now and the CI can test both
Kraken and Jewel.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-04-10 18:05:19 +02:00
Sébastien Han d113cf854c Merge pull request #1377 from ceph/ceph-mgr
mgr: add new role for ceph-mgr
2017-04-10 17:50:24 +02:00
Sébastien Han 12b2aa2e55 docker: fix monitors name
Prior to this change we were deploying a monitor using tis fqdn name but
we were checking its state and performing actions on it using its
shortname.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-04-10 15:13:12 +02:00
Sébastien Han 2aa5286544 mgr: add new role for ceph-mgr
The Ceph Manager daemon (ceph-mgr) runs alongside monitor daemons, to
provide additional monitoring and interfaces to external monitoring and
management systems.

Only works as of the Kraken release.

Co-Authored-By: Guillaume Abrioux <gabrioux@redhat.com>
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-04-10 15:13:09 +02:00
Konstantin Shalygin 334d4cb885
ceph-common: disable_transparent_hugepage now persist 2017-04-08 13:06:18 +07:00
Sébastien Han e2c8f1a404 Merge pull request #1412 from guits/fix_handlers
Common: Fix handlers that are not properly triggered.
2017-04-07 02:36:27 +02:00
WingkaiHo 6ad8288c91 enable ceph-mon.target service after monitor start
ceph-create-keys unit file was removed here:

* 8bcb4646b6
* dc5fe8d415

As a consequence the systemctl preset command now fails to run since the
unit does not exist anymore. Due to the redirection in /dev/null we
don't know what's happening.

Ultimately the mon unit doesn't get enabled and the mon service won't
start after reboot.
Removing the old/non-existent unit makes the command succeed now.

ceph fix: https://github.com/ceph/ceph/pull/14226

Signed-off-by: WingkaiHo <sanguosfiang@163.com>
Co-Authored-By: Sébastien Han <seb@redhat.com>
2017-04-06 16:58:32 +02:00
Guillaume Abrioux 5bec62ba7c Common: Fix handlers that are not properly triggered.
Until now, only the first task were executed.
The idea here is to use `listen` statement to be able to notify multiple
handler and regroup all of them in `./handlers/main.yml` as notifying an
included handler task is not possible.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-04-06 16:19:58 +02:00
Daniel Horak ce06dc1460 osd autodiscovery mode: fix holders detection
Small fix for (probably copy&paste) issue from 42ffe6301.

Signed-off-by: Daniel Horak <dahorak@redhat.com>
2017-04-06 09:11:32 +02:00
Sébastien Han 42ffe63017 osd: autodiscovery mode, use holders to detect device
As reported in
https://github.com/ceph/ceph-ansible/issues/1403 when devices are held
by lvm and `osd_auto_discovery` is set to true, it's not enough to check
for a partition count = 0 since Ansible does not report.
This patch also looks for 'holders' which in a case of lvm corresponds
to the name of the pv. Now we also look for holders = 0.

Fixes: #1403

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-04-04 10:37:14 +02:00
Sébastien Han c37aaa41f4 playbook: homogenize the way list osd ids
Problem: too many different commands to do the same thing. The 'cut'
command on infrastructure-playbooks/purge-cluster.yml was also wrong.
This sed command from osixia in ceph-docker
https://github.com/ceph/ceph-docker/pull/580/ addresses all the
scenarios.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-03-30 11:51:38 +02:00
Guillaume Abrioux 4e62627202 Common: Do not install ntp when ntp_service_enabled is false
ntp is still installed even if ntp_service_enabled is set to false.
That could be a problem if the time synchronization is managed by
something else than ceph-ansible or if you want to use different NTP
implementation as suggested in #1354.

Fixes: #1354

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
Signed-off-by: Guits <gabrioux@redhat.com>
2017-03-28 19:51:34 +02:00
Sébastien Han 6a9a32de82 Merge pull request #1391 from k0ste/newfeature
Resolve issues when groups names not in default value.
2017-03-27 18:48:33 +02:00
Sébastien Han 6e3c0971a9 Merge pull request #1396 from guits/fix_1374
BugFix: Fix #1374
2017-03-27 18:13:51 +02:00
Konstantin Shalygin 1662976fc0
Resolve issues when groups names not in default value. 2017-03-27 21:44:30 +07:00
Guillaume Abrioux a99e04a9b7 BugFix: Fix #1374
If a group of hosts is empty, (for instance 'mdss', in case of a
deployment without any mds node), the playbook will fails when trying
to restart service with `"'dict object' has no attribute u'XXX'"` error.

The idea here is to force the `with_items` statements in all included handler tasks
to get at least an empty array.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-03-27 16:24:07 +02:00
Concubidated 0454d540b0 ceph-common: update sysctl file location
systctl tuning should be in the sysctl.d directory. This creates
a seperation from what values were set specific to ceph, and what
values were set by the operator.

Signed-off-by: Tyler Brekke <tbrekke@redhat.com>
2017-03-24 12:59:34 -07:00
Guillaume Abrioux 589d6812ca ceph-docker: fix bootstrap directories permissions
Make bootstrap directories permissions work for both RedHat and Debian
os families.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
Fix: #1338
2017-03-22 11:18:56 +01:00
Sébastien Han 350d2f88c7 Merge pull request #1381 from joke-lee/master
the $? of pgrep ceph-rest-api command return is 1 when ceph-rest-api is already run
2017-03-21 09:53:01 +01:00