135 Commits

Author SHA1 Message Date
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
976c9c93c7 Switch to with items for sysctl
This will give more info to the user about the specific values being
set and allows us to grow this list easier.

TrivialFix

Change-Id: Iaf22bf2c9f4ab294bec0cca17699d461852109ac
2016-03-15 14:57:06 +00:00
Jenkins
e482947165 Merge "Fix the nova reconfig not work issue" 2016-03-13 16:27:57 +00:00
Jeffrey Zhang
8170ea6f9c Fix the nova reconfig not work issue
The nova_compute nova_compute_ironic, nova_novncproxy
and nova_spicehtml5proxy do not be reconfigured due to
the wrong when condition

TrivialFix

Change-Id: Id27828b151301244da5d327b2b656780f283c4b4
2016-03-13 19:29:39 +08:00
Allen Gao
9c739a7190 Fix the deprecated security_group_api and network_api_class
The security_group_api option is deprecated since
https://review.openstack.org/#/c/288602 , the security_group_api
will be detected through use_neutron.

TrivialFix

Change-Id: I4e4dd9397b67243ed7268529d9ed0d9b86c846dd
2016-03-08 17:50:08 +08:00
Jenkins
356af48625 Merge "Reconfigure nova service" 2016-03-04 15:03:31 +00:00
Vikram Hosakote
1c33173927 Reconfigure nova service
This patch set implements reconfiguring the nova service.

Change-Id: If078efd9ca98f815ca7830de912a4bc8916ff403
Partially-implements: bp kolla-reconfig
2016-03-03 20:48:44 +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
3aedf52489 Merge "Move ironic-discoverd to ironic-inspector" 2016-03-01 13:00:24 +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
Allen Gao
235e95885b Move ironic-discoverd to ironic-inspector
Closes-Bug: #1551052
Change-Id: Ic226287bbf1f1e8d5cc2e1d80ce2975448b1f95c
2016-02-29 11:47:52 +08:00
Allen Gao
1eeaf60497 Remove the role path from the template src
The path of the template file under the same role
can easily be omitted, and we are using this omitting
in most places except those this commit is fixing.

TrivialFix
Change-Id: I6d1563e235151669d9d9268d69555aae15e31926
2016-02-29 10:42:01 +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
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
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
511a758982 Make Heka collect Nova logs
Partially implements: blueprint heka
Change-Id: I67dfc5d762d74454e4a852dd61c57fe9cd4b78c8
2016-02-19 21:49:18 +00:00
Michal Jastrzebski
ce4230fab1 Playbook for nova upgrade
This creates tree and playbook for nova upgrade. Also other service
upgrades will follow standard setup here.

Change-Id: Ic31759efaee4986eb87b9ff0968f13189d130d48
Partially-Implements: blueprint upgrade-kolla
Implements: blueprint upgrade-nova
2016-02-19 13:58:18 -06: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
ddb7cd88c5 Convert Neutron to thin containers
*** Requires Docker 1.10 which is released ***

Documentation will be in the next patch. You must set the following
in your docker.service daemon control file for propogation to work:

    [Service]
    MountFlags=shared

======================================================================

Thanks to mount propagation in Docker 1.10 we can use thin containers
finally! This is extremely useful to operators since now they can
access the network namespaces from the hosts (outside the neutron
container). But additionally it allows us to implement the VPN agent
and other services easier.

Neutron containers and the neutron role are brought into the standards
of the new Kolla. Completely with drop-root and ansible formating
updates.

The ip_wrapper.py script was (thankfully) not needed so it has been
removed from the repo.

Partially-Implements: blueprint upgrade-neutron
Change-Id: Iaf5555283240457e1912459f397a6393d886fba1
2016-02-06 07:13:47 +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
508f3863cc Fix two missing toolbox references
Two patches merged that did not have teh correct name for
kolla_toolbox

TrivialFix

Change-Id: I09e230e29cff496247c32bf227715bfb7caa0a95
2016-02-05 17:24:39 +00:00
Jenkins
b891afd64c Merge "Rename kolla_ansible to kolla_toolbox" 2016-02-05 15:04:37 +00:00
SamYaple
1ca35e688f Make libvirt reestablish connection with qemu
Libvirt stores some information in /run at runtime that is needed to
automatically reestablish a connection with the VM when a new
container is created. Without this information a long (and manual)
process is needed to redefine the running vms and reattach to the
running qemu process.

This mountpoint was removed as "unneeded" in the past, but it does
exist in Liberty branch enabling a no-vm-downtime upgrade.

TrivialFix

Change-Id: I2eb31c602d8d17cbd6a8e405daf4123070794843
2016-02-04 12:15:36 +00:00
SamYaple
e7dfd63bfc Create nova-api database
This is a required patch.

Kilo introduced a nova-api database but didn't use it. [1]
Mitaka now uses it and has broken booting instances. [2]

[1] https://wiki.openstack.org/wiki/ReleaseNotes/Kilo#OpenStack_Compute_.28Nova.29
[2] df0fca62cf/releasenotes/notes/request-spec-api-db-b9cc6e0624d563c5.yaml

Change-Id: If0a7f4ba4937fab8d60f5236ca00db06faa768c7
Closes-Bug: #1540579
2016-02-02 21:56:54 +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
SamYaple
e80b44da08 Remove the libvirt socket
We use tcp connection rather than socket so we can remove the config
options related to it.

Additionally adjust the _extremely_ verbose logging from INFO to
WARNING.

TrivialFix
Change-Id: I88bf660134192f11732d012985df5c4f688419ba
2016-01-27 20:04:13 +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
e410386e45 Merge "Fix deprecated parameter name in nova.conf" 2016-01-22 12:59:01 +00:00
Hui Kang
c9e9637651 Fix deprecated parameter name in nova.conf
rename auth_type to auth_plugin

Change-Id: Idc20cc6e61fe15e64ba5b49e874f1290b9ee685d
closes-Bug: #1536820
2016-01-21 17:50:58 -05:00
Jenkins
801f84ed11 Merge "Add debug option in config file" 2016-01-21 22:44:03 +00:00
Jenkins
2504f55038 Merge "remove option verbose define in defaults/main.yml" 2016-01-21 08:26:53 +00:00
Artur Zarzycki
ef971bff51 Fix permissions to /var/lib/nova/
Due to changes with the drop-root work, we lost the ability to write
to /var/lib/nova/*. This fixes those permissions and ensures cross
container talk works properly between nova_libvirt and nova_compute

Additionally, this fixes another issue introduced which saw that
nova-compute could not run sudo commands as it did not have a proper
sudoers entry

Testing from previous deploys means you need a fresh environment. You
have to remove all of the named volumes that kolla created in docker.
Check these with `docker volume ls`

Signed-off-by: Hui Kang <kangh@us.ibm.com>
Signed-off-by: Artur Zarzycki <azarzycki@mirantis.com>
Co-Authored-By: Sam Yaple <sam@yaple.net>
Co-Authored-By: Hui Kang <kangh@us.ibm.com>
Closes-Bug: #1533350
Change-Id: I7f864c448a2414e0b5d89f48337be411b891df35
2016-01-20 16:58:01 +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
Ice Yao
83df0f8612 Add debug option in config file
Config file use *_logging_debug as debug default value

Change-Id: I41102fff9056a82f7307694252adff0aedcf2658
2016-01-20 15:44:27 +08:00
Wanlong Gao
66f5802daa Use driver instead of deprecated notification_driver in config
TrivialFix
https://review.openstack.org/#/c/249508/

Change-Id: Ie2732ee116b6b4b3e0210eb1f62fc72878d8c277
2016-01-19 17:09:19 +08:00
Allen Gao
3729755da0 remove option verbose from config files
Option "verbose" from group "DEFAULT" is deprecated for removal.
Its value may be silently ignored in the future.

If this option is not set explicitly, there is no such warning.
Furthermore, the default value of verbose is true, so there is
no need to set this value in config files.

TrivialFix

Change-Id: I3ec2a8900c984a64bc0645672ef89a63975f7f4e
2016-01-18 21:29:36 +08:00
Wanlong Gao
181b4947dd Use auth_type instead of deprecated auth_plugin
TrivialFix

Change-Id: I33924d6de43126ff8523883eebce703c976f9a1a
2016-01-16 07:44:14 +08:00
SamYaple
575bc72f7b Allow nova role to pull images
Change-Id: Ic20c31efea461f30917a94546db6e261a8b5166f
Partially-Implements: blueprint pre-pull-images
2016-01-06 04:23:28 +00:00
SamYaple
31b2b471c0 Fix broken nova-compute/nova-libvirt
Currently the state of master has nova_compute unable to talk to
nova-libvirt. There have been some efforts to fix this, but they have
failed for various reasons. This puts the connection type for libvirt
from a socket to connecting to the already-open tcp connection thus
restoring the ability for nova-compute to talk to nova-libvirt and
function.

Change-Id: I5a6c39bb16159a2924a93a831e3c53cedd0ca7a1
Partially-Implements: blueprint drop-root
2016-01-05 15:50:35 +00:00
SamYaple
8af400733d Convert to named volumes instead of data container
This intentionally leaves out rabbitmq from this patchset. It will
require additional work to remove its data container

UpgradeImpact
Partially-Implements: blueprint docker-named-volumes

Change-Id: Id68b8e43a3c077ef4f4f4d67ea34d0692e66eef7
2016-01-03 16:44:44 +00:00
SamYaple
57f6e3204d Convert Nova to kolla_docker
Change-Id: I0c6df8e7b732a37ff3cabff8d588f8b7d15df192
Partially-Implements: blueprint kolla-docker-module
2015-12-31 16:38:56 +00:00