Added the new containers we are supporting.
Kubernetes has updated and kubecfg was replaced with kubectl.
Change-Id: I12b88b856dca150087261f86c674012dcc1b4816
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
The script is a wrapper for the `build-docker-image` script and thus
respond to the same options. It also responds to two additional `--from`
and `--to` options that allows building only images that have changed
between the specified git revisions.
Examples:
# Build all images contained in docker directory and push new release
build-all-docker-images --release --push
# Build only images modified in test-branch along with their children
build-all-docker-images --from master --to test-branch
Change-Id: Ib83bf475cd2a21965071c13eec4456df5c332edd
It is usually considered good practice for a script to respond to both
short style `-h` and long style `--help` options to display help
message.
This commits adds support for short style `-h` option.
Change-Id: I8426b5ec136d08b3a476beea3cb983089e08c401
Source .buildconf file in $IMGDIR last in order to prevent silently
overloading configuration by the less specific $TOPDIR/.buildconf.
Change-Id: Ia38101b6d4743b454dc2c8ba48d3b55af47ed53b
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
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
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
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
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
The initial gitignore includes build-docker-image script's private
configuration file, tox generated files and common temp files created by
vim and emacs.
Change-Id: I514953471646904b541321d1d878d40a2c8f8b26
Previously, the k8s neutron-server service was using a selector
for the neutron pod that did not exist. The selector name defined
in the service yaml was more appropriate than the label (neutron)
defined in the pod yaml, so the label was updated in the pod
yaml.
Additionally, the naming convention for the neutron pod was
changed from neutron-controller to neutron-server to more
correctly depict the pods functionality.
Change-Id: I99465069bb3c37e7bf17c6d7a8f3559f87bf7140
Record the image directory path to a variable and use it instead of the
current directory to allow the build script to work independently of the
location.
Closes-Bug: 1398648
Change-Id: I84c52e41e43af10998f8e9267ccc059eca716c1c
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
This allows Kubernetes to reschedule the container in case a required
variable is missing, for example when the Kubernetes pod is started
before the service.
Additionally, define the KEYSTONE_ADMIN_SERVICE_HOST and
KEYSTONE_PUBLIC_SERVICE_HOST variables to their common version if not
already set to allow usage outside of Kubernetes with docker link
feature.
Change-Id: Ie0966c18076a770e4031bbf5f777dd1be0ba20bc
Closes-Bug: 1398632
Mark code blocks and list items as such. Also use preformated text for
commands or flags and wrap long lines.
Change-Id: I6992abb1e1f18fba62adc127285d75f3f39659db
For some reason forking the mongod process seems to cause issues
when the container comes up. If i remove this and run the
images with detach and publishall flags i can connect to
mongo instance.
Change-Id: I0b7193e6369084e3aeec857607dda9c3f235770d
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
this patch creates a dummy interface ("flat0") and uses that for
flat_interface. This prevents nova from breaking container networking
when it adds the container eth0 to the nova bridge (br100).
Change-Id: I93c696a8476228d6bbca678748170c2a11d5af11
Not all nova services need a bridge. Remove bridge creation from
nova-base config and place in nova-network specifically.
Change-Id: Ia78c65a4661cd95112dca7ffdc1e839d4f648d52
libvirt-start.sh was missing from nova-compute/nova-compute. Add it
so libvirt is started from a fresh checkout of the repository.
Change-Id: I8b40819629b16e4a63102eb353b3c8682791cf9d
The readme was woefully old. Make it more modern to match the current
state of the repository and development.
Change-Id: I9be10ca8565835c784afea63ee70978d10313e4a