284 Commits

Author SHA1 Message Date
Arkadiy Shinkarev
1d9f4f9ff1 Added ability to skip enabled backends pre-check
When using custom storage backends with cinder.conf overrides file,
precheck stage in kolla-ansible is fail. This commit adds option
'skip_cinder_backend_check' (default: False) to cinder role.

Change-Id: Ifee138ad8b281903ea2365441aada044c80c46f0
2019-03-07 10:27:41 +03: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
cf70bf23a5 Configure coordination in default for cinder when redis is enabled
Coordination is required for active-active cinder volume.

Change-Id: I9b26831fd951a24c483840a55824fae06ccbbf81
Closes-Bug: #1796615
2018-11-05 22:50:20 +08:00
Mark Goddard
242625dff4 Generate Ceph configuration during upgrade
If upgrading the nova, cinder or manila services via 'kolla-ansible
upgrade', the Ceph config files are not generated. Users will expect
that these files are generated, to pull in any changes from their
configuration or the base kolla configuration.

This change moves Ceph tasks inside config.yml to ensure that they are
performed during deploy, reconfigure and upgrade. This has been done for
nova, cinder, gnocchi and manila - glance already does this.

Change-Id: Ic75692c2bcba9b81dee922ff6fbbccd160e7fa19
Closes-Bug: #1794275
2018-10-10 10:48:55 +01:00
Zuul
18fd836a67 Merge "Add become for Cinder configuration tasks" 2018-10-03 12:41:30 +00:00
Mark Goddard
5beece2503 Fix Cinder backup driver
Cinder has dropped [1] support for legacy backup services. It is now
necessary to specify the full class of the backup driver, rather than
just the module name. This was causing the kolla-ansible ceph jobs to
fail.

[1] https://review.openstack.org/#/c/595372

Change-Id: Icf0ee475ba73f013d4266332d999362651d9475b
2018-10-01 14:43:07 +01:00
Mark Goddard
12e644f4f4 Add become for Cinder configuration tasks
This is required to support execution as a non-root user.

Change-Id: I017b44352a33884102fefbacdde0fddc7f0282e3
Closes-Bug: #1795125
2018-09-29 10:19:40 +01: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
MinSun
12f4554330 Support checkout dedicated version from git with dev mode
Now kolla dev mode only support clone master branch from git,
add version tag to support clone dedicated branch.

Change-Id: I88de238e5dc7461ba0662a3ecea9a2d80fd0db60
2018-08-14 16:06:00 +08:00
Zuul
e9b089d2cd Merge "Save targetcli configuration to a volume for container upgrades" 2018-08-13 07:09:28 +00:00
ZhongShengping
ae246945a6 Deprecate auth_uri option
Option auth_uri from group keystone_authtoken is deprecated[1].
Use option www_authenticate_uri from group keystone_authtoken.

[1]https://review.openstack.org/#/c/508522/

Co-Authored-By: confi-surya <singh.surya64mnnit@gmail.com>
Change-Id: Ifd8527d404f1df807ae8196eac2b3849911ddc26
Closes-Bug: #1761907
2018-08-07 11:58:23 +05:30
Will Miller
33598f5821 Extract cinder_iscsi_helper default from role
The variable `cinder_iscsi_helper` is used not only in the `cinder` role,
but also in the `iscsi` role. It needs to have a default accessible for
both roles.

Change-Id: I33d7f2c7b5597a541a0d104c76520ac4a1cd5026
Closes-Bug: #1785066
2018-08-02 14:32:17 +00:00
Zuul
3e45b2cbec Merge "Use include_tasks instead of include" 2018-07-27 08:16:08 +00:00
Zuul
d1e427b7c1 Merge "Apply Resource Constraints to Openstack Services" 2018-07-26 14:18:34 +00:00
Lakshmi Prasanna Goutham Pratapa
76210a2d85 Apply Resource Constraints to Openstack Services
This commit is to apply resource-constraints only to few OpenStack services.
Commit to apply constraints to other services will be made in coming commits.

Partially-Implements: blueprint resource-constraints

Change-Id: Icafa54baca24d2de64238222a5677b9d8b90e2aa
2018-07-25 17:05:04 +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
Vladislav Belogrudov
acaebf83ce Save targetcli configuration to a volume for container upgrades
When using lioadm / targetcli to serve LVM volumes to instances
the former saves target configuration under /etc/target.
If cinder_volume container is upgraded / replaced then all targets
are gone and instances cannot connect to their volumes any longer.

This fix introduces target_config volume where corresponding
information is persisted.

Change-Id: I919bbe00853266037dd5c015810cc13c25e2e033
Closes-Bug: #1783569
2018-07-25 17:50:38 +03:00
Zuul
d14f420ad0 Merge "Cinder fails to run because snapshots are not compatible with secure NAS" 2018-07-23 08:59:10 +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
caoyuan
c8bb9bcc2b dev mode: Add support for cinder
Provide support for kolla dev mode in cinder. When
'kolla_dev_mode' or 'cinder_dev_mode' variables are
enabled, source code of cinder project is cloned
and bind mounted.

Partially implements: blueprint mount-sources

Change-Id: I9ccd395d076f9cc1ad4b51af9d22ba8b17fac1bc
2018-06-15 00:08:33 +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
Zhangfei Gao
ce809aea23 osprofiler support redis
Currently osprofiler only choose elasticsearch,
which is only supported on x86.
On other platform like aarch64 osprofiler can
not be used since no elasticsearch package.

Enable osprofiler by enable_osprofiler: "yes",
which choose elasticsearch by default.
Choose redis by enable_redis: "yes" & osprofiler_backend: "redis"
On platform without elasticsearch support like aarch64
set enable_elasticsearch: "no"

Change-Id: I68fe7a33e11d28684962fc5d0b3d326e90784d78
2018-06-01 09:34:04 +08:00
Vladislav Belogrudov
8af7372c3d Fix Nova authentication in Cinder configuration file
Cinder requires access to Nova during Nova assisted backups and
snapshots. Both fail without proper Nova authentication section
in cinder.conf file.

Change-Id: I5d1fc3b466bf2df919e426d2052c1ee31c27030d
Closes-Bug: #1772959
2018-05-23 20:04:44 +03:00
Vladislav Belogrudov
b830fa145c Cinder fails to run because snapshots are not compatible with secure NAS
Cinder cannot run with both snapshots or backups of volumes and
secure NAS feature. Choosing the former as the latter does not function
well everywhere.

Change-Id: Iba3783b2acb79dd0e765862ef972a568c96ec108
Closes-Bug: #1726836
2018-05-23 11:20:52 +00: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
Kevin TIBI
a81a5d5d5d Fix SSL api for multiple services
If SSL is enabled, api of multiple services returns
wrong external URL without https prefix.

Removal of condition for deletion of http  header.

Change-Id: I4264e04d0d6b9a3e11ef7dd7add6c5e166cf9fb4
Closes-Bug: #1749155
Closes-Bug: #1717491
2018-04-18 17:20:27 +02: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
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
522f13646d Remove the duplicate when condition check
the condition check is duplicated with https://github.com/openstack/kolla-ansible/blob/master/ansible/roles/cinder/tasks/config.yml#L122

Change-Id: I9ca176a7aca9348d7e2e37cfe3b7efa315294d1d
Co-Authored-By: wu.chunyang <wu.chunyang@99cloud.net>
2018-03-20 21:10:47 +08:00
Zuul
a4991c6973 Merge "Security reinforce for apache server" 2018-03-16 08:06:29 +00:00
Jeffrey Zhang
f8cb527f78 Security reinforce for apache server
Disable ServerSignature and Hide apache related infromation.

Change-Id: I9188ddb85988539087c922117bb9f53454b7507c
2018-03-14 18:14:26 +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
Zuul
e6175d9e14 Merge "Add the missing permission setting for external-ceph" 2018-02-11 17:34:18 +00:00
Zuul
b28c3efec7 Merge "Apply Cinder rolling upgrade" 2018-02-09 03:11:26 +00:00
Duong Ha-Quang
99a199f2af Apply Cinder rolling upgrade
Apply Cinder database migration procedure:

[1] https://docs.openstack.org/cinder/pike/upgrade.html

Depends-On: I9a847b0a916a85d8f2622e93734330da5122f0d8
Change-Id: I934c38cb5366f0b3a65115b4cdd19878efec7ebc
2018-01-30 08:16:58 +00:00
caoyuan
c1ad9a95ab Add the missing permission setting for external-ceph
when non-root (become), the permission changed is necessary,
but some roles is missing, the patch to add it.

Change-Id: I987becde489f4b509b32edc1deceabfa2d2e1b74
2018-01-30 14:24:58 +08:00
Dai Dang Van
d77930373e Support policy.yaml file [part 2]
- Keystone
- Glance
- Nova
- Cinder

This will copy only yaml or json policy file if they exist.

Change-Id: I4a9415d82322aed68c9b7650bdf346f58fa49e2a
Implements: blueprint support-custom-policy-yaml
Co-authored-By: Duong Ha-Quang <duonghq@vn.fujitsu.com>
2018-01-29 13:35:59 +00:00
Zuul
a00e80c205 Merge "Only copy nfs_shares to cinder-volume groups" 2018-01-25 10:37:27 +00:00
Alexandru Bogdan Pica
8e3b79440c Implement external MariaDB and pre-configured Databases support
This change allows the following use cases:

1. Using an already-configured MariaDB / MySQL server / Cluster
2. Using already-created DB users, without requiring root DB access.

Update: added external mariadb precheck

Change-Id: I78b0d178306d7c5293b0bf53e445f19f18b4b824
Implements: blueprint external-mariadb-support.
Closes-Bug: #1603121
2018-01-23 13:07:40 +00:00
Paul Bourke
0d25e6f238 Only copy nfs_shares to cinder-volume groups
Co-Authored-by: Mick Thompson <michael.a.thompson@oracle.com>
Change-Id: I673950cb6cead9b18ee67a0971ed305ef5e3af2d
Closes-Bug: #1713010
2018-01-21 17:52:32 +00:00
caoyuan
b63ecd7e3e Update kolla_internal_fqdn to database_address since it defined in all.yml
through the database_address has beed defined in groups_vars/all.yml, we should
better use it, this way, if we want to use external database, we just need to
redefined in all.yml

refer to https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L83
Co-Authored-By: chenqiaomin <chen.qiaomin@99cloud.net>

Change-Id: Ie559301451954e16347ceaabf02f594c5c5cbe56
2018-01-17 13:01:48 +08:00
Duong Ha-Quang
cc2e3743bf Prevent cinder conf from copy nfs_shares to unrelated nodes
Prevent cinder conf from copy nfs_shares to all nodes instead of
just cinder-volume.

Change-Id: I4f94b6c0ca8b628c1babee7fff0b66fb5a8df257
Closes-Bug: #1713010
2018-01-02 14:53:34 +07:00
Zuul
48e577ec59 Merge "Enable nfs driver volume snapshots by default" 2017-12-14 08:17:09 +00:00
Zuul
a9b8a392ce Merge "Restart services after a change in the external ceph configuration" 2017-12-13 17:58:43 +00:00
Zuul
9e62641cd2 Merge "Move Cinder backend passwords to passwords.yml" 2017-12-13 17:45:43 +00:00
Vladislav Belogrudov
962a886e35 Enable nfs driver volume snapshots by default
Change-Id: I36d7d62514416104c1f2f36cbd29c26c34c0d20d
Closes-Bug: #1733304
2017-12-06 12:38:13 +00:00
Vladislav Belogrudov
4829ed2c87 Move Cinder backend passwords to passwords.yml
Move Hitachi NAS and Oracle ZFSSA passwords
to /etc/kolla/passwords.yml

Change-Id: I1c94c45701fda5430b5d5a88c719db13d1956b11
Closes-Bug: #1733565
2017-12-06 15:29:28 +03:00
Zuul
9b48099441 Merge "Add support for hybrid messaging backends" 2017-11-28 19:06:49 +00:00
Andrew Smith
fd1d3af0df Add support for hybrid messaging backends
This commit separates the messaging rpc and notify transports in order
to support separate and different oslo.messaging backends

This patch:
* add rpc and notify variables
* update service role conf templates
* add example to globals.yaml
* add release note

Implements: blueprint hybrid-messaging
Change-Id: I34691c2895c8563f1f322f0850ecff98d11b5185
2017-11-22 14:09:40 -05:00