Age | Commit message (Collapse) | Author | Files | Lines |
|
This approach removes the need for the yaql zip to build the
docker-puppet data by building the data in a puppet_config dict.
This allows a future change to make docker-puppet.py only accept dict
data.
Currently the step_config is left where it is and referenced inside
puppet_config, but feedback is welcome whether this is necessary or
desirable.
Change-Id: I4a4d7a6fd2735cb841174af305dbb62e0b3d3e8c
|
|
Otherwise the containerized nova running in the overcloud fails with
"Host 'overcloud-novacompute-0' is not mapped to any cell, Code: 400".
Co-Authored-By: Martin André <m.andre@redhat.com>
Change-Id: I9ff77f25bfd1f37167b0638a32fe5049951bc5b4
|
|
This change gives the option of docker-puppet.py data to be in a dict
as well as a list. This allows docker_puppet_tasks data to use the
same keys as the top level puppet config data.
If the yaql fu can be worked out to build the top level data,
docker-puppet.py can later drop the list format entirely.
Change-Id: I7e2294c6c898d2340421c93516296ccf120aa6d2
|
|
tool to use it."
|
|
This allows you to show the changes made to a container during
configuration stage for fast development.
Change-Id: Id9c72cf2b07486f0a80bf3572a7ba349888d877f
|
|
|
|
Neutron DB sync didn't have permission to read the config files, we now
run neutron-db-manage as root until we can find a more permanent
solution.
Change-Id: I502a8514adc523c7cac1da059be10480eef71cb9
Closes-Bug: #1667300
|
|
This patch sets the step correctly for docker_puppet_tasks.
This is now required in order to match the 'step' in some
puppet manifests explicitly so that things like keystone
initialization run correctly.
Closes-bug: #1667454
Change-Id: If2bdd0b1051125674f116f895832b48723d82b3a
|
|
|
|
|
|
Co-Authored-By: Dan Prince <dprince@redhat.com>
Co-Authored-By: Martin André <m.andre@redhat.com>
Change-Id: If0ee671acbf6a9931622003a859089d61e2050b3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use a pool of worker processes to run the puppet modules so they
can all be done in parallel. Defaults to cpu count processes.
Change-Id: I083d302b8cf6538569e4d165221c21df152266bc
|
|
|
|
use it.
This adds a bit to the post.yaml for docker to write out a json file
containing all the information on how we are start docker containers
(thanks Dan!). I've then written a script that parses this that can
be used to execute docker run commands in various ways for debugging
purposes.
Change-Id: I36d66b42d1ac5030db8841820d4fc512a71d1285
Co-Authored-by: Dan Prince <dprince@redhat.com>
|
|
Running swift in containers. Oh yeah.
Co-Authored-by: Dan Prince <dprince@redhat.com>
Change-Id: I2d96514fb7aa51dffe8fe293bc950e0e99df5e94
|
|
Co-Authored-By: Dan Prince <dprince@redhat.com>
Change-Id: I02cc769df5ec7afd608c502abc63fde8aa52be82
|
|
Change-Id: Ic3fd3bfd76d31ba515dbabdda7dfd06b9833a2ca
|
|
Change-Id: I055677a5ba62ee1c34a207fb83273f70558d21f1
|
|
Change-Id: I3d30e55716a464d423358ff23bdd184d34da765a
|
|
Change-Id: I09379b4959c38ae4e7b4e667b97e87d35c8e7e83
|
|
This patch adds docker services for Mistral API, Engine, and Executor.
NOTE: the Mistral API container for TripleO must be built with
openstack-tripleo-common installed in order for TripleO specific
actions to get installed for the undercloud.
Change-Id: I0075840d14eb43c50d80b87acd986b80cfd38d4a
|
|
This patch adds docker services for Neutron API(server), the
Neutron DHCP agent, and Neutron ML2 plugin configuration.
Co-Authored-By: Ian Main <imain@redhat.com>
Change-Id: If31e095cae533597cf0d73b4277425dfc3459564
|
|
This patch adds docker services for Nova for the Api, conductor,
scheduler, ironic, placement, and pass-thru configuration for metadata (it
simply enables metadata to be configured as part of the nova-api.
The nova-api DB initialization commands depend on a new heat-agent
feature (see patch below) to accommodate exit codes returned by
the new cells setup commands.
Change-Id: I39436783409ed752b08619b07b0a0c592bce0456
Depends-On: Ia6ca4b01982a0b33b26eca2a907d9d9f87c19922
|
|
This patch adds docker services for Heat API, API Cfn, and Engine.
Change-Id: I50caad9b9cf5482a8872cb0f2a67477b5e829ead
|
|
This patch adds docker services for Ironic API and Ironic
Conductor.
Change-Id: Icea5ae2ecd7e749ce95ed8444c3a5ef3e035bb4e
|
|
This patch adds a new (optional) section to the docker post.j2.yaml
that collects any 'docker_puppet_tasks' data from enabled
services and applies it on the primary role node (the
first node in the primary (first) role).
The use case for this is although we are generally only using
puppet for configuration there are several exceptions that we
desire to make use of today for parity with baremetal. This
includes things like database creation and keystone endpoint
initialization which we rely on configuration via hiera variables
controlled by the puppet services.
Change-Id: Ic14ef48f26de761b0d0eabd0e1c0eae52d90e68a
|
|
Depends-On: Icabdb30369c8ca15e77d169dc441bee8cfd3631f
Change-Id: Icec07f75f81953c4bf81ca21b4b02bc02e157562
Co-Authored-By: Martin André <m.andre@redhat.com>
Co-Authored-By: Ian Main <imain@redhat.com>
|
|
This patch implements a new docker deployment architecture that
should us to install docker services in a stepwise manner alongside
of baremetal puppet services. This works by using Yaql to select
docker specific services (docker/services/*.yaml) vs the puppet
specific ones and then applying the selected Json to relevant Heat
software deployments for docker and baremetal puppet in a stepwise
fashion.
Additionally the new architecture
leverages new composable services interfaces from Newton to
allow configuration of per-service container configuration
sets (directories that are bind mounted into kolla containers) by
using the Kolla containers themselves. It does this by spinning up
a throw away "configuration only" version of the container being
configured itself, then running the puppet apply in that container and
copying the generated config files into /var/lib/config-data. This
avoids having to install all of the OpenStack dependency packages
in the heat-agent-container itself (our previous approach) and should
allow us to configure a much wider variety of container config files
that would otherwise be impossible with the previous shared approach.
The new approach (combined) should allow us to configure containers in
both the undercloud and overcloud and incrementally add CI coverage to
services as we containerize them.
Co-Authored-By: Martin André <m.andre@redhat.com>
Co-Authored-By: Ian Main <imain@redhat.com>
Co-Authored-By: Flavio Percoco <flavio@redhat.com>
Change-Id: Ibcff99f03e6751fbf3197adefd5d344178b71fc2
|
|
This parameter is passed in by the parent overcloud.yaml template, so we
have to listen accept it in docker/post.j2.yaml, otherwise the
deployment fails.
Change-Id: Ia3fdcfa01d52006a6e9fd0bb02c7379411f3d900
Closes-Bug: #1664569
|
|
This patch rewires how we configure the Kolla external config files
via Heat templates and uses a more simple json-file heat hook to
directly write out Kolla config files to disk.
By using a heat hook instead of a shell script we can avoid
Json conversion issues. Additionally, This generic json file hook will
be useful for other ad-hoc Json file configuration within the TripleO
docker architecture.
Co-Authored-By: Martin André <m.andre@redhat.com>
Change-Id: I8c72a4a9a7022f722bfe1cef3e18517605720cce
Depends-On: I2b372ac2e291339e436202c9fe58a681ed6a743f
Depends-On: Id3f779b11e23fd3122ef29b7ccbae116667d4520
|
|
The mechanism to pass config files to the neutron-ovs-agent container
was overly complex and not at all justified. This commit removes a few
useless parameters and aligns the neutron-ovs-agents with the rest of
the containers.
Change-Id: Ib9a5985ac9d098731c2fb798d6c9e03cba4b87dd
|
|
|
|
|
|
Heat now supports release name aliases, so we can replace
the inconsistent mix of date related versions with one consistent
version that aligns with the supported version of heat for this
t-h-t branch.
This should also help new users who sometimes copy/paste old templates
and discover intrinsic functions in the t-h-t docs don't work because
their template version is too old.
Change-Id: Ib415e7290fea27447460baa280291492df197e54
|
|
This allows us to workaround an issue where the default setting for
qemu changed to logging to virtlogd which is not yet containerized.
Change-Id: I9d25b1299c4f02068d1073c5b78d4c7a2099721e
Depends-On: I9a9705e5c79eec3bbaf02b491498886b858b7a95
Closes-Bug: #1652119
|
|
This switches to using overcloud-full as the OS image for
containerized compute. It includes the following changes:
- install docker, until this change lands
I1eab2a6de721c8f3c21c7df0019f2d4d1cc3775f
- agent image pull has been removed. This avoids a race between docker
starting and the current call to pull. This relies on "docker run"
to do the initial pull and leaves open the option of some other
prefetch mechanism to do the initial pull
- rely on unit Conflicts= to ensure heat-docker-agents and
os-collect-config do not run at the same time
- tweaks to host bind mounts
- removal of commands which only apply to atomic
Co-Authored-By: Martin André <m.andre@redhat.com>
Change-Id: I2e82634785834a877a4dbdbdcd788a9ac1c14a9d
|
|
These ensure that software configuration tasks are not re-run when the
heat-agents container is restarted.
Change-Id: Ieb84fe1f6dd849737ff22f51daa12ddc467dcdde
|
|
The script run-os-net-config[1] copies in ifcfg-* from the host before
running os-net-config. Apparently it was done this way because the
other scripts in /etc/sysconfig/network-scripts/ differed between host
and agent container. This should be less of an issue now that host and
heat-agents run centos-7 (even when the host is atomic)
tripleo-heat-templates recently changed to running os-net-config in a
deployment script instead of an os-refresh-config script [2]. This
means that our current run-os-net-config approach is currently
resulting in os-net-config being executed twice.
Another issue with run-os-net-config is that it copies ifcfg-* from
host to container, but not back again. This means that rebooting the
server will result in unconfigured interfaces until os-net-config is
somehow run again.
This change bind mounts /etc/sysconfig/network-scripts/ from the host
and uses the conventional approach to running os-refresh-config.
This may fix the issue where compute nodes are losing network
connectivity, so
Closes-Bug: #1646897
[1] http://git.openstack.org/cgit/openstack/tripleo-common/tree/heat_docker_agent/run-os-net-config
[2] I0ed08332cfc49a579de2e83960f0d8047690b97a
Change-Id: I763fc8d8e3eb10ac64d33e46c92888d211003e72
|
|
This change modifies the template interface to support containers and
converts the compute services to composable roles.
Co-Authored-By: Dan Prince <dprince@redhat.com>
Co-Authored-By: Flavio Percoco <flavio@redhat.com>
Co-Authored-By: Martin André <m.andre@redhat.com>
Co-Authored-By: Steve Baker <sbaker@redhat.com>
Change-Id: I82fa58e19de94ec78ca242154bc6ecc592112d1b
|
|
The /usr/bin/docker is a shell script in latest atomic host, pointing
to either docker-latest or docker-current binary. Bind mount the
required files from atomic host to be able to run docker in docker
inside heat-agents container.
Co-Authored-By: Flavio Percoco <flavio@redhat.com>
Change-Id: I97e29f65beb3a3f89c1b42c339e2e89f0fc1d519
|