571 Commits

Author SHA1 Message Date
Jeffrey Zhang
4af394a242 Fix the syntax error for manila in neutron role
This is introduced by I21904659b1789fa71118401bfb6ac2227ae564da

TrivialFix

Change-Id: I8ab62c5b6c69e198e29205518941a9b0054c105f
2016-02-28 11:21:30 +08:00
Jenkins
c81097df8b Merge "Change kolla_internal_address variable" 2016-02-27 17:50:52 +00:00
Jenkins
32936b5923 Merge "Neutron ugprade play" 2016-02-26 22:51:01 +00:00
Jenkins
e4c027e395 Merge "Add upgrade play for ceph" 2016-02-26 22:49:26 +00:00
Jenkins
0f7edbc47d Merge "Add suport to neutron-agents and ovs runs in storage node" 2016-02-26 22:45:08 +00:00
Jenkins
c972f83b8f Merge "Add Ansible scripts to generate TLS certificates for testing" 2016-02-26 22:31:07 +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
Mauricio Lima
d7850df6dd Add suport to neutron-agents and ovs runs in storage node
The generic driver for manila need the neutron agents
and OVS / Linuxbridge running on the same node as manila_share.
This is necessary when the DHSS (Driver Handles Share Servers)
is the value "True", so that the manila_share can talk
with NFS manager.

Change-Id: I21904659b1789fa71118401bfb6ac2227ae564da
Partially-Implements: blueprint enable-manila-containers
2016-02-26 14:38:40 -05:00
Dave McCowan
fd28087229 Add Ansible scripts to generate TLS certificates for testing
Working towards the blueprint that will add TLS protection
for the external endpoints, kolla needs certificates.

When kolla deploys OpenStack, the external VIP will need
a server side certifcate.  Clients that access those endpoints will
need the public CA certificate that signed that certificate.

This ansible script will create these two certificates to make
it easy to use TLS in a test environment.  The generated
certificate files are:

/etc/kolla/certificates/haproxy.pem  (server side certificate)
/etc/kolla/certificates/haproxy-ca.pem (CA certificate)

The generated certificates are not suitable for use in a
production environment, but will be useful for testing and
verifying operations.

Partially-implements: blueprint ssl-kolla

Change-Id: I208777f9e5eee3bfb06810c7b18a2727beda234d
2016-02-26 14:09:31 -05:00
SamYaple
3cdd445d8b Neutron ugprade play
Since openvswitch is handled in the kernel, it really is as simple as
upgrade the container since the container only has userspace tools in
it.

Partially-Implements: blueprint upgrade-kolla
Implements: blueprint upgrade-neutron
Change-Id: Iec57c67a1ccba8f48b752fe832cd714bcc658af0
2016-02-26 16:00:26 +00:00
SamYaple
e76f862e99 Add upgrade play for ceph
Ceph is pretty easy to work with. Upgrade mons, then osds, then rgws

We want to eventually make these serial values configurable, but for
now due to cephs delicate distributed network nature it is safest to
only run 1 change at a time.

Change-Id: Icc721ab3651379c28fee853ca95f9e3ddf102998
Partially-Implements: blueprint upgrade-kolla
Implements: blueprint upgrade-ceph
2016-02-26 15:45:43 +00:00
Éric Lemoine
95cf542f8d Fix parsing of RabbitMQ logs
Currently Heka fails to parse the RabbitMQ logs. There are two
problems:

1. The rabbit-sasl.log file is ignored but the file_match expression
   does not match.
2. The delimiter used in the RegexSplitter makes Heka stop on the
   very first log entry. '\n\n(=[^=]+====' (with two \n's) is
   a better delimiter. deliver_incomplete_final is used to get the
   final log entry.

TrivialFix

Change-Id: I94720340d5b2d6fd5d7641b9ff58733f6cd882ee
2016-02-26 14:50:32 +01:00
Jenkins
6fa1ce127d Merge "HAProxy and Keepalived upgrade" 2016-02-25 23:05:13 +00:00
Jenkins
c79174012c Merge "Add the default empty reconfigure.yml file to all roles" 2016-02-25 21:58:56 +00:00
Michal (inc0) Jastrzebski
097e259ee9 HAProxy and Keepalived upgrade
This is single task to upgrade both haproxy and keepalived. It stops
slave nodes of keepalived and upgrades them separately to avoid
VIP migration and allow nearly no-downtime upgrade

Change-Id: I06124635a3f3553a4e8e91013cefbf897dd7179f
Implements: blueprint upgrade-haproxy
Implements: blueprint upgrade-keepalived
Partially-implements: blueprint upgrade-kolla
2016-02-25 19:05:20 +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
Jenkins
1a9631a30e Merge "Ensuring the Mariadb bootstrap configured properly" 2016-02-24 22:09:44 +00:00
Jenkins
fb5773f100 Merge "Switch ceph to use storage network" 2016-02-24 18:44:15 +00:00
SamYaple
1e2dfad50b Switch ceph to use storage network
Ceph was not properly using storage network.

TrivialFix

Change-Id: Ibf3da5d19cd2ca874d251b455a7eb856154fc3f7
2016-02-24 17:19:52 +00:00
Jenkins
bb48523f9f Merge "Use passed client IP address in various audit logs" 2016-02-24 17:00:35 +00:00
Jenkins
a9b016e43a Merge "Fix non-idempotent heka bootstrap" 2016-02-24 16:32:27 +00: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
Dave McCowan
34c2cb8e64 Implement Option for Two VIPs to separate API traffic
To improve security, operators have asked for two VIPs for
their cloud.

VIP 1 is the internal VIP that can reach internal and admin endpoints.
In addition, the internal VIP can also reach other internal services,
such as the database and message services.
VIP 2 is the external VIP that can only reach public endpoints.

With one VIP only, all services are reached at the same address.

To add a second VIP, this patch adds two new configuration parameters.

kolla_external_vip_address: is an IPv4 address to use for created VIP
kolla_external_vip_interface: is the network interface to use for VIP
In this scenario, the first VIP (the internal VIP), is defined by
the original parameters (kolla_internal address and network_interface).

When using two VIPs, the existing kolla_external_address parameter
should be/point to/resolve to the kolla_external_vip_address.

Closes-bug: 1535333

Change-Id: I5bfcefaf7899298455cdade8209c34324aebfecb
2016-02-24 09:18:06 -05:00
SamYaple
52c4667b10 Fix non-idempotent heka bootstrap
This bootstrap was non-idempotent. This patch follows the style
first implemented with nova to make this idempotent.

TrivialFix

Change-Id: Id04e59c5274a7d8a5bffd3ce018f3bbb84839d75
2016-02-23 22:16:56 +00:00
Jenkins
56c32ac39a Merge "Remove Rsyslog entirely" 2016-02-23 16:37:56 +00:00
Jenkins
a431b69560 Merge "Make Heka collect Mistral logs" 2016-02-23 16:37:49 +00:00
Éric Lemoine
0417844b8d Remove Rsyslog entirely
Partially implements: blueprint heka

Change-Id: I1322d2dc870e6f8fe052926995d993e8a08a25db
2016-02-23 01:45:23 -08:00
Éric Lemoine
a2fe38bba5 Make Heka collect Mistral logs
Partially implements: blueprint heka

Change-Id: Ib6ac3228626360216c2c738ed601d61375b51675
2016-02-23 01:33:47 -08:00
Éric Lemoine
d87786e41e Change Jinja2 expressions in heka.json.j2
This follows up on a review comment from sdake [*] and change the
Jinja2 expressions used in heka.json.j2.

[*] <https://review.openstack.org/#/c/283118/3/ansible/roles/common/templates/heka.json.j2@49>

TrivialFix

Change-Id: I20ee5084cfef6acf53a737757fe727df5b4e9fce
2016-02-23 09:39:44 +01:00
Jenkins
2b0a070ee5 Merge "Fix Swift logging" 2016-02-22 21:49:42 +00:00
Jenkins
558190592e Merge "Upgrade stub for elasticsearch" 2016-02-22 20:39:48 +00:00
Michal (inc0) Jastrzebski
70268a1658 Upgrade stub for elasticsearch
This should be later replaced with actual upgrade logic

Change-Id: I1c386a7f3bc0d15ebe4a47d2628833172a15f89b
Partially-implements: blueprint upgrade-kolla
Partially-implements: blueprint upgrade-elasticseatch
2016-02-22 19:42:32 +00:00
Jenkins
e6263dcd09 Merge "Use external address in novncproxy and spice" 2016-02-22 19:14:06 +00:00
Jenkins
3678532f34 Merge "Upgrade task for Swift" 2016-02-22 18:18:35 +00:00
xionglingfeng
64a3ac8433 Use external address in novncproxy and spice
Change-Id: I1e5fd00eb3978db950f008e740d3b8130964909f
Closes-Bug: 1548445
2016-02-22 14:43:12 -03:30
Éric Lemoine
e6a9b9627a Fix Swift logging
Swift uses Syslog, but it uses a custom log format.  So this commit
adds a specific Heka decoder for Swift.

It also increases the log level from "warning" to "info" to make
Swift more verbose.  Note that "info" is the default log level in
Swift.

And it disables the Heka configuration for Swift when "enable_swift"
is set to "no".  This prevents Heka from creating 15 empty Swift log
files in the logs volume.

Partially implements: blueprint heka

Change-Id: If7a7d0707e71be2957178e2d45b5de51b788232e
2016-02-22 08:53:20 -08:00
Jenkins
9e2c11cb3e Merge "Add a precheck for MountFlags=shared" 2016-02-22 16:48:02 +00:00
Jenkins
08422056d3 Merge "Playbook for glance upgrade" 2016-02-22 16:05:19 +00: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
Ryan Hallisey
9438b2bf56 Add a precheck for MountFlags=shared
In order to avoid the neutron-dhcp-agent container from
failing, you need to change 'MountFlags' to 'shared' in
/var/lib/systemd/system/docker.serivce.  Add a precheck
so that this issue will not happen as often.

Closes-bug: #1546681
Change-Id: I339b5e93e870534fe16c6610f299ca789e5ada62
2016-02-22 04:06:07 -05:00
xionglingfeng
41ef954ae7 fix neutron-dhcp-agent start failure
The new heka changed log path. It is necessary to change
the dnsmasq log path as well.

Change-Id: Iaffecb8baf87961931727ce653f6c72740896a8f
Closes-Bug: 1548199
2016-02-22 03:21:32 -03:30
Paul Bourke
e09375a4ed Upgrade task for Swift
Based on the Nova upgrade patch and recommendations from Swift PTL John
Dickinson at
https://swiftstack.com/blog/2013/12/20/upgrade-openstack-swift-no-downtime/

Notes:

As part of this upgrade I have chosen to *not* migrate any data from the
old style swift_data container. This is because it was never intended to
be used in production; this fact is made clear in the docs.

In regards to testing, as of this patch we do not yet have an upgrade
task for the common containers (rsyslog and kolla-toolbox), so
attempting to upgrade swift will result in it failing to find the
kolla-toolbox. This will be true of any other upgrade until upgrade for
common is added. It can be worked around by deploying another role such
as keystone which will drag in the common role and start up
kolla-toolbox, after which Swift can be successfully upgraded.

Change-Id: I138556932e9bddcd595d94a3dcb69603268880ff
Partially-Implements: blueprint upgrade-kolla
Implements: blueprint upgrade-swift
2016-02-21 10:12:58 +00:00
Éric Lemoine
d935f2da68 Make Heka collect Magnum logs
Partially implements: blueprint heka
Change-Id: I91a977c6a3632c570f7a6054c8de3f5e3cb6932c
2016-02-19 21:56:10 +00:00
Éric Lemoine
1e86308140 Make Heka collect Murano logs
Partially implements: blueprint heka
Change-Id: I17fc4b838d6ba8b6fcfc5c08314fef5fac1c7aff
2016-02-19 21:56:10 +00:00
Éric Lemoine
82264ab7d6 Make Heka collect Heat logs
Partially implements: blueprint heka
Change-Id: Ie22c4326c6ec2a3426b0c3b8fda4554b1b2541b0
2016-02-19 21:56:10 +00:00
Éric Lemoine
170b493d47 Make Heka collect Cinder logs
Partially implements: blueprint heka
Change-Id: I9dcb71a9cf063fb520fcf3485e0376f1e90d87ad
2016-02-19 21:56:10 +00:00
Éric Lemoine
88633684a1 Make Heka collect Swift logs
Partially implements: blueprint heka
Change-Id: I893a0c4a4cab9d4d98821634ddd2ff67015c4e3f
2016-02-19 21:56:05 +00:00
Éric Lemoine
a2b130d6ba Make Heka collect Neutron logs
Partially implements: blueprint heka
Change-Id: I70e94f4ef7380c6f376a3066d7ddda042c703637
2016-02-19 21:49:21 +00:00
Éric Lemoine
684873b89b Make Heka collect Keystone logs
Partially implements: blueprint heka
Change-Id: I940143876981a04464af67aff65c09a06926701d
2016-02-19 21:49:21 +00:00
Éric Lemoine
0251ac73d5 Make Ansible write its logs into "kolla_logs"
The Ansible logs are currently not collected by Heka.  This can be
done later, with an Ansible-specific decoder for Heka.

Partially implements: blueprint heka
Change-Id: I8d3ba4edb527f61c0a8234024b4be953c6e6c565
2016-02-19 21:49:21 +00:00