45 Commits

Author SHA1 Message Date
Ryan Hallisey
f40444a188 Rabbitmq service is looking for 'rabbitmq-master' instead of 'rabbitmq'
Change-Id: Id28a15f1c0f54b4aa2ee1d49ee7f117eb84c977a
2015-01-08 20:06:49 +00:00
Ryan Hallisey
8229c1f6c3 Start and stop scripts are outdated after Kubernetes update
Kubernetes no longer uses 'kubecfg', but rather 'kubectl'.
Therefore, the way that pods and services are being created
needs to be changed.

In order to create a pod, the parameter 'kind' needs to be set
to 'pod' in the yaml file and the api version specified.

The stop script now reads from k8s/{pod,service,replication}/ in order
to stop all the started pods, services, and replication controllers.

Change-Id: Ibd39fa402e9df883df83272c3aefbb69009dfbd2
2015-01-05 23:26:19 +00:00
Martin André
7317a86b08 Remove unused libvirt-service.json file
This file is a duplicate of nova-libvirt-service.yaml and is presumably
a merge accident after all service files were converted to yaml.

Change-Id: I89719e084fcea7010dd6a29beba999e04989d8c5
2014-12-17 13:00:58 +09:00
Jenkins
5eb1a06204 Merge "Adds Neutron Networking Support" 2014-12-01 12:20:31 +00:00
Daneyon Hansen
fe28973675 Adds Neutron Networking Support
Implements: blueprint kube-neutron-container

Previously, only the neutron-server service was functional. This
patch adds support the the rest of the neutron services need by
Nova instances to function. The linux-bridge agent is used instead
of the OVS agent to realize network abstractions. This is because
the ovs-agent package will install the kernel module version of OVS
instead of the userspace version. Additionally, the OVS
userspace code is still very experimental and reduces performance.

Requires:

https://github.com/larsks/heat-kubernetes/pull/8

Change-Id: I5ef34ddeb48d4954934571a928cc82ae7f3a0f20
2014-11-25 17:30:41 +00:00
Ryan Hallisey
fdb5c77a90 Horizon container implementation
Horizon requires that Nova, Neutron(Nova Network), Glance,
and Keystone are running.  Therefore, the container needs to
check for the availablity of each service on startup.

The config file is not a .ini file, but rather a python file
so it requires using sed instead of crudini.

Change-Id: I5ed14514881fe9aef688ca08bcb94881ef5b25cb
2014-11-24 17:09:29 -05:00
Jenkins
1520f41a65 Merge "Adds support for Functional Nova-Network" 2014-11-21 21:44:28 +00:00
Jenkins
3c803b62be Merge "Implement zaqar container" 2014-11-21 21:43:06 +00:00
Jeff Peeler
24dca1e124 Implement zaqar container
The current implementation has been configured to use sqlite instead of
mongodb, since that container service is not yet available. Also, there
are no Icehouse RPMs available, so the Juno RPMs are fetched and
manually installed.

Implements: blueprint kube-zaqar-container

Change-Id: Ie875ab43ad3db92ae2712492ee151fbad0fec3cc
2014-11-19 17:03:16 -05:00
Daneyon Hansen
05f352a125 Adds support for Functional Nova-Network
Previously, the nova-network service was not fully functional.
This patch adds multi-interface support to the nova-network
container. The eth0 configuration is moved to a bridge (br100 per
nova defaults), and configures eth0 and eth1 as bridged
interfaces. eth0 is used for the nova-flat network and eth1 for
foating-ip's. This model is identical to typical bare-metal
nova-network deployments. The patch depends on the following patch
to kube-heat template that provides multiple interfaces per minion:

https://github.com/larsks/heat-kubernetes/pull/8

Rebased. Fixed merge conflict with k8s/pod/nova-compute-pod.yaml

Change-Id: Ieb59f397981a226555ce55ca621ef578b987e3c6
2014-11-17 17:47:40 +00:00
Pradeep Kilambi
904b5c4256 Add support for mongodb container
Implements: blueprint kube-mongodb-container

Change-Id: If76f6c0be90c3025933795d262304a10bf1a880d
2014-11-14 13:06:37 -05:00
Jenkins
b57caa7b67 Merge "Add Ceilometer service support" 2014-11-12 19:43:33 +00:00
Pradeep Kilambi
aed78804ef Add Ceilometer service support
Implements: blueprint kube-ceilometer-container

Change-Id: Ic9be6f2fb57641aa77f7f3a31481b166adad3f36
2014-11-12 14:31:03 -05:00
Venkat Sundaram
3c7ef7a45b Containerizing barbican service
Adding Dockerfile, pod and service. Please note
that this uses the Juno version of Barbican
from tar ball and uses uwsgi to run the service.
Addressed review comments and added admin service
as well.

Fixing Maintainer email and yum clean up

Change-Id: If58c5eec00131582024045f8d213e48f9f466f4d
2014-11-07 08:31:48 -07:00
Jenkins
7d0f2d41eb Merge "Implement containers for heat-engine and heat-api" 2014-10-21 06:36:09 +00:00
Jeff Peeler
40ba2909d8 Implement containers for heat-engine and heat-api
Loosely followed this document for setting up Heat:
http://docs.openstack.org/icehouse/install-guide/install/yum/content/heat-install.html

Some gotchas:
- crux doesn't require escaping parenthesis for endpoint creation like
  keystone client
- heat icehouse packages are configured for qpid, so kombu had to be
  specified specifically

This firewall reference was handy for port information:
http://docs.openstack.org/trunk/config-reference/content/firewalls-default-ports.html

Implements: blueprint kube-heat-container

Change-Id: Ie4291a6c4c2b85a23a71fc0a003d9160bf0a32b8
2014-10-20 17:35:41 -04:00
Steven Dake
0c8080296d Change to using flat nova networking from neutron
Neutron is not yet ready, so use flat nova networking instead.

Change-Id: I4905f2a54af2c0c06cc8cf95d21f5831b02fbe5e
2014-10-20 14:05:03 -07:00
Steven Dake
f2c3719506 Use hostPort to lock 1 nova-compute/nova-network per node
Kubernetes does not have a horizontal scaling feature that works per
node.  A workaround is to use hostPort to cause the scheduler not to schedule
several replicationController replicas to each node.  By doing so, only one
nova-compute is launched per node up to a total of 6 nodes which is the most
we can generate in testing.

Change-Id: I1621f15cf1ec502418b454300645b46bc796dc8b
2014-10-20 10:18:47 -07:00
Daneyon Hansen
3ae22f65ea Fixes k8s neutron pod image source and formatting
Previously, the k8s neutron pod was pulling the image from
danehans instead of kollaglue. Additionally, the formatting was
incorrect causing kube not to pull the image at all.

Change-Id: I6f787a432ffb9cae404f915ac5228ddcb88e877c
2014-10-17 23:38:04 +00:00
Jenkins
7729fcdede Merge "Add nova-novncproxy as a kube service" 2014-10-17 20:14:23 +00:00
Ryan Hallisey
5bf71ab0a4 Add nova-novncproxy as a kube service
Create the nova-novncproxy service for kubernetes.

Change-Id: Id8c0137a271faf832b736e6e1cda0b87bec7e5c2
2014-10-17 19:56:33 +00:00
Jenkins
ad615338cc Merge "Adds Neutron Server Support" 2014-10-17 19:35:46 +00:00
Lars Kellogg-Stedman
75b169c663 remove glance-pod.json
This was replaced by glance-pod.yaml.

Change-Id: I9249ae2721e375096fc42e1e8462a024c314118e
2014-10-17 13:43:52 -04:00
Jenkins
bf3c7eda8a Merge "Make nova-compute work properly with libvirt" 2014-10-17 14:13:31 +00:00
Steven Dake
a14b8048c2 Make nova-compute work properly with libvirt
The nova-compute POD now starts and produces nearly correct output.
It may be that the libvirt container needs additional attention as it
is spitting out errors related to the firewall toolchain on the container.

Change-Id: I5bcd21c59f341494206a09e882631185ce66f336
2014-10-16 23:02:56 -07:00
Steven Dake
b47c6afed0 Run nova-api as privileged so it can muck with iptables
Not sure if mucking with iptables is safe, but appears required.

Change-Id: I766b0e61e247c47b4449c1ed2c204ddb8919a87d
2014-10-16 14:19:26 -07:00
Daneyon Hansen
de313681f9 Adds Neutron Server Support
Previously Kolla did not support Neutron. This patch provides
initial Neutron support by implementing neutron-server
functionality. It also creates a neutron-base image that
provides common config and packages for all Neutron-based
services.

Partially Implements: Blueprint Kubernetes Neutron Container

Change-Id: I2399a1331992fae0f387f01e5b5c1c1d34f0637d
2014-10-16 19:50:04 +00:00
Lars Kellogg-Stedman
558dcb5f56 fix nova-controller pod
remove nova-controller image, which is not meant to be started directly.
add required NEUTRON_SHARED_SECRET environment variable.

Change-Id: Id671c5473db8e6e222b16ccdfd9eaedc872c60fa
2014-10-16 11:51:46 -04:00
Jenkins
9b484b4026 Merge "nova-compute-service doesn't expose a port" 2014-10-14 19:45:38 +00:00
Steven Dake
a6edd270db Convert nova-compute-replication to yaml
Yaml is the future - json is the past

\o/

Change-Id: I36a9cbf8db034d1e8deba040a22e556d791c65ed
2014-10-14 11:13:24 -07:00
Steven Dake
3063723086 nova-compute-service doesn't expose a port
AFAIK the service files are only for services with ports exposed.  Since
nova-compute doesn't expose a port, kubecfg returns an error when attempting
to register it:

F1014 17:06:34.329482 32317 kubecfg.go:395] Got request error:
service "novacompute" is invalid: port: invalid value '0'

Change-Id: I4d9f8d50d538f42d520f3d9437ab32aa6a226d2b
2014-10-14 10:07:21 -07:00
Jenkins
4ab92d26e6 Merge "Add kube services" 2014-10-14 14:23:27 +00:00
Ryan Hallisey
ed313e4f2e Add kube services
Add kubernetes services so that the nova controller
can use the ports 8773, 8774, and 8775, which correspond with
nova-api, nova-ec2-api, and metadata-api.

Change-Id: Idb083e2e0745c6587f9fa4f01a068727a435c2c6
2014-10-14 14:16:05 +00:00
Ryan Hallisey
742989f88d Update nova-controller's container ports
The previous values were just stand in values.  The new
ports support nova-api, ec2 api, and metadata api.

Change-Id: I330575d9b53b69bcacc61061b271252e61e64d4b
2014-10-14 13:51:15 +00:00
Lars Kellogg-Stedman
282345c12e add kubernetes volumes to glance pod
Use kubernetes volumes for data storage rather than placing data
directly on the container filesystem.  That provides a starting point
for thinking about persistent data -- one could replace the emptyDir
source with an explicit path via hostDir, and then you would have
storage that would persist over a container delete/re-create.

Change-Id: Ifade1cb2ba546e5e0207c3d8c84965dc2195716b
2014-10-13 16:43:13 -04:00
Lars Kellogg-Stedman
ecdd5e1c8e keystone pod needs KEYSTONE_DB_PASSWORD
if we want to be able to run multiple keystone container instances, the
password cannot be generated as part of the container boot process; it
must be passed it as part of the pod template.

Change-Id: Idd1b50b6bdb3788eec316bf22fb954f5ecbaa4be
2014-10-13 16:42:28 -04:00
Lars Kellogg-Stedman
270826f662 glance images need keystone password
glance keystone password cannot be generated during container boot
because we need the same value in both the -api and -registry
containers.

Change-Id: I4099ca19bd7433ff2a75ffba3a1597eff0be2ce4
2014-10-13 16:42:28 -04:00
Jenkins
6f7a28d460 Merge "Rename nova-libvirt to libvirt" 2014-10-13 20:12:51 +00:00
Steven Dake
d70a992687 Rename nova-libvirt to libvirt
nova-libvirt doesn't make sense as a name since nova is not the
upstream of libvirt

Change-Id: I3e396b5a0897649312f3552a791c82429013f5ae
2014-10-13 11:25:10 -07:00
Lars Kellogg-Stedman
dd16b95aa6 convert all configs to yaml
Change-Id: I7edbd3a59007d9e2f7f5ab5e4c020eeb58d03dd3
2014-10-13 11:25:11 -04:00
Jenkins
a0794220f9 Merge "Add a replicationController for nova-compute so it runs on each minion" 2014-10-13 15:18:27 +00:00
Lars Kellogg-Stedman
a4069300aa correct various issues with glance images and configs
- update keystone endpoints/user on boot (to avoid problems caused by,
  e.g., a stale password or invalid endpoint urls)
- require GLANCE_DB_PASSWORD and GLANCE_KEYSTONE_PASSWORD in the
  environment, since we start multiple containers

Change-Id: I31214b81280ed34409f92e79003c1116d5737d2e
2014-10-13 09:53:56 -04:00
Steven Dake
0f294f4610 Add a replicationController for nova-compute so it runs on each minion
We want the nova-compute controller to run on each minion

Change-Id: If0355034927e195d1dd5482dab1026418185e9c6
2014-10-08 13:11:07 -07:00
Steven Dake
cb05bb513b Modify rabbitmq pod to point to right image
The image location for rabbitmq was incorrectly pointing at Lars
private repository.  Change it to point to the global kollaglue repo.

Change-Id: Ib4fd84db9410fa7057730ff74be2acc0babfa438
2014-10-08 09:25:39 -07:00
Steven Dake
2bc783b8c6 Reorganize k8s structure
All services go to TLD/k8s/service
All pods go to TLD/k8s/pod

Change-Id: Iad2977a9f0cd5f430c4e0a566846bf4681618379
2014-10-07 15:33:11 -07:00