114 Commits

Author SHA1 Message Date
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
Zuul
bf0e8a8d52 Merge "Fix ansible running issue on Debian" 2017-11-15 11:44:35 +00:00
chenxing
994c80c702 Fix the incorrect container_facts
backport: pike

Closes-Bug: #1729564
Change-Id: If6db5fad1f23e0afaadcad97b4f37a13e34de9fa
2017-11-02 18:52:08 +08:00
Xinliang Liu
df60b76552 Fix ansible running issue on Debian
When deploying on debian, it reports error:
stat /usr/bin/ansible: no such file or directory

That's because on Debian and Ubuntu pip install ansible to
/usr/local/bin/ansible, whereas on CentOS the location is
/usr/bin/ansible.

Change to ansible to handle both cases.

Closes-Bug: #1729216
Depends-On: I2b57403128bc103148ae696c219df52590214adc

Change-Id: I025037cf48596450e6479ab7ff6425c48ac73aad
Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org>
2017-11-02 09:46:38 +01:00
Eduardo Gonzalez
56374206be Fix deployment with public TLS enabled
When deploying with tls enabled in public
endpoints, ansible modules fails due SSL certificates
are self-signed.

This change adds a new variable to allow customization
on which endpoints ansible should connect.
Defaults to admin because admin auth parameters defaults
to admin endpoint.

Change-Id: Ic3ed58cf9c9579cae08a11bbfe6fce983b5a9cbc
Closes-Bug: #1720995
2017-10-05 08:36:34 +00:00
Bertrand Lallau
191e268575 Fix warning on {failed|changed}_when statements
Ansible 2.3.0 does not like delimiters in when statement.

Related link: https://github.com/ansible/ansible/issues/22397

Closes-Bug: #1714349
Change-Id: I973cc6537c4c1374546b5cddb4ce713a553b92f4
2017-08-31 23:16:26 +02:00
Jeffrey Zhang
28bd9bf996 Run registering keystone ceph_rgw user task only on one node
Change-Id: If4d396750fd2bf5b5b0bbaab68b0f01f1a657262
Closes-Bug: #1713656
2017-08-29 16:21:01 +08:00
Jeffrey Zhang
1cf116cd6c Use a separate user for ceph-rgw rather than keystone admin user
If not, change admin user password will break ceph rgw service.

Change-Id: Ia872f6f1aa2d9917d3f5851e0edcffed61e71355
Closes-Bug: #1705929
2017-07-27 16:41:41 +08:00
Jeffrey Zhang
cacf08f0a6 Remove all kolla-kubernetes configurations
kolla-kubernetes is using its own configuration generation[0], so it is
time for kolla-ansible to remove the related code to simplify the
logical.

[0] https://github.com/openstack/kolla-kubernetes/tree/master/ansible

Change-Id: I7bb0b7fe3b8eea906613e936d5e9d19f4f2e80bb
Implements: blueprint clean-k8s-config
2017-07-18 22:00:58 +08:00
Jenkins
c88b9eb40e Merge "Clean some Boolean condition checks" 2017-07-13 08:48:44 +00:00
Jenkins
a71aa61ea7 Merge "Use unified vars in task" 2017-07-12 01:56:12 +00:00
Bertrand Lallau
8b5b3cef4e Clean some Boolean condition checks
* "bool" filter is removed when not required
* 'not' is used instead of '== False' check

Change-Id: I85a5bb9a5ea874ac1c397cbf8de416147d2424c3
2017-07-10 15:00:28 +00:00
Bertrand Lallau
a9113fc466 Avoid launching "local" actions too many times
In order to speed up deployment time some "local" actions should be run
only once using 'run_once: True'.
This will decrease deployment time in case of multihost configuration.

Change-Id: I6015d772d35c15e96c52f577013b6e41197cb41a
2017-07-05 15:55:39 +02:00
Jenkins
3b86d5fda2 Merge "Remove the unnecessary jinja2 templating delimiters" 2017-06-28 14:43:25 +00:00
Jenkins
93bcf4b16a Merge "Replace always_run by check_mode" 2017-06-16 07:17:55 +00:00
Jeffrey Zhang
03e1b05f99 Use unified vars in task
Ansible task support vars directive, no need implement another one in
merge_config. This patch remove the vars directive in merge_config
action plugin.

Change-Id: I33648a2b6e39b4d49ce76eb66fbf2522721f8c68
2017-06-15 22:37:28 +08:00
Duong Ha-Quang
41686edba9 Replace always_run by check_mode
always_run is deprecated and removed in Ansible 2.4
check_mode is introduced in Ansible 2.2 and Kolla-ansible bump Ansible to
2.2.0 so it's safe to replace always_run by check_mode now.

Change-Id: Id1028d38b7bde30a6afe17b319dcdc77907914ab
Closes-Bug: #1643633
Implements: blueprint migrate-to-ansible-2-2-0
2017-06-15 08:10:33 +00:00
Jenkins
e804bf5cc6 Merge "Support for increasing thread cache size in TCMalloc." 2017-06-14 11:31:39 +00:00
Michal (inc0) Jastrzebski
8530bc10a2 Enable deploying ceph on loopback devices
Since whole issue was related to check whether user wants to wipe
device, loopbacks can be opt out from this warnings

Change-Id: Idd823b282e3055457ed041a98c848deb8509cc30
Closes-Bug: #1667074
2017-06-12 11:19:13 -07:00
jangseon ryu
76c500fb24 Support for increasing thread cache size in TCMalloc.
Currently TCMalloc's default tc size is 32MB.
This causes poor performance in ceph storage.
A new ceph_tcmalloc_tc_bytes option has been added
with a default of 128MB.

128 MB is default TC size at above jewel version.
and if we don't set this config,
osd daemon will running with 32 MB.
because 32MB is default size in TCmalloc 2.4 version.
32MB and 128MB are twice the performance difference.
- reference : https://www.slideshare.net/Red_Hat_Storage/
ceph-performance-projects-leading-up-to-jewel-61050682

Closes-Bug: #1693692

Change-Id: I0d25c92917b11a29bcfd18f9c129cae328fa2d3e
Signed-off-by: jangseon ryu <jangseon.ryu@navercorp.com>
2017-06-08 10:14:14 +00:00
Jenkins
1832260d32 Merge "Mixing binary and source images for C* projects" 2017-06-05 02:10:03 +00:00
caoyuan
597e112a2c Remove the unnecessary jinja2 templating delimiters
[WARNING]: when statements should not include jinja2 templating
delimiters such as {{ }} or {% %}. Found: {{
(keystone_bootstrap.stdout | from_json).changed }}

Closes-Bug: #1689550

Change-Id: Ib6fdbcde02319011b072990f06fbd5e74b8d2d93
2017-06-04 15:00:44 +00:00
Dai Dang Van
d463b05cfa Mixing binary and source images for C* projects
In case Kolla's users want to deploy with both of
binary and source image, we should have a variable
install type that define install type for each project.

We also add specific image tag for each Openstack project.

This commit is implemented for Ceilometer, Ceph
Cinder, Cloudkitty and Congress projects.

Change-Id: I560ab84545db2e034abe03613c4e7cb407e64ab2
Implements: blueprint mixing-binary-and-source-image
2017-06-02 17:16:14 +07:00
Bertrand Lallau
afdd11b9a2 Generalize api_interface_address variable usage
Useful api_interface_address variable has been define here:
https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L57
In order to simplify codebase we must use it as much as possible.

Change-Id: I18fec19bf69e05a22a4142a9cd1165eccd022455
2017-05-23 08:35:15 +00:00
Jenkins
b077f6e7bb Merge "Add timeout parameter for precheck tasks" 2017-05-07 15:04:24 +00:00
Jeffrey Zhang
b1f015616c Add timeout parameter for precheck tasks
wait_for module waits 300 seconds for the port started or stopped.  This
is meaningless and useless in precheck. This patch change timeout to 1
seconds.

Change-Id: I9b251ec4ba17ce446655917e8ef5e152ef947298
Closes-Bug: #1688152
2017-05-04 09:02:25 +08:00
Jenkins
e8bb3d4e83 Merge "Add sudo command for non-root account to mount osd" 2017-05-03 15:21:35 +00:00
wangwei
6f825382ca Add sudo command for non-root account to mount osd
Generally we specify the user is root when deploying ceph, it is no
problem. But if we have the need to use a non-root account, the deployment
will fail because the non-root account can't use the mount command.
I think it is necessary to add sudo for non-root account, when we can't use
the root account to deploy ceph because of security needs, we can use
non-root account to deploy ceph.

Change-Id: Iea1f30bcf8edbe15dc65909bbae780b55a669067
Closes-Bug: #1668823
2017-04-05 22:12:20 -04:00
Jeffrey Zhang
2947a95c29 Fix ceph log location
There are to parameter for ceph-mon/ceph-osd/radosgw, "-f" and "-d".

    -d run in foreground, log to stderr.
    -f run in foreground, log to usual location.

When log tin stderr, docker engine will collect the logs. It is useless
and we should write the log into file only. Then stop writing log to
stderr.

ceph-mon log location is controlled by "mon cluster log file".

Change-Id: I7883a4316420bc2bf4c772cb7248b663359f54b7
Closes-Bug: #1677237
2017-03-29 21:33:31 +08:00
Jenkins
9d0daa015a Merge "Enable sanity checks from kolla-ansible" 2017-03-09 17:31:51 +00:00
Paul Bourke
5418ada148 Enable sanity checks from kolla-ansible
Add a new subcommand 'check' to kolla-ansible, used to run the
smoke/sanity checks.

Add stub files to all services that don't currently have checks.

Change-Id: I9f661c5fc51fd5b9b266f23f6c524884613dee48
Partially-implements: blueprint sanity-check-container
2017-03-09 10:37:06 +00:00
Christian Berendt
1b15dc24a4 Set default value for osds/osd_ids facts when facts not set
Change-Id: I8754de1ef89ac05cd8817456c4a8496ad71cf293
Closes-bug: #1668275
2017-02-27 15:16:00 +01:00
Jeffrey Zhang
10bc344308 Fix wrong module argument name for kolla_toolbox
should be module_extra_vars rather than module_extra_args.

Change-Id: I31479d54526cba1ae408126bae3cec06fb52deb8
Closes-Bug: #1666026
2017-02-20 00:15:05 +08:00
Jeffrey Zhang
430a9dedf3 Use new bootstrap and register method
Change-Id: I61aa70affc8ff98c7e57160de8da0df3d6be5929
2017-02-05 20:45:46 +08:00
Jenkins
d8180c52e1 Merge "Allow operators to use 'fallback mode' for Ceph disks" 2017-01-17 19:11:12 +00:00
Mauricio Lima
d53f27caea Move prechecks into its own role
To avoid many merge conflicts and re-works
* Panko
* Octavia
* Ceph
* MariaDB

Co-Authored-By: caoyuan <cao.yuan@99cloud.net>
Partially-implements: blueprint condition-pre-check
Change-Id: I3d2766d0d9f01ad4052731c7219a2d0635527ac5
2017-01-13 12:43:49 -03:00
Eduardo Gonzalez
a18174b3b4 Unify jinja syntax
Change-Id: I63197f8c5646e44a9a7287e644c904a1e227af23
2017-01-12 10:52:44 +00:00
Chao Guo
6b54299afe Fix wrong register in ceph reconfigure task
This causes reconfigure failure.

Change-Id: I5b43416dbc8118a120c8ae04a70f777ffefbc0c3
Closes-bug: #1653022
2016-12-29 09:06:22 +08:00
Paul Bourke
fecf719e59 Allow operators to use 'fallback mode' for Ceph disks
This change adds a variable to the Ceph role "kolla_ceph_use_udev",
which is True by default meaning no change to the current behaviour. If
set to False, it will fallback to tools such as sgdisk/blkid to parse
the disk info it needs, instead of using udev.

Change-Id: I88d7b73efe27f04bb1ba16d61e101fa14a9f0d81
Depends-On: I6ad7825cdb164498f3d02f2ae064c7c1c38e10d5
Closes-Bug: #1631949
2016-12-20 13:38:33 +00:00
Vladislav Belogrudov
25fcdfb986 Use default user group consistently
Default user group should be set much earlier in deployment
and should be used consistently accross all projects.

Change-Id: Id399f9ddebc903bb9c3eeb5a0ff6f33ca6d6828c
Closes-Bug: #1650501
2016-12-19 11:43:23 +03:00
junbo
d4f4134e35 Integrate ceph-rgw with keystone
this patch change ceph-rgw configuration and add object-store endpoint.

Co-Authored-By: zhubingbing <zhubingbing10@gmail.com>

Change-Id: I3ae4171c69bec52846c92a5e5618c12cf36d4409
Implements: blueprint radosgw-keystone-integration
2016-12-15 08:05:11 +00:00
Ethan Lynn
e237319965 Always check enable_* variables first
Check enable_* variables first, then check inventory_host in
group, will help to avoid configuration errors.

Change-Id: Icdb1f50e5c911203b92ac431723620756b15f3c6
Closes-Bug: #1648376
2016-12-08 17:59:48 +08:00
Eduardo Gonzalez
f56d8e58ba Revert "updating-deprecated-ansible-modules"
check_mode option is included in Ansible 2.2.
Using in our playbooks mean that any other version before
Ansible 2.2 can be used

This reverts commit 529f202d00e4615caa1fcb447aaa47fde6aa1417.

Change-Id: I3af96290443d760346264e6d994fd2a44de65543
Closes-Bug: #1644828
2016-11-25 14:41:38 +00:00
gardlt
529f202d00 updating-deprecated-ansible-modules
* update ceph tasks
* update mariadb tasks
Closes-Bug: #1643633

Change-Id: Ib81789574843edba6e33394a7f66a2e8077075eb
2016-11-21 21:52:26 -06:00
Jeffrey Zhang
fa45801946 Move precheck into its own role
* Merge prechecks.yml and site.yml playbook
* Create empty precheck.yml into all roles.

Change-Id: I8a138558a26c0a2a66c5fd48ed37be657c99c1dd
Implements: blueprint condition-pre-check
2016-11-03 14:48:58 +08:00
Jeffrey Zhang
fa856556d5 Remove do_reconfigure.yml file for all roles
do_reconfigure.yml is introduced to use serial directive. But we use
it in wrong. Now serial has moved to playbook file. So it is time to
remove the do_reconfigure.yml file

Closes-Bug: #1628152
Change-Id: I8d42d27e6bc302a0e575b0353956eaef9b2ca9fd
2016-09-27 15:04:00 +00:00