61 Commits

Author SHA1 Message Date
Benedikt Trefzer
ccca2e5a98 Make swift-base container build with debian
- add debian as base_system

Change-Id: I1d0f1e5de819e8325243fa0b971c1eb7b83fb5b5
Partially-implements: blueprint build-debian
2016-06-04 03:44:56 +00:00
Swapnil Kulkarni (coolsvap)
435b21b90d Update ubuntu dockerfiles for formatting
Change-Id: If4be00b937e14ec93443dcb7249cf17099d57cbe
Closes-Bug: #1569417
2016-05-26 04:09:22 +00:00
Serguei Bezverkhi
d553514cb7 Configures swift-rsyncd to use non-default port
This PS configures swift-rsyncd process to use non-default port
from the range above 1024.

Change-Id: I7c37c548a5185a2ffac789383fe012619e401131
Closes-Bug: #1573137
2016-04-21 12:54:30 -04:00
Jenkins
765e40de02 Merge "Drop root for swift" 2016-04-14 18:59:56 +00:00
Jenkins
b042f4d517 Merge "Update Swift dockerfiles for formatting" 2016-04-13 07:49:13 +00:00
Swapnil Kulkarni (coolsvap)
7959c9ffc8 Update Swift dockerfiles for formatting
Change-Id: Ib61f757e20aaec5941fd989ed5a4cd44f1424a80
Partial-Bug:#1569417
2016-04-12 22:04:52 +05:30
Michal Rostecki
3f85c54598 Create /var/cache/swift in source installation
Due to lack of /var/cache/swift directory, swift services
are unable to access /var/cache/swift/container.recon file.

Closes-Bug: 1569182

Change-Id: Ifc4763d40256e43f51728e1dd4b3986c4f0ba0fc
2016-04-12 08:44:38 +02:00
Swapnil Kulkarni (coolsvap)
7595dfce78 Drop root for swift
Updates to ensure commands run in the swift containers
are done as the 'swift' user rather than root.

Change-Id: I8c5a12e24b9940200241dbe09d6bde8f1cc1cf05
Closes-Bug: #1553895
Co-Authored-By: Serguei Bezverkhi <sbezverk@cisco.com>
2016-04-11 18:47:51 -04:00
Jenkins
a10d4250c2 Merge "Swift ubuntu binary container" 2016-02-22 15:35:00 +00:00
MD NADEEM
a7dcf89c2a Swift ubuntu binary container
Change-Id: I4ead909143c0089d5b07568b27dc37222da95561
Partially-Implements: blueprint binary-ubuntu
2016-02-22 09:38:22 +00:00
Martin André
e6571c0203 Safely create directories
This prevents failure when the directory already exists.

This commit fixes a failure in centos-binary because of a change in the
RDO packaging, where the required directory is now created for us.

Change-Id: Idd3e15802c3e3fd363e1295111ec12948d566781
Closes-Bug: #1543417
2016-02-10 08:25:23 +09:00
Qiu Yu
b209da1306 Fix Swift for multinode P+ACO deployment
Current Swift playbook is based on the preassumption of AIO setup.
However, if one goes with default multinode setup
(ansible/inventory/multinode), it follows the P + ACO deployment model,
which proxy-server runs on controller nodes where ACO
(account/container/object services) run on storage nodes.

It will break because swift proxy-server no longer has access (it
shouldn't have) to /srv/node path. This change ensure disk mounting part
only happens on storage node. It also moves chown from proxy-server
Dockerfile to rsyncd because no matter with PACO, P+ACO or P+A+C+O
model, rsyncd is always running on each storage node.

Change-Id: I3aa20454902caa9c84d3901bb91e4e4c93ac5f34
Partially-Implements: blueprint swift-physical-disk
Closes-Bug: #1537544
2016-02-02 02:14:31 +08:00
SamYaple
76c88bbd1e Fix swift build issue
Swift updates and new deps are needed, here is one

Closes-Bug: #1538377
Change-Id: Ibb890c73e462113c5aa29ab12637a9115bb51240
2016-01-28 07:07:30 +00:00
Jenkins
c6d01ea39c Merge "Fix bug:xrange() issue with py3.x" 2016-01-27 07:15:20 +00:00
MD NADEEM
4f462ed451 Fix bug:xrange() issue with py3.x
In python3.x, there is no method named xrange(),
it has replaced by range(),which is equal to xrange()
in python2.x. so we must fix this issue.

Closes-Bug: #1268439

Change-Id: I66f0a7f248ad77bf06e96ea7cfcb7ef5f050b13a
2016-01-21 12:29:22 +05:30
Jeffrey Zhang
1cf92be7b2 Share the same image between swift services
Get rid of swfit children images by share the same image in the swift
account, swift object and swift container services

Closes-Bug: #1534476

Change-Id: I929689f93b56396a41b19fda46e4679c4de84ca1
2016-01-15 15:23:09 +08:00
SamYaple
cda0459ad1 Fix pip install settings
There were some inconsistencies with pip install instructions
thoughout Kolla. We fix those here.

Additionally, we fix the virtualenv to properly use the site-packages
on the host if a library is not available in the venv.

Change-Id: Ib84d48e8826bb96060338b3fa0782620c98794a8
Related-Bug: #1524684
Closes-Bug: #1529434
2015-12-27 03:35:35 +00:00
SamYaple
4457636167 Add missing contraints
There were some missing constraint caps on our pip installs

TrivialFix

Change-Id: I3d0af9556d08a9a0a99248a9992637d08fd3ad01
2015-12-27 02:22:17 +00:00
Jeffrey Zhang
305020c209 Add the rhel in the base_distro condition in swift dockerfile
Closes-Bug: #1528446
Change-Id: I781a1f3617fedc96da5a0837ecf988fb9a366d44
2015-12-22 13:34:30 +08:00
Michal Rostecki
febcb600f1 Source installation in virtualenv
Use virtualenv for installation of OpenStack projects and
dependencies to avoid conflicts with Python libraries installed
by non-OpenStack binary packages.

Change-Id: I21ecd673b2e93335b1d3dd4e279e940c9d694c3c
Implements: blueprint virtualenv
2015-11-27 10:22:17 +01:00
Swapnil Kulkarni (coolsvap)
59a1c8b9fb Remove hardcoded MAINTAINER in Dockerfiles
Added new option in kolla-build.conf

Change-Id: I45fe51966bcb59ea19d112281ba3d5a1ba091a56
Closes-Bug:#1514304
2015-11-23 11:03:47 +00:00
Angus Salkeld
33d39f2942 Fix validate-all-maintainer.sh to look for Dockerfile.j2
And fix the fallout.

Change-Id: Iccad3f4fdb0a6a7c14246df3408cae0425b833a5
2015-11-09 15:20:13 +10:00
Sam Yaple
94162bd08f Bring Kolla inline with FHS
This brings Kolla images inline with FHS and should make finding
locations of things more consistent and reliable with the linux world
at large.

Change-Id: Iece5b4da4bace0fb8b1f41a65ab2c852ec73e6f8
Closes-Bug: #1485742
2015-10-06 03:30:53 +00:00
Sam Yaple
cb4e875ae1 Common start.sh
The majority of the start.sh code is identical. This removes that
duplicate code while still maintaining the ability to call code in a
specific container.

The start.sh is moved into /usr/local/bin/kolla_start in the container

The extend_start.sh script is called by the kolla_start script at the
location /usr/local/bin/kolla_extend_start . It always exists because
we create a noop kolla_extend_start in the base directory. We override
it with extend_start.sh in a specific image should we need to.

Of note, the neutron-agents container is exempt from this new
structure due to it being a fat container.

Additionally, we fix the inconsistent permissions throughout. 644 for
repo files and the scripts are set to 755 via a Docker RUN command to
ensure someones local perm change won't break upstream containers.

Change-Id: I7da8d19965463ad30ee522a71183e3f092e0d6ad
Closes-Bug: #1501295
2015-10-06 03:30:26 +00:00
Jenkins
6a622ec82c Merge "Implement a install_type and install_metatype" 2015-09-28 10:49:53 +00:00
Jenkins
aadbbcbee0 Merge "remove set_configs" 2015-09-28 10:34:58 +00:00
Steven Dake
0e99b69de4 Implement a install_type and install_metatype
This prepares for the RHEL OSP implementation by making the build
tool convert all binary-* into an install_type of binary and * into
an install_metatype variable substitution inside the Dockerfiles.
Further binary-* is substituted as install_name to enable proper
building only.

Change-Id: Ib681b29176eb79a3cab12ec824313fdecb6e7a5f
Partially-Implements: blueprint rhel-based-image-support
2015-09-28 03:16:48 -07:00
Sam Yaple
160f1cc011 remove set_configs
Change-Id: I9bb0a1fac63cc326234b0f06b1e56b43e0753279
Partially-Implements: blueprint replace-config-external
2015-09-27 13:44:50 +00:00
Sam Yaple
39aba34b2a Remove all fail sections for Ubuntu
Ubuntu binary is not supported and may never be. Installing from
cloud-archive packaging is only for the current stable distros, Ubuntu
does not have a Delorean type repo. We place a fail message in the
base image to catch this and remove the messages throughout the
project.

An additional fail message is placed to catch all other things.

Change-Id: Id2953f503ebd42226f6a08e75979ae56511c40f7
Implements: blueprint install-from-ubuntu
2015-09-27 08:10:59 +00:00
Sam Yaple
a1b0518b9a Fix removal of config-external
I removed the files but not the COPY commands thus breaking all of
Kolla

Change-Id: I37d3e0cb94a1ecc12971f485f953310ba8fee53c
Partially-Implements: blueprint replace-config-external
2015-09-25 20:08:40 +00:00
Sam Yaple
e2e0fd288f Remove config-external.sh
Removes config-external for all services that have been replaced in
Ansible

Change-Id: I839a14418638b977fbc1d02ba6839811b0f909ea
Partially-Implements: blueprint replace-config-external
2015-09-25 13:00:55 +00:00
Sam Yaple
3d81353706 Replace config-external - swift
Change-Id: I785cb53d64cbf8dbc0fad97882f9fd0307982e5d
Partially-Implements: blueprint replace-config-external
2015-09-25 12:58:44 +00:00
Jenkins
31594eef5b Merge "Add missing Swift services, also ansible configuration" 2015-09-13 20:09:59 +00:00
Paul Bourke
8fa96a1516 Add rsyncd image and related Ansible for Swift
Swift replicator services require rsync to function. This patch adds a
new container which is included automatically on each of the Swift
storage nodes.

Change-Id: If10fbe610ca4df21ef0f2c7a1025035d627cb4ba
Partial-Bug: #1477993
2015-09-07 12:16:35 +00:00
jamesmmccarthy
91fc423a01 Add missing Swift services, also ansible configuration
DocImpact
Closes-Bug: #1477993
Co-Authored-By: Paul Bourke <paul.bourke@oracle.com>
Change-Id: Ifeab0fec11889cb0c90a56a6211dbdd27a40f3d9
2015-09-07 10:38:00 +00:00
Steven Dake
6992049323 Add 'rhel' for RPM distros
Add 'rhel' to list for RPM based distros.  Also sort the distro
list for rpm packages for affected lines.

Change-Id: Ied4cb3e9763d6c6359f314d16185383ac3e006ed
Partially-Implements: blueprint rhel-based-image-support
2015-09-04 03:12:15 -07:00
Jenkins
91bc4b094c Merge "Allow arbitrary source archive name to be imported into Dockerfile" 2015-09-04 06:24:28 +00:00
Vladislav Belogrudov
c22cf33268 Allow arbitrary source archive name to be imported into Dockerfile
Currently we cannot import source archives with names different
than expected by hardcoded line in Dockerfiles. This worked well
for Openstack services' tarballs where we expected SERVICE-* root
folder after extraction or kanaka-noVNC for nova-novncproxy docker.
The latter fails if one tries to clone or get tarball under other
names. This fix allows any archive (tar,tgz,zip) or repo name to be
imported into dockerfile.

Change-Id: I869a6a19afaf0e93925572746c22b7589b6600c9
Closes-Bug: #1491415
2015-09-03 16:49:50 +03:00
Sam Yaple
9d3f3f28e2 Create openstack-base container
This creates and moves the dependencies for Ubuntu into a common
openstack-base container. This commit shows dramatically smaller
sizes for all non-openstack containers. The Openstack container remain
the same size.

Change-Id: I2f46420d4b9edcfddda374caddcce906fc708f6c
Partially-Implements: blueprint openstack-common-container
2015-09-03 10:37:45 +00:00
Sam Yaple
45f625a73e Remove dest_filename from build.ini
We can, and should, figure out the filename dynamically rather than
hardcode that value in build.ini since it is not actually a
configurable paramater.

Change-Id: I496d6555e9fa356ab09e62063fd707f43ed08121
Closes-Bug: #1490386
2015-08-31 04:09:59 +00:00
Sam Yaple
cbd42ca6e9 Move docker_templates to docker dir
Updated build.py to reflect this change.
Deprecate --template option and make it a noop.

Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2
Partially-Implements: blueprint remove-docker-dir
2015-08-28 13:33:50 +00: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
Steven Dake
d30f69bc83 Port to icehouse
This represents making build-docker-images --release build
with the icehouse tag and causes docker-compsoe to pull from
the icehouse tag.

Partially-implements: blueprint port-kilo

Change-Id: I66b2c39abc55c0f47152dd90e696fc46b9c58f50
2015-05-06 09:58:43 -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
Martin André
34872c1c2f Allow check_for_* functions to be consumed by wait_for
In order for the `check_for_*` functions to be consumed by `wait_for`,
they should notify of their success but not exit.

As a consequence, the previous behavior is restored by the fail_unless_*
companion functions.

With this change, it is now possible to do:

    wait_for 30 1 check_for_os_service_running keystone

Change-Id: I16ddf8913027030c3ccb5487713d172904508fd6
2015-04-01 16:39:44 +09:00
Martin André
0764fd7dea Allow changing base image
By changing the PREFIX variable in the .buildconf one is now able to
build docker images from different bases.

For example, add the following line to your .buildconf file to build
CentOS based images:

    PREFIX=centos-rdo-

Default base image is Fedora. For now only RH family is supported.

Additionally, changing the namespace either with the NAMESPACE variable
in .buildconf or via --namespace commandline option now changes the
source namespace as well from the default kollaglue one.

Implements: blueprint multi-baseos
Co-Authored-By: Steven Dake <stdake@cisco.com>
Change-Id: I3964cd2292789ea883a1f2d2738a5731a4fff49b
2015-03-02 14:08:06 +09:00
Steven Dake
ca38aad41e Make swift files point at correct base package
Swift containers were pulling in fedora-rdo-base when they should have been
pulling in fedora-rdo-swift-base.

Partially-implements: blueprint multi-baseos
Change-Id: Ic0d03cbca5790aa3002110ba40a802957a481496
2015-02-24 02:28:30 -07:00
Martin André
91ca8d4b00 Cleanup required variables checks for all containers
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-19 16:29:59 +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
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