360 Commits

Author SHA1 Message Date
Ryan Hallisey
4112ab2239 Update the README to reflect new additions to kolla
Added the new containers we are supporting.
Kubernetes has updated and kubecfg was replaced with kubectl.

Change-Id: I12b88b856dca150087261f86c674012dcc1b4816
2015-01-06 15:26:21 +00:00
Jenkins
70fc0e6125 Merge "Start and stop scripts are outdated after Kubernetes update" 2015-01-06 15:18:33 +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é
c84b119ec2 Add script to build all docker images in the correct order
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
2015-01-05 11:10:44 +09:00
Martin André
ed493b84e0 Make build script respond to -h option
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
2015-01-05 10:34:35 +09:00
Martin André
e07d274a61 Set higher precedence for .buildconf file in image directory
Source .buildconf file in $IMGDIR last in order to prevent silently
overloading configuration by the less specific $TOPDIR/.buildconf.

Change-Id: Ia38101b6d4743b454dc2c8ba48d3b55af47ed53b
2015-01-05 10:27:35 +09: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
Jenkins
6c1693aa01 Merge "Remove unused libvirt-service.json file" 2014-12-17 21:07:58 +00:00
Jenkins
d5aeb9a223 Merge "Add gitignore file" 2014-12-17 21:07:51 +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
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
Martin André
363eb0939e Add gitignore file
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
2014-12-17 12:52:35 +09:00
Daneyon Hansen
9aadaef82e Fixed Neutron Service Proxy and Simplified Naming
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
2014-12-12 22:45:43 +00: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
Jenkins
528102a0ee Merge "Cleanup variable checks in glance-registry/start.sh" 2014-12-04 19:10:51 +00:00
Martin André
fb9259d426 Allow building docker image from anywhere
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
2014-12-04 17:27:18 +09: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
Martin André
21f28309e7 Check for all required variables in keystone start.sh
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
2014-12-03 10:22:18 +09:00
Martin André
7f66766c9c Properly format markdown in README.md
Mark code blocks and list items as such. Also use preformated text for
commands or flags and wrap long lines.

Change-Id: I6992abb1e1f18fba62adc127285d75f3f39659db
2014-12-02 10:31:44 +09:00
Jenkins
5eb1a06204 Merge "Adds Neutron Networking Support" 2014-12-01 12:20:31 +00:00
Jenkins
a3d88c1a61 Merge "Horizon container implementation" 2014-11-26 20:55:10 +00:00
Pradeep Kilambi
6bd1f5a3a7 Fix to not fork mongod so mongodb container works as expected
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
2014-11-25 22:23:42 +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
Jenkins
c569335e80 Merge "add maintainer check to tests" 2014-11-12 16:42:51 +00: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
Lars Kellogg-Stedman
6666d1e973 add maintainer check to tests
Change-Id: I6ee985e694142aa7dadeb085b77910667ac6359f
2014-10-31 10:10:27 -04:00
Lars Kellogg-Stedman
277f2448e8 Update MAINTAINER in Dockerfiles to Kolla Project
Remove individual MAINTAINER information from Dockerfiles.

Change-Id: I777df5cde049599dc786176e1d5b4b9597f0b334
2014-10-22 11:11:31 -04:00
Lars Kellogg-Stedman
d41b9dc5ac workarounds for nova networking
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
2014-10-21 16:05:36 -04:00
Lars Kellogg-Stedman
914dcfae88 fix typo in nova-network/start.sh
global script is called "kolla-common.sh" not "config-common.sh".

Change-Id: I0303d33c786d575ac4b061b4060f626213bc583b
2014-10-21 14:29:32 -04:00
Steven Dake
f34e65ab1f Only create bridge in nova-network
Not all nova services need a bridge.  Remove bridge creation from
nova-base config and place in nova-network specifically.

Change-Id: Ia78c65a4661cd95112dca7ffdc1e839d4f648d52
2014-10-21 09:57:25 -07:00
Steven Dake
51643d2fea Add missing libvirt-start.sh
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
2014-10-21 09:57:24 -07:00
Jenkins
9ad4337c6d Merge "Tidy up README.md" 2014-10-21 15:30:51 +00:00
Steven Dake
4724eb11e2 Tidy up README.md
The readme was woefully old.  Make it more modern to match the current
state of the repository and development.

Change-Id: I9be10ca8565835c784afea63ee70978d10313e4a
2014-10-21 07:13:43 -07:00