159 Commits

Author SHA1 Message Date
wu.chunyang
cdfc0442e9 add debug option to ceph mon or osd start command
when ceph_mon and ceph_osd start failed, add debug option will
print more info. now when ceph_mon and ceph_osd containers start
failed, docker logs ceph_mon print none log

Closes-Bug: #1815707

Change-Id: I3c5086019808a9738714f5279ec74cbb9b7a8587
2019-02-14 11:28:53 +00:00
wu.chunyang
d35f9a4b70 repair ceph_nfs container start failed
when enable ceph_nfs,it deploy failed, because no ganesha config
file, and the 'ganesha.nfs' command need root privilege to run.
i will modify ceph_nfs dockerfile,please review. thanks

https://review.openstack.org/#/c/630510/

Change-Id: I347107bc33733061ad043bffe38ecc1d16770afc
Closes-Bug: #1811581
2019-01-17 23:43:03 +08:00
Eduardo Gonzalez
1a682fab28 Support stop specific containers
With this change, an operator may be able to stop a
service container without stopping all services in a host.
This change is the starting point to start
fast-forward upgrades support.
In next changes new flags will be introducced to disable
stop dataplane services during upgrades.

Change-Id: Ifde7a39d7d8596ef0d7405ecf1ac1d49a459d9ef
Implements: blueprint support-stop-containers
2018-11-26 08:07:01 +00:00
Jeffrey Zhang
6db3f9f342 Disable ceph osd crush update on start in default
The buggy come from ceph changes[0], which is included since ceph osd
v11.0.0. The `osd crush update on start` logical is moved from
`ceph-osd-prestart.sh` to ceph-osd startup process. So ceph-osd will
create buckets by node hostname automatically. Whereas, kolla is
creating buckets by node ip

For the less confused and ceph upgrade impact, disable `osd crush update
on start` is a better choice

[0] a28b71e3c9

Change-Id: Ibbeac9505c9957319126267dbe6bd7a2cac11f0c
Closes-Bug: #1801662
2018-11-05 15:11:05 +08:00
Adam Harwell
f1c8136556 Refactor haproxy config (split by service) V2.0
Having all services in one giant haproxy file makes altering
configuration for a service both painful and dangerous. Each service
should be configured with a simple set of variables and rendered with a
single unified template.

Available are two new templates:

* haproxy_single_service_listen.cfg.j2: close to the original style, but
only one service per file
* haproxy_single_service_split.cfg.j2: using the newer haproxy syntax
for separated frontend and backend

For now the default will be the single listen block, for ease of
transition.

Change-Id: I6e237438fbc0aa3c89a3c8bd706a53b74e71904b
2018-09-26 03:30:38 -07:00
Zuul
6fca49ab51 Merge "Fix bluestore disk naming format in kolla-ansible" 2018-09-03 06:00:30 +00:00
wangwei
4e5e28fff5 Fix bluestore disk naming format in kolla-ansible
The current bluestore disk label naming is inconsistent with the
filestore. The filestore naming format is that the disk prefixes
belonging to the same osd are the same and the suffixes are
different.

This patch keeps the bluestore's disk naming as well.

Change-Id: I71dda29fc4a6765300ce7bb173d2c448c24f6eca
2018-08-31 09:55:09 +09:00
Zuul
cfee876895 Merge "[prometheus] Enable ceph mgr exporter" 2018-08-30 07:09:48 +00:00
Xinliang Liu
943e41d2cb Add ResellerAdmin role for ceph-rgw
ResellerAdmin role is used to give users object storage administration role
in their projects.

It is required to pass object storage quotas tests[1] of DefCore (OpenStack
Powered) certification test suite.

[1] tempest.api.object_storage.test_account_quotas*
Related-Bug: #1700729

Change-Id: Id976827aa7da271e54b77476f175f06bd1a00cc8
2018-08-08 14:10:10 +08:00
Zuul
e71df7dbae Merge "Enable rgw_swift_enforce_content_length" 2018-08-02 11:44:03 +00:00
Xinliang Liu
815c6b7589 Enable rgw_swift_enforce_content_length
Currently test_list_containers tempest tests[1] would be failed.
It is becuase accept-ranges header does not exist. See ceph bug[2].

Rgw_swift_enforce_content_length assures Content-Length and
Accept-Ranges in dynamically generated account & container listings.

[1] tempest.api.object_storage.test_account_services.AccountTest.test_list_containers
[2] http://tracker.ceph.com/issues/21554
Related-Bug: #1783456

Change-Id: I9b5fcc361f0bc0e521302d2df1974aabf6f4a7e7
2018-08-02 16:56:30 +08:00
Xinliang Liu
d37d050e60 Allow object versioning for ceph-rgw
Object versioning test[1] is required for RefStack test suite.
Swift has enabled it by default[2].
It is also needed for ceph-rgw.

[1]
tempest.api.object_storage.test_object_version.ContainerTest.test_versioned_container
[2] https://review.openstack.org/#/c/517281/

Related-Bug: #1729583
Change-Id: If89636f77d87bab75e8e7bcf16cc784e83184bc6
2018-07-30 16:45:40 +08:00
wu.chunyang
da9ff22461 Use include_tasks instead of include
last patch have replaced include by include_tasks, but here have a
 omission

Change-Id: Ibfe2918eb5504bb5355489ab093200feb1d221d7
2018-07-27 22:58:21 +08:00
Zuul
3e45b2cbec Merge "Use include_tasks instead of include" 2018-07-27 08:16:08 +00:00
Mark Goddard
07b64dedc1 Fix ceph role with ansible < 2.4
The include_tasks action was added in ansible 2.4.

Change-Id: Ieac4a39a95c6aa55754c9dde5e94fb293c103caa
Related-Bug: #1783456
2018-07-25 20:57:23 +01:00
Jeffrey Zhang
b51eeed89e Use include_tasks instead of include
include is marked as deprecated since ansible 2.4[0]

[0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated

Co-Authored-By: confi-surya <singh.surya64mnnit@gmail.com>
Change-Id: Ic9d71e1865d1c728890625aeddf424a5734c0a8a
2018-07-25 23:57:22 +08:00
tone.zhang
2ce46e4767 Improve ceph-rgw compatibility with Swift API in Kolla-ansible
By default ceph-rgw is not completely comaptible with Swift API,
because of the restriction for Swift INFO API.[0]

The patch improve ceph-rgw compatibility with Swift API. It is
controlled by the option "ceph_rgw_compatibility" in
ansible/group_vars/all.yml.

After changing the option, run the "reconfigure" command to enable.

Closes-Bug: #1783456

[0] https://github.com/ceph/ceph/pull/17967

Change-Id: Ibf3eb52280e197965caef08a44ae226c4f884cb5
Signed-off-by: tone.zhang <tone.zhang@arm.com>
2018-07-25 18:09:23 +08:00
Jorge Niedbalski
9d2770db11 [prometheus] Enable ceph mgr exporter
This patch enables the ceph mgr prometheus exporter.

If enable_prometheus_ceph_mgr_exporter is set to true,
the ceph mgr prometheus plugin is enabled on the hosts that are part
of the ceph-mgr group, then the exporter is added into the prometheus-server
configuration file.

Change-Id: Ia2f879401e585e6043f69cc5e3ab1a1f72f7f033
2018-07-23 05:39:52 +00:00
Jeffrey Zhang
3397668d10 Migrate ceph keyring creation to kolla_ceph_keyring module
In this way, keyring caps is updatable.

Change-Id: Idf7f222645b5073e2c72d59eecf3d47b3f1dc6ba
2018-07-02 09:49:48 +08:00
Zuul
949f1c2c09 Merge "Allow Kolla Ceph to deploy bluestore OSDs in Kolla-ansible" 2018-06-26 08:34:29 +00:00
Zuul
ab5fd56bb0 Merge "Enable ceph dashboard by default" 2018-06-22 06:19:08 +00:00
Tone Zhang
3591d0fa9f Allow Kolla Ceph to deploy bluestore OSDs in Kolla-ansible
Support Kolla Ceph to deploy blustore OSDs with Kolla-ansible.

Please refer to [1] for bluestore OSD configuration

The patch includes:
1. Set Ceph OSD store type group_vars/all.yml. The default value
is "bluestore" in Rocky.

2. Make Kolla Ceph to deploy bluestore OSDs with Kolla-ansible

3. Update gate test configuration for Ceph bluestore OSD test

[1]: specs/kolla-ceph-bluestore.rst

Partially-Implements: blueprint kolla-ceph-bluestore
Depends-On: I00eaa600a5e9ad4c1ebca2eeb523bca3d7a25128
Change-Id: I14f20a00654dff32c36d078ebb9005d91a3e60b2
Signed-off-by: Tone Zhang <tone.zhang@arm.com>
2018-06-19 11:13:38 +00:00
chenxing
fd6c9f3882 Enable ceph dashboard by default
Co-Authored-By: rhcayadav <rhcayadav@gmail.com>

Change-Id: I3c2c56decbb9de86101f45592ba8135c49c49405
Closes-Bug: #1754424
2018-06-15 10:25:41 +05:30
Zuul
edd22f8dba Merge "Fix usage of openstack_ceph_rgw_auth" 2018-06-11 14:13:42 +00:00
Ha Manh Dong
30be04ea91 Specify 'become' for all tasks that use kolla_docker module
Add become to all tasks that use the module "kolla_docker"

Change-Id: I4309c4011687b88ec31d739fd8f834fe2326ff10
Partial-Implements: blueprint ansible-specific-task-become
2018-06-08 12:39:24 +00:00
Jorge Niedbalski
640dd55e06 Fix usage of openstack_ceph_rgw_auth
Patch [0] left 2 variables for authentication one is
openstack_swift_auth and the other (inexistent) openstack_ceph_rgw_auth
for the ceph_rgw start_keystone task.

This patch leaves only openstack_ceph_rgw_auth.

Closes-Bug: #1769463

[0] 84ade4e149

Change-Id: I1cc522d91f8258f4ca23afc10a0a2a2b35c1ff68
Signed-off-by: Jorge Niedbalski <jorge.niedbalski@linaro.org>
2018-06-06 23:29:31 +00:00
chenxing
ab79c3ee28 Fix the ceph warning after upgrade to luminous
Change-Id: Ia94c10ca8292d803bc20650fb1d496002455338f
Closes-Bug: #1771968
2018-06-06 10:36:20 +08:00
wangwei
5da1cb0b5e Fix the permissions of mgr and mds keyring
Change-Id: I6d1e6d7dc21eaf6051c89b467cd6d886d8e3c469
2018-05-15 10:13:24 +09:00
Jeffrey Zhang
c567055176 Fix ansible warning
- rename action and serial to kolla_ansible and kolla_serial
- use become instead of "sudo <command>" in shell
- Remove quota for failed_when and changed_when in rabbitmq tasks

Change-Id: I78cb60168aaa40bb6439198283546b7faf33917c
Implements: blueprint migrate-to-ansible-2-2-0
2018-05-11 02:54:02 +00:00
wu.chunyang
8cf67e9a87 Fix the ceph-mgr connect to cluster failed
For luminous, the ceph_mgr service provide the
dashborad for ceph, and it need connect to cluster,
but now it failed to connect ceph cluster due to
ceph.client.admin.keyring missing, this ps to fix it.

Co-Authored-By: chenqiaomin <chen.qiaomin@99cloud.net>
Closes-Bug: #1768462

Change-Id: Idb24661bc5674780db390220ca02e22975490663
2018-05-02 16:44:18 +08:00
Jeffrey Zhang
84ade4e149 Remove useless module_extra_vars in registry.yml
- remove uesless module_extra_vars, this is a historical issue. In the
  past, we use 'docker exec kolla_toolbox ansible xxx' to run module on
  target node, so complex data have to pass through extra_vars. Now we
  are using kolla_toolbox module, no need to use extra_vars anymore.
- Remove some useless until.

Change-Id: I72ed28001202917f9a82a1c3ea33cd6319911ec8
2018-04-16 09:14:54 +08:00
Jeffrey Zhang
20c5e8fe13 Update ceph client.admin caps during upgrade
When upgrade from ceph Jewel to ceph luminous, the client.admin caps
should add `mgr 'allow *'` caps

Change-Id: Ia4cb7a59d4cf215a1dce1efe31e00f1401e0b753
Closes-Bug: #1750967
2018-03-30 08:07:18 +00:00
Zuul
37f6e92bb1 Merge "Configure application for ceph pool" 2018-03-26 02:51:11 +00:00
Jeffrey Zhang
6e377622be Configure application for ceph pool
pool application is mandatory since ceph Luminous.

Change-Id: I8c124899b46b1388ab3c2957b4ece0f6aab1378b
Closes-Bug: #1757957
2018-03-22 15:13:31 +08:00
caoyuan
d6549a70ed Remove the duplicate dict key (become)
Change-Id: I5f9d3eb6bd42f43073704d1e8c2b8bd03fb9eb9b
2018-03-20 22:22:24 +08:00
Duong Ha-Quang
9965cc46ff Specify 'become' for only neccesary tasks (all other roles)
Add become to only neccesary tasks in roles:

- aodh
- barbican
- bifrost
- ceilometer
- ceph
- chrony
- cinder
- cloudkitty
- collectd
- congress
- designate
- elasticsearch
- etcd
- freezer
- gnocchi
- grafana
- influxdb
- ironic
- iscsi
- karbor
- kibana
- kuryr
- magnum
- manila
- mistral
- mongodb
- multipathd
- murano
- octavia
- panko
- qdrouterd
- rally
- sahara
- searchlight
- senlin
- skydive
- solum
- swift
- swift
- tacker
- telegraf
- tempest
- trove
- vmtp
- watcher
- zun

Change-Id: I6e32d94d4172dd96d09d8609e8a5221ab5586a31
Partial-Implements: blueprint ansible-specific-task-become
2018-03-12 09:37:43 +07:00
Tone.Zhang
3ff5ca1408 Fix Ceph and Swift precheck failure
If enable Ceph MDS and RBD services, they are not conflicting
with Swift service.

Fix the check condition to make sure both Ceph and Swift exist.

Closes-Bug: #1747592

Change-Id: Icc6806125ce72992f7dff00c30d591ffb737a0c6
Signed-off-by: Tone.Zhang <tone.zhang@arm.com>
2018-02-07 14:51:06 +08:00
Zuul
08eb5fd6bf Merge "Make ceph-nfs configurable" 2018-01-27 07:53:17 +00:00
Xinliang Liu
f52cebb577 Make ceph-nfs configurable
Ceph-nfs image is not available for Debian build. Because there is
no Debian package under official ceph-nfs' repo:
http://download.ceph.com/nfs-ganesha/deb-V2.5-stable/luminous/dists/

Change-Id: I35d84296318a849616e72fb6a2064b8ab62fdaf7
2018-01-25 17:17:37 +08:00
Eduardo Gonzalez
e0d37de9d0 Fixes ceph deploy gates
- Ceph images are not being built when using depends-on a kolla build
  job.
- Sync inventory files with current ones which causes ceph to fail due
  missing groups.
- Small corrections in ceph config.yml syntax.
- fix preparse the disk only once
- enable ceph nfs only when enable_ceph_nfs is true

Co-Authored-By: Jeffrey Zhang <zhang.lei.fly@gmail.com>
Change-Id: Id0c7963bf59e2af4944834dcd16589a638e78ba5
2018-01-24 15:10:01 +08:00
Zuul
574c68b375 Merge "Move swift service conflicted check into precheck.yml" 2018-01-21 17:57:35 +00:00
caowei
0bc83d06f3 Implement ceph-nfs service
Change-Id: Ia909c62158acbec9d1dd926d45c66ac36e6b4244
Depends-On: I06325d4601128a0b5a2235370fa44012427c29e3
Implements: blueprint ceph-nfs-ganesha
2018-01-19 20:48:43 +08:00
Zuul
7160ef2d91 Merge "Implement ceph fs" 2018-01-19 07:58:15 +00:00
caoyuan
bdc9d2555e Move swift service conflicted check into precheck.yml
the precheck action should better move in precheck.yml

Change-Id: I233cc73e7c16dd0d7f98338966d964417da7d0ad
2018-01-19 07:48:21 +00:00
Jeffrey Zhang
d11ba606d8 Implement ceph fs
Implements: blueprint cephfs
Change-Id: I5bf14a668a9e8976a18aa28a5bbfe586690bbd31
2018-01-13 13:44:17 +08:00
Jeffrey Zhang
e027d0862f Deploy ceph mgr during upgrade
Now we have upgraded to ceph Luminous, need start ceph mgr during
upgrade from Pike( which is ceph Jewel ).

Implements: blueprint ceph-luminous
Change-Id: I16ac0fc5d963b5725f9a19ecd396290fea7c0399
2017-12-21 18:00:39 +08:00
Jeffrey Zhang
e733a4b8bb Fix wrong ceph mgr keyring name during creating
ceph mgr should use the each node name rather than the first node
inventory_hostname

Change-Id: Ib4530ee95b4201a941b836a3fbcbe27d2d03b06f
2017-12-21 14:20:12 +08:00
Jeffrey Zhang
8acb775548 Implement ceph-mgr service
ceph-mgr service is mandatory in ceph luminous

Depends-On: I875f84012a92d4f8b9dcb212d917cf61167270b8
Change-Id: I9418bf40a4bc3dcfc07c8b2eae17cb5779f5b444
Implements: blueprint ceph-luminous
2017-12-08 12:46:43 +08:00
Zuul
960320cc78 Merge "Fix deploy ceph failed when contoller hava no cluster_interface" 2017-12-05 07:48:22 +00:00
caoyuan
2109e64029 Fix deploy ceph failed when contoller hava no cluster_interface
when ceph-mon and ceph-osd run on difference hosts
such as ceph-mon run on controller node, ceph-osd
run on storage node, and controller node have no
cluster_interface, when it happens, kolla-ansible
will failed.

Closes-Bug: #1735775 

Change-Id: I8d6bc66d41c544ab9e7e1b126127e25c70a22933
2017-12-01 15:17:36 +00:00