1073 Commits

Author SHA1 Message Date
Tin Lam
17d36b7364 Chage with_ loop variables syntax to ansible 2
Migrate to full variable syntax in with_ loop for
manila and tempest.

TrivialFix
Partial-Implements: bp ansible2

Change-Id: Ic68fd6123f0cd5bd0035e139e89f7b569574074c
2016-08-29 01:53:37 -05:00
Jenkins
1b806b66e4 Merge "Set 'balance source' for Horizon in haproxy" 2016-08-28 01:07:29 +00:00
Jenkins
90fe72c2d0 Merge "Fix bug in Elasticsearch role" 2016-08-26 20:18:14 +00:00
Jenkins
1ea09d0752 Merge "Add full support for fernet" 2016-08-26 19:50:58 +00:00
Jenkins
8874c69beb Merge "Move rabbitmq precheck from start" 2016-08-26 19:04:42 +00:00
Christine Hicks
42bd52037e Changed admin-openrc from DOMAIN_ID to DOMAIN_NAME
OpenStack used to used DOMAIN_ID and has switched to DOMAIN_NAME.

TrivialFix

Change-Id: Ibb0574f9267a3bc276304c8079cb230068a13273
2016-08-26 13:09:07 -04:00
Paul Bourke
6c238ca3bf Move rabbitmq precheck from start
rabbitmq's start task contains a precheck. This should be part of the
other prechecks for consistency

TrivialFix

Change-Id: I7728ec3f5be3248424d74a4387925b72114b8943
2016-08-26 16:18:04 +01:00
liyingjun
54be45e406 Fix toolbox permission issue when enabling ceph
Directory /home/ansible/.ansible and file /var/log/kolla/ansible.log are
not created by default in toolbox image, so when ceph enabled, the directory
and file will be created with user 'root' instead of user 'ansible' after
running bootstrap osds because it using sudo when bootstraping osds,
this will cause permission denied issue for other commands not using sudo.
Fixes this issue by initializing ansible by running 'ansible localhost
--version' using user 'ansible'

TrivialFix

Change-Id: Ibac3f98b3b72cbe287ee1d3a69ed9cea7ae3cd9e
2016-08-26 00:46:46 +00:00
Shaun Smekel
1c68ae389b Add full support for fernet
This addresses the ansible aspects of fernet key bootstrapping as
well as distributed key rotation.

- Bootstrapping is handled in the same way as keystone bootstrap.
- A new keystone-fernet and keystone-ssh container is created to allow
  the nodes to communicate with each other (taken from nova-ssh).
- The keystone-fernet is a keystone container with crontab installed.
  This will handle key rotations through keystone-manage and trigger
  an rsync to push new tokens to other nodes.
- Key rotation is setup to be balanced across the keystone nodes using
  a round-robbin style. This ensures that any node failures will not
  stop the keys from rotating. This is configured by a desired token
  expiration time which then determines the cron scheduling for each
  node as well as the number of fernet tokens in rotation.
- Ability for recovered node to resync with the cluster. When a node
  starts it will run sanity checks to ensure that its fernet tokens
  are not stale. If they are it will rsync with other nodes to ensure
  its tokens are up to date.

The Docker component is implemented in:
  https://review.openstack.org/#/c/349366

Change-Id: I15052c25a1d1149d364236f10ced2e2346119738
Implements: blueprint keystone-fernet-token
2016-08-25 20:08:22 +10:00
Paul Bourke
3d12b6c192 Set 'balance source' for Horizon in haproxy
This ensures that the same client IP address will always reach the same
server as long as no server goes down or up. [0]

Prevents a situation where during Murano package upload - we end up
having zip file on one control node but the import continues on another
and ends up failing.

[0] http://cbonte.github.io/haproxy-dconv/configuration-1.7.html#4-balance

TrivialFix
Co-Authored-By: Vladislav Belogrudov <vladislav.belogrudov@oracle.com>

Change-Id: I5f90d2757f31e8b24459a585153d5aa7fe6ad90a
2016-08-25 10:02:57 +01:00
Duong Ha-Quang
1d56fcb4f0 Fix bug in Elasticsearch role
Add Ansbile reconfigure playbook to Elasticsearch role.
Add run condition to start playbook in Elasticsearch role.

Change-Id: I7862089cae55d392eb2d922f89a382d392cf8b97
Closes-Bug: #1616005
2016-08-24 20:12:47 +07:00
Jenkins
bf991ff61f Merge "ironic.conf file missing enabled_drivers info" 2016-08-24 11:47:38 +00:00
Jenkins
ed678a829a Merge "add baremetal role to install kolla deps." 2016-08-23 16:28:17 +00:00
Jenkins
999f8c3c32 Merge "Sync the local_settings.j2 with horizon" 2016-08-23 11:44:55 +00:00
Tin Lam
02da8e5104 Fix typo in iscsi pull playbook
In ansible/roles/iscsi/tasks/pull.yml, there are references to
'iscsi', which should be 'iscsid' instead.  This patchset
fixes this typo.

Change-Id: Id2c31bf69556ec8dcf66cc1d32d2bfe77f02367b
Closes-bug: #1602566
2016-08-22 21:12:38 -05:00
Jeffrey Zhang
254f7cc33d Sync the local_settings.j2 with horizon
local_settings.j2 is out of date, sync with the horizon

TrivialFix

Change-Id: I4771452504a7f0caeeac7b8801dcc2350e70b6ca
2016-08-20 17:30:47 +00:00
Jenkins
464715d1ad Merge "Optimize horizon cache and compress for http response" 2016-08-19 15:54:02 +00:00
Jenkins
8b49d6611e Merge "Add basic checking for network_interface to prechecks" 2016-08-19 15:53:10 +00:00
Jenkins
3d1171f0d3 Merge "Start using orchestration_engine variable" 2016-08-19 15:06:07 +00:00
Paul Bourke
a01b803b53 Add basic checking for network_interface to prechecks
Add the following prechecks for network_interface:

* Check it exists on the node
* Check its up
* Check it has an IP associated

TrivialFix
Change-Id: I86f1d79d8592a3b108822e7d19541f91a1c0d716
Co-Authored-By: James McCarthy <james.m.mccarthy@oracle.com>
2016-08-19 09:39:50 +00:00
Jenkins
34bff50602 Merge "Create the _member_ role in the horizon role" 2016-08-19 02:03:10 +00:00
Jenkins
d44055fbff Merge "Improve rabbitmq-clusterer template code format" 2016-08-19 01:50:59 +00:00
Duong Ha-Quang
d96464e9ee Improve rabbitmq-clusterer template code format
TrivialFix

Change-Id: I735091c4d044344361e604014f3877b608223204
2016-08-19 00:34:16 +07:00
Jenkins
99790c862d Merge "Add pull.yml file for tempest" 2016-08-18 16:01:42 +00:00
Jenkins
595fa57586 Merge "Fix murano notification driver" 2016-08-18 13:51:43 +00:00
Jeffrey Zhang
1116953f44 Add pull.yml file for tempest
TrivialFix

Change-Id: I5ba19671a36eb2aab3bda96dd66486422cbc9cf7
2016-08-18 20:54:15 +08:00
Alexander Reunov
26d8d6cd8d Fix murano notification driver
Notification driver should be configured to avoid timeout failures of
murano app deployments while waiting notifications which will never be
sent.

The required driver is "messagingv2".

TrivialFix
Change-Id: Id0c753f50d93c81eedb2455a7323d86c08873c5f
2016-08-18 11:22:56 +00:00
Jenkins
a56550cd41 Merge "Port with_ loop variable syntax to Ansbile 2 (finish)" 2016-08-18 11:16:47 +00:00
Jeffrey Zhang
9ac7f96652 Create the _member_ role in the horizon role
The horizon need a normal exist in the keystone.

Change-Id: Ia3e4fb5245b4a943fc833f29a5a8d5eb1ee48fe9
Closes-Bug: #1579822
2016-08-18 11:15:01 +00:00
Duong Ha-Quang
5e35fc54a6 Port with_ loop variable syntax to Ansbile 2 (finish)
Migrate to full variable syntax in with_ loop
instead of bare variables for:

- cinder
- haproxy
- ironic
- magnum
- mistral
- mongodb
- murano
- swift
- watcher

TrivialFix
Change-Id: I3ef2e79053cf609aaa710e43ffd0adbc5a97565b
2016-08-18 17:45:52 +07:00
Jenkins
c44edb3659 Merge "Move the keystone_*_url variable from common role to group vars" 2016-08-18 03:14:37 +00:00
Serguei Bezverkhi
4d6afc67be Start using orchestration_engine variable
This PS switches to use orchestration_engine variable to differentiate
between ansible and kubernetes when generating configs.

TrivialFix

Change-Id: I8e566a9995f49e924614331458d0c81b9925e543
2016-08-17 16:38:31 -04:00
Jenkins
08c7cc7b2d Merge "Replace horizon default config with custom config" 2016-08-17 16:05:49 +00:00
Jenkins
bceaec7bc7 Merge "Fix the memcache location value in horizon local settings" 2016-08-17 11:19:08 +00:00
Jeffrey Zhang
3d6344d800 Move the keystone_*_url variable from common role to group vars
keystone_*_url are cross role variables. They are used in multi roles.
Move them from the common role to the group vars

TrivialFix

Change-Id: If451823ed7612bfec7bc797ec9dd2597164c6804
2016-08-17 16:53:40 +08:00
ZhongShengping
7b63d46f97 ironic.conf file missing enabled_drivers info
When ironic is deployed using kolla, in ironic.conf file
there is no configuration option of enabled_drivers present.

Change-Id: I5c9e7533e8ca139addee8cf4cc4084e856ae0306
Closes-Bug: 1610272
2016-08-17 15:40:30 +08:00
Jenkins
f63568ed3c Merge "Add heka custom config to define user's log pipline" 2016-08-15 15:55:40 +00:00
Jenkins
ec569e752d Merge "Fix the neutron-lbaas-agent container issues" 2016-08-15 15:53:34 +00:00
Jenkins
c2e578b375 Merge "Add upgrade tasks for Ceilometer" 2016-08-14 14:08:03 +00:00
Jeffrey Zhang
05ed43e335 Fix the memcache location value in horizon local settings
When setting multi memcached servers, the value should be a list
rather then a comma joined string

This patch set I586ce1c6c3300254c4e2a398ff46645df576aeb0 set it in
wrong

TrivialFix

Change-Id: Ic612658ab0310c6764310bbca92c925da6d47f6c
2016-08-14 17:16:24 +08:00
Ken Wronkiewicz
37b3c8c354 Keystone interface address and memcached override
Note: This should not result in any behavior changes in regular Kolla,
just Kolla-Kubernetes and only when you've overridden stuff in globals.yml

Allows override of interface address and memcached pools, so that
Kubernetes can do the right thing.

There are some significant architectural issues involved in
memcached pooling in the Kolla-kubernetes world.  Avoiding them right
now.

Current working Kolla-Kubernetes globals.yml file, assuming that your
memcached servers are available under the DNS alias "memcached":

api_interface_address: "0.0.0.0"

memcached_servers: "memcached"

keystone_database_address: "mariadb"
keystone_admin_url: "{{ admin_protocol }}://keystone-admin:{{ keystone_admin_port }}/v3"
keystone_internal_url: "{{ internal_protocol }}://keystone-public:{{ keystone_public_port }}/v3"
keystone_public_url: "{{ public_protocol }}://keystone-public:{{ keystone_public_port }}/v3"

Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Change-Id: I5126f81da7b4d48001b87f73d58bbbfad658209c
Partially-implements: blueprint api-interface-bind-address-override
2016-08-11 05:33:56 -04:00
Ken Wronkiewicz
99a1662f61 Fix interface address for Neutron-server
Note: This should not result in any behavior changes in regular Kolla, just Kolla-Kubernetes and only when you've overridden stuff in globals.yml

Binds to the api_interface_address variable and uses the keystone and memcached facts we defined in earlier patches.

Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Change-Id: I8610f4adaa557a21fedd05601e10f5c308fd7ce3
Partially-implements: blueprint api-interface-bind-address-override
2016-08-11 05:33:32 -04:00
Sean Mooney
3e8f9986d1 add baremetal role to install kolla deps.
Change-Id: Ie70db1b18a73528b1194e4fbcf53d09fed20f4a0
Implements: blueprint kolla-host
2016-08-10 16:03:08 +00:00
Ken Wronkiewicz
cc4150292c Fix intf address for RabbitMQ and disable cluster for Kube
enable_rabbitmq_cluster is now a "yes" by default but you can set it
to "no" if you want to disable clustering under any circumstances.

The agreement made at OpenStack in Austin was that Kolla-Kubernetes
would concentrate on RabbitMQ and MariaDB without clustering but
with persistent storage and workload migration, then examine how to
do proper distributed functionality as the project progresses, so I
am just following what we'd already agreed upon.

First, it helps us deal with issues of version upgrades without
dealing with clustered version upgrades and the synchronization
thereof.

Second, it provides an alternative model for durability when used in
Kubernetes.  Understand that, if we disable RabbitMQ's clustering,
Kubernetes is still able to re-schedule the queue off of a failed node
in ways that Kolla-Ansible is not.  There are known issues with
RabbitMQ clustering, especially with auto-heal turned on.  For many
small-to-mid-sized clusters, it's going to provide for a better
operator experience to have the known potential for a 30 second blip
after RabbitMQ node failure than it is to have the known potential
for partition and data loss and/or manual operations after you've
turned off auto-heal.

Kolla-kubernetes has already turned off host networking for the
RabbitMQ pod; it's safe to set the interface address in the
Kubernetes context.

The question was asked why don't I just set the RabbitMQ cluster to be
a single instance.  It's unlikely that Kubernetes RabbitMQ with a
PetSet will be clustered in the same declaritive fashion as the
rabbitmq-clusterer plugin. Easier to just disable it and worry about
how to configure the kube-friendly clustered RabbitMQ at a later point
in time.  Furthermore, it's an entirely valid case for many OpenStack
control planes hosted atop Kolla-Kubernetes to accept the possibility
of a 30-60 second blip in lieu of the long and questionable history
of RabbitMQ clustering in production.

Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Change-Id: I7f0cb22d29a418fce4af8d69f63739859173d746
Partially-implements: blueprint api-interface-bind-address-override
2016-08-10 09:40:54 -04:00
Jenkins
54c745fc36 Merge "Port with_ loop variable syntax to Ansbile 2" 2016-08-10 06:44:00 +00:00
Jenkins
b649bb7d4a Merge "Remove unused project_yaml parameter from role metadata files" 2016-08-10 05:50:31 +00:00
Jenkins
00c6fa87f7 Merge "Introduce a script to launch ovsdb-server process" 2016-08-10 02:17:55 +00:00
Serguei Bezverkhi
41ec75b567 Introduce a script to launch ovsdb-server process
The reason for introducing this script is to be able
to launch ovsdb-server and initialize it (create external bridge and plug
external interface) in one shot. It is applicable ONLY to Kubernetes environment
and it is required for Kubernetes DaemonSet usage. The behavior in classical
Kolla has not been changed.

TrivialFix

Change-Id: I54897cc2c0f2bcaaf0411822f3409bf96e92833d
2016-08-09 19:03:20 -04:00
Duong Ha-Quang
34975e291e Port with_ loop variable syntax to Ansbile 2
Migrate to full variable syntax in with_ loop
instead of bare variables for:
- ceph
- ceilometer
- glance
- heat
- horizon
- keystone
- mariadb
- memcached
- neutron
- nova
- rabbitmq

Change-Id: Ib925b4ecea47ac758a77739c9c7e140f06933b08
Partial-Implements: blueprint ansible2
2016-08-09 23:23:21 +07:00
Jenkins
88f0fb20dc Merge "Make Cinder access glance in round robin fashion" 2016-08-09 09:59:35 +00:00