- Removed hardcoded yum repository configuration in favor of
commands dynamically generated based on repo-url and repo-file
arguments. We maintain a sane default set of repositories.
- Added generic rpm_setup_config parameter to add support for
installing .rpm or .repo files before building containers.
Co-Authored-By: Ryan Hallisey <rhallise@redhat.com>
Implements: blueprint custom-repos
Change-Id: I1b3a7647a9e7239de3cd162cb6f464f05632bde1
We want to record kolla version of running containers to be able to
detect whether or not we need to perform certain downtime-causing
actions during upgrade.
Change-Id: Ie113029da98303e6809d56edbf6d8de37be128d7
Implements: blueprint record-version
RDO provides all of the OpenStack services, clients, libs and their
dependencies self-contained in it's repositories.
We have had users that were impacted by sudden updates from EPEL
when it was enabled because EPEL provided a more up-to-date version.
Packages may also be found in both the delorean and delorean-deps
repositories. yum-plugin-priorities will ensure the right package
candidates are chosen for installation.
Change-Id: I043ec1f60381dc7f5baab5f320ed5f1edde8ae82
Related-bug: https://bugzilla.redhat.com/show_bug.cgi?id=1284978
Closes-bug: #1520620
The reason we are doing drop root is so that a network exposed
software component (i.e. glance) cannot be used to affect the
immutability of the container which it runs in. I have tried
several different approaches and this is the only approach which
puts glance in PID=1 while ensuring no files may be written by
the glance process in the container image except for the log files.
Change-Id: Ifd3c8c361b78d0e4791dade3afa6435290407c41
Partially-Implements: blueprint drop-root
RDO does not yet provide a CI tested Mitaka repository.
As such, the current-passed-ci repository is the last tested
repository before the stable/liberty branch was cut.
To be able to test against the latest packages, we need to
use the untested repositories until the CI tested repository
is in place.
TrivialFix
Change-Id: I4a125eb3c84fa790746a9a8eca19e4fb2d9ecf38
Register with RHEL on the host machine and use yum to setup
the repos in the container.
Change-Id: I38aaf43fffaf7a235e69b330d5d9f0f1be31fe83
Backport: Liberty
Closes-Bug: #1513088
This patch uses the EL7 binary bits for percona's software instead
of EL6. To match binary ABIs, it is recommended to use the same
major version of EL for CentOS.
backport: liberty
Change-Id: I1d2b146a036806c7fd2baef97a6ed861a570d26e
Partial-Fix: #1509281
The delorean repositories no longer have a separate location for
openvswitch. Now openvswitch is located in delorean-deps.repo
and the rest of delorean master is located in the delorean.repo
file. These files can be installed for both RDO and SOURCE, but
not for RHOS. This patch uses the install_metatype to make a
determination as to when to install these two repos. In the
process, we can remove the source RPM installation.
Change-Id: Ieedddd9d7ee234b6acdb03f7043d57c18e024951
Closes-Bug: #1508326
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
Make openstack-base optimized for from source builds for RPM based
distributions.
backport: liberty
Change-Id: I5f1056ebc09fd55cd5d46da7a09331e38940d888
Implements: blueprint openstack-common-container
The base image contains -d 10 in a yum command which prints unhelpful
debug output for one of the yum commands. Remove the extranous debug
output.
backport: liberty
TrivialFix
This patch is a trivial fix and is a test to set boundaries on what
a trivial fix looks like that doesn't require a bug tracker entry. If
reviewers feel a trivial fix isn't documented properly by this commit
message, please weigh in, as this is a slight suggested change to our
policy as first institued by the Magnum community and brought to my
attention by Jeff Peeler. Hopefully this compromise won't be abused :)
Change-Id: I57f00978d0baaefd73592f4ad6a655e663d83478
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
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
This refactor organizes the code as follows:
If RPM family:
execute YUM repo setup
if binary
install binary tools
if source
install source tools
IF DEB family:
install source tools
I have tested building and everything seems fairly solid except
possilby RHOS. The long term goal of this patch is to allow us to
add our own repos in the "execute YUM repo setup" section of the base
file based upon OpenStack Infrastructure YUM repos.
Partially-Implements: blueprint rhel-based-image-support
Change-Id: I759fb8fc050973460c9c69bb500de68e88a68b3b
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
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
There are three repositories for liberty in entreprise
linux:
- delorean
- delorean-liberty-testing
- delorean-common-testing
This commit adds the two missing ones so that delorean
can pull the proper dependencies. Otherwise, it might
have either broken dependencies or outdated ones from EPEL.
Change-Id: Ia815b38d3a83a89c582ea874e39c170d618b99e5
Closes-Bug: #1497436
RHEL does not include sudo in the default container image, while other
RPM based distros do. As a result, some services don't work. Add
sudo to the base image.
Change-Id: I7014d8cbd90288456e5ab3badcd601ef9cdd0c87
Partially-Implements: blueprint rhel-based-image-support
Some variants of RHEL containers are missing the 'which' command.
Percona's software used by mariadb depends on which, but doesn't have
a hard dependency requirement since it is usually installed in the
distribution. To make mariadb work multinode on RHEL, install which
all the time for RPM distros.
Change-Id: I2c6aaa77a1fc8b7028b658a0dfd1935c1f1d738e
Partially-Implements: blueprint rhel-based-image-support
Additionally remove rabbitmq since the correct version is now provided
in cloudarchive repo.
Change-Id: I215f03c4770f3049a9498c36c6ee9e819ce0acae
Closes-Bug: #1495836
Replace config-external with JSON file. The JSON file will
be placed in each of the services directories with expected
location and destination.
Set-configs.py will be responsible for interpreting the JSON file,
creating the necessary directories, moving config files, and
and providing a command line for start.sh to run the service
with the correct config files specified.
Partially-Implements: blueprint replace-config-external
Change-Id: I5e2e69dfe3ae7f938fcf51f1cd450aaa10e7f1e3
This patch enables building from source in RHEL. It works by making
the repositoroies specific to RHEL7 run in either from source or
from binary/rhos builds.
Change-Id: I795284cccc87c4a87d58c93ec73b3f9ea08878f2
Partially-Implements: blueprint rhel-based-image-support
Add support to the base image for running RHEL containers. Document
how to register a system with RHN in image-buliding.rst.
Change-Id: Id69c114cf734a8242066b8d7d05ba19c07af036a
Partially-Implements: blueprint rhel-based-image-support
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
This is a trade-off, it increases the base size some _but_ it
decreases the total size by a few hundred MB.
Partially-Implements: blueprint openstack-common-container
Change-Id: I1216deed122aa734e0c84325264a53711d94ea4c