summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-02-19Implements: blueprint rabbit-container-setDaneyon Hansen1-0/+107
This patch provides an initial implementation of docker-compose (i.e. fig). docker-compose runs in a container. The container is only instantiated when invoked to manage a container set (i.e. docker-compose up) and then stopped when the command is finished executing. Change-Id: I797f06bed773192129b57aae9824d4f97c70b3ab
2015-02-19Implements: blueprint heat-fig-updateDaneyon Hansen1-0/+28
Fig is initially being evaluated to provide container set functionality. Therefore, the heat template needs to be updated to support running fig on Kolla nodes. This patch adds the required directories, files, and commands to run fig and a RabbitMQ container for testing. Change-Id: Ifad399b43d8ca712a5efbdafe945d055c33b1e77
2015-02-18Add CentOS base OSSteven Dake4-0/+100
Implement the CentOS 7 base operating system. Change-Id: I1c90fe88baecf3deabad689a6743346a092469c2 Partially-implements: blueprint multi-baseos
2015-02-18Support multiple different types of base OSesSteven Dake4-124/+126
Ideally we want to support Fedora and CentOS as a base operating system type. The build scripts will rewrite the Dockerfile build scripts to pull in the correct base OS. Change-Id: Ia41e21811caa3a1989c79cc42ce6615eec0c977b Partially-implements: blueprint multi-baseos
2015-02-18Fixed nested lists in container specBritt Houser1-0/+20
The container spec file had a couple places were nested lists were used which didn't have the necessary blank lines before and after. As such, they didn not render to HTML correctly. Change-Id: I5d17644facdc25ec30db563c217367672529b8e1
2015-02-17Merge "Implements: blueprint heat-template"Jenkins6-168/+502
2015-02-17Merge "Allow symlinks in the container build"Jenkins1-1/+5
2015-02-16Allow symlinks in the container buildSteven Dake1-1/+5
This patch permits symlinks in the docker build. Normally docker does not permit symlinked files in the build context sent to the docker server. To work around this problem, a secure directory is created in /tmp and the container contents are copied to that directory. Any symlinks are turned into their non-symlinked equivalents. Change-Id: I38cd5aeed4c73b90449354a0979fc6ddf7891ccb Implements-blueprint: linked-build
2015-02-17Merge "Implements: Blueprint update-image-build-script"Jenkins2-0/+41
2015-02-16Implements: blueprint heat-templateDaneyon Hansen6-168/+502
Previously, the kolla heat template was maintained outside of the project in the larsks/heat-kubernetes repo. This patch adds the templates to the project's devenv directory. Additionally, the patch updates the templates and documentation to reflect the design changes outlined in the following spec: https://github.com/stackforge/kolla/blob/master/specs/containerize-openstack.rst Change-Id: I11305f87cceb2495478d458a7e381d20838e664a
2015-02-16Implements: Blueprint update-image-build-scriptDaneyon Hansen2-0/+41
Previously, the image used for Kolla development needed to be manually created. This patch adds a script to automate a consistent, repeatable process for creating an F21 image used for Kolla development. Change-Id: Ibbe41ac6c6f1d2f2bdd62a48b05c096967c8324e
2015-02-13Containerize OpenStack based upon SPC and figSteven Dake1-0/+243
This specification proposes using fig (being renamed to compose soon) to provide single-node multi-container orchestration. By using this mechanism, a very simple Ansible Playbook could easily deploy a single node in to a specific role type - such as a controller node, a compute node, or a storage node. This specification further proposes using super-privileged containers to provide solutions for the upgrade and rollback use cases of an OpenStack deployment. Change-Id: I56ff1fdf8b19b47be97778b55ea947ebb43995c1
2015-02-06Merge "Check for nova DB availability in dependent containers"Jenkins4-4/+9
2015-02-06Merge "Cleanup required variables checks for all containers"Jenkins24-83/+84
2015-01-26Merge "Various fixes to pre-commit hook"Jenkins2-16/+6
2015-01-21Check for nova DB availability in dependent containersMartin André4-4/+9
When nova-api start and the nova database hasn't yet been created, it would create it itself, preventing the migration in nova-conductor to run and making it unable to start. This commit ensures that nova-api container will not try to steal nova-conductor's job of creating the nova database. Nova-scheduler reacts differently to the missing database and simply exits with a backtrace. This commit also prevents nova-scheduler to start when the nova database cannot be found. Change-Id: Ib6f7521151815faa7a26ec1d170df5a1cdb7fd63 Related-Bug: #1335804
2015-01-20Merge "Fix validate-maintainer.sh script"Jenkins2-2/+2
2015-01-20Merge "Make scripts work on latest Atomic images"Jenkins12-36/+39
2015-01-19Fix validate-maintainer.sh scriptMartin André2-2/+2
The script wasn't reporting any errors due to a typo. Also fix MAINTAINER field for ceilometer-collector image. Change-Id: Idf1e2746ae395bb05ee679ca71a10a3f103ebfa8
2015-01-19Various fixes to pre-commit hookMartin André2-16/+6
Fix incorrect test in sh. Bash implements the new test with [[ that accepts the double equal, however, this is not a bash script. On Debian and derivates, this will be run by dash. Make the script portable by not using GNU extensions of xargs. Call `validate-all-*.sh` scripts whenever possible. Have bashate look for /usr/bin/env style shebang as well. Remove useless validate-json.sh file. Change-Id: Id2d697f2e9ddaa66e25f71f410200528c1e0cf6b
2015-01-19Cleanup required variables checks for all containersMartin André24-83/+84
This allows Kubernetes to reschedule containers in case a required variable is missing, for example when the Kubernetes pod is started before the service. The checks were cleaned using the following method: * remove duplicates * remove check for variables that get a default value in the same file * check for all variables used in the file * check for required services when it is obvious. Change-Id: Ib7e0530c410c61f828d36efe8925a20dc9781eab
2015-01-19Make scripts work on latest Atomic imagesMartin André12-36/+39
Remove git and jq dependency in most scripts, allowing to run them on latest atomic images, or even distribute Kolla in the form of tarball. The only remainings of git dependency are in the git pre-commit hook, and in the image build scripts. We can remove the latter one and have the scripts running in degraded mode if we really want to. I opted for a python based approach to finding the top-level directory for portability, ensuring consistent result on Linux and BSD, including OSX. Change-Id: I987174032d11b2e9d6a993c563b5dc877c15dd2d
2015-01-15Pass cleanup scripts arguments to dockerMartin André2-2/+2
This allows to maintain the default behavior unchanged while making it possible to force clean. Follow-up to https://review.openstack.org/#/c/145921/ Change-Id: Ie5733b22bda9cdd7d08f5c5ecc5a3d94b984a125
2015-01-14Improvements to build-all-docker-images scriptMartin André1-14/+27
Trap interrupt signal so that the build-all-docker-images script is stopped on Ctrl-C, and not only the current build. Additionally, the script now prints a summary of changes on exit. Change-Id: I3f6ef97d776c7799c73bc709070d97d37406637a
2015-01-08Merge "Cleanup of images and containers needs a '-f' flag to force shutdown"Jenkins2-2/+2
2015-01-08Cleanup of images and containers needs a '-f' flag to force shutdownRyan Hallisey2-2/+2
Change-Id: I0642dcd36fe5af261b8f35744e3e88460a13fc85
2015-01-08Rabbitmq service is looking for 'rabbitmq-master' instead of 'rabbitmq'Ryan Hallisey1-1/+1
Change-Id: Id28a15f1c0f54b4aa2ee1d49ee7f117eb84c977a
2015-01-06Merge "Add script to build all docker images in the correct order"Jenkins1-0/+162
2015-01-06Merge "Make build script respond to `-h` option"Jenkins1-3/+3
2015-01-06Merge "Base all images on kollaglue ones"Jenkins6-6/+6
2015-01-06Merge "Set higher precedence for .buildconf file in image directory"Jenkins1-1/+1
2015-01-06Merge "Lock Fedora-based image to specific versions"Jenkins2-2/+2
2015-01-06Merge "Update the README to reflect new additions to kolla"Jenkins1-1/+6
2015-01-06Update the README to reflect new additions to kollaRyan Hallisey1-1/+6
Added the new containers we are supporting. Kubernetes has updated and kubecfg was replaced with kubectl. Change-Id: I12b88b856dca150087261f86c674012dcc1b4816
2015-01-06Merge "Start and stop scripts are outdated after Kubernetes update"version-m2Jenkins22-19/+70
2015-01-05Start and stop scripts are outdated after Kubernetes updateRyan Hallisey22-19/+70
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-05Add script to build all docker images in the correct orderMartin André1-0/+162
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-05Make build script respond to `-h` optionMartin André1-3/+3
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-05Set higher precedence for .buildconf file in image directoryMartin André1-1/+1
Source .buildconf file in $IMGDIR last in order to prevent silently overloading configuration by the less specific $TOPDIR/.buildconf. Change-Id: Ia38101b6d4743b454dc2c8ba48d3b55af47ed53b
2015-01-05Base all images on kollaglue onesMartin André6-6/+6
The `kollaglue` Docker hub namespace was missing for some of the images. Change-Id: Id0e0c7f62d638fc2ee79f27c07677abf2902e087
2015-01-05Lock Fedora-based image to specific versionsMartin André2-2/+2
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
2014-12-26Merge "Prefer the use PUBLIC_IP over MY_IP"Jenkins2-3/+3
2014-12-19Merge "Enable usage of containers outside of Kubernetes"Jenkins4-2/+48
2014-12-17Merge "Reduce code duplication in kolla-common.sh"Jenkins1-40/+21
2014-12-17Merge "Remove unused libvirt-service.json file"Jenkins1-10/+0
2014-12-17Merge "Add gitignore file"Jenkins1-0/+6
2014-12-17Enable usage of containers outside of KubernetesMartin André4-2/+48
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-17Fix use of undefined KEYSTONE_SERVICE_HOST in CeilometerMartin André2-5/+5
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-17Reduce code duplication in kolla-common.shMartin André1-40/+21
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-17Remove unused libvirt-service.json fileMartin André1-10/+0
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