- Jan 24, 2019
-
-
Guillaume Abrioux authored
This part of the code is not needed since ceph-ansible@master is intended to deploy ceph@master only. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 1bbdde272f6ae2107174cd521132b4c2f7ed325a)
-
- Dec 01, 2018
-
-
Noah Watkins authored
since 0.0.0.0 is the default radosgw address (not 'address'), not configuring an address explicitly, and instead configuring the radosgw interface, would result in 0.0.0.0 being used, instead of falling through to section that inspects the interface config option. backport note: this cannot be cherry-picked from master since this code doesn't exist in master. fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1655131 Signed-off-by:
Noah Watkins <nwatkins@redhat.com>
-
- Nov 29, 2018
-
-
Guillaume Abrioux authored
jinja comment should be written using the jinja syntax `{# ... #}` Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1654441 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit a86c2b85263f84891e2cbf7e782f7ac8891257b3)
-
- Nov 21, 2018
-
-
Guillaume Abrioux authored
ceph.conf doesn't accept float value. Typical error seen: ``` $ sudo ceph daemon osd.2 config get osd_memory_target Can't get admin socket path: unable to get conf option admin_socket for osd.2: parse error setting 'osd_memory_target' to '7823740108,8' (strict_si_cast: unit prefix not recognized) ``` This commit ensures the value inserted in ceph.conf will be an integer. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 68dde424f6b254c657d75f1b5c47131dc84d9fc3)
-
- Nov 19, 2018
-
-
Neha Ojha authored
* The default value of osd_memory_target used by ceph is 4294967296 bytes, so use the same as ceph-ansible default. * Convert ansible_memtotal_mb to bytes to calculate osd_memory_target Signed-off-by:
Neha Ojha <nojha@redhat.com> (cherry picked from commit 10538e9a23c60c4e634226aafe0456680c5ccc6d)
-
- Oct 09, 2018
-
-
Andrew Schoen authored
Signed-off-by:
Andrew Schoen <aschoen@redhat.com>
-
Andrew Schoen authored
This makes finding num_osds idempotent for clusters that were deployed using 'lvm batch'. Signed-off-by:
Andrew Schoen <aschoen@redhat.com>
-
Andrew Schoen authored
This gives us an accurate number of how many osds will be created. Signed-off-by:
Andrew Schoen <aschoen@redhat.com>
-
- Oct 06, 2018
-
-
Guillaume Abrioux authored
Add some missed statements Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Oct 02, 2018
-
-
Guillaume Abrioux authored
`monitor_address_block` should be read from hostvars[host] instead of current node being played. eg: Let's assume we have: ``` [mons] ceph-mon0 monitor_address=192.168.1.10 ceph-mon1 monitor_interface=eth1 ceph-mon2 monitor_address_block=192.168.1.0/24 ``` the ceph.conf generation task will end up with: ``` fatal: [ceph-mon0]: FAILED! => {} MSG: 'ansible.vars.hostvars.HostVarsVars object' has no attribute u'ansible_interface' ``` the reason is that it will assume `monitor_address_block` isn't defined even on ceph-mon2 because looking for `monitor_address_block` instead of `hostvars[host]['monitor_address_block']`, therefore it enters in the condition as default value: ``` {%- else -%} {% set interface = 'ansible_' + (monitor_interface | replace('-', '_')) %} {% if ip_version == 'ipv4' -%} {{ hostvars[host][interface][ip_version]['address'] }} {%- elif ip_version == 'ipv6' -%} [{{ hostvars[host][interface][ip_version][0]['address'] }}] {%- endif %} {%- endif %} ``` `monitor_interface` is set with default value `'interface'` so the `interface` variable is built with 'ansible_' + 'interface'. It makes ansible throwing a confusing message about `'ansible_interface'`. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1635303 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Sep 28, 2018
-
-
Sébastien Han authored
The role contains all the handlers for Ceph services. We decided to leave ceph-defaults role with variables and a few facts only. This is useful when organizing the site.yml files and also adding the known variables to infrastructure-playbooks. Signed-off-by:
Sébastien Han <seb@redhat.com>
-
- Sep 24, 2018
-
-
Giulio Fidente authored
We need to look for ceph_release when comparing with release names, not ceph_version. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1631789 Signed-off-by:
Giulio Fidente <gfidente@redhat.com>
-
- Sep 20, 2018
-
-
Andrew Schoen authored
For now our best guess is to count the number of devices and multiply by osds_per_device. Ideally we'd like to run ceph-volume lvm batch --report and get the number of OSDs that way, but currently we need a ceph.conf in place already before we can do that. There is a tracker ticket that would allow os to get around the need for a ceph.conf: http://tracker.ceph.com/issues/36088 Fixes: https://github.com/ceph/ceph-ansible/issues/3135 Signed-off-by:
Andrew Schoen <aschoen@redhat.com>
-
- Sep 18, 2018
-
-
Guillaume Abrioux authored
the default value for _rgw_hostname was took from the current node being played while it should be took from the respective node in the loop. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1622505 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Andrew Schoen authored
This avoids errors when the osd scenario choosen does not require setting devices or lvm_volumes. The default values for these are not set because they exist in the ceph-osd role, not ceph-defaults. Signed-off-by:
Andrew Schoen <aschoen@redhat.com>
-
Neha Ojha authored
BlueStore's cache is sized conservatively by default, so that it does not overwhelm under-provisioned servers. The default is 1G for HDD, and 3G for SSD. To replace the page cache, as much memory as possible should be given to BlueStore. This is required for good performance. Since ceph-ansible knows how much memory a host has, it can set `bluestore cache size = max(total host memory / num OSDs on this host * safety factor, 1G)` Due to fragmentation and other memory use not included in bluestore's cache, a safety factor of 0.5 for dedicated nodes and 0.2 for hyperconverged nodes is recommended. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1595003 Signed-off-by:
Neha Ojha <nojha@redhat.com> Co-Authored-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Sep 10, 2018
-
-
Guillaume Abrioux authored
let's add ansible_hostname as a default value for rgw_hostname if no hostname in servicemap matches ansible_fqdn. Fixes: #3063 Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1622505 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Aug 13, 2018
-
-
Guillaume Abrioux authored
the ceph.conf.j2 always assumes the hostname used to register the radosgw in the servicemap is equivalent to `{{ ansible_hostname }}` which returns the shortname form. We need to detect which form of the hostname was used in case of already deployed cluster and update the ceph.conf accordingly. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1580408 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
Guillaume Abrioux authored
there is no need to have all these conditions. for instance, assuming `mds_group_name` is set to 'mdss': - `if groups[mds_group_name] is defined` checks if `'mdss'` is present in `{{ groups }}` - `if {{ mds_group_name }} in group_names` checks if the current node is part the group `'mdss'` - `if inventory_hostname in groups.get(mds_group_name, [])` checks if the current node is part of the group 'mdss' The third condition is enough to cover the need of ensuring we are running on a mds node. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Aug 09, 2018
-
-
Sébastien Han authored
Since the container now simply reads the ceph.conf, we remove all the unnecessary options. Also this PR is the foundation to support multiple backend, such as the new 'beast' from Ceph Mimic. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1582411 Signed-off-by:
Sébastien Han <seb@redhat.com>
-
- Jul 31, 2018
-
-
Sébastien Han authored
This was introduced by https://github.com/ceph/ceph/commit/59ee2e8d3b14511e8d07ef8325ac8ca96e051784 and made our socket checks impossible to run. The PID could be found, but the cctid cannot. This happens during upgrade to mimic and on cluster running on mimic. So let's force the admin socket the way it was so we can properly check for existing instances also the line $cluster-$name.$pid.$cctid.asok is only needed when running multiple instances of the same daemon, thing ceph-ansible cannot do at the time of writing Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1610220 Signed-off-by:
Sébastien Han <seb@redhat.com>
-
- Jul 05, 2018
-
-
Sébastien Han authored
The container image recently merged both cluster and mon log into a single stream. Following this, we now see this warning coming from the container image: 2018-06-19 13:44:01.542990 7ff75b024700 1 mon.vm02@1(peon).log v57928205 unable to write to '/var/log/ceph/ceph.log' for channel 'cluster': (2) No such file or directory So we now tell the mon to not log cluster log on the filesystem. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1591771 Signed-off-by:
Sébastien Han <seb@redhat.com>
-
- Jun 28, 2018
-
-
Ha Phan authored
Refers to #2697 This change creates a copy of `ceph.conf` in ansible server. Signed-off-by:
Ha Phan <thanhha.work@gmail.com>
-
- Apr 04, 2018
-
-
Guillaume Abrioux authored
Use fact `ceph_uid` in the task which ensures `/etc/ceph` exists in containerized deployments. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Mar 15, 2018
-
-
Andy McCrae authored
Since the approach to creating a ceph.conf file has changed, and now no-longer relies on assembling config file fragments in /etc/ceph/ceph.d we can avoid the conf_overrides rendering on the local host and skip out the tasks related to that, instead using just the config_template task to configure the file directly.
-
- Mar 06, 2018
-
-
Sébastien Han authored
This was causing a lot of pain with the handlers. Also the implementation was not ideal since we were assembling files. Everything can now be done with the ceph_crush module so let's remove that. Signed-off-by:
Sébastien Han <seb@redhat.com>
-
- Jan 31, 2018
-
-
Guillaume Abrioux authored
Use a nicer syntax for `local_action` tasks. We used to have oneliner like this: ``` local_action: wait_for port=22 host={{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }} state=started delay=10 timeout=500 }} ``` The usual syntax: ``` local_action: module: wait_for port: 22 host: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}" state: started delay: 10 timeout: 500 ``` is nicer and kind of way to keep consistency regarding the whole playbook. This also fix a potential issue about missing quotation : ``` Traceback (most recent call last): File "/tmp/ansible_wQtWsi/ansible_module_command.py", line 213, in <module> main() File "/tmp/ansible_wQtWsi/ansible_module_command.py", line 185, in main rc, out, err = module.run_command(args, executable=executable, use_unsafe_shell=shell, encoding=None, data=stdin) File "/tmp/ansible_wQtWsi/ansible_modlib.zip/ansible/module_utils/basic.py", line 2710, in run_command File "/usr/lib64/python2.7/shlex.py", line 279, in split return list(lex) File "/usr/lib64/python2.7/shlex.py", line 269, in next token = self.get_token() File "/usr/lib64/python2.7/shlex.py", line 96, in get_token raw = self.read_token() File "/usr/lib64/python2.7/shlex.py", line 172, in read_token raise ValueError, "No closing quotation" ValueError: No closing quotation ``` writing `local_action: shell echo {{ fsid }} | tee {{ fetch_directory }}/ceph_cluster_uuid.conf` can cause trouble because it's complaining with missing quotes, this fix solves this issue. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1510555 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Jan 30, 2018
-
-
Sébastien Han authored
With two public networks configured - we found that with "NETWORK_ADDR_1, NETWORK_ADDR_2" install process consistently became broken, trying to find docker registry on second network, and not finding mon container. but without spaces "NETWORK_ADDR_1,NETWORK_ADDR_2" install succeeds so, containerized install is more peculiar with formatting of this line Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1534003 Signed-off-by:
Sébastien Han <seb@redhat.com>
-
- Jan 26, 2018
-
-
Eduard Egorov authored
This allows us to use host-specific variables in ceph_conf_overrides variable. For example, this fixes usage of such variables (e.g. 'nss db path' having {{ ansible_hostname }} inside) in ceph_conf_overrides for rados gateway configuration (see profiles/rgw-keystone-v3) - issue #2157. Signed-off-by:
Eduard Egorov <eduard.egorov@icl-services.com>
-
- Jan 10, 2018
-
-
Sébastien Han authored
Previously we were using ceph_conf_overrides however this doesn't play nice for softwares like TripleO that uses ceph_conf_overrides inside its own code. For now, and since this is the only occurence of this, we can ensure no logs through the ceph conf template. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1532619 Signed-off-by:
Sébastien Han <seb@redhat.com>
-
- Dec 12, 2017
-
-
Major Hayden authored
If a deployer uses an interface name with a dash/hyphen in it, such as 'br-storage' for the monitor_interface group_var, the ceph.conf.j2 template fails to find the right facts. It looks for 'ansible_br-storage' but only 'ansible_br_storage' exists. This patch converts the interface name to underscores when the template does the fact lookup.
-
- Nov 16, 2017
-
-
Sébastien Han authored
Add openSUSE Leap 42.3 support
-
- Nov 14, 2017
-
-
Markos Chandras authored
Add support for the openSUSE Leap distributions Signed-off-by:
Markos Chandras <mchandras@suse.de>
-
- Nov 09, 2017
-
-
Guillaume Abrioux authored
The path to the fact is not correct. In any case, we will retrieve the IP address in hostvars, the variable is the way we get the interface name according where it has been set (eg.: inventory host file vs. group_vars/) Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1510906 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com>
-
- Nov 03, 2017
-
-
Sébastien Han authored
Setting monitor_interface in group_vars/all.yml makes the hostvars[host]['monitor_interface'] non-existing. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1507922 Signed-off-by:
Sébastien Han <seb@redhat.com>
-
- Oct 27, 2017
-
-
Sébastien Han authored
Really fix always run
-
- Oct 25, 2017
-
-
Major Hayden authored
This patch changes the `always_run: yes` task option to `check_mode: no` to avoid Ansible warnings.
-
Major Hayden authored
This reverts commit 620fb37d.
-
Sébastien Han authored
Once and for all, hopefully... Signed-off-by:
Sébastien Han <seb@redhat.com>
-
- Oct 20, 2017
-
-
Sébastien Han authored
common: move restapi template to config
-