253 Commits

Author SHA1 Message Date
Steven Dake
858cdda3ec Use keystone authentication with Glance
Previously glance was not using keystone for authentication.  This resulted
in --is-public true failing when doing image-create.

Co-Authored-By: Lars Stedman (larsks@redhat.com)

Change-Id: I54273115242ee169201643fe0ad559392650c883
2015-03-19 09:21:48 -07:00
Jenkins
3309f5e4a0 Merge "Make rabbitmq container work with it's proper hostname set" 2015-03-19 13:34:13 +00:00
Steven Dake
38fada551c mariadb-server requires the hostname userspace command
The hostname command is required to allow mariadb to access
the network properly.  Without it, in some cases mariadb cannot
execute name service resolution.

Change-Id: Ia215585faad23012143b63c4d82acd6ba69f59b7
2015-03-18 20:07:36 -07:00
Jenkins
f2a38c55bd Merge "The wait_for function needs to be added into all the images" 2015-03-18 22:56:44 +00:00
Steven Dake
ac930b33dd Make rabbitmq container work with it's proper hostname set
Change-Id: I0f79ba151dbb290378e2db0d1af9feb71cb84e6d
2015-03-18 15:24:47 -07:00
Steven Dake
857a2b1dd2 Add a "admin" user via crux to keystone container
The keystone container was changed to only add a keystone user.  The rest
of the infrastructure in Kolla expects the name "admin" from a "can I
use a client to access the APIs perspective."  As a result, we need a user
for keystone and a user for admin which this patch adds.

Change-Id: I3a3e938f946df1fd5982e89397ef61368f1f3674
2015-03-18 12:48:05 -07:00
Ryan Hallisey
4075c851ed The wait_for function needs to be added into all the images
This affects both fedora and the centos base images.
Wait_for will be intregrated into kolla-common.

Co-authored by: Charles Crouch <charcrou@cisco.com>

Change-Id: Ide2304b787d4c3bf6fb3949f09e2cf1f450c2173
2015-03-18 10:33:42 -04:00
Jenkins
cfc2e1fa80 Merge "Implements: blueprint container-set-api-control" 2015-03-17 14:49:21 +00:00
Ryan Hallisey
08bd99a50f Nova boot will fail if the host doesn't have libvirt installed
Libvirt contains a package that sets the permissions of KVM.
If the host does not have libvirt installed the permissions
will never be set and nova boot will fail.

Change-Id: Ie5509199391db55e0984d59a6623f021f3ae46c1
2015-03-16 15:52:03 -04:00
Daneyon Hansen
dafbaf05ed Implements: blueprint container-set-api-control
Adds Keystone Container-Set support

Previously, Keystone containers were configured for use in a
Kubernetes environment. This patch removed k8s dependencies and
adds container set functionality.

Change-Id: I131ce205857110bbee49fe81a4a005f9e273ce09
2015-03-13 17:10:16 +00:00
Ryan Hallisey
a2dae48b87 Glance containers need to be changed so they work without kubernetes
This patch overlaps a little bit with https://review.openstack.org/#/c/162358/.
There were some additional glance config that needs to be added to run without
kubernetes.

Co-authored by: Charles Crouch (charcrou@cisco.com)
Change-Id: I1aab2f6e4a80aaf1e6c4b7fe330bcf9a7740fdc6
2015-03-10 18:04:44 -04:00
Jenkins
c3114b9610 Merge "Allow changing base image" 2015-03-06 00:44:02 +00:00
Jenkins
eaf15893a0 Merge "A functional libvirt + nova_compute + nova_network" 2015-03-02 12:29:28 +00:00
Martin André
0764fd7dea Allow changing base image
By changing the PREFIX variable in the .buildconf one is now able to
build docker images from different bases.

For example, add the following line to your .buildconf file to build
CentOS based images:

    PREFIX=centos-rdo-

Default base image is Fedora. For now only RH family is supported.

Additionally, changing the namespace either with the NAMESPACE variable
in .buildconf or via --namespace commandline option now changes the
source namespace as well from the default kollaglue one.

Implements: blueprint multi-baseos
Co-Authored-By: Steven Dake <stdake@cisco.com>
Change-Id: I3964cd2292789ea883a1f2d2738a5731a4fff49b
2015-03-02 14:08:06 +09:00
Jenkins
7925b78142 Merge "Remove prefix from centos-rdo-base when building image" 2015-03-02 04:05:11 +00:00
Steven Dake
7eca70b1a6 A functional libvirt + nova_compute + nova_network
This imports sdakes' nova-docker codebase to show that atomic upgrades
work atleast with nova networking.  This has many corrections.

For more details read:

http://sdake.io/2015/01/28/an-atomic-upgrade-process-for-openstack-compute-nodes/

Implements-blueprint: blueprint libvirt-container
Partially-implements; blueprint container-set-compute-operation-nova

Change-Id: I858ea113c5656b6da5d2fd13502fecdbd085c8da
2015-02-27 21:23:20 -07:00
Jenkins
e803c0e7a0 Merge "Implements: blueprint rabbit-container-set" 2015-02-26 13:22:48 +00:00
Martin André
5052e54f45 Remove prefix from centos-rdo-base when building image
All base images should have a .buildconf that blanks the PREFIX variable
otherwise the buildscript prepends the prefix to its name, for example
centos-rdo-centos-rdo instead of simply centos-rdo.

Change-Id: I48209e708094ae28681a874bf12a0206c524b639
2015-02-26 15:12:16 +09:00
Jenkins
617fc1097c Merge "Remove l3_ovs_wip tag from Dockerfiles" 2015-02-26 05:51:38 +00:00
Jenkins
8d12ee76ab Merge "Make keystone work with CentOS 7 image" 2015-02-24 15:39:14 +00:00
Jenkins
b92ac57b38 Merge "Make swift files point at correct base package" 2015-02-24 15:39:07 +00:00
Steven Dake
fb30058122 Remove l3_ovs_wip tag from Dockerfiles
These tags don't belong in docker files.  Instead we should put them
in the build system since the build system will be creating a custom
From line in the Dockerfile.

Partially-implements: blueprint multi-baseos
Change-Id: I68d0a0e572e35f39dbe21f7c536d7ac4ca885da3
2015-02-24 02:28:30 -07:00
Steven Dake
9dc7c1a15f Make keystone work with CentOS 7 image
Keystone relies on crux.  Crux is now installed in the base images, so
individual images don't need to install crux.

Partially-implements: blueprint multi-baseos
Change-Id: Id9ed5fb8bc74de6a36f28a6b2bc8ba055c31a32e
2015-02-24 02:28:30 -07:00
Steven Dake
ca38aad41e Make swift files point at correct base package
Swift containers were pulling in fedora-rdo-base when they should have been
pulling in fedora-rdo-swift-base.

Partially-implements: blueprint multi-baseos
Change-Id: Ic0d03cbca5790aa3002110ba40a802957a481496
2015-02-24 02:28:30 -07:00
Steven Dake
7da4e92c3a All of the agents try to install yum
The operation is meant to clean the cache, but instead the agents
are running "yum install yum" which is incorrect.

Change-Id: I8e207e93bb10361a7afbbfd02ab11d12ad1cd77c
2015-02-24 07:09:18 +00:00
Jenkins
47d36732ea Merge "Add CentOS base OS" 2015-02-23 21:48:53 +00:00
Jenkins
ff4f560365 Merge "Support multiple different types of base OSes" 2015-02-23 21:48:46 +00:00
Daneyon Hansen
8a2a8c8a8a Implements: blueprint update-rabbit-container
Previously, the rabbit container was configured for use in
a k8s cluster. This patch updates the container to run with fig
instead of k8s.

Change-Id: Ie04f2f16771c0f733b7b09b7747325bf0d7fb1a9
2015-02-19 01:33:59 +00:00
Daneyon Hansen
ce8d945e6a Implements: blueprint rabbit-container-set
This patch provides an initial implementation of docker-compose
(i.e. fig). docker-compose runs in a container. The container is
only instantiated when invoked to manage a container set
(i.e. docker-compose up) and then stopped when the command is
finished executing.

Change-Id: I797f06bed773192129b57aae9824d4f97c70b3ab
2015-02-19 01:14:46 +00:00
Steven Dake
c43e7fa1fc Add CentOS base OS
Implement the CentOS 7 base operating system.

Change-Id: I1c90fe88baecf3deabad689a6743346a092469c2
Partially-implements: blueprint multi-baseos
2015-02-18 15:53:29 -07:00
Steven Dake
82f950f5a5 Support multiple different types of base OSes
Ideally we want to support Fedora and CentOS as a base operating
system type.  The build scripts will rewrite the Dockerfile build
scripts to pull in the correct base OS.

Change-Id: Ia41e21811caa3a1989c79cc42ce6615eec0c977b
Partially-implements: blueprint multi-baseos
2015-02-18 15:53:18 -07:00
Jenkins
4855d96c32 Merge "Check for nova DB availability in dependent containers" 2015-02-06 19:09:04 +00:00
Jenkins
26b564dd06 Merge "Cleanup required variables checks for all containers" 2015-02-06 19:08:46 +00:00
Martin André
f4b7ae95ac Check for nova DB availability in dependent containers
When nova-api start and the nova database hasn't yet been created, it
would create it itself, preventing the migration in nova-conductor to
run and making it unable to start. This commit ensures that nova-api
container will not try to steal nova-conductor's job of creating the
nova database.

Nova-scheduler reacts differently to the missing database and simply
exits with a backtrace. This commit also prevents nova-scheduler to
start when the nova database cannot be found.

Change-Id: Ib6f7521151815faa7a26ec1d170df5a1cdb7fd63
Related-Bug: #1335804
2015-01-21 09:34:01 +09:00
Martin André
5ed1c04c98 Fix validate-maintainer.sh script
The script wasn't reporting any errors due to a typo.
Also fix MAINTAINER field for ceilometer-collector image.

Change-Id: Idf1e2746ae395bb05ee679ca71a10a3f103ebfa8
2015-01-19 16:51:22 +09:00
Martin André
91ca8d4b00 Cleanup required variables checks for all containers
This allows Kubernetes to reschedule containers in case a required
variable is missing, for example when the Kubernetes pod is started
before the service.

The checks were cleaned using the following method:
  * remove duplicates
  * remove check for variables that get a default value in the same file
  * check for all variables used in the file
  * check for required services when it is obvious.

Change-Id: Ib7e0530c410c61f828d36efe8925a20dc9781eab
2015-01-19 16:29:59 +09:00
Jenkins
a5bd2f2d5d Merge "Base all images on kollaglue ones" 2015-01-06 16:09:30 +00:00
Martin André
298ce72106 Base all images on kollaglue ones
The `kollaglue` Docker hub namespace was missing for some of the images.

Change-Id: Id0e0c7f62d638fc2ee79f27c07677abf2902e087
2015-01-05 10:10:51 +09:00
Martin André
8843f6ff52 Lock Fedora-based image to specific versions
This prevents unexpected breakage on new Fedora release.

Fedora 20 is the last release known to work. Images based on Fedora 21
are currently broken as they lack required packages such as iproute.
Support for Fedora 21 is on the way and will follow soon once all images
have been verified.

Change-Id: I849732147302eaf00d864d6b5093ff6ac006f496
2015-01-05 10:05:31 +09:00
Jenkins
1fcf0bee5f Merge "Prefer the use PUBLIC_IP over MY_IP" 2014-12-26 07:01:12 +00:00
Jenkins
31e4fa1937 Merge "Enable usage of containers outside of Kubernetes" 2014-12-19 17:29:54 +00:00
Jenkins
1cd21fef48 Merge "Reduce code duplication in kolla-common.sh" 2014-12-17 21:08:04 +00:00
Martin André
816612192c Enable usage of containers outside of Kubernetes
Kubernetes currently creates FOO_SERVICE_HOST and FOO_SERVICE_PORT env
vars as part of starting the containers. However this is not done when
starting them with plain docker.

Defaulting variables to their common version if they're not already set
allows the usage of --link in plain 'docker run' to wire together
containers.

Co-Authored-By: Charles Crouch <ccrouch@redhat.com>
Change-Id: I91098ff987b18646d901ac63a3a644fbb68fc857
2014-12-17 13:50:03 +09:00
Martin André
bfa5d0a2ec Fix use of undefined KEYSTONE_SERVICE_HOST in Ceilometer
This variable is never defined anywhere, and it is not one of the
variable automatically exported by k8s or docker.
It should be KEYSTONE_PUBLIC_SERVICE_HOST instead.

Change-Id: Ib65b0189d0a767212fbb7eff4ce81717d492c3e2
2014-12-17 13:22:20 +09:00
Martin André
e1b90581c0 Reduce code duplication in kolla-common.sh
Introduce a generic check_for_os_service function that exits unless it
receives a successful response from the corresponding OpenStack service.

Additionally use the local keyword to not leak local variables, and fix
check for non-existing NEUTRON_API_SERVICE_HOST variable in
check_for_neutron().

Change-Id: I67dff2b16a99bc44e928cd6a679dff8cc6a99b39
2014-12-17 13:13:22 +09:00
Jenkins
36258963a7 Merge "Remove duplicate write of openrc" 2014-12-08 19:22:54 +00:00
Jenkins
6fabb5c9aa Merge "Check for all required variables in keystone start.sh" 2014-12-08 19:22:12 +00:00
Martin André
a8f3c5ff86 Remove duplicate write of openrc
Use KEYSTONE_PUBLIC_SERVICE_HOST in favor of
KEYSTONE_PUBLIC_PORT_5000_TCP_ADDR

Change-Id: Icea714e4c207a1f518faf7bda8235d4f0bc9e3f9
2014-12-04 16:51:32 +09:00
Martin André
7bab87f8cc Cleanup variable checks in glance-registry/start.sh
Remove redundant checks for MARIADB_SERVICE_HOST and DB_ROOT_PASSWORD
that are performed in `check_for_db`, and add missing check for
GLANCE_DB_USER.

Change-Id: Ie8194ce76274a9356dcc0b51353873d8a632c66a
2014-12-03 13:30:13 +09:00
Martin André
1950051b66 Prefer the use PUBLIC_IP over MY_IP
PUBLIC_IP is more descriptive that MY_IP, it should be used consistently
across Kolla.

Change-Id: Iff6ae903e794ec84a40a300b36512422b7a81f71
2014-12-03 11:29:16 +09:00