Commit Graph

96 Commits (059eaf696379d862541d19c43bb87ab780220290)

Author SHA1 Message Date
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
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 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
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 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
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
Leseb e92d9fbce0 Merge pull request #933 from font/cephconf
Fix ceph.conf template for containerized deployment
2016-08-16 15:46:18 +02:00
Christoph Dwertmann dde346ff30 Remove duplicate "max open files" 2016-08-16 15:56:40 +10:00
Ivan Font a0fc1becc8 Fix ceph.conf template for containerized deployment
Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-08-12 17:45:55 -07:00
Sébastien Han b0907aaeea ceph-common: test mon initial members
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-09 13:50:57 +02:00
Ken Dreyer 19c3fdc53a ceph-common: client settings are for libvirt
Prior to this change, each ceph cluster node would end up with several
"qemu-client-$pid.log" files owned by root. The [client] section would
capture *all* client activity (for example the "ceph health" command,
etc), not just librbd-in-qemu.

Restrict this section to libvirt clients only so that we don't generate
these spurious log files for other Ceph client traffic.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-08-02 10:00:22 -06:00
Huamin Chen 8320085a66 ceph.conf.j2: check if interface is defined before using it
ceph-mon.service.j2: remove redundant --name option from docker command

Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-06-06 17:34:51 +00:00
Huamin Chen a124078612 in containerized deployment, use the right interface name variable in mon; remove one line inline files
cleanup on docker osd tasks

Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-05-25 18:17:37 +00:00
Sébastien Han 82aec38a71 ceph-rgw: implement num_threads for civetweb
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-20 14:31:49 +02:00
Sébastien Han 47860a887f ceph-common: purge ceph.conf file
Since ##461 we have been having the ability to override ceph default
options. Previously we had to add a new line in the template and then
another variable as well. Doing a PR for one option was such a pain. As
a result, we now have tons of options that we need to maintain across
all the ceph version, yet another painful thing to do.
This commit removes all the ceph options so they are handled by ceph
directly. If you want to add a new option, feel free to to use the
`ceph_conf_overrides` variable of your `group_vars/all`.

Risks, for those who have been managing their ceph using ceph-ansible
this is not a trivial change as it will trigger a change in your
`ceph.conf` and then restart all your ceph services. Moreover if you did
some specific tweaks as well, prior to run ansible you should update the
`ceph_conf_overrides` variable to reflect your previous changes.

To avoid service restart, you need to know a bit of ansible for this,
but generally the idea would be to run ansible on a dummy host to
generate the ceph.conf, then scp this file to all your ceph hosts and
you should be good.

Closes: #693

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-10 16:51:42 +02:00
Sébastien Han 4fa4154b4d ceph-rgw: ability to bind civetweb on an IP
Introducing a new config option: `radosgw_civetweb_bind_ip` which points
to the `ansible_default_ipv4` by default. You can override this
variable. Use ansible facts to put a proper value.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-04-22 17:47:57 +02:00
Andrew Schoen 95d80ad3d3 correctly set mon addr when monitor_interface is defined in group_vars
This fixes the ceph.conf template so that it will look for an inventory
defined value for monitor_interface or for monitor_interface defined in
a group_vars file.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-21 09:09:16 -05:00
Andrew Schoen a2b8ef8c1d Check to see if hostvars[host]['monitor_interface'] is defined
This fixes https://github.com/ceph/ceph-ansible/issues/711

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-13 13:34:51 -05:00
Andrew Schoen 5031234d66 look at monitor_interface in hostvars when choosing interface or address
This fixes a bug where monitor_interface might be set in your inventory
file and not by using group_vars or --extra-vars causing the template to
use the default address of 0.0.0.0 instead of the defined
monitor_interface.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-08 14:23:12 -05:00
Sébastien Han 450feaac0a ceph: implement cluster name support
we now have the ability to enable the `cluster` variable with a specific
value that will determine the name of the cluster.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-30 18:08:38 +02:00
ksingh7 861dd2c3f1 ceph-common: Newline separation for mon_containerized_deployment_with_kv variable in ceph.conf.j2
ceph.conf.j2 template requires a new line between mon_containerized_deployment_with_kv and fsid variables
With this commit , i have added a new line for better readablity
2016-03-29 01:34:08 +03:00
pprokop 77bd4aff37 Adding missing space 2016-03-24 16:27:56 +01:00
pprokop 72fa8da1dc Removing fsid with kv backend deployment 2016-03-24 16:26:28 +01:00
pprokop 6fea8b17b6 Adding missing fsid 2016-03-24 16:26:28 +01:00
pprokop 42e748a514 Adding dockerized ceph-mon deployment with kv backend 2016-03-24 16:26:28 +01:00
Andrew Schoen 959d525f81 Provide the ability to provide monitor_address instead of an interface
This would allow users who don't know what interface to provide to
give an IP address to use for the monitor instead.

Note: the includes are needed in ceph.conf.j2 because without them
jinja2 can not properly evaluate the template and will complain about a
missing 'ansible_interface' variable. The includes allow the template to
be evaluated correctly and then the correct include will be used during
render time.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-03-23 07:30:01 -05:00
Sébastien Han 378aadf3e3 ceph-mon/mds: fix fqdn
closes #596

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-03 21:23:14 +01:00
Sébastien Han 1ebb4de7f3 rollback previous change for ceph-common change
changing the name of the directory causes issues with git subtree which
will create new commits. Creating a symlink for vagrant to be happy.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-02 18:44:36 +01:00
Sébastien Han d2359c1445 wip: galaxy roles dependencies
in order to have a build on the galaxy we need to have a proper
dependency set for ceph-common. On the galaxy ceph-common does not
exist, only ceph.ceph-common is available.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-02 13:52:56 +01:00
Sébastien Han 059cc1ea5b ceph-common: allow usage of fqdn for mon/mds
this commit introduces the ability to use fqdn for mon/mds name while
generation the ceph.conf file from the template.
Simply turn mon_use_fqdn and or mds_use_fqdn to true to use FQDN.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-02 11:11:43 +01:00
Chris St. Pierre be52a01c49 Add tunable to use object map for xattrs
Defaults to true if using ext4, false otherwise, and can be explicitly
overridden if desired.
2016-02-29 11:31:04 -06:00
Sébastien Han 4407967de0 Using config_template
Thanks to @cloudnull great patch at
https://github.com/ansible/ansible/pull/12555
we now have the ability to add more configuration options instead of
having to push a PR to add a new option to the template. So you can
dynamically add and remove flags.

To use it, edit `ceph_conf_overrides` in `group_vars/all` like so:

```
ceph_conf_overrides
 global:
     foo: 12345
     bar: 6789
```

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-12-16 17:19:50 +01:00
Leseb abb86d331d Merge pull request #457 from ceph/rgw-log-dir
Use /var/log/ceph for rgw logs
2015-12-15 23:23:09 +01:00
Sébastien Han 8f6870f3a6 Use /var/log/ceph for rgw logs
We should not bother having another directory for this. So we stick with
the default logging dir.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-12-15 23:22:19 +01:00