67 Commits

Author SHA1 Message Date
howardlee
8b292c99bf Git checkout version support for several projects
Kolla-ansible provides support for the dev mode for some projects
of openstack, but there are still some projects that do not yet
support specific release tag. This patch will implement this function
for these project.

Change-Id: I917b27dd61295b542457a21b240afe2cd4e83e58
2018-10-03 15:30:06 +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
wu.chunyang
69bc7b4ee2 add trove policy file customization
now,the trove does not support policy customization.
this ps to add it.

Change-Id: I32d62d0293ddf63572cf754a7108ed74f94b216a
2018-08-20 04:28:06 +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
Zuul
3e45b2cbec Merge "Use include_tasks instead of include" 2018-07-27 08:16:08 +00: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
Lakshmi Prasanna Goutham Pratapa
9f0db30fd1 Apply Resource-Constraints to all services.
This commit is the final commit to apply resource-constraints
to all OpenStack services.

Depends-on: I39004f54281f97d53dfa4b1dbcf248650ad6f186
Change-Id: I072d69be9698be54775cb0ae286ea2b6ed78776c
Implements: blueprint resource-constraints
2018-07-23 19:07:05 +05:30
caoyuan
85e4ce8129 dev mode: Add support for trove
Allows users to develop of Trove using Kolla.

Partially implements: blueprint mount-sources
Co-Authored-By: zhulingjie <easyzlj@gmail.com>

Change-Id: I4db447a487baec822723deb383029dd6840f1606
2018-06-25 03:11:02 +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
Zuul
06b46533a4 Merge "Fix ansible warning" 2018-05-11 04:13:44 +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
Mohamed El Gindi
558bf6b345 Fix nova_proxy_admin_tenant_name typo
In trove-taskmanager.conf a typo has been
introduced for nova_proxy_admin_tenant_name
option.

It currently is:
"nova_proxy_admin_tenant_name = services"
But should be:
"nova_proxy_admin_tenant_name = service"

Change-Id: I7b5d0ca4c6c994b6dd3c5de3f0a79637fda88177
Closes-Bug: #1770262
2018-05-09 13:59:59 -07: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
Yotaro Konishi
5190481c08 Support custom_config for trove-taskmanager/conductor
This patch updates trove configuration tasks to apply custom_config to
trove-taskmanager/conductor.conf.

Currently only trove.conf is custom-configurable, and the file is to be
loaded by trove-api service only. Therefore, we cannot apply
custom_config to trove-taskmanager/conductor services.

Change-Id: I0a64c4f0df32eb87cd91ebd8eafb512575061413
Closes-Bug: #1706883
2018-03-20 09:01:17 +09:00
Zuul
555a57fe4f Merge "Missing configuration for Trove single tenant" 2018-03-19 09:13:45 +00:00
Zuul
08b4930e29 Merge "Homogenize the topics conf variable on templates" 2018-03-13 07:35:49 +00: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
Gaetan Trellu
c5b3037323 Missing configuration for Trove single tenant
The nova_proxy_* options are not needed when Trove single tenant
functionnality is not used.

The current way how Kolla configure trove-taskmanager.conf is to use the
user tenant so the nova_proxy_* options are not required by default.

I added the "enable_trove_singletenant" option to enable the single tenant
functionnality if required and complete the configuration to make it works.

When enable_trove_singletenant is true, the below configuration will be
applied to trove-task-manager.conf configuration file:

nova_proxy_admin_pass = {{ trove_keystone_password }}
nova_proxy_admin_tenant_name = services
nova_proxy_admin_user = trove
remote_nova_client = \
    trove.common.single_tenant_remote.nova_client_trove_admin
remote_cinder_client = \
    trove.common.single_tenant_remote.cinder_client_trove_admin
remote_neutron_client = \
    trove.common.single_tenant_remote.neutron_client_trove_admin

Change-Id: I9858acd9486a3f6a07c1edad14fde12f49df772b
Closes-Bug: #1743394
2018-02-07 10:00:04 -05: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
Zuul
ab8ed1bafa Merge "Update kolla_internal_fqdn to database_address since it defined in all.yml" 2018-01-19 10:27:56 +00:00
Zuul
e7b3bd0358 Merge "Add cinder_enpoint_type option in trove" 2018-01-17 08:38:20 +00:00
Zuul
e929574472 Merge "Add os_region_name to Trove configuration files" 2018-01-17 07:51:28 +00:00
ZhongShengping
ca558f4bb6 Add cinder_enpoint_type option in trove
https://github.com/openstack/trove/blob/master/trove/common/cfg.py#L85

Change-Id: I51d08d5a57453bb8a8459daea73a17b5e800f45f
2018-01-17 15:31:21 +08: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
goldyfruit
474b15dc5b Add os_region_name to Trove configuration files
By default Trove is looking for "RegionOne", if the region is
different the os_region_name parameter needs to be defined withing
the Trove configuration files.

To solve this issue, we need to set "os_region_name" option in
trove-api, trove-taskmanager and trove-conductor configuration.

os_region_name = {{ openstack_region_name }}

Change-Id: I1397046d2c88ba50d01a65c48e021d3535fe39d2
Closes-bug: #1743402
2018-01-15 10:33:49 -05:00
Pierre Blanc
5373f58781 Update network_label_regex on trove templates
Presently the taskmanager failed during a creation
of a trove cluster.

During the network ip checks, it didn't match the network.

The idea is to configure it to match all network name.
Finally this configuration is the same as for trove.conf.

Closes-bug: #1743395
Change-Id: I9284501424e6daa7d33d1590994bf231de71edd9
2018-01-15 10:08:01 -05:00
Pierre Blanc
b84bee79c3 Homogenize the topics conf variable on templates
In several templates the variable topics is configured
between simple quotes.
It is better to remove them to use the openstack default value.

Change-Id: I418c714240b38b2853a5c746203eac31588e841a
2018-01-12 16:39:47 -05:00
Pierre Blanc
953433ce7b Remove duplicate configuration options on trove templates
The option neutron_endpoint_type is duplicate on these files:
 - trove/templates/trove.conf.j2
 - trove/templates/trove-taskmanager.conf.j2

We just have to remove one occurrence.

Change-Id: If5c91cf7b491966b1deac42c694af5995df9b11e
2017-12-20 10:33:39 -05:00
Zuul
5f58b609b2 Merge "Fix launch instance failed in trove" 2017-12-04 13:40:44 +00:00
Jeffrey Zhang
0b931c9347 Fix launch instance failed in trove
- remove useless *_url, which can be auto discovery
- use internalURL instead of publicURL which make it works when
  using self-signed SSL certification.
- configure network_driver to Neutron
- add network_label_regex to match all network name

Change-Id: I5654dbf391db7076c82aede5c2a4f8b7530b8381
Closes-Bug: #1734039
2017-12-01 15:59:32 +08: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
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
a3dfdfc085 Simplify Openstack services configuration possibilities
Actually Openstack services configuration can be overriden using many
files:
- /etc/kolla/config/<< service name >>/<< config file >>
- /etc/kolla/config/<< service name >>/<<host>>/<< config file >>
- /etc/kolla/config/global.conf
- /etc/kolla/config/database.conf
- /etc/kolla/config/messaging.conf

Only per-service configuration is actually documented here:
https://github.com/openstack/kolla-ansible/blob/master/doc/advanced-configuration.rst#L164

Allowing to globally modify service configuration can be perform too,
but it can be done in 3 different manners, all not documented:
- /etc/kolla/config/global.conf
- /etc/kolla/config/database.conf
- /etc/kolla/config/messaging.conf

database.conf and messaging.conf seems redundant with global.conf.
In order to simplify codebase it seems logical to remove them.

Documentation has been added for overriding configuration globally and
release note has been added too.

Closes-Bug: #1682479
Change-Id: I5d922dfc0d938173bad34ac64e490b78db1b7e31
2017-09-13 17:47:36 +02:00
Jenkins
49b8a22d56 Merge "Add ceph rgw object store support into trove" 2017-07-12 15:52:28 +00:00
Jenkins
a71aa61ea7 Merge "Use unified vars in task" 2017-07-12 01:56:12 +00:00
jimmygc
69d9343fd0 Add ceph rgw object store support into trove
Ceph rgw can be used as object store instead of Swift.
This patch enable trove to use ceph rgw as object store.

Change-Id: I50b878078b7c62c1034a102d064dfa90a1357ee8
2017-07-10 11:30:10 +08:00
Bertrand Lallau
372e991bec Standardize Keystone domain variables
As described here:
https://github.com/openstack/keystone/blob/master/keystone/resource/core.py#L841
https://github.com/openstack/keystone/blob/master/keystone/conf/identity.py#L21

* default project domain name MUST be named 'Default'
* default project domain id MUST be named 'default'
* default project user name MUST be named 'Default'
* default project user id MUST be named 'default'

Change-Id: I610a0416647fdea31bb04889364da5395d8c8d74
2017-07-06 14:34:11 +00:00
caoyuan
36c530f9ed Fix the database user name for all roles
when create database user, it should use
database_user, not database_name.

Change-Id: I4dfa01d1a5a46c5c58f1fc47b0be71b186462764
Closes-Bug: #1698762
2017-06-20 21:19:31 +08: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
Jenkins
5671d7093f Merge "Mixing binary and source images for T*, W*, Z* projects" 2017-06-06 10:12:30 +00:00
Dai Dang Van
c039b3c385 Mixing binary and source images for T*, W*, Z* 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 Trove, Watcher, Zun projects.

Change-Id: I3fbf1e13064616a72cae195653f1c5fe4ea1d1b7
Implements: blueprint mixing-binary-and-source-image
2017-06-03 16:25:47 +07:00
Eduardo Gonzalez
ab4b1ff785 Support OSprofile usage
OSprofile allows user/devs trace OpenStack requests.

Implements: blueprint enable-osprofiler
Co-Authored-By: Bertrand Lallau <bertrand.lallau@gmail.com>
Change-Id: I82ea85d726011ef6cbf99380f395452d6d7f8053
2017-06-02 22:41:33 +02:00
Jenkins
1246266fad Merge "Fix wrong variable used in trove role" 2017-05-23 11:15:31 +00: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
jimmygc
0fca39dd03 Fix wrong variable used in trove role
There is no swift_api_port.
swift_proxy_server_port should be the correct one.

Closes-Bug: #1689260
Change-Id: I63e0edb76603374b479eabf0199c4024ad3e2dbd
2017-05-08 17:25:04 +08: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
8959e15a9e Merge "Trove services restarting issue on conf update" 2017-04-07 08:41:17 +00:00
Bertrand Lallau
b257b2a676 Trove services restarting issue on conf update
In case of trove-api service config file modification (trove.conf file),
trove-conductor and trove-taskmanager are restarted too, but they should
not.

trove-conductor startup command:
https://github.com/openstack/kolla-ansible/blob/master/ansible/roles/trove/templates/trove-conductor.json.j2#L2
=> trove.conf is not used

trove-taskmanager startup command:
https://github.com/openstack/kolla-ansible/blob/master/ansible/roles/trove/templates/trove-taskmanager.json.j2#L2
=> trove.conf is not used

Change-Id: Ic4703a571cec5bf8b3f91cfcb9da1a23e2bb300b
Closes-Bug: #1677531
2017-03-31 12:56:00 +02:00
Jenkins
88eb3a9696 Merge "Trove fix backup restore with Swift" 2017-03-30 09:16:52 +00:00