Commit Graph

145 Commits (49de6f9a5b4e3f570f73d054ffb13c59b6a828da)

Author SHA1 Message Date
Andrew Schoen a9a3d24a3d ceph-common: fixes bug related to monitor_interface set in inventory
The ceph.conf template needs to look for the value of monitor_interface
in hostvars[host] because there might be different values set per host.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-07-12 16:34:41 +02:00
Guillaume Abrioux 896d62d78b Refact: remove ceph_mon_docker_interface variable
remove `ceph_mon_docker_interface` and use `monitor_interface` instead
for both containerized and non-containerized deployment.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-07-04 18:08:59 +02:00
Guillaume Abrioux f16037fac5 Common: monitor_address_block is always defined
monitor_address_block is always defined.
We need to check for true or false instead.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-07-04 17:50:30 +02:00
Guillaume Abrioux 88df105d0b Common: Add ipv6 support
e8187f6 does not fix the ipv6 as expected since `ansible_default_*` are
filled with the IP address carried by the network interface used by the
default gateway route. By the way, it assumes that the MON_IP address will
be this IP address which is not always the case.

We need to keep using the previous fact but add some intelligence in the
template to determine how to retrieve the ipv4|ipv6 address since the path
to the fact in `hostvars` is not the same according to ipv4 vs ipv6 case.

Fix: 1569

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-07-04 10:57:26 +02:00
Guillaume Abrioux 73141118d0 Make the new check PGs working with /bin/sh
The new test in the checks PGs are no longer working on distributions
where /bin/sh isn't linked to /bin/bash.

Fix: #1619
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-06-22 17:59:38 +02:00
Sébastien Han 62192df644 Merge pull request #1595 from czunker/restart_all_osds
Restart all OSDs and do not stop after the first one.
2017-06-16 11:15:47 +02:00
Christian Zunker bf8347e149 Restart all OSDs and do not stop after the first one.
The current handler only restarts one OSD on each OSD server. After
the first one the handler stops, not matter what results the checks had.

Co-Authored-By: Gaudenz Steinlin (@gaudenz)
2017-06-14 09:38:07 +00:00
Peter Jenkins 804b0eef24 Bluestore: Omit "osd mkfs type" etc from ceph.conf
Remove "osd mkfs type" and the other pre-Bluestore parameters from the
generated ceph.conf so that disk activation on OSDs will work. The
current default xfs config results in a failed deployment and
incorrect partition metadata.
2017-06-14 10:44:13 +03:00
Guillaume Abrioux 304de4833f Common: Rewrite check_pgs
Rewrite the check_pgs by using json parsing instead of complex regexp to
parse the `ceph -s` output.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-06-12 10:59:16 +02:00
Sébastien Han fdc7866072 Merge pull request #1469 from ceph/refact_code
Docker: Refact code
2017-06-02 12:40:25 +02:00
Guillaume Abrioux 0542a95b68 Common: Improve check pgs
For some reason we changed the check of pgs but it appears it could be
dangerous because the current check might satisfied as long as 1 PG is
active+clean.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-06-01 20:12:36 +02:00
Guillaume Abrioux ddfe019342 Refact code
`ceph-docker-common`:
  At the moment there is a lot of duplicated tasks in each
  `./roles/ceph-<role>/tasks/docker/main.yml` that could be refactored in
  `./roles/ceph-docker-common/tasks/main.yml`.

`*_containerized_deployment` variables:
  All `*_containerized_deployment` have been refactored to a single
  variable `containerized_deployment`

duplicate `cephx` variables in `group_vars/* have been removed.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-05-24 15:55:41 +02:00
Alfredo Deza b04d18988e ceph-common: improve error message on restart osd daemon script
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2017-05-12 11:37:38 -04:00
Ali Maredia 2aeb3a4957 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>
2017-05-10 13:06:48 -04:00
Ali Maredia 5192e3cd6d 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:01:03 -04:00
Guillaume Abrioux 800b439667 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 12:31:49 +02:00
Konstantin Shalygin 334d4cb885
ceph-common: disable_transparent_hugepage now persist 2017-04-08 13:06:18 +07: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
Andrew Schoen 9580fd974a ceph-common: set ms bind ipv6 = true in ceph.conf when using ipv6
This fixes an issue with parsing the ceph.conf file when ip_version is set to
ipv6.

See: https://bugzilla.redhat.com/show_bug.cgi?id=1419814

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-02-07 12:34:29 -06:00
Andrew Schoen 03cb803bd1 Adds ip_version configuration option
This allows the user to set ip_version to either ipv4 or ipv6. This
resolves a bug where monitor_address is set to an ipv6 address, but the
template fails to render because it's hardcoded to look for an 'ipv4'
key in the ansible facts.

See: https://bugzilla.redhat.com/show_bug.cgi?id=1416010

Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: bz#1416010
2017-01-24 09:48:55 -06:00
Logan V cd50cd8f18 RGW: Add resolve cname configuration parameter
Adds a switch to enable bucket resolution using DNS CNAME provided
by the client's HTTP headers.
2017-01-19 11:15:18 -06:00
Logan V 4941de838c RGW: Add static website hosting configuration 2017-01-19 11:15:18 -06:00
Logan V 6f3a98919c RGW: Allow configurable rgw frontends setting
Allow for more operator flexibility in the `rgw frontends` setting
while maintaining backwards compatibility with the old vars. This
allows an operator to, for example, use the civetweb settings for
implementing SSL ports.

For available civetweb configuration parameters, see:
https://github.com/civetweb/civetweb/blob/master/docs/UserManual.md
2017-01-19 11:15:18 -06:00
Logan V 8edc2663d9 RGW: Add support for usage log configuration
Adds support for configuring the RadosGW usage log described at
http://docs.ceph.com/docs/jewel/man/8/radosgw/#usage-logging.
2017-01-19 11:15:18 -06:00
Sébastien Han dcd94f6c52 Merge pull request #1179 from Logan2211/rgw-keystone-v3
RGW/Keystone integration improvements
2016-12-16 13:52:52 +01:00
Logan V cccdb2ab13 Add support for Keystone v3 API
The Keystone v2 APIs are deprecated and scheduled to be removed in
Q release of Openstack. This adds support for configuring RGW to
use the current Keystone v3 API.
2016-12-15 17:17:41 -06:00
Logan V aa0bfaa89a Add a switch to disable nss PKI database initialization
The PKI keys are used to decrypt the Keystone revocation list when
PKI tokens are used. When UUID or Fernet token providers are used in
Keystone, PKI certs may not exist, so we now accommodate this scenario
by allowing the operator to disable the PKI tasks.
2016-12-15 17:17:41 -06:00
Logan V 12f8b5c38e Add support for Keystone user authentication with RGW
Jewel added support for user/pass authentication with Keystone,
allowing deployers to disable Keystone admin token as required
for production deployments.

This implements configuration for the new RGW Keystone user/pass
authentication feature added in Jewel.

See docs here: http://docs.ceph.com/docs/master/radosgw/keystone/
2016-12-15 17:17:37 -06:00
Sébastien Han 13a72fd24b common: set apt pinning with Red Hat Ceph Storage
When `ceph_stable_rh_storage` is True, every cluster node should have a
`/etc/apt/preferences.d/rhcs.pref` file with the following contents:

```
Explanation: Prefer Red Hat packages
Package: *
Pin: release o=/Red Hat/
Pin-Priority: 999
```

ceph-deploy already did this when used with ice-setup, and we need to do
the same thing with the ceph-ansible stack.

Closes: #1182 and https://bugzilla.redhat.com/show_bug.cgi?id=1404515

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-14 19:01:54 +01:00
Sébastien Han 9ea6517d69 Merge pull request #1165 from opsta/master
Improve script to install Ceph AIO without Vagrant
2016-12-09 10:47:46 +01:00
Jirayut Nimsaeng 6f8d17646c Remove variables that can be override with ceph_conf_overrides 2016-12-08 22:22:01 +07:00
Jirayut Nimsaeng 8d6277bbc3 Add mon_pg_warn_max_per_osd, osd_pool_default_size and osd_pool_default_min_size variables 2016-12-08 19:25:15 +07:00
Andrew Schoen 9942b5028a docker: fix ceph.conf generation for multiple mons
Before this patch only the address for the first mon would show
in the ceph.conf even if there were multiple mons in the inventory.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-07 17:22:10 -06:00
Sébastien Han bb57238115 Merge pull request #1139 from ceph/last-cleanup-apache
common: remove apache file
2016-12-01 11:04:48 +01:00
Sébastien Han 20a11a3111 common: remove apache file
we recently dropped the support for apache with rgw, so this commit
removes the last remaining file.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-01 11:02:31 +01:00
Ken Dreyer 9f0b3ceb6b rm ceph-extra.repo and redhat_distro_ceph_extra variable
We removed the "apache" setting for "radosgw_frontend" in
adfdf6871e.

As part of that change, we removed the final references to
ceph-extra.repo, but I failed to clean up this file itself.

Now that nothing uses this file, delete it.

This file contained the sole reference to redhat_distro_ceph_extra, so
we can drop that variable as well.
2016-11-29 14:42:34 -07:00
Shengjing Zhu 3e06e39550 fix python3 compatibility in jinja2 template.
rename iterkeys to keys
2016-11-22 21:52:52 +08:00
Ken Dreyer adfdf6871e remove apache support for RGW
libfcgi is dead upstream (http://tracker.ceph.com/issues/16784)

The RGW developers intend to remove libfcgi support entirely before the
Luminous release.

Since libfcgi gets little-to-no developer attention or testing, remove
it entirely from ceph-ansible.
2016-11-18 13:13:12 -07:00
Andrew Schoen 06ce643f7d common: reformat mon_initial_members with indention
Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: testing#updates
2016-11-08 10:35:43 -06:00
Andrew Schoen fcacf90939 common: check for monitor_interface before monitor_address in ceph.conf
Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: testing#updates
2016-11-08 10:35:42 -06:00
Andrew Schoen f87aabcb21 common: remove underscores in ceph.conf so config names are consistent
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-03 09:25:03 -05:00
Andrew Schoen 65544fb6aa ceph-common: remove unused mon_addr_interface.j2 template
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-02 15:36:03 -05:00
Andrew Schoen 66bf9eca20 ceph-common: remove unused mon_addr_address.j2 template
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-02 15:35:07 -05:00
Andrew Schoen 49dba08c05 fixes monitor_address and monitor_interface features
Before this commit if you had set monitor_interface in your
inventory file for a specific host it would be ignored and the value
in group_vars/all would have been used.

Also, this enables support for monitor_address again as it had been
broken by previous changes to this template.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-02 15:27:12 -05:00
Gunwoo Gim (a.k.a. Nicho1as) 0421ade0df now you can use a network link name with a hyphen 2016-10-25 00:49:11 +09:00
Proskurin Kirill c7be6f85c7 Remove duplication of "osd crush chooseleaf type"
Signed-off-by: Proskurin Kirill <kproskurin@mirantis.com>
2016-09-28 18:47:46 +03:00
Patrick Donnelly bcb2e39017
ceph.conf: add variable setting monitor addr block
For some providers (such as upcoming Linode support), some NICs may have
multiple IP addresses. (In the case of Linode, the only NIC has a public
and private IP address.) This is normally okay as we can use the
ceph.conf cluster_network and public_network variables to force the
monitor to listen on the addresses we want. However, we also need
ansible to set the correct monitor IP addresses in "mon hosts" (i.e. the
addresses the monitors will listen on!). This new monitor_address_block
setting tells ansible which IP address to use for each monitor.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2016-09-19 17:35:41 -04:00
Sébastien Han f351329897 docker: use cluster name
Fix cluster name for docker scenario and other playbooks.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-24 09:04:49 +02:00
Ivan Font ef4d0a39f2 Restrict fact gathering to mons and update ceph.conf
- Gather facts only for mons before processing ceph-mon role serially in
  containerized playbook sample
- Updated ceph.conf in order to generate a valid ceph.conf

Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-08-22 10:42:27 -07:00
Daniel Gryniewicz bb9df99046 NFS fixups
- Move fsal_rgw config to ceph-common, as it's shaered with ceph-rgw
- Update all.docker.sample with NFS config
- Rename fsal_rgw to nfs_obj_gw and fsal_ceph to nfs_file_gw, because
  the former names mean nothing to non-Ganesha developers

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-08-18 12:25:20 -04:00