81 Commits

Author SHA1 Message Date
Paul Bourke
901584ad36 Remove old unused script from swift-base
build-swift-ring.py is an ancient artifact from early Kolla days when
Swift was first implemented. It's not documented nor recommended to be
used.

Change-Id: I98f567067e455344ed68774cb35c3f3db26be74d
2017-12-12 12:19:03 +00:00
James McCarthy
f7b453d95b Update swift for replication issues
There are corresponding ansible changes to go with these image
changes - add nc to swift image, and create dir for lock files.

nc allows for rsync replication to easily target {{ swift_rsync_port }}

change the lock file location for swift user to access - see bug
for more details.

Change-Id: I78826aeee35601ff65cbe50932482ef2f68346ae
Closes-Bug: #1733851
2017-11-28 13:59:43 +00:00
Martin André
f0f4e70f1e Clarify comment about swift-object-expirer for RDO
The rational for packaging swift-object-expirer in
openstack-swift-proxy is detailed in
https://bugzilla.redhat.com/show_bug.cgi?id=1382921

It is a conscious packaging choice and not a bug, and as so update the
comment in swift-object-expirer image.

Change-Id: Ibccfa1482d3aeccf86a57603d9dedecbcc7d097c
2017-06-09 08:27:43 +02:00
shaofeng_cheng
627f6ce2f4 Add ceilometermiddleware in swift-proxy-server
Add ceilometermiddleware package in swift-proxy-server image.

Change-Id: I4075d14211778347afe7c03b661723f5a8e18c7a
Closes-Bug: #1691629
2017-05-18 14:50:49 +08:00
Jawon Choo
31259fa595 Override image's meta info.
centos based images have wrong label info,
these changes fix own image's name and build-date.

Change-Id: I1d13f8f386c8db12b5fbe5f8ecbbf9e3fbb4ba1c
Closes-Bug: #1680341
2017-05-03 11:08:17 +09:00
Chen
8c463a47a9 Use LABEL instead of MAINTAINER (deprecated) in all Dockerfile.j2
Use LABEL instruction instead of MAINTAINER (deprecated) instruc-
tion as suggested by Docker's official dockerfile guide.
docs.docker.com/engine/reference/builder/#maintainer-deprecated

Closes-Bug: #1683652

Change-Id: Ie87a1ddf31aefcd0b623fd2837d78de420e76898
2017-04-20 16:50:05 +09:00
Marcin Juszkiewicz
69fef5cd59 debian: enable all images enabled for Ubuntu
Debian support is not maintained in Kolla so it got a bit behind Ubuntu
one. This changeset enables Debian for all images. Jessie (even with
backports) may be too old for some images though.

Also unify distro check to ['debian', 'ubuntu'] to keep alphabetical order
like it is done for RPM distributions.

Partially-Implements: blueprint multiarch-and-arm64-containers

Change-Id: I056233fbfa277e0e2360c07c3f80d9558c554357
2017-04-04 22:48:18 +02:00
Chao Guo
961224c6cf Use install-pip macro in most source images
1. Enable customization of pip packages in source
branch of most images
2. All pip packages install uniformly through
install-pip macro, user can easily customize his
own pip command (For example using a mirror)

Co-Authored-By: Mauricio Lima <mauriciolimab@gmail.com>
Change-Id: If09582039f690fa4136e8f33200d5da15e092da7
2017-02-17 08:49:32 -03:00
Jeffrey Zhang
e5903d5fa9 Remove include_header and include_footer in all Dockerfiles
include_header and include_footer parameter is already removed, remove
them in all Dockerfiles.
Add missing footer block.

Change-Id: I90da03eb9f95a3827361d5f5ede65fde7d6be2b3
2017-02-05 10:44:48 +08:00
zhubingbing
40efebd61f Fix swift dockerfile
* remove /var/log/swift
* fix code format

Change-Id: If10e668ed612df76c91e54947cf11910f7f1c707
2017-01-28 08:35:22 +00:00
Sam Yaple
58eee09c15 use static uid/gid in images
This centralizes all user and group creation into a single source. This
will fix any current and furture uid/gid mismatches (such as with
nova-libvirt).

In the process, we also unify users between the distros in a standard
way. The users in the following containers change from thier defaults:

Ubuntu: _chrony user is now chrony
Ubuntu: memcache user is now memcached
All: qemu user is used for ownership and socket permissions

All uid and gid numbers are customizable via kolla-build.conf

Co-Authored-By: Kris Lindgren <klindgren@godaddy.com>
Change-Id: I120f26ab0683dc87d69727c3df8d4707e52a4543
Partially-Implements: blueprint static-uid-gid
2017-01-17 09:02:21 -03:00
Jeffrey Zhang
6ef486fbff Remove footer block and variable in *-base images
Change-Id: I39aa88489f744f779150695f3f55ef80d42e1c61
Closes-Bug: #1653247
2017-01-05 22:05:29 +08:00
Chao Guo
f2328f0ed5 Remove unneeded oslo-rootwrap in swift-base
Oslo-rootwrap is not needed by swift, so remove it.

Change-Id: Ic35ffabc7078fd66b2626ad5622a1585794f5d62
2016-12-26 09:01:04 +08:00
Christian Berendt
5cd30d4914 Remove Fedora support
Closes-bug: #1616387
Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
2016-11-03 10:50:22 +01:00
Otavio Salvador
9eb38405b7 ansible: swift: Fix swift-object-expirer restart loop
The swift-object-expirer is provided by the 'openstack-swift-proxy'
package and thus it is unavailable on swift-object image. This change
adds a new Docker image to fulfill this requirement and stop using
swift-object image in this case.

This image is needed while RDO does not fix the packaging. The issue
is being tracked in:

  https://bugzilla.redhat.com/show_bug.cgi?id=1382921

Change-Id: Idc7ee92d756d8923da2198ede33abf5ed1142041
Closes-Bug: 1630425
2016-10-11 14:56:18 -03:00
Paul Bourke
b41247c656 Add header blocks to all Dockerfiles
Change needed to add header blocks to all Dockerfiles, similar to the
base.

Use case is to easily run something before packages are installed, e.g.
to COPY a local rpm in that can be added to the package list.

Change-Id: I1bbfdf0b762da0a392aa8bf47781315b45377bee
Closes-Bug: 1618969
2016-09-13 16:53:31 +01:00
Paul Bourke
fc30d583f9 Fix bandit gate jobs
* Inspected each error and fixed / added nosec where appropriate.
* build-swift-ring.py which was throwing sec errors is no longer used so
  removed it.
* Removed the dev/ directory from being checked.

Closes-Bug: #1617713
Change-Id: I25664cabca4137e5c9f499c1af3f5ce78b86fb56
2016-08-28 08:52:44 +00:00
Shaun Smekel
a9d08726f5 Handle empty package list for install_packages
Currently if the install_packages macro is run with an empty
package list, it will add a yum or apt-get command with no
packages listed.

This bug fix aims to omit this line when no packages have
been given, or, the operator wants to use the "_override" /
"_remove" functionality to disable all packages being
installed in a Dockerfile.

Co-Authored-By: Paul Bourke <paul.bourke@oracle.com>
Change-Id: Ifaaaebfccc3adb0f2f68a35ac08e59378bc87fdb
Closes-bug: 1612446
2016-08-19 10:49:03 +00:00
Shaun Smekel
503120657e Customizations for Swift
This patchset contains customization of Dockerfile of Swift
containers.

Change-Id: I69250c4d9f6cc3949c9b9b52ea4b0cc2aec0231e
Partially-implements: blueprint third-party-plugin-support
2016-08-12 07:16:19 +10:00
Jeffrey Zhang
3f79e37d21 Fix the overwrite sudoers file issue
Change-Id: I4b109f7fdc3b8e49defed26979b04ca158842e98
Closes-Bug: #1598423
2016-07-05 05:49:13 +00:00
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