55 Commits

Author SHA1 Message Date
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
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
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
Jenkins
36258963a7 Merge "Remove duplicate write of openrc" 2014-12-08 19:22:54 +00:00
Martin André
a8f3c5ff86 Remove duplicate write of openrc
Use KEYSTONE_PUBLIC_SERVICE_HOST in favor of
KEYSTONE_PUBLIC_PORT_5000_TCP_ADDR

Change-Id: Icea714e4c207a1f518faf7bda8235d4f0bc9e3f9
2014-12-04 16:51:32 +09:00
Martin André
7bab87f8cc Cleanup variable checks in glance-registry/start.sh
Remove redundant checks for MARIADB_SERVICE_HOST and DB_ROOT_PASSWORD
that are performed in `check_for_db`, and add missing check for
GLANCE_DB_USER.

Change-Id: Ie8194ce76274a9356dcc0b51353873d8a632c66a
2014-12-03 13:30:13 +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
Lars Kellogg-Stedman
8313834d16 log to stdout/stderr
modify glance and keystone images to log to stdout/stderr, so that logs
can be recovered using "docker logs".

Change-Id: I18470c13142ceaf2f10c32e10f5e835ddaf58550
2014-10-13 16:43:13 -04:00
Lars Kellogg-Stedman
7b682062fe arrange for image storage on a volume
Change-Id: I0dcbe6fd4c1d3ac9b79fc205df2013f62ff5a546
2014-10-13 16:43:13 -04:00
Lars Kellogg-Stedman
f593541485 added simple health check scripts
add /check.sh to keystone and glance-api images that can be used to
verify proper functionality of the container.

Change-Id: I0a878678fb8e9427d8e99af4896cbc679d3490a4
2014-10-13 16:43:13 -04:00
Jenkins
ce9d18186d Merge "glance: cleanup; use kolla-common; exit on errors" 2014-10-13 20:31:45 +00:00
Jenkins
1ecdc40532 Merge "Closes-Bug: 1379513" 2014-10-13 20:12:07 +00:00
Jenkins
4afd66aba4 Merge "Closes-Bug: 1379442" 2014-10-13 20:11:02 +00:00
Lars Kellogg-Stedman
165307eb66 glance: cleanup; use kolla-common; exit on errors
cause glance start.sh scripts to exit on any errors (allowing kubernetes
to reschedule the pod).

Change-Id: Ibebbf47758a1dfc241cb04cdb12e44af77f92b55
2014-10-13 14:41:37 -04:00
Lars Kellogg-Stedman
a4069300aa correct various issues with glance images and configs
- update keystone endpoints/user on boot (to avoid problems caused by,
  e.g., a stale password or invalid endpoint urls)
- require GLANCE_DB_PASSWORD and GLANCE_KEYSTONE_PASSWORD in the
  environment, since we start multiple containers

Change-Id: I31214b81280ed34409f92e79003c1116d5737d2e
2014-10-13 09:53:56 -04:00
Daneyon Hansen
250bb5f453 Closes-Bug: 1379442
Previously, the glance-api start script would use the container
IP instead of the proxy IP for the public url when creating the
keystone endpoint. This causes keystone to provide an unreachable
IP within the public url and other OS services are unable to
connect to the public url.

Change-Id: I44befc84a90f59d535a951ee81aaff0fa1ba952d
2014-10-10 21:30:35 +00:00
Daneyon Hansen
7c0fd1c58d Closes-Bug: 1379513
Previously the glance-base script did not configure the registry
host IP. This causes API to try connecting to registry on
localhost. Since registry is bound to MY_IP, api is unable to
connect to registry. This change adds support for the glance-base
script to configure the registry_host parameter in api.conf to
MY_IP.

Change-Id: I1c711ff8aa95abec5ca306f03bd7e0a3883ca578
2014-10-09 20:46:21 +00:00
Steven Dake
2bc783b8c6 Reorganize k8s structure
All services go to TLD/k8s/service
All pods go to TLD/k8s/pod

Change-Id: Iad2977a9f0cd5f430c4e0a566846bf4681618379
2014-10-07 15:33:11 -07:00
Lars Kellogg-Stedman
d28f83dace fix issues with glance scripts
- glance was using wrong var name for admin_password
- also missing "\" in several places, breaking multi-line crudini
  commands.
- glance was using wrong tenant name
- in the registry container, glance-manage appears to reference
  glance-api.conf
- the glance.json config file was not spawning a registry container

Change-Id: I280d1db3ed576988f2bf29ea665e1922a37f8752
2014-10-07 12:49:23 -04:00
Lars Kellogg-Stedman
3c080f9e62 renamed keystone services
This renames the keystone services so that they are named by function,
rather than port number (which would be confusing if they were running
on a different port).

Change-Id: Ibb0263a133c28a104563df431870a9effe584012
2014-10-07 11:11:19 -04:00
Lars Kellogg-Stedman
068face6fa use renamed mariadb services
This patch updates all the json files that reference the mariadb service
variables to ues the new names.

Labelling things foo-master crept into this repository from the
kubernetes guestbook example (which has redis-master and redis-slaves).
We're not running clustered software at the moment so these labels are
unnecessary.

Change-Id: I229d04c89aa13cb6cc2e1c33a0a7b21e1c6e9caa
2014-10-07 10:58:52 -04:00
Chmouel Boudjnah
e35b376994 Validate JSON
Let's get that quickly so we can add a gate. There was some respacing
along the way (used http://jsonlint.com)

Change-Id: Id18b9f9757306cf3f06e6221a21a9f600db1bd2e
2014-10-07 10:02:04 +02:00
Lars Kellogg-Stedman
24b6db92bc introduce a new build mechanism
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
2014-10-04 11:03:39 -04:00
Jenkins
9ce465d544 Merge "Updates to glance start scripts, db and user/role creation - adding db sync and db creation as utf8 - fixing user and role creation" 2014-10-03 20:49:00 +00:00
Dan Radez
4592e3884f Updates to glance start scripts, db and user/role creation
- adding db sync and db creation as utf8
- fixing user and role creation

Partial-blueprint: kube-glance-container

Change-Id: I15be99f26483e490fccc23d029f39645c13c724b
2014-10-03 16:10:17 -04:00
Steven Dake
96b06f111b glance: remove JSON trailing commas that don't parse
Change-Id: Ie5d7f5342284997e878803b273f0796421ae6bb2
2014-10-03 07:56:02 -07:00
Dan Radez
9709ae1aa5 updating build and start scripts for glance 2014-09-30 15:50:14 -04:00
Steven Dake
7bb837fc65 Add a push script for each of the separate daemons
This pushes to the docker registry.
2014-09-25 22:15:27 -07:00
Steven Dake
fd22b2346e Make build tools build with kollaglue login
Build with kollaglue login.  Then we can upload all images under
that user namespace.
2014-09-25 22:15:27 -07:00