131 Commits

Author SHA1 Message Date
Martin André
2844a25102 Always provide a tag when building with build-all-docker-images
When we're not providing a tag, the build script will use one based on
the short SHA of the tip of the current git branch.

Make the `build-all-docker-images` script always provide a tag to
`build-docker-image` in order to prevent issues with Docker not being
able to find the base image when changing branches during an ongoing
build.

Closes-Bug: #1458739
Change-Id: Id6925b792f46d14b20a7dbebfaf0d351ddec6538
2015-05-26 14:20:51 +09:00
Jenkins
9249ed0d1d Merge "fix subnet-create call for demo-net" 2015-05-25 13:17:45 +00:00
Jenkins
6b5e691c86 Merge "Restructure builds to allow more flexibility" 2015-05-24 17:52:39 +00:00
Jenkins
ac97b74052 Merge "Set release tag to 'latest' for development branch" 2015-05-18 21:45:03 +00:00
Justin Riley
f77ca0e05b fix subnet-create call for demo-net
(neutron client version: 2.5.0)

The option is --dns-nameservers not --dns_namservers and the
subnet-create subcommand expects the NETWORK and CIDR to be adjacent
args.

Change-Id: I4f776632902fd001c38ee5c8c87a213883ca87be
2015-05-18 13:24:40 -04:00
Sam Yaple
13062e23e8 Restructure builds to allow more flexibility
As a restructure, nothing is changed from the original behaviour and
naming despite the file structure changing. The symlinks to build had
to be updated generating lots of "deleted" and "new_file".

The new structure is:

docker/${base_distro}/${type}/${container}

base_distro == centos, ubuntu, fedora, etc
type == source, binary, rdo

type rdo is a symlink to binary for backwards compatibility

Two new flags are added to the build-all script to support the ability
to support different base distros and a flag to support binary or source
containers.

There are several added folders that are empty to hold the directory
structure for future containers of these types.

To use a prefix other than centos-rdo- you can set PREFIX in the toplevel
directory .buildconf file

Change-Id: Ifc7bac0d827470f506c8b5c004a833da9ce13b90
2015-05-15 01:32:22 -05:00
Jenkins
354ba01c8f Merge "Fixes Nova NoVNC" 2015-05-14 17:49:46 +00:00
Jeff Peeler
21cd478cbd Add functional tests to tox
This adds functional tests to tox, along with a number of prerequisite
steps. Since this is primarily a bash project, pbr usage has been avoided.
Tests are to be written in python and put in the tests directory.

Running tox -e setupenv will execute a setup script
(tests/setup_docker.sh) to ensure the running instance of docker meets
the minimum version requirement.

Running tox -e images will execute the image building script
(tools/build-all-docker-images) and will parse the resulting output to report
failures.

Running tox -e startenv will generate the environment file, run
"tools/kolla start", and run first time initialization (eventually).

Running tox -e functional is for actually testing the deployed OpenStack
environment via a series of tests utilizing the client APIs.

Change-Id: Iff6dfdca43f0c44d471e7540a7836e56a0de4507
2015-05-13 15:38:07 -04:00
Jenkins
4911917805 Merge "add restart and destroy subcommands to tools/kolla" 2015-05-13 12:55:21 +00:00
Sam Yaple
e057343c2f Allow private docker registries
Change the sed seperator to accept a namespace with a private registry
and add an option to specify the registry. Below is an example for a
registry located at 192.168.0.10:5000.

$ ./build-all-docker-images -r 192.168.0.10:5000

The final image name would be something like this:
'192.168.0.10:5000/kollaglue/centos-rdo-base'

All build, push, and pull commands will still function the same.

Change-Id: Ic0ff96bb8119ddfab15b99e9f1e21cfe8d321dab
2015-05-12 22:16:59 -05:00
Daneyon Hansen
fa51eb4b53 Fixes Nova NoVNC
Previously, vnc was not completely working properly because
nova.conf config flags were not properly implemented in t he correct
containers.

This patch moves the nova.conf config flags for vnc to the proper
containers. Additionally, the patch modifies the proxy client ip
param to be consistent with the param within nova.conf and adds
all the novnc params to docs.

Change-Id: I1944baca64ccd113bbca582784b08f90dc0eff69
2015-05-12 12:11:40 -07:00
Jenkins
52847aa1b9 Merge "fix net-create call for public1 in tools/init-runonce" 2015-05-12 17:34:00 +00:00
Jenkins
4aacc43e96 Merge "Additional option to cleanup even failed containers" 2015-05-12 15:48:25 +00:00
Justin Riley
4443392f6e fix net-create call for public1 in tools/init-runonce
The --router:external option is a boolean flag that doesn't take a value
(neutron client version 2.5.0). Passing True results in the following
error:

Invalid values_specs True

This patch simply removes the 'True' value.

Change-Id: If4b5305f37d50c14c767393eb21223b0e0b59494
2015-05-12 11:23:52 -04:00
Justin Riley
68e4dba46a add restart and destroy subcommands to tools/kolla
Convenience commands for restarting all containers and destroying all
containers

Change-Id: I9c4759dbe699bd4b609cefa694ecc897355ff60a
2015-05-12 11:13:29 -04:00
Martin André
d1b8a1db91 Set release tag to 'latest' for development branch
Change-Id: I418583af2d2795f4b63ded2aa3e2cbedd70993c8
2015-05-12 13:18:09 +09:00
Steven Dake
794a814275 Make a demo for Magnum
Make a Magnum demonstration that creates a baymodel and bay.  Just
run demos/magnum/launch to make it work.  This depends on Neutron.

Borrow the v1beta3 redis example from the examples repository in
Kubernetes.
Change-Id: I448a5890bfe0c1675914ae7dbd02fad03f4b1eeb
2015-05-11 09:26:08 -07:00
Steven Dake
5a06901664 Add Magnum Containers as a Service to Kolla
This adds Magnum Containers as a Service to Kolla.

Change-Id: I572cd62845515f42a6a16291d2bd87ad8d972e24
Implements-blueprint: container-magnum
2015-05-11 09:26:02 -07:00
Sam Yaple
95234ea533 Additional option to cleanup even failed containers
Also support --pull flag to pull the latest version of the base

Change-Id: I3205d6e799772138edaf2b0666353c19dfbf52f0
2015-05-11 08:47:50 -05:00
Jenkins
56e72a6bcf Merge "Updates cleanup-containers" 2015-05-08 16:01:51 +00:00
Daneyon Hansen
556388e737 Updates cleanup-containers
Previously cleanup-containers suffered from the following
limitations:

1. The docker rm command would fail if all the containers were not
   stopped.
2. The script would throw an error if no containers existed.
3. Artifacts such as veths, bridges, etc.. would remain on the host
   after containers were removed. These artifacts should be removed
   if the containers are removed.

Change-Id: I5eadb23fec9e34125a32f6c3e39c241d97932910
2015-05-06 21:00:38 +00:00
Steven Dake
c81b003309 Port to Kilo
Use kilo upstream RPM packages

Partially-implements: blueprint port-kilo

Change-Id: Ia0b4db5dc8e40c01184871e77458dc718c3c46cd
2015-05-06 13:54:00 -07:00
Harm Weites
5ffc66cd69 Add a novnc container running the novnc-proxy.
All VNC-specific configuration bits are moved from nova-api-base to
nova-compute and the new nova-novncproxy and nova-consoleauth
containers. The compose specification has been updated to reflect this.

A future patch will make the desired backend configurable (spice/vnc).

Change-Id: I8b64abf125fd1ecd7d3463515e3717dd9bd60420
Blueprint: novnc-container
2015-05-06 22:32:38 +02:00
Steven Dake
68594d873f Port to Juno
This represents the Juno release of the images.

Partially-implements: blueprint port-kilo

Change-Id: I2837ec25a2aa093b7fff7519f3ed608ec93736bf
2015-05-06 09:58:43 -07:00
Steven Dake
ea0f5c7efa Add heat-api-cfn
Add Heat-api-cfn for wait conditions

Magnum needs wait conditions in order to operate properly.  heat-api-cfn
is where wait conditions connect.

Change-Id: I56742dd96e4607dc0042d0cef4e18c922f9ed736
Implements: blueprint container-heat-api-cfn
2015-05-06 05:33:55 -07:00
Martin André
047683d12c Initial support for taggable dependencies
Introduce a new --no-use-released-parent option to `build-docker-image`
that allows specifying whether the parent image uses the same tag as
the one that's currently build or the release tag.

Default is to use the release tag for parent image, however
`build-all-docker-images` script forces it to be the current tag.

Change to Dockerfile is coming next.

Change-Id: Ief11c9abb722c181ca85f38ee11800dbf4332a5f
2015-05-05 12:45:11 +09:00
Justin Riley
844d710a48 remove cirros download from post_start in tools/kolla
The cirros image download and creation now happens in
tools/init-runonce.

Change-Id: Icb83526c1fbe42b96957dd39ad9e46a1cf450471
2015-05-01 12:38:33 -04:00
Justin Riley
c1ae401823 neutron subnet-create requires args at the end
The network name must be next to the CIDR otherwise `neutron
subnet-create` gets confused.

Change-Id: Ie8b19d3824e5e25f80c61f0794595813c80b98da
2015-04-29 22:17:24 -04:00
Jenkins
1bf3bb4e32 Merge "Preserve file attributes when copying image dirs for build" 2015-04-30 01:12:15 +00:00
Jenkins
90ae33a3df Merge "Consolidate tools/conf-* scripts in tools/init-runonce" 2015-04-28 15:41:48 +00:00
Jenkins
4887662c45 Merge "Change the default shell to bash" 2015-04-28 12:40:43 +00:00
Qiu Yu
6b159e78f5 Preserve file attributes when copying image dirs for build
Add "-a" to preserve file attributes so that unnecessary Docker image
build can be avoided. Otherwise, build-all-docker-images will generate
additional image layer due to timestamp change.

Change-Id: I893fa0637937c521198f50b1bba203a27c9f00a3
Closes-Bug: 1449287
2015-04-28 12:33:10 +08:00
Martin André
90ad52c4c1 Consolidate tools/conf-* scripts in tools/init-runonce
Fix issues reported in https://review.openstack.org/#/c/177681/3, and
simplify detection of cirros images in glance.

Only add developer's SSH key to nova if ~/.ssh/id_rsa.pub exists and is
readable.

Change-Id: I5936c6db399d63902d460b0d3c959619073cc3cc
2015-04-28 12:15:42 +09:00
Steven Dake
716eeae386 Add support for configuring via Neutron networking
Configure the network for use with Neutron.

Co-Authored-By: Daneyon Hansen (danehans@cisco.com)

Change-Id: Iab0496cf40683ca29cbe38066ae446aa8c6c4c36
2015-04-27 14:22:23 -07:00
Steven Dake
fbee7e842f Add a conf-novanet to configure nova
Configure nova networking and nova quotas to allow 40 m1.small
instances to run.  Checks for keystone credentials set.  May only
be run once.

Change-Id: I36e01d42ec283651babbb59268452a65e644626e
2015-04-27 14:20:10 -07:00
Chen Zhiwei
76c1fe6371 Change the default shell to bash
Unify the shell to bash in all Kolla scripts.

Change-Id: Ib9591b2f8f344eb88455c5e9b7ecf2164fb5960a
Implements: blueprint use-bash-shell
2015-04-27 13:26:37 +08:00
Steven Dake
69eba5e3d1 Kolla runs process on rabbit, not rabbitmq
The kolla script runs its process on rabbit, not rabbitmq.  This
results in the rabbitmq compose scirpt not being executed.

Change-Id: I80f8d537c36b6cd598cdcf87f77df418db8ed035
2015-04-21 13:49:17 -07:00
Jenkins
a2eb42744b Merge "Introduce tools/kolla to interact with kolla" 2015-04-21 16:37:55 +00:00
Jenkins
a85917313e Merge "Fix validate-all-yaml.sh to check for files with yml extension" 2015-04-17 04:30:27 +00:00
Martin André
75a6c3bc9f Introduce tools/kolla to interact with kolla
This is supposed to prevent proliferation of scripts in "tools"
directory and reduce code duplication.

This first patch replaces tools/{start,stop,pull,status} scripts and
more commands are to be added in the future.

Change-Id: I3d99cf5033be8631d8e6f32a4c34d3b5ffcae7e8
2015-04-16 14:56:48 +09:00
Jenkins
58819e0700 Merge "Adds a Status Script" 2015-04-16 01:36:06 +00:00
Steven Dake
4999b0cb53 genenv generated invalid variable
NEUTRON_SHARED_SECRET was being generated incorrectly.  It had a colon
at the front, which causes nova not to operate.

Change-Id: Id0d9390fa60b3d946513098fed394aaba3a53c70
2015-04-14 15:56:36 -07:00
Daneyon Hansen
ad60fbb0a4 Adds a Status Script
Previously, only start/stop scripts existed. The status script
runs docker-compose ps for each container so users can
get a quick snapshot of their Kolla environment.

Change-Id: I3204f3e7404ad906d5330cf67d091fc1f06d3030
2015-04-14 20:40:06 +00:00
Daneyon Hansen
3c04d60673 Adds Neutron to Start/Stop Scripts
Previously, Neutron was not included in the start/stop scripts.
This patch reads the NETWORK_MANAGER value from openstack.env
to start/stop either nova or neutron networking.

Change-Id: I85b31396c2b816b89f33206443c3d60cb4b7914b
2015-04-14 20:21:39 +00:00
Martin André
bfe0d0e0e9 Fix validate-all-yaml.sh to check for files with yml extension
YAML files can have .yaml or .yml extension. Make `validate-all-yaml.sh`
check for *.yml files in addition to *.yaml files since we now have some
of these in our source tree.

This should help to prevent bogus YAML files to land in the repository.

Change-Id: Id59273680fc2424f7b636033b1d641efcaaeba22
2015-04-14 13:32:09 +09:00
Jenkins
005e4293e3 Merge "Sets debug logging to false" 2015-04-14 00:24:15 +00:00
Jenkins
4a23484a96 Merge "Changes Default Image Prefix" 2015-04-13 20:44:36 +00:00
Daneyon Hansen
c853f62dee Sets debug logging to false
Previously, debug logging was enabled by default. Only verbose
logging should be enabled by default.

Change-Id: I5a1fc805284be777dd49c79cc344a5e8600a238d
2015-04-13 20:33:28 +00:00
Daneyon Hansen
8edfda14f5 Sets Neutron log_dir=/var/log/neutron as default
Previously, the log_dir was blank, causing neutron to log
to stdout. The log_dir param must be set for this:

https://github.com/stackforge/kolla/blob/master/docker/neutron/neutron-agents/config-scripts/config-dhcp-agent.sh#L69

Change-Id: Ibf14224e5a6f27f2c0f9900828a7cd00f3babfab
2015-04-13 20:29:42 +00:00
Daneyon Hansen
abed334dbe Changes Default Image Prefix
Previously, Fedora was set as the default image prefix. Since our
reference architecture focuses on CentOS, the default image prefix
has been changed accordingly.

Change-Id: I794ac1aa035d793204fa315752ae8188ce872a3e
2015-04-13 19:36:24 +00:00