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
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
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
Initially it did not use this client due to the fact that the client
didn't seem to want to work in the containers. Now it works fine and
it should be used instead of the deprecated keystone client
Change-Id: Ib0e172c677e200e5df01c478b7ea257b30c0df0b
Closes-Bug: #1490126
This changes bootstrapping of the Heat container to bootstrap
the Heat container with a heat domain user. This requires some
work from bootstrap.yml to pass in several environment variables
needed by the heat domain setup script.
Co-Authored-By: Sam Yaple <sam@yaple.net>
Change-Id: Iab05983754fa514835cb5ff54d775faa18773110
Partially-implements: blueprint ansible-heat
A default configuration file is present in RPM distros which
listen to http on port 80 by default.
With this patch the keystone container works on centos+binary
where it did not previously.
Closes-Bug: 1490025
Change-Id: I4b5260200521e79d76eec324eb0ef026aa61b23d
Updated build.py to reflect this change.
Deprecate --template option and make it a noop.
Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2
Partially-Implements: blueprint remove-docker-dir
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
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
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
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
Previously, the keydtone openrc file was not using the proper
auth url, whcih was broken with too many double ticks. Also
changed the auth port from public to admin since keystone user
is an admin tenant. Changed DIR for scripts to align with the
rest of the project.
Change-Id: Iadde3239227e65ecca479b16a7b7db51d3a579c8
The keystone container was changed to only add a keystone user. The rest
of the infrastructure in Kolla expects the name "admin" from a "can I
use a client to access the APIs perspective." As a result, we need a user
for keystone and a user for admin which this patch adds.
Change-Id: I3a3e938f946df1fd5982e89397ef61368f1f3674
Adds Keystone Container-Set support
Previously, Keystone containers were configured for use in a
Kubernetes environment. This patch removed k8s dependencies and
adds container set functionality.
Change-Id: I131ce205857110bbee49fe81a4a005f9e273ce09
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
Keystone relies on crux. Crux is now installed in the base images, so
individual images don't need to install crux.
Partially-implements: blueprint multi-baseos
Change-Id: Id9ed5fb8bc74de6a36f28a6b2bc8ba055c31a32e
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
Kubernetes currently creates FOO_SERVICE_HOST and FOO_SERVICE_PORT env
vars as part of starting the containers. However this is not done when
starting them with plain docker.
Defaulting variables to their common version if they're not already set
allows the usage of --link in plain 'docker run' to wire together
containers.
Co-Authored-By: Charles Crouch <ccrouch@redhat.com>
Change-Id: I91098ff987b18646d901ac63a3a644fbb68fc857
This allows Kubernetes to reschedule the container in case a required
variable is missing, for example when the Kubernetes pod is started
before the service.
Additionally, define the KEYSTONE_ADMIN_SERVICE_HOST and
KEYSTONE_PUBLIC_SERVICE_HOST variables to their common version if not
already set to allow usage outside of Kubernetes with docker link
feature.
Change-Id: Ie0966c18076a770e4031bbf5f777dd1be0ba20bc
Closes-Bug: 1398632
modify glance and keystone images to log to stdout/stderr, so that logs
can be recovered using "docker logs".
Change-Id: I18470c13142ceaf2f10c32e10f5e835ddaf58550
add /check.sh to keystone and glance-api images that can be used to
verify proper functionality of the container.
Change-Id: I0a878678fb8e9427d8e99af4896cbc679d3490a4
Cause keystone start script to exit on any errors (permitting kubernetes
to reschedule the pod).
Closes-bug: 1379057
Change-Id: Ide2eac6495250c8cba91cf9b7409dcb313f6f74b
make sure that DB_ROOT_PASSWORD is in quotes to prevent errors from
shell metacharacters in the password.
Change-Id: I586ba7bb1d518d4ebfef257f92d315684843dd9b
when booting the keystone container with an existing database, make sure
to update credentials for admin user and replace existing keystone
endpoint in the service catalog.
Change-Id: I2c66d75210ef7ba5a96077eea15a8c564e99f662
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
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
this patch introduces the "crux" [1] tool for creating keystone
users, services, and endpoints in an idempotent fashion. E.g., to
create a user that doesn't exist:
$ crux user-create -n lars -t lars -p secret
creating new tenant
created tenant lars (d74cec5023c4428da533066bb11943db)
creating new user lars
created user lars (adf2c2d92e894a3d90a403c5885f192e)
And performing the same operation a second time:
$ crux user-create -n lars -t lars -p secret
using existing tenant lars (d74cec5023c4428da533066bb11943db)
using existing user lars (adf2c2d92e894a3d90a403c5885f192e)
The behavior is similar for creating keystone endpoints.
[1]: https://github.com/larsks/crux
Change-Id: I694e0c1bdcdde595e1af2ee8ef5d0f239a9ad4cd
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
This patch does a service and endpoint create so that each separate service
can find keystone. This patch also makes the sleeping a bit more logical
although there are TODOs in this area to remove the sleep operations.
Change-Id: Icfee464f9473686da89bfa8b2106172cbfd4c1a8
Closes-Bug: #1376975