66 Commits

Author SHA1 Message Date
Jenkins
08101fd465 Merge "Make Heka send logs to Elasticsearch" 2016-03-05 15:36:44 +00:00
Éric Lemoine
491aff0b88 Make Heka send logs to Elasticsearch
This patch includes changes relative to integrating Heka with
Elasticsearch and Kibana.

The main change is the addition of an Heka ElasticSearchOutput plugin
to make Heka send the logs it collects to Elasticsearch.

Since Logstash is not used the enable_elk deploy variable is renamed
to enable_central_logging.

If enable_central_logging is false then Elasticsearch and Kibana are
not started, and Heka won't attempt to send logs to Elasticsearch.

By default enable_central_logging is set to false. If
enable_central_logging is set to true after deployment then the Heka
container needs to be recreated (for Heka to get the new
configuration).

The Kibana configuration used property names that are deprecated in
Kibana 4.2. This is changed to use non-deprecated property names.

Previously logs read from files and from Syslog had a different Type
in Heka. This is changed to always use "log" for the Type. In this
way just one index instead of two is used in Elasticsearch, making
things easier to the user on the visualization side.

The HAProxy configuration is changed to add entries for Kibana.
Kibana server is now accessible via the internal VIP, and also via
the external VIP if there's one configured.

The HAProxy configuration is changed to add an entry for
Elasticsearch. So Elasticsearch is now accessible via the internal
VIP. Heka uses that channel for communicating with Elasticsearch.

Note that currently the Heka logs include "Plugin
elasticsearch_output" errors when Heka starts. This occurs when Heka
starts processing logs while Elasticsearch is not yet started. These
are transient errors that go away when Elasticsearch is ready. And
with buffering enabled on the ElasticSearchOuput plugin logs will be
buffered and then retransmitted when Elasticsearch is ready.

Change-Id: I6ff7a4f0ad04c4c666e174693a35ff49914280bb
Implements: blueprint central-logging-service
2016-03-05 11:51:49 +01:00
SamYaple
dd8e1cb2ee Fix horizon with ssl
Ubuntu did not have mod_headers enabled by default

Remove unused variable and adjust 'when' conditional positioning

TrivialFix

Change-Id: I82b8724526c24f4481a80165520d624f6a02c336
2016-03-04 14:51:50 +00:00
Dave McCowan
3daded6242 Add TLS protection on external API endpoints
TLS can be used to encrypt and authenticate the connection with
OpenStack endpoints.  This patch provides the necessary
parameters and changes the resulting service configurations to
enable TLS for the Kolla deployed OpenStack cloud.

The new input parameters are:

kolla_enable_tls_external: "yes" or "no" (default is "no")
kolla_external_fqdn_cert: "/etc/kolla/certificates/haproxy.pem"
kolla_external_fqdn_cacert: "/etc/kolla/certificates/haproxy-ca.crt"

Implements: blueprint kolla-ssl

Change-Id: I48ef8a781c3035d58817f9bf6f36d59a488bab41
2016-03-03 14:44:37 -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
Jenkins
2e7b6eeac0 Merge "Add ansible support for Manila" 2016-03-02 23:22:25 +00:00
Jenkins
5139a1442d Merge "Sanity check for swift" 2016-03-02 11:00:55 +00:00
Mauricio Lima
9786fd646f Add ansible support for Manila
Co-Authored-By: Marc Koderer <marc@koderer.com>
Change-Id: I16bab281f2eca341b7a649f766bae5f2cf18a117
Partially-Implements: blueprint enable-manila-containers
2016-03-01 10:55:47 -05:00
SamYaple
087c432068 Change default CONFIG_STRATEGY
Due to the fact COPY_ONCE is not how most people expect the container
to work, as well as causing additional delays in the reconfigure
process by needing to delete and recreate teh container, we should
default to COPY_ALWAYS. It is both how operators and deployers expect
things to work and allows a quick restart to pull in a new config.

TrivialFix

Change-Id: Ie5f043fc66aa85378f456017c9e31ddbbe6d8880
2016-03-01 15:49:15 +00:00
Jenkins
1e68e445db Merge "Move shared variables to group_vars/all.yml" 2016-02-29 22:34:13 +00:00
SamYaple
f1bf9a4a1e Move shared variables to group_vars/all.yml
This follows the structure we have for Ironic and Nova

Closes-Bug: #1551316
Change-Id: I609e3dda40c65b73bb5e1208f702740416a042ed
2016-02-29 18:40:15 +00:00
Jeffrey Zhang
459f429949 Use kolla_internal_vip_address for kolla_internal_fqdn
Use kolla_internal_vip_address for kolla_internal_fqdn in the all.yml
file. In this way, the global.yml no need set the old/deprecated
kolla_internal_address variable.

TrivialFix

Change-Id: I0768b9a2b615afb6a8b1f7c065189a495b8f9c9b
2016-02-29 23:44:37 +08:00
Eugene Bagdasaryan
790675be4f Sanity check for swift
This runs first sanity check for swift. Once
swift is deployed it checks list()

Change-Id: I613bf9f2893d66814863893ec5acde5aa252548d
Partially-Implements: blueprint sanity-check-container
2016-02-29 18:23:13 +03:00
jvora
c31729cdaf Sanity check for cinder
This runs first sanity check for cinder. Once
cinder is deployed it checks volumes.list()

Change-Id: I1b4cc57f21cf0fa52a391229c2c2b3fa995d32a8
Partially-Implements: blueprint sanity-check-container
2016-02-27 16:22:34 -08: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
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
Jenkins
0943e12fca Merge "Added Elasticearch and its deployment." 2016-02-19 15:25:55 +00:00
Mauricio Lima
0bdb1f5117 Add double quotes in kolla_enable_sanity_checks
TrivialFix

Change-Id: Ic36f1d22c1c011844f076828a7aef4d96da5e074
2016-02-18 08:01:12 -05:00
Jenkins
c6da765b49 Merge "Use variables to specify http or https when constructing URLs" 2016-02-16 22:37:27 +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
akwasniewska
792666dd79 Added Elasticearch and its deployment.
Part of ELK stack. Includes Dockerfiles for both Centos and Ubuntu.

Change-Id: I9f76adf084cd4f68e29326112b76ffd02b5adada
Partially-implements: blueprint central-logging-service
2016-02-13 07:53:24 +00:00
Hui Kang
3ae0063944 Add an ansible role for mongodb
Change-Id: Ia6ac371845d1f2b545406d096b35a6d5f68be5f6
Implements: blueprint ansible-mongodb
2016-01-27 10:48:34 -05:00
akwasniewska
3672152d9d Added Kibana and its deployment.
Part of ELK stack. Includes Dockerfiles for both Centos and Ubuntu.

Change-Id: I1d955a5c51e416cc572eb2c9b4c57982a1d6ab67
Partially-implements: blueprint central-logging-service
2016-01-26 15:53:13 +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
hparekh
409fc11e36 Ansible files for mistral containers.
Change-Id: Ifb55ff4a7ca70bc3d10fbb2ec067c245342d3288
Partially-implements: blueprint enable-mistral-container
2016-01-05 09:40:14 +09:00
SamYaple
f1821ae63a Remove unused params for kolla_docker
Update the group_vars and globals docuementation as well.

Change-Id: I3ffd49b8d99667425596a2753845767a62e05bf1
Partially-Implements: blueprint kolla-docker-module
2016-01-03 16:48:30 +00:00
Jenkins
ad262534d3 Merge "Add docker module in Kolla" 2015-12-31 16:03:07 +00:00
Jenkins
d6c77c7d86 Merge "Enable nova fake driver in nova containers" 2015-12-31 15:26:04 +00:00
Andrey Shestakov
1a368c9134 Add RadosGW container
Implements blueprint radosgw-container

Change-Id: Idc88a67a0979be626d3eaa9b2b9a527010aa2006
2015-12-29 12:49:03 +00:00
Hui Kang
047dbf12e0 Enable nova fake driver in nova containers
- See instructions in doc/nova-fake-driver.rst

Implements: blueprint nova-fake-driver

Change-Id: I553a40c2df39bdcc391eb1b8b2b8fd5f4ed48c33
Signed-off-by: Hui Kang <kangh@us.ibm.com>
Signed-off-by: Marcio D. Silva <marcios@us.ibm.com>
2015-12-29 06:39:35 -05:00
Sam Yaple
412a53dde1 Add docker module in Kolla
The upstream docker module in control of Ansible has proven to be a
major breaking point for Kolla. It is the reason we have a cap on
Docker of 1.8.2. They have stated no support for the Docker registry
v1 moving forward. We have to wait for a patch to land and then
upgrade to the latest Ansible version to take advantage of a new
Docker feature. Doing that is slow and it is not always possible to
upgrade if there are other breaking changes (aka ansible 2.0).

For these reasons we can build our own Docker module.

Partially-Implements: blueprint kolla-docker-module

Change-Id: I2ca57010c45710635cfe80ff23a2a5e2edabee57
2015-12-29 08:40:58 +00:00
SamYaple
82fcf8fad0 Fix version in master
Master version was still set to 1.0.0. This became alot more obvious
in a recent patch when we started pulling that version number for the
tag...

TrivialFix

Change-Id: Ie9c95a4dc606d0527c44fcd624b4473e45f7f3cf
2015-12-27 17:59:31 +00:00
Michal Jastrzebski
3f2a4f2c06 Record version on container build
This changes default behaviour of build.py to instad of putting latest
tag on it, it puts current kolla version as found in setup.cfg

Change-Id: I4d6e9a0159c6a5598abd58072594df4204427308
Partially-Implements: blueprint upgrade-nova
Partially-Implements: blueprint record-version
2015-12-11 11:02:46 -06:00
Michal Jastrzebski
aab1bd36c8 Sanity check for glance
This runs first sanity check for glance. After glance is deployed
it checks images.list(). Also consist few fixes for previous patches

Change-Id: I03d05d246302d8411b2e94c94ca7fe046c00d735
Partially-Implements: blueprint sanity-check-container
2015-12-02 14:19:01 -06:00
Michal Jastrzebski
f632cfe878 Sanity check for keystone
This runs first sanity check for keystone. After keystone is deployed
it checks tenants.list()

Change-Id: Ie919ffe6124eb70428309404a434d9b0eb0b9f70
Partially-Implements: blueprint sanity-check-container
2015-12-02 10:27:36 -06:00
Swapnil Kulkarni (coolsvap)
632eb2030f Fix minor typos in ansible
Change-Id: Iaac33c100027beef78f6a831a5081a9d3d5cc192
Closes-Bug:#1520070
2015-11-26 10:51:56 +05:30
Michal Rostecki
2cd5d9ed74 Add Ansible support for Magnum
Change-Id: Idb25ac4d3148c9b9400cf675ac2e47d35cce6224
Implements: blueprint ansible-magnum
2015-11-13 11:31:34 +01:00
Sam Yaple
1efdf4574d Allow disabling of sysctl values
The main reason for this change is to allow the DinD stuff to work. It
has limited use outside of that use case, but it may still be useful
to others in the future.

Change-Id: Ib3a4639cfb3fc0d378d33fc8b9ff8eb597f818ab
Partially-Implements: blueprint multinode-gate
2015-11-05 16:29:25 +00:00
Sam Yaple
cd3c089978 Ansible config for Spice console
Change-Id: Id6ccf169c8ce07c78df150de21ab2d36eec3949f
Partially-Implements: blueprint nova-proxies
2015-11-03 06:32:52 +00:00
Sam Yaple
b27880aa77 Automate setting up a cache tier
Introduces a new flag to bootstrap cache devices

DocImpact
Partially-Implements: blueprint ceph-improvements

Change-Id: I09b5a0d5c61b3465237e5f01dc10120725561cd3
2015-10-22 10:51:44 +00:00
Sam Yaple
1d60be3770 Allow ceph pool names to be configurable
Change-Id: Ic408ef7aec7f1c95396a0ccf0209b104908a3f21
Partially-Implements: blueprint ceph-improvements
2015-10-22 10:51:44 +00:00
Sam Yaple
6932ca48b8 Allow specifying erasure as the pool type
Change-Id: I581efd7c0d138cb78ab3afd755521f3fb375c0ee
Partially-Implements: blueprint ceph-improvements
2015-10-22 10:51:44 +00:00
Sam Yaple
2ea87ebdb7 Use memcache for consoleauth and horizon
Unfortunately there was no was to avoid memcache for consoleauth, so
we might as well take advantage of it for Horizon as well.

Change-Id: Idd338a025b031f6b50fe0c9f03c2c8d862f9d4c0
Closes-Bug: #1504606
Closes-Bug: #1504800
2015-10-15 10:47:21 +00:00
Sam Yaple
c5be228be8 Bump ansible to 1.9.2
Ansible 1.9.2 contains the fix needed for docker-py >1.2.0

This is needed for some gate reasons, but it is also a good version
bump because it fixes a few issues with delegate_to.

Change-Id: Iafbabb3b0232620849d0548c5cd9d8d316c2b0f3
backport: liberty
Partially-Implements: blueprint functional-testing-gate
2015-10-13 15:13:34 +00:00
Sam Yaple
94162bd08f Bring Kolla inline with FHS
This brings Kolla images inline with FHS and should make finding
locations of things more consistent and reliable with the linux world
at large.

Change-Id: Iece5b4da4bace0fb8b1f41a65ab2c852ec73e6f8
Closes-Bug: #1485742
2015-10-06 03:30:53 +00:00
Jeff Peeler
f5a50a1d7d Add Ansible support for Ironic
Configuration based off upstream documentation here:
http://docs.openstack.org/developer/ironic/deploy/install-guide.html

A few notes:
-ironic-api is not configured to use mod_wsgi
-several places it's noted that discoverd is going away and needs to be
replaced with ironic-inspector - (sqlite connection should be changed
too)
-currently enabling ironic reconfigures nova compute (driver and
scheduler) as well as changes neutron network settings
-a nice enhancement would be to configure the web console

Required post-deployment configuration:

Create the flat network to launch the instances:

neutron net-create --tenant-id $TENANT_ID sharednet1 --shared \
--provider:network_type flat --provider:physical_network physnet1

neutron subnet-create sharednet1 $NETWORK_CIDR --name $SUBNET_NAME \
--ip-version=4 --gateway=$GATEWAY_IP --allocation-pool \
start=$START_IP,end=$END_IP --enable-dhcp

And then the above ID is used to set cleaning_network_uuid in the neutron
section of ironic.conf.

Change-Id: I572e7ff1f23c4e57a2c50817cafe9269fd9950dd
Implements: blueprint ironic-container
2015-09-28 16:10:43 -04:00
Sam Yaple
99c7eb1997 Make OpenStack use Ceph
This implements all the openstack pieces needed to make ceph work.

DocImpact
Change-Id: I1d24476a966602cf955e5ef872b0efb01319894a
Partially-Implements: blueprint ceph-container
Implements: blueprint kolla-live-migration
2015-09-25 20:11:18 +00:00
Sam Yaple
c86e66c9dc Ceph Ansible support
Add the initial playbooks for making ceph and ansible play nice
together.

This does not include all of the openstack changes to make things like
nova, glance, and cinder work. This will simply build the ceph cluster
and thats it. The next patchset will do the OpenStack integration.

DocImpact
Change-Id: Ie1697dde5f92e833652933a80f0004f31b641330
Partially-Implements: blueprint ceph-container
2015-09-24 12:33:43 +00:00
Hui Kang
83157d1a19 Add nova_novncproxy port to haproxy configuration
Make novncproxy_port configurable

Change-Id: I54f7918b1927562baf2e125b7f5c8edaec87e993
Closes-Bug: #1497673
2015-09-22 15:48:09 +00:00