136 Commits

Author SHA1 Message Date
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
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
cde23811f7 Merge "Support checkout dedicated version from git with dev mode" 2018-08-29 05:53:04 +00:00
Zuul
3288e0c4e3 Merge "Update usage of "|" to "is"" 2018-08-23 10:23:54 +00: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
caoyuan
471985dc2c Update usage of "|" to "is"
With the more recent versions of ansible, we should now use
"is" instead of the "|"

This should update it.

Change-Id: I6fba56fca182349972e8b0ee5452b37aa4090e0c
2018-08-13 12:40:10 +05:30
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
Lakshmi Prasanna Goutham Pratapa
14bf524756 Apply Resource Constraints to Services.
This commit is to apply resource-constraints to a few more OpenStack services.
Commit to  apply constraints to the last set of services will be made in
the upcoming commit.

Depends-on: Icafa54baca24d2de64238222a5677b9d8b90e2aa
Change-Id: I39004f54281f97d53dfa4b1dbcf248650ad6f186
2018-07-26 11:35:28 +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
Vladislav Belogrudov
fe70df356f Add possibility to increase Murano agent timeout
Some Murano applications require much longer time than default
1 hour to be deployed.

Change-Id: I395e9e3e8cccf70f316f313847648841822e639a
Closes-Bug: #1777670
2018-06-19 15:35:03 +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
ZhijunWei
81eb90a34f Remove the unnecessary register.yml for upgrade
When execute upgrade action, no need to create endpoint and
project again. This PS to remove register.yml from upgrade.yml

Change-Id: I0c453aa7214752fd6782521c64d462153396b05a
2018-05-18 13:34:54 +00:00
ZhijunWei
5c1f0226d3 Fix missed kolla_action for murano
it missing from I357dffdfcb2b405e280a962d366ee65eebf0a8d1

Change-Id: Ifc981f6bcead0b37340a04e284355f6474bd7900
2018-05-17 06:17:14 +00:00
wu.chunyang
3093f44ca3 Optimize reconfiguration for murano
Change-Id: Ib5116e76a9a5c97571282225b8eaf480f120f9b1
Partially-implements: blueprint better-reconfigure
Co-Authored-By: ZhijunWei <wzj334965317@outlook.com>
2018-05-16 10:01:53 +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
Mark Giles
ecfc28dbd3 Add endpoint type specifications to murano config
Setting endpoint_type to internalURL in the murano config allows murano
to work properly when using self-signed certificates.

Change-Id: I5873f92994d790d597ec5e97163bbf8001c362b9
2018-05-02 11:30:42 -04: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
1ab1c835c4 Merge "Add config necessary to use Barbican with Murano" 2018-03-19 09:17:13 +00:00
ellen
62db01caa0 New murano_auth section in Murano config
Add the new murano_auth section to the Murano config
file so that Murano will deploy application packages.

Change-Id: I8ea7264759742e7af038b4cec346fc7ef7f7edcb
2018-03-15 10:09:44 -04:00
Zuul
d4057c5aa4 Merge "murano internal authentication needs /v3" 2018-03-13 07:29:00 +00:00
Vladislav Belogrudov
ed583e1ca4 murano internal authentication needs /v3
Missing [murano_auth] with auth_uri ending in '/v3' leads to
keystone authentication failures - murano uses old v2 keystone.

Change-Id: I41846ac4fa78da90e02d91e8d1cec7405178f7df
Closes-Bug: #1753480
2018-03-12 16:53:01 +03: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
Vladislav Belogrudov
78b8927874 Fix murano authentication configuration options
Murano failed to deploy due to outdated options - it tried to
issue v2.0 Keystone requests instead of v3. With new options that
are similar to other projects deployment succeeds.

Change-Id: I1970641e47fa6f94c2c6427ef49b3160d64c33ed
Closes-Bug: #1750373
2018-02-19 16:57:00 +03:00
Zuul
e9fca7b072 Merge "Support policy.yaml file [part 5]" 2018-01-24 17:28:15 +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
Dai Dang Van
4f8eb892c7 Support policy.yaml file [part 5]
- Freezer
- Gnocchi
- Kuryr
- Murano
- Panko

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

Change-Id: I5450839cb06c515f2be445883421f8f987ca834d
Implements: blueprint support-custom-policy-yaml
Co-authored-By: Duong Ha-Quang <duonghq@vn.fujitsu.com>
2018-01-22 01:57:05 +00:00
Paul Bourke
1bcdf3932d Add config necessary to use Barbican with Murano
Murano offers optional Barbican integration for apps using sensitive
data [0]

This patch adds the necessary config pieces to allow these apps to work out of
the box.

[0] https://docs.openstack.org/murano/latest/admin/appdev-guide/encrypting_properties.html

Change-Id: Ia78f53b12619deb518111a1c02c00d73bf5acdb1
2018-01-18 04:11:57 +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
chenxing
fa9d696440 Update the job title of checking if Murano packages exists
Closes-Bug: #1734019
Change-Id: I203db11955189971640fcf8470e7a326d591b296
2017-12-12 14:51:44 +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
Vladislav Belogrudov
71d72ed081 Murano application should contact rabbitmq by external FQDN
In case of external router internal VIP and external VIP are the
same. External router manages port/address redirection from
public network to OpenStack API. The address of the router is
set via 'kolla_external_fqdn'. Currently Murano configuration
that is handed over to Murano application instance uses
'kolla_external_vip_address'. This leads to the instance trying
to connect to internal API network. Correct address should be
'kolla_external_fqdn' which will work in both cases - either with
double VIP setup or with single VIP + external router.

Change-Id: I78c38ae0af1cecd2be2b1c6cc86bcfc51b847082
Closes-Bug: #1729611
2017-11-02 17:01:29 +03:00
James McCarthy
427373387c Import the Murano applications libary as part of setup
This applications package is useful to have in place,
import io.murano.applications along with the core package.

Change-Id: I819eebe2deae2d1ff0375a2dd39a33f50817bb83
2017-10-20 08:36:04 +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
Jenkins
9cdbae707b Merge "Simplify Openstack services configuration possibilities" 2017-09-26 15:49:22 +00:00
caoyuan
b3cb549af9 optimize the command format for murano start.yml
1. optimize the conmmand format
2. Update the "--os-auth-url", use the {{ keystone_admin_url }}
since it be defined in all.yml

Change-Id: I53278a7b1c43a021eafbd10842355a4c70c47116
2017-09-25 13:19:06 +08: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
6ef30ca452 Merge "Add dev mode for Murano" 2017-07-20 11:27:51 +00:00
Jenkins
a71aa61ea7 Merge "Use unified vars in task" 2017-07-12 01:56:12 +00:00
Paul Bourke
77e10c72cf Add dev mode for Murano
Change-Id: I7f1bc7fe0ee2c788c3141ea5353e1348196219e1
Depends-On: Ic0431b10d723bf84eeefc72039376fe0058dd902
2017-07-10 14:48:48 +01: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
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
Paul Bourke
aff43f73e3 Add vhost to outward rabbitmq for Murano
Change-Id: I09654f29b59e0327ee1a7961e0990e4c6927e8fc
Closes-Bug: #1620374
2017-06-15 14:19:33 +01:00
Jenkins
50cbfc8b5b Merge "Mixing binary and source images for M* projects" 2017-06-06 10:12:44 +00:00
Jenkins
3a68aee3ad Merge "Use auth vars for admin user" 2017-06-04 15:05:29 +00:00
Dai Dang Van
cda878d2fb Mixing binary and source images for M* 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 Magnum, Manila,
Mistral and Murano projects.

Change-Id: I6aaeb74f791c79229430a52b066327de7219a9b1
Implements: blueprint mixing-binary-and-source-image
2017-06-03 15:12:49 +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
Eduardo Gonzalez
e9bde0dcb9 Use auth vars for admin user
In someplace in the code admin user, project and domain name
are hardcoded.

This change use the correct variable defined at:
https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L278

Change-Id: I3a4c78d81733bf7a2f3c67d259ec5c5f5bb38d3f
2017-05-16 08:54:37 +00:00