110 Commits

Author SHA1 Message Date
Mick Thompson
4c1482b999 Added serial option to site.yml.
Useful for upgrade etc., which is preferablly done serially.

Example usage: tools/kolla-ansible deploy OR tools/kolla-ansible upgrade

Closes-Bug: #1576708

DocImpact

Change-Id: I34b2e16f8ce53e472a4682a4738c4ac0f5abf00c
2016-09-13 09:26:51 +00:00
Serguei Bezverkhi
134089d6cd Adding required check for Orchestration Kubernetes
Thgis PS add missing check for Kubernetes orchestration engine,
without these changes, running kolla-ansible genconfig fails
for Kubernetes environment.

TrivialFix

Change-Id: I25eeb7ae3ddba7c924f6d48aa24afdbe74227170
2016-09-12 15:32:42 -04:00
Jeffrey Zhang
d255743601
Move to transport_url for rabbitmq configuration
rabbit_hosts, rabbit_userid and rabbit_password are deprecated for
removal.[0]

rpc_backend is deprecated for removal.[1]

rabbit_ha_queues is deprecated. it is useless when using RabbitMQ >= 3.0
[2]

[0] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_rabbit.py#L112,#L134
[1] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/transport.py#L46
[2] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_rabbit.py#L163,L174

Closes-Bug: #1614082
Change-Id: I05d318ba6c11c5dbfa9fbf67d088a43ab465be30
2016-08-25 16:07:42 +08:00
Jenkins
54c745fc36 Merge "Port with_ loop variable syntax to Ansbile 2" 2016-08-10 06:44:00 +00: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
Christian Berendt
823cb33aec Remove unused project_yaml parameter from role metadata files
TrivialFix

Change-Id: I7ff752fffe47e9571ea15acdad3edd4835f9e612
2016-08-07 22:18:17 +02:00
Ken Wronkiewicz
85db94e5b7 Glance interface address, memcached override, and glance 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, memcached pools, and glance registry
host 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 with this Kolla-Kubernetes globals.yml file:

api_interface_address: "0.0.0.0"

memcached_servers: "memcached"

keystone_database_address: "mariadb"
keystone_admin_url: "http://keystone-admin:35357/v3"
keystone_internal_url: "http://keystone-public:5000/v3"
keystone_public_url: "http://keystone-public:5000/v3"
glance_registry_host: "glance-registry"

Two tings to note:
 * This depends on a kolla-kubernetes patch, so that it won't be merged
   until it's safe for glance to bind to 0.0.0.0.  It's OK to bind to
   0.0.0.0 in the Kubernetes world because the network fabric controls
   access.
 * In Kolla-Kubernetes, the global.yml file doesn't do var substitution
   so you have to be explicit about the URLs, otherwise Keystone will
   look like it was provisioned but it won't quite be provisioned right.

Co-Authored-By: Ryan Hallisey <rhallise@redhat.com>
Change-Id: Ic87566118a1d4f552748392ff394b9b121c91887
Partially-implements: blueprint api-interface-bind-address-override
Depends-On: I586ce1c6c3300254c4e2a398ff46645df576aeb0
2016-08-02 12:39:26 -04:00
Jenkins
9aa0acb65b Merge "Consistent external Ceph configuration for Glance" 2016-07-27 19:28:13 +00:00
Jeffrey Zhang
3c3b0288b4 Use a lower number of the workers
Use a lower number of workers rather than the default value, which is
equal to the number of the cpu. Otherwise, in a multi cpu environment,
the number of the processes will very high.

In this PS, we use min(5, << number of cpu >>) as the default worker
count.

Closes-Bug: #1582254
Change-Id: I1c32cf0db794b43b8fb8be18f39190422ca5846f
2016-07-27 16:36:25 +08:00
Mathias Ewald
a66f0076ea Consistent external Ceph configuration for Glance
Made glance follow the <service>_backend_ceph configuration pattern.

Change-Id: I7bc2b3b35d96bd297d520750dccd7333fa68d941
Closes-Bug: #1605962
2016-07-24 07:04:05 +00:00
Jenkins
da61508db8 Merge "Fix the failure to create instance snapshot" 2016-07-20 02:54:40 +00:00
Jeffrey Zhang
101856b863 Fix the failure to create instance snapshot
When making snapshot for instance with ceph enabled, nova will use
upate image api to create the snapshot directly. with the patchset
I7284dee828bc8ca00747bc7668b37fa7176afc85 in Glance, the
show_multiple_locations must be True.

Change-Id: Ic9612566e2ab8f641030fef97b519f11d942a915
Closes-Bug: #1604464
2016-07-19 23:16:36 +08:00
Bartłomiej Daca
e61f13d880 Fix 'reconfigure' command of kolla
Changed the order of the 'when' statements in "remove/restart
containers" tasks. It will fix the reconfiguration problem when
deploying different components on different hosts.

Change-Id: Ibee9dd56b6128b664144deb1d9eb7ec32e39fd5c
Closes-Bug: #1603943
2016-07-18 13:51:11 +02:00
Mathias Ewald
f16a45180c External Ceph support - Implementation Glance
Most simple implementation of external ceph support.

We use INI merge to configure RBD backend for Glance and copy
ceph.conf and keyring provided by the user into the container.

Set_configs.py had to be extended to support globbing (wildcards) in
order to copy ceph keyring file which is named depending on the cephx
user name.

Partially-Implements Blueprint: external-ceph
Partially-Implements Blueprint: selectable-ceph

Change-Id: Iacadbd8ec9956e9f075206ea03b28f044cb6ffb8
2016-07-14 14:05:34 +00:00
Dave Walker (Daviey)
2a2a86ac43 glance-*, fix rabbit config with ceilometer
Currently, if ceilometer is enabled with glance then the
rabbitmq is non-functional, causing various glance failures
including image upload.

This is caused because:
The generated config fails to have a carriage return at the
end of the rabbit_host line, causing the following line to
be added to this entry.

rabbit_host is used rather than rabbit_hosts, where the
fromer expects a string, rather than the list that is
provided.

This also adds rabbit HA support, to be in-line with the
other services using rabbitmq.

This is resolved, by pushing the rabbit_hosts entry to be
last, meaning that a carriage return is not required.

Change-Id: I89f26d542565b98025fd9b84fc4beb5cbed364e5
Closes-Bug: 1596244
Signed-off-by: Dave Walker (Daviey) <email@daviey.com>
2016-06-26 01:17:34 +01:00
Hui Kang
4108c6c6ec Implement ceilometer ansible role
Change-Id: I13c50a78b2dc7c98b720a4b2e7161104213bd295
Implements: bp ansible-ceilometer
2016-06-16 22:05:56 -04:00
Christian Berendt
c37d1d25bc Load the metadata definitions during Glance bootstrap
Change-Id: I4e6ecbcfbd11a516b1ddc2fe7a62f20b8313ae07
Closes-bug: #1584698
2016-06-13 20:36:57 +02:00
Jenkins
6f17a71d7f Merge "add support for non-default database_port in kolla/ansible" 2016-05-26 09:24:56 +00:00
Ryan Hallisey
2da010a7b9 Make configurable the location where config files are merged
An operator may want to specify the location of custom config
files so that kolla can detect their location and merge
them with the default configs generated.

Partially implements: blueprint multi-project-config

Change-Id: Ibfb38d07a36dfa7fe25381adc34cc1d3cbe7d1e1
2016-05-23 03:23:06 -04:00
Waldemar Znoinski
a2c2eba34f add support for non-default database_port in kolla/ansible
This change makes each step of the kolla deployment aware
of the port database was configured to listen on.
It defaults mariadb_port to database_port.

Change-Id: I8e85d5732015afc0a5481cb33e0b629fdfa84a1b
Closes-Bug: #1576151
DocImpact
2016-05-13 12:12:25 +00:00
Jenkins
1011b7cd24 Merge "map the host localtime to the container" 2016-05-03 19:12:15 +00:00
Jeffrey Zhang
0fcee87549 map the host localtime to the container
Closes-Bug: #1577148
Change-Id: I636cefc63cf532434a41af3898b63dffa711e280
2016-05-03 09:27:51 +08:00
Mauricio Lima
2c34214388 Remove unecessary blank lines
TrivialFix

Change-Id: I1f03d428c380dfdbde5ef33e7ea43cbf5e9154ce
2016-05-02 07:44:29 -04:00
Ryan Hallisey
67333e4dd1 Set db connection retry to infinity
Make sure that all the sevices will attempt to
connect to the database an infinite about of times.
If the database ever disappears for some reason we
want the services to try and reconnect more than just
10 times.

Closes-bug: #1505636
Change-Id: I77abbf72ce5bfd68faa451bb9a72bd2544963f4b
2016-04-11 07:22:09 -04:00
Jeffrey Zhang
0a6cff4a6d Refactor the glance service group mapping
Add a glance_service_groups variable containers the container name,
service name and group name. In this way, we can remove lots of
duplicated lines.

TrivialFix

Change-Id: I9beb7509ad7221cd495e3211a2e67d986486aac6
2016-03-28 12:25:48 +08:00
Jeffrey Zhang
9523fd0e56 Only copy the necessary config files for Glance
Only copy the necessary config files when it _really_ needed. This
will make the config file safer

Partial-Bug: #1559122
Change-Id: I5f5df54c688fb4f6b0ee68815116e2418d5742f7
2016-03-28 12:24:23 +08:00
SamYaple
d4535b6dc3 Add memcached_servers to keystone_auth section
The in-process cache for keystone tokens has been deprecated due to
"incosistent results and high memory usage" with the expectation we
switch to memcached_servers if we want to stay performant.

Add memcache_servers [cache] section to the appropriate servers as the
[DEFAULT]\memcache_servers options was deprecated.

TrivialFix
Related-Id: Ied2b88c8cefe5655a88d0c2f334de04e588fa75a

Change-Id: Ic971bdddc0be3338b15924f7cc0f97d4a3ad2440
2016-03-19 21:53:03 +00:00
SamYaple
1f371e2717 Allow per node configuration with augments
This type of per node configuration is required to support things like
availability zones for nova. As always, if this file doesnt exist it
doesnt get used so this change is safe.

TrivialFix

Change-Id: Iff8172af522c2c96e5f2c173b24a5dfd4d522ed2
2016-03-17 17:18:00 +00:00
SamYaple
ff91d53c76 Refactor glance config tasks
This now matches the way we copy confis in other services.

TrivialFix

Change-Id: Ia9c6d5f9a633c0b20b4d9a697863bd2753d39443
2016-03-17 17:18:00 +00:00
Dave McCowan
1c31951b85 Use internalURL for internal communication
When using separate networks for external APIs and internal
APIs, services need to be configured to use the internal APIs.
The default is typically publicURL.

TrivialFix

Change-Id: I24da63220a65e210c37d9f24b6d76a0031d66f3d
2016-03-07 09:28:48 -05:00
SamYaple
57124620ab Fix Keystone v3 and Horizon
After our switch to keystone-manage bootstrap Horizon is not happy
due to v3 not being setup correctly. This patch fixes that

This also includes removal of unused variables (transforms them into
endpoint url variables)

TrivialFix
Change-Id: I1e04db8c24049f80e974c063f03068a2ab32a563
2016-03-03 15:44:53 +00:00
Jeffrey Zhang
75ce1e447d Reconfigure glance service
Change-Id: Ic9e98941711a5fd1b8546de58d278a0b00cf350b
Partially-implements: bp kolla-reconfig
2016-03-02 23:50:21 +00:00
SamYaple
d3cfb2052a Change kolla_internal_address variable
Due to poor planning on our variable names we have a situation where
we have "internal_address" which must be a VIP, but "external_address"
which should be a DNS name. Now with two vips "external_vip_address"
is a new variable.

This corrects that issue by deprecating kolla_internal_address and
replacing it with 4 nicely named variables.

kolla_internal_vip_address
kolla_internal_fqdn
kolla_external_vip_address
kolla_external_fqdn

The default behaviour will remain the same, and the way the variable
inheritance is setup the kolla_internal_address variable can still be
set in globals.yml and propogate out to these 4 new variables like it
normally would, but all reference to kolla_internal_address has been
completely removed.

Change-Id: I4556dcdbf4d91a8d2751981ef9c64bad44a719e5
Partially-Implements: blueprint ssl-kolla
2016-02-26 20:00:09 +00:00
Jenkins
c79174012c Merge "Add the default empty reconfigure.yml file to all roles" 2016-02-25 21:58:56 +00:00
Jeffrey Zhang
d26c259754 Add the default empty reconfigure.yml file to all roles
DocImpact

Partially-implements: bp kolla-reconfig
Change-Id: I9738e80960bcfbef18d1ef1b7942f81c45684e85
2016-02-25 09:32:53 +08:00
Dave McCowan
b770339534 Use passed client IP address in various audit logs
HAProxy: change to use option forwardfor to pass origin IP address
to backend via X-Forwarded-For header

Keystone: Apache does the audit logs for keystone.  Change the
LogFormat to display the passed address instead of the connection
address which is that of the load balancer.

Nova, Cinder, Glance: these services can make use of the address
passed in X-Forwarded-For.  With this setting the API logs for
these services include the client IP address.

Change-Id: Ia861ecc11a7c7d463d0366586926d1a842853f69
Closes-Bug: #1548935
2016-02-24 09:51:13 -05:00
Jeff Peeler
301602d8f1 Playbook for glance upgrade
New playbook for glance service upgrade.

Change-Id: I759e4eddf669112f752fe07d6b99a4bb9593d97f
Implements: blueprint upgrade-glance
Partially-Implements: blueprint upgrade-kolla
2016-02-22 10:25:51 -05:00
Éric Lemoine
5de471f61e Make Heka collect Glance logs
Partially implements: blueprint heka
Change-Id: I9e5ba649bc45356822138ad223430f4b93722448
2016-02-19 21:49:21 +00:00
Jenkins
6e622fa534 Merge "Move socket binding to named_volume" 2016-02-17 02:06:26 +00:00
Jenkins
c6da765b49 Merge "Use variables to specify http or https when constructing URLs" 2016-02-16 22:37:27 +00:00
SamYaple
690e6853de Move socket binding to named_volume
The extend_start.sh script for rsyslog is removed as it is no longer
needed. Docker no longer binds to /dev/log or /run/kolla/log

Closes-Bug: #1544545
Change-Id: Ic0a323a26ee4e9e15baf4598285844a8a4955f23
2016-02-16 14:42:41 +00:00
Jenkins
84f43146dc Merge "Use uppercase 'S' in word "OpenStack"" 2016-02-15 16:23:37 +00:00
Dave McCowan
1cedf77f19 Use variables to specify http or https when constructing URLs
To allow for TLS to protect the service endpoints, the protocol
in the URLs for the endpoints will be either http or https.

This patch removes the hardcoded values of http and replaces them
with variables that can be adjusted accordingly in future patches.

Change-Id: Ibca6f8aac09c65115d1ac9957410e7f81ac7671e
Partially-implements: blueprint ssl-kolla
2016-02-15 09:48:58 -05:00
venkatamahesh
70de590a11 Use uppercase 'S' in word "OpenStack"
Change-Id: I27ca0ea75f3d6a4371c91b3cb2c7a999ec90fbc4
2016-02-15 12:37:30 +00:00
SamYaple
e8d66766f0 Fix gate for docker 1.10
Docker 1.10 has broken the gate and this patch will correct that
breakage.

The issue comes with rsyslog. Due to a commit in Docker 1.10 [1] we
must change the way we get the log socket for rsyslog. The /dev/
folder will no longer populate as we used it. So instead we simply
make a new socket in a path we control and share that to the correct
location in the containers.

Additionally, adjust the gate for new Docker daemon.

[1] https://github.com/docker/docker/pull/16639
Partially-Implements: blueprint kolla-upgrade
Change-Id: I881a2ecdf6d7b35991e1d38a3f3e60d022d6577f
2016-02-06 06:48:53 +00:00
SamYaple
80b7266ed1 Rename kolla_ansible to kolla_toolbox
This change is needed for clarity. We have a kolla-ansible script.
We have a kolla-mesos repo. We plan to have a kolla-ansible repo.
Already we have had far too much confusion about whether we are
talking about the container or the project. Naming this kolla-toolbox
eliminates all of that confusion and its probably a bit more accurate
of a name too.

Closes-Bug: #1541053
Change-Id: I8fd1f49d5a22b36ede5b10f46b9fe02ddda9007e
2016-02-02 18:12:15 +00:00
SamYaple
6d8959a962 Update all bootstraps to use Label
Add bootstrap label to all bootstrap containers to ensure that when
the a new container is launched a difference is seen between it and
the bootstrap container since we cannot rely on ENV variables for
this. This only affects mariadb at this stage, but it is needed to
ensure rabbitmq works when we switch to named volumes.

Change-Id: Ia022af26212d2e5445c06149848831037a508407
Closes-Bug: #1538136
2016-01-28 20:26:41 +00:00
Michal Jastrzebski
375965ddfb Add stub upgrade.yml
After introduction of pull action and turing every main.yml into
{{action}}.yml we lost ability to perform upgrade

Change-Id: Ie9fa2cd083b061033abc733fba53d54f9c55e393
Fixes-Bug: #1538210
2016-01-26 11:52:19 -06:00
Jenkins
801f84ed11 Merge "Add debug option in config file" 2016-01-21 22:44:03 +00:00
Ice Yao
e1ff26612f remove option verbose define in defaults/main.yml
References: https://review.openstack.org/#/c/269042/

TrivialFix

Change-Id: Ief08781342a06f956fc4cf00ba4383759da8c897
2016-01-20 16:17:05 +08:00