83 Commits

Author SHA1 Message Date
Éric Lemoine
63e2c64081 Remove duplicate code in glance extend_start.sh
Change-Id: I34f63aef2a473c475f3740e160f64e6c1ee758fc
Partial-Bug: #1546944
2016-02-24 11:41:24 +01:00
Éric Lemoine
5de471f61e Make Heka collect Glance logs
Partially implements: blueprint heka
Change-Id: I9e5ba649bc45356822138ad223430f4b93722448
2016-02-19 21:49:21 +00:00
Martin André
6f54cdc044 Cleanup dependencies for glance-base
Rely on packagers for managing dependencies.

openstack-glance RPM [1] and glance deb [2] already pull the required
packages.

[1] https://github.com/openstack-packages/glance/blob/rpm-master/openstack-glance.spec
[2] http://ubuntu-cloud.archive.canonical.com/ubuntu/dists/trusty-updates/liberty/main/binary-amd64/Packages

TrivialFix

Change-Id: I8707805db136af77a53372cafd5dcfdffb1f317e
2016-01-05 10:10:15 +09:00
Jenkins
bf21fba7e3 Merge "Glance ubuntu binary container" 2015-12-31 15:57:26 +00:00
Artur Zarzycki
7cc7ecdade Glance ubuntu binary container
Change-Id: Ifad08d368a6e3309a89f7f77c06110aac82a475a
Partially-Implements: blueprint binary-ubuntu
2015-12-30 09:01:55 +01: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
Kuo-tung Kao
a9bd9a1a65 install python-cephlibs in venv for glance-base
install python-cephlibs in venv for glance-base

Change-Id: I2055bbc608c35604bbb727e83d9b74295e643a7d
Closes-Bug: #1524684
2015-12-11 14:32:26 +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
Sam Yaple
ea17c2db72 Fix gate
A previous commit [1] removed the glance data container. Although this
worked at the time (as evident by it passing the gate) the drop root
patches merged after the gate patch causing the glance service to
not have the proper permissions to create this needed directory

[1] I7f2f5979b01807275908699d1243756cb97d3588

Change-Id: I5044de8d348e401a50970fd77671a79d35d2d595
2015-11-20 20:29:06 +00:00
Paul Bourke
988c4f23f1 Fix issues in Glance filesystem backend
The drop root change for Glance highlighted the fact that we were
binding volumes from glance_data into the wrong container - it was
glance_registry whereas it should be glance_api. This would result in
all images being lost if the glance_api container happens to restart.

Also, we need a sudoers file to chown the file backend dir to the glance
user.

Change-Id: If04337045bb94b3126e48d1f5bf0ea29e20373ae
Closes-Bug: #1516729
2015-11-17 09:42:39 +00:00
Sam Yaple
ea9d5cd067 Move USER operation after footer
The USER operation affects all docker commands after it. This causes a
problem with our {{ include_footer }} implementation since commands in
that footer may require elevated permissions to perform.

In the current implementation I can no longer remove my proxy settings
once the USER has been changed.

Change-Id: I9b2bab5a15f595f6d52a46c64ddf59ba5608b938
Partially-Implements: blueprint drop-root
2015-11-12 14:34:09 +00:00
Steven Dake
bd9e8c22d7 drop root for glance
This uses the grouping feature of sudo to limit the amount of times
the base sudo file has to be modified to only once.  The container
contents always runs as the user root, except the software which is
controlled by Kolla.  This software may run as root, but it has
undergone a security audit and preserves permissions of the correct
files and does not permit the glance user to write any of the
set_config.py control files.

Change-Id: Ie3cd23edcde5b408a8f66970456279a1b15028e0
Partially-Implements: blueprint drop-root
2015-11-09 11:00:29 -05:00
Jenkins
045ee04a1e Merge "Use openstack/requirements for glance" 2015-10-15 15:00:06 +00:00
Paul Bourke
7c582b4bbf Use openstack/requirements for glance
See Iccb4e99f8e4b6659a19c1817d0f4c697824af25c for context.

Change-Id: I46f456ce71f76b0a6a2933220a500c5221769ff9
Partial-Bug: #150530
2015-10-15 11:09:20 +00:00
Jenkins
0545701d0d Merge "Make Ceph work for RPM based distributions" 2015-10-14 10:58:08 +00:00
Steven Dake
1353538644 Make Ceph work for RPM based distributions
Ceph packages need to be installed in nova, glance, and cinder.
Once that is done, Ceph works like a champ!

Change-Id: I296da1d04d0c1bcb729f22e65e432d53d561b49c
backport: liberty
Closes-Bug: #1505549
2015-10-13 21:48:17 -04:00
Sam Yaple
5f200e0446 Fix issue with su and bad kernels
Long story short, some kernels before 3.15 had an issue with using su
in a container when the network namespace was --net=host. The gate
has a 3.10 and a 3.13 kernel and has a problem with this. This changes
everything to use sudo

backport: liberty
Partially-Implements: blueprint functional-testing-gate
Change-Id: I4d79ccaa1cddffcc8393f64e7e1be2538efe33e5
2015-10-13 15:13:55 +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
99c7eb1997 Make OpenStack use Ceph
This implements all the openstack pieces needed to make ceph work.

DocImpact
Change-Id: I1d24476a966602cf955e5ef872b0efb01319894a
Partially-Implements: blueprint ceph-container
Implements: blueprint kolla-live-migration
2015-09-25 20:11:18 +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
rthallisey
3fa0aa2ddc Replace config-external with a JSON file for Glance
Change-Id: I14187db31a009c150424ea28b854a78c9ae3941d
Partially-Implements: blueprint replace-config-external
2015-09-18 15:19:06 -04:00
Steven Dake
e32dcd5d1d Import not found for glance
Glance now depends on python-castellan and python-cryptography but
the package is not in the package depends list.

Change-Id: I8ba8c191572b0c7f51df5948a2951d9a7e0aead4
Closes-Bug: #1492641
2015-09-05 15:20:48 -07: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
Martin André
61a0bb6ce4 Move glance-data container to the correct place
It should be in docker/{centos,fedora,...}/binary/glance/glance-data
and not directly at the root of docker directory.

Change-Id: I9c4c260ef14f9b367dc86ccfb1a66d764d58ae01
Closes-Bug: #1468596
2015-06-25 12:43:06 +09:00
Ian Main
2482f718f8 Set up glance to use a data container.
Glance images were originally intended to be stored on the host (see
container Dockerfile) but the compose file was not doing this.  The
right thing is to use a data container for image content.

Closes-bug: #1465401

Change-Id: I02d2aab2913356939d98b8c18f9e788ae6d901af
Co-Authored-By: Ryan Hallisey <rhallise@redhat.com>
2015-06-18 13:48:22 -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
Steven Dake
5a06b0a075 Glance has some undefined dependencies in Kilo packaging
Glance has two undefined dependencies.  Without installing these
dependencies out of band, glance will not operate.

Change-Id: I096881467d8e0022d58e6c6f745e610d9332dd82
Partially-Implements: blueprint port-kilo
2015-05-06 13:54:04 -07: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
Steven Dake
f8768acff7 remove wait_for from glance-api
For some reason glance sometimes fails to permanently find keystone
while other services do find keystone.  The host also has full access
to keystone.  Change wait_for to fail_unless.

This could be a docker bug, a wait_for bug, or some other problem.

Change-Id: I02d611d65b7ffddb9c27101fd60e2a8b7cc25658
2015-04-14 11:20:03 -07:00
Steven Dake
a87980e5c2 Remove EXPOSE options from Dockerfiles
The EXPOSE options will create a local docker-proxy.  This is
unnecessary with --net=host mode.  The docker-proxy adds about
20 microseconds of latency.  Add documentation to the specification
to indicate where to find the ports that are exposed by the
services in case someone were to desire to add EXPOSE back to
the Dockerfiles.

Change-Id: I398e922fe096d6022a2d5985bb92498f89a5ea31
2015-04-06 20:25:18 -07:00
Martin André
056e02d0d3 Simplify wait_for calls
Rely on the the `check_for_*` functions and remove redundant
`fail_unless_*` calls.

Also change `wait_for` to exit when it is missing a required argument.

Change-Id: I90c4545691d53185556e2838303ac3df0afaf9fa
2015-04-01 16:41:52 +09: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
Sam Yaple
986edf4a97 Replace ; with && in Dockerfile
When using ';' this can allow the previous command to fail and while the
docker build proceeds without realizing a command failed. Switching to
'&&' allows the exit code to make it to the docker build command and the
build to fail appropriately.

Change-Id: Idd0991ed4549542bb10d27da1a0a025d0503b6c1
2015-03-27 18:52:48 -05:00
Martin André
448e48a75b Cleanup leftovers after wait_for was merged into kolla-common.sh
Change-Id: I97ab671bfbdcf5434feedec617a938b30af4579b
2015-03-21 11:11:57 +09:00
Steven Dake
858cdda3ec Use keystone authentication with Glance
Previously glance was not using keystone for authentication.  This resulted
in --is-public true failing when doing image-create.

Co-Authored-By: Lars Stedman (larsks@redhat.com)

Change-Id: I54273115242ee169201643fe0ad559392650c883
2015-03-19 09:21:48 -07:00
Ryan Hallisey
4075c851ed The wait_for function needs to be added into all the images
This affects both fedora and the centos base images.
Wait_for will be intregrated into kolla-common.

Co-authored by: Charles Crouch <charcrou@cisco.com>

Change-Id: Ide2304b787d4c3bf6fb3949f09e2cf1f450c2173
2015-03-18 10:33:42 -04:00
Ryan Hallisey
a2dae48b87 Glance containers need to be changed so they work without kubernetes
This patch overlaps a little bit with https://review.openstack.org/#/c/162358/.
There were some additional glance config that needs to be added to run without
kubernetes.

Co-authored by: Charles Crouch (charcrou@cisco.com)
Change-Id: I1aab2f6e4a80aaf1e6c4b7fe330bcf9a7740fdc6
2015-03-10 18:04:44 -04:00