Make the build scripts work in copies of Kolla so that developers can
continue working while a build is is progress, which can be very long
in the case of build-all-docker-images.
Change-Id: I1b5d9b59ed34dfa622a42495e07d9a1d2ecde86e
Missing quotes around $FORCE_NAMESPACE was causing empty namespace
unless the --namespace switch was passed on the command line.
Change-Id: I474d67e133111bde7935b6f06ff3c8ca0f19d6cb
For some reason -n doesn't work with arrays, probably becuase
the array has an entry by the array's indexed value is empty.
By quoting it we get it as one unit, which behaves as expected.
Change-Id: Ic3243d13d3f8fc9978c460f816e33ad348302d8e
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
The script wasn't reporting any errors due to a typo.
Also fix MAINTAINER field for ceilometer-collector image.
Change-Id: Idf1e2746ae395bb05ee679ca71a10a3f103ebfa8
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
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
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
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
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
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
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
The images are already updated, so this can be approved immediately
following the dependent implementation commit.
Change-Id: Ida3d6b5b64256a63652dffba9dff2365e3755286
When running Docker, you can unknowingly use up a lot
of memory. This tool will make it easier to clean up
Docker.
Change-Id: Icfd780f12b01956093a2933dd484cde1e2d6d5bc
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
nova-libvirt was not in the list of started services, so its port
was not available prior to this change.
Change-Id: I59cedb68ff87a9a54e93c85e60f748e5cc161a4c
replicaton controllers are now automatically started by the start
scripts and killed by the stop script
Change-Id: I15d15ff9b1b640bd0f8cace872a827ecfe476ca3
This patch adds a script for validating YAML files, and replaces the
existing JSON checks with one largely identical to the YAML check.
This also provides a script that can be installed as a pre-commit hook
that will perform this checks when you commit changes. You can install
the hook by running tools/pre-commit-hook --install.
Change-Id: Ib4742a9db062362cfa61d669c691151bc1ca376c
Start all of the nova-controller services and pods with the start-all-pods
and start-all-services startup scripts
Change-Id: I47fe15d67ef177fbecf342357bff44cf2fdb5d9e
- fix typo in --namespace option
build-docker-image had a missing '$' in the code that handled the
--namespace option.
- force builds to kollaglue namespace with 'latest' tag to use
the --release flag
- build IMAGE after config and options processing to permit overriding
PREFIX in .buildconf
Change-Id: Icf70b33080ef19643f133f2b6f60087c524bd4fb
This patch replaces the collection of individual "build" scripts with a
single script (tools/build-docker-image), made available as "build"
inside each image directory.
The build-docker-image script will, by default, build images tagged with
the current commit id in order to prevent developers from accidentally
stepping on each other or on release images.
Documentation in docs/image-building.md describes the script in more
detail.
Change-Id: I444d5c2256a85223f8750a0904cb4b07f18ab67f
When discussing with the infra guys they have mentioned it would be
easier to call our linting job pep8, it's indeed badly named but that
target has been used all over openstack for linting projects. As a bonus
point it would make things easier to add the job to the gate. To make
that patch much more interesting than a three characters change I have
improved the validate-samples script to detect if jsonlint was present
and if not fallback to the standard python -mjson.tool which give you
less details but nonetheless works if jsonlint is present.
Change-Id: I8d71a229917004dfd7223a16e4f270101cf2f0a8
This is a simple JSON validation script based on demjson python library,
we do some shell script trickeries to exit properly if there is a
failure for tox (should probably patch demjson to properly exit
instead).
Change-Id: I930908336deef7daeaab5b55ba2031c64698d880
Implements: blueprint json-validation-gate