60 Commits

Author SHA1 Message Date
Harm Weites
76c5d9a6c8 Add the Designate DNSaaS services.
This is a complete DNS solution, with hidden master and bind9 slave.

It lacks the designate-sink service, because there is no true specification
to implement that. It listens for Nova/Neutron events and creates records
though adding those to just 1 domain isn't helping much in an environment
with multiple tenants.

Change-Id: I500fb6058b118d25a4ccfd1d3479830c36af7e2a
Blueprint: designate-container
2015-06-05 21:06:06 +02:00
Martin André
d1b8a1db91 Set release tag to 'latest' for development branch
Change-Id: I418583af2d2795f4b63ded2aa3e2cbedd70993c8
2015-05-12 13:18:09 +09:00
Steven Dake
e18140ae50 Add heat-api-cfn to heat-api-engine yml
Star theat-api-cfn in the main heat-api-engine compose
file.

Change-Id: Ibe5c9169c606a76470fe9be9c9cc439aaf8d3f0f
2015-05-11 09:26:08 -07:00
Steven Dake
5a06901664 Add Magnum Containers as a Service to Kolla
This adds Magnum Containers as a Service to Kolla.

Change-Id: I572cd62845515f42a6a16291d2bd87ad8d972e24
Implements-blueprint: container-magnum
2015-05-11 09:26:02 -07:00
Daneyon Hansen
bd0fd9502e Add kilo tag to keystone compose file
Previously, the keystone compose yml was referencing juno instead
of kilo when all other services are using kilo. This patch upates
the yml to use the keystone image with the kilo tag.

Change-Id: Ib4f551ad303bd44f0a5c45fc9d5f7d53f376caf7
2015-05-07 00:21:57 +00:00
Steven Dake
c81b003309 Port to Kilo
Use kilo upstream RPM packages

Partially-implements: blueprint port-kilo

Change-Id: Ia0b4db5dc8e40c01184871e77458dc718c3c46cd
2015-05-06 13:54:00 -07:00
Harm Weites
5ffc66cd69 Add a novnc container running the novnc-proxy.
All VNC-specific configuration bits are moved from nova-api-base to
nova-compute and the new nova-novncproxy and nova-consoleauth
containers. The compose specification has been updated to reflect this.

A future patch will make the desired backend configurable (spice/vnc).

Change-Id: I8b64abf125fd1ecd7d3463515e3717dd9bd60420
Blueprint: novnc-container
2015-05-06 22:32:38 +02:00
Steven Dake
68594d873f Port to Juno
This represents the Juno release of the images.

Partially-implements: blueprint port-kilo

Change-Id: I2837ec25a2aa093b7fff7519f3ed608ec93736bf
2015-05-06 09:58:43 -07:00
Steven Dake
d30f69bc83 Port to icehouse
This represents making build-docker-images --release build
with the icehouse tag and causes docker-compsoe to pull from
the icehouse tag.

Partially-implements: blueprint port-kilo

Change-Id: I66b2c39abc55c0f47152dd90e696fc46b9c58f50
2015-05-06 09:58:43 -07:00
Steven Dake
ea0f5c7efa Add heat-api-cfn
Add Heat-api-cfn for wait conditions

Magnum needs wait conditions in order to operate properly.  heat-api-cfn
is where wait conditions connect.

Change-Id: I56742dd96e4607dc0042d0cef4e18c922f9ed736
Implements: blueprint container-heat-api-cfn
2015-05-06 05:33:55 -07:00
Martin André
90ad52c4c1 Consolidate tools/conf-* scripts in tools/init-runonce
Fix issues reported in https://review.openstack.org/#/c/177681/3, and
simplify detection of cirros images in glance.

Only add developer's SSH key to nova if ~/.ssh/id_rsa.pub exists and is
readable.

Change-Id: I5936c6db399d63902d460b0d3c959619073cc3cc
2015-04-28 12:15:42 +09:00
Steven Dake
716eeae386 Add support for configuring via Neutron networking
Configure the network for use with Neutron.

Co-Authored-By: Daneyon Hansen (danehans@cisco.com)

Change-Id: Iab0496cf40683ca29cbe38066ae446aa8c6c4c36
2015-04-27 14:22:23 -07:00
Steven Dake
fbee7e842f Add a conf-novanet to configure nova
Configure nova networking and nova quotas to allow 40 m1.small
instances to run.  Checks for keystone credentials set.  May only
be run once.

Change-Id: I36e01d42ec283651babbb59268452a65e644626e
2015-04-27 14:20:10 -07:00
Steven Dake
5408a4f556 Do not bindmount nova-compute directories
Nova uses a data container.  Data containers are expected to
use the VOLUME keyword and then use volumes_from to access
those volumes.  Throwing in a bindmount to the host filesystem
results in unpredicble behavior, usually in the form of files
being stored on the host filesystem that should be persisted
in the compute data volume.

Change-Id: I60a7873995c9397368ed4df61d5a6d4e8250f3c2
2015-04-21 13:10:19 -07:00
Martin André
75a6c3bc9f Introduce tools/kolla to interact with kolla
This is supposed to prevent proliferation of scripts in "tools"
directory and reduce code duplication.

This first patch replaces tools/{start,stop,pull,status} scripts and
more commands are to be added in the future.

Change-Id: I3d99cf5033be8631d8e6f32a4c34d3b5ffcae7e8
2015-04-16 14:56:48 +09:00
Daneyon Hansen
977f2c8243 Fixes Spacing in Neutron Agents Compose File
Previously, compose would generate an error because the
neutron-agents.yml file was missing a space for the restart policy
line.

Change-Id: Ib17c4c726dcfcda780a242ebe22474e9252cac8a
2015-04-13 18:52:23 +00:00
Daneyon Hansen
ed107a5e26 Adds Neutron Agents Support
Previously, the agents ran in seperate containers. Since some of
the agents create and use network namespaces, runnning them in
seperate containers has become a challenge. This patch adds
neutron agent support in a single container.

Partially Implements: blueprint compute-operation-neutron

Change-Id: If4f893abd50d90b58e8435ec2659870dce36951c
2015-04-13 07:34:12 +00:00
Daneyon Hansen
2f2bb366e0 Adds neutron-server to neutron container-set
Adds neutron-server components of the neutron container set.

Partially Implements: blueprint compute-operation-neutron

Change-Id: I63525ae85f4ead4e010cdb9b6bc8059bb9d252e7
2015-04-10 03:11:23 +00:00
Jenkins
32b32280da Merge "Loads ebtables from inside the containers" 2015-03-30 21:49:26 +00:00
Jenkins
e8984dcc5b Merge "Tell mariadb to restart" 2015-03-29 00:08:17 +00:00
Sam Yaple
1dcd904d27 Loads ebtables from inside the containers
We have to overlay the /lib/modules folder from the host to properly
`modprobe` from within a container. We don't have to give it write
permissions however, so the docker-compose volume is mounted in as 'ro'

Change-Id: I95101136dad56e9331d8b92cd394495f7bd0576a
2015-03-28 15:54:43 -05:00
Steven Dake
bbad173a0a Tell mariadb to restart
If a system is rebooted with kolla running, all the services will
continually restart.  There appears to be some locking problem in
docker which will result in docker imploding.  One problem is a
key dependency, mariadb, is never started on a reboot because it is
missing restart: always.  Also restart the mariadb data container
until it returns success.

Change-Id: I599d28548ff041712d54a702c80fe36c321adf7f
2015-03-28 08:50:23 -07:00
Daneyon Hansen
40be5646fa Partially Implements: Container set compute-operation-neutron
Adds the neutron-linuxbridge-agent to the neutron container set.

Change-Id: I20752611c24a3110cc5d2e4fca2d501fc32a4d87
2015-03-27 23:36:06 +00:00
Daneyon Hansen
1182e060cb Extends Nova Metadata Service Parameterization and Composition
Previously, nova enabled_apis was hard coded and metdata_host
was using PUBLIC_IP param instead of exposing an individual
param.

Extending these params and creating a separate compose yml that
includes compute/libvirt/network/api is required to support
nova network multi_host.

Additional details can be found here:

http://docs.openstack.org/admin-guide-cloud/content/section_metadata-service.html

Change-Id: I5d417a0ee460f8ad9b2982fe83d63ab57013918e
2015-03-25 17:27:44 +00:00
Steven Dake
c2b92c5e96 Make mariadb use a data container without a bindmount
A data container is meant to operate without bindmounts.

Change-Id: I2624a63fd75db7ed8050054c17e19885f8a7ac8a
Co-Authored-By: Daneyon Hansen (danehans@cisco.com)
2015-03-22 08:55:24 -07:00
Steven Dake
f4fd47dc2c Make nova-compute-network use a data volume container
A data volume container is far superior to bind mounting the
host's shared directories.  It preserves the idempotency,
immutability and declarative properties of the containers.

The way this works in practice is that a data volume container is
created.  Then when the containers start they use LVM to access
the filesystem where /var/lib/docker is contained.  Then the
container startup logic bindmounts the data volume stored on the
host filesystem in /var/lib/docker/vfs/dir/ID.  This prevents
people with access to the host operating system from damaging
the contents of the data container.

It does mean that now we must use tools/stop to stop our containers
rather than tools/cleanup-containers -f.

This is a containers best practice.  For more details see:

https://docs.docker.com/userguide/dockervolumes/

Big credit goes to Danyeon Hansen for seeding this idea in the
mariadb containers.

Note occasionally docker-compose start/stop seems to not want to stop
a container.  This bug needs to be addressed upstream separately
from our utilization of this best practice.

Change-Id: Iaa1419f606e1b1b7a7560a095c49e79d643164f1
2015-03-22 08:54:53 -07:00
Jenkins
ad6026e0e1 Merge "Refactors nwfilter" 2015-03-21 03:16:24 +00:00
Jenkins
68978c2338 Merge "Make the Horizon dashboard work properly" 2015-03-21 03:15:58 +00:00
Jenkins
a99a861bc0 Merge "Improve Heat integration" 2015-03-21 03:15:38 +00:00
Jenkins
64f59e229c Merge "Add pid: host to libvirt" 2015-03-21 03:12:30 +00:00
Daneyon Hansen
c49613ad0a Refactors nwfilter
Previously, the nwfilter daemon/conf pkgs would need to be
installed on the host. Compose would then mount the host DIR
to the compute containers. A more efficient approach is to simply
install the nwfilter config/daemon in the libvirt container. Both
appoaches address the following error when booting an instance:

'no-mac-spoofing' is missing

Change-Id: I81b446d198920473bf99b97ef5eac6ef5ee85024
2015-03-20 22:00:54 +00:00
Steven Dake
71576f4e42 Make the Horizon dashboard work properly
The Horizon dashboard was not working properly prior to this work.

Also a docker-compose file was added to start the dashboard.

Change-Id: I8a438c15b967b0cec00bfe44b997f833bf745191
2015-03-20 10:21:29 -07:00
Steven Dake
dbddef4f78 Improve Heat integration
Generate Heat environment variables.
Rename yml file to api and engine to follow other service conventions.
Add heat to compose/start
Modify integration guide to include new variables.

Change-Id: I058d829901881e28d6f4785f59fcf778058241e4
2015-03-20 10:21:01 -07:00
Steven Dake
5bfc3e11f6 Add pid: host to libvirt
Without pid: host, nova-compute and libvirt fail to operate correctly
together.  I don't understand why, and I wish it weren't so, but it means
folks will have to install docker-compose from my personal github account
until the pull request is merged upstream.

Change-Id: I24e55405139c831f2df246f54c5b6fd39d00656a
2015-03-20 10:05:03 -07:00
Daneyon Hansen
5547b5fe78 Implements: blueprint Implement a database container set
Previously, the database container was configured for use with
Kubernetes. This patch removed any k8s dependencies, adds a script
to manage mysql server.cnf settings and splits data and app
containers. Splitting the containers provides additional
portability and operational efficiencies compared to host mounts.

Change-Id: I80656450c02dda5f2959d187eec20d5877dc54a2
2015-03-20 16:17:51 +00:00
Jenkins
fb425db56d Merge "Move genenv.sh and start.sh to tools directory" 2015-03-20 16:09:32 +00:00
Jenkins
9b7a844094 Merge "Always restart glance services" 2015-03-20 01:39:08 +00:00
Martin André
888bb9cc8c Move genenv.sh and start.sh to tools directory
Rename them `genenv` and `start`.
Have `genenv` create the openrc file in the top-level directory.

Add openrc and compose/openstack.env to gitignore, as well as *.img.

Change-Id: I5d8006e97efd77cf364215f55d5e585139ae273e
2015-03-20 10:31:02 +09:00
Jenkins
e201fd5206 Merge "Check for root privilege in start.sh" 2015-03-20 00:58:05 +00:00
Steven Dake
096a85da32 Always restart glance services
Always restart glance services since they are idempotent.

Change-Id: I6ad98eacf0fd10b97a007db81dbe23459cc71e2b
2015-03-19 13:18:41 -07:00
Jenkins
f91293cd5d Merge "Correct glance-api-registry format" 2015-03-19 20:02:37 +00:00
Jeff Peeler
0dc0cf1b9e Check for root privilege in start.sh
Change-Id: I38f6cf133b0ebf59a9595fb62868a81f731a0b85
2015-03-19 12:05:22 -04:00
Jenkins
c3b1174351 Merge "Implements: blueprint heat-fig-update" 2015-03-19 15:44:56 +00:00
Jenkins
ac17371249 Merge "Update start.sh" 2015-03-19 13:34:20 +00:00
Steven Dake
97d3792bfe Make genenv.sh create an environment that will actually start keystone
The latest keystone container parses the keystone admin port environment
variable.  This script was setting it incorrectly.

Change-Id: I0d85e5266e5198e47b77906639bc121cd1e6d1f5
2015-03-18 20:08:15 -07:00
Jenkins
16076af97a Merge "Fix an error in the nwfilter definition" 2015-03-18 22:53:35 +00:00
Steven Dake
6aebcbfb53 Correct glance-api-registry format
The yaml formatting is wrong, causing some versions of compose to bail.

Change-Id: I20c0709699c2c259e9d2443a7d91e5f70ce67188
2015-03-18 15:45:11 -07:00
Steven Dake
b8a67110c7 Update start.sh
Clean up start.sh and make more functional

Change-Id: If9cb8a6a621991a28cf9b95c4fd0e5b7e780272a
2015-03-18 15:24:47 -07:00
Ryan Hallisey
2b801dac90 Implements: blueprint heat-fig-update
Heat is split into the engine and api.  The current images
built in kollaglue work.

Change-Id: I14bb8520cf76a84491163f0f102d603d312cd5fb
2015-03-18 17:21:35 -04:00
Jenkins
1f136352ce Merge "Fig config for glance" 2015-03-18 13:31:44 +00:00