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
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
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
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
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
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
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
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
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
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
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
remove nova-controller image, which is not meant to be started directly.
add required NEUTRON_SHARED_SECRET environment variable.
Change-Id: Id671c5473db8e6e222b16ccdfd9eaedc872c60fa
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
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
The previous values were just stand in values. The new
ports support nova-api, ec2 api, and metadata api.
Change-Id: I330575d9b53b69bcacc61061b271252e61e64d4b
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
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
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
- 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
The image location for rabbitmq was incorrectly pointing at Lars
private repository. Change it to point to the global kollaglue repo.
Change-Id: Ib4fd84db9410fa7057730ff74be2acc0babfa438