33 Commits

Author SHA1 Message Date
Carlos Camacho
44ef2a3ec1 Change template names to rocky
The new master branch should point now to rocky.

So, HOT templates should specify that they might contain features
for rocky release [1]

Also, this submission updates the yaml validation to use only latest
heat_version alias. There are cases in which we will need to set
the version for specific templates i.e. mixed versions, so there
is added a variable to assign specific templates to specific heat_version
aliases, avoiding the introductions of error by bulk replacing the
the old version in new releases.

[1]: https://docs.openstack.org/heat/latest/template_guide/hot_spec.html#rocky
Change-Id: Ib17526d9cc453516d99d4659ee5fa51a5aa7fb4b
2018-05-09 08:28:42 +02:00
Emilien Macchi
77aa6763f6 Undercloud upgrades will use upgrade_tasks
Instead of using host_prep_tasks (which are part of deployment tasks),
we'll use the upgrade tasks that are now well known and tested in
previous releases, when the we containerized the overcloud.

Depends-On: Id25e6280b4b4f060d5e3f78a50ff83aaca9e6b1a
Change-Id: Ic199c7d431e155e2d37996acd0d7b924d14af2b7
2018-05-05 06:52:34 +00:00
Zuul
4fa675c292 Merge "Add the service_config_settings from {{service-name}} base" 2018-04-13 22:09:28 +00:00
Juan Badia Payno
51269a1e22 Add the service_config_settings from {{service-name}} base
Some container yaml file does not get the
service_config_settings from the base file.

This patch makes for the following docker yaml files get
the service_config_settings:
 docker/services/neutron-l3.yaml
 docker/services/neutron-metadata.yaml
 docker/services/neutron-ovs-agent.yaml

Related-Bug: #1757066

Change-Id: Ifc8def10da0b10decd12efaab4452ff46f3c685b
2018-04-13 13:49:15 +02:00
Emilien Macchi
d86025593b Handle undercloud upgrades via host_prep_tasks
Using host_prep_tasks interface to handle undercloud teardown before we
run the undercloud install.
The reason of not using upgrade_tasks is because the existing tasks were
created for the overcloud upgrade first and there are too much logic
right now so we can easily re-use the bits for the undercloud. In the
future, we'll probably use upgrade_tasks for both the undercloud and
overcloud but right now this is not possible and a simple way to move
forward was to implement these tasks that work fine for the undercloud
containerization case.

Workflow will be:
- Services will be stopped and disabled (except mariadb)
- Neutron DB will be renamed, then mariadb stopped & disabled
- Remove cron jobs
- All packages will be upgraded with yum update.

Change-Id: I36be7f398dcd91e332687c6222b3ccbb9cd74ad2
2018-04-12 18:14:28 -07:00
Zuul
448598d681 Merge "Fixes certificate generation error for Neutron agents" 2018-03-10 02:06:55 +00:00
Tim Rozet
df31016a9a Fixes certificate generation error for Neutron agents
TLS certificates were introduced for the Neutron Base service in order
for Neutron to securely communicate with OVS via SSL/TLS.  However, the
implementation only required Neutron DHCP agent (ODL deployment) to use
the certificates.  The other OVS agents are not used in ODL deployments
and SSL/TLS use there may be added in the future.  However, since other
services inherit NeutronBase config_settings, they will attempt to
generate certs.  This certificate generation will fail because these
services do not inherit metadata settings.

This patch fixes the above issue by adding the metadata settings
inheritance to every service derived from NeutronBase.

Closes-Bug: 1754363

Change-Id: I87afc3a11efeefc1cfd768dfe817fbb3b2422694
Signed-off-by: Tim Rozet <trozet@redhat.com>
2018-03-08 11:05:33 -05:00
Lee Yarwood
de40fe5cbd ffu: Introduce Neutron fast-forward upgrade tasks
fast_forward_upgrade_tasks for neutron covering Ocata and Pike.
- Service status check
- Stop service when updating from Ocata to Pike
- Update neutron package
- Db sync

bp fast-forward-upgrades
Change-Id: I8858bbab2d5ec0e5a88fff3275368711a0bf8a8a
2018-03-07 15:59:38 +01:00
Zuul
7b8e0b7d72 Merge "Fix docker neutron logging" 2018-02-18 01:12:21 +00:00
Oliver Walsh
2629906b5d Fix docker neutron logging
systemd neutron services explicitly set the logfile, do the same for containers

Change-Id: Id4bcb5fbf11d0e7b19b69842970caacfb77852cf
Related-bug: 1739492
2018-02-09 16:17:48 +00:00
Lukas Bezdicka
0cb5c847f3 Always evaluate step first in conditional
If we use variables defined in later step in conditional before
checking which step are we on we will fail.

Resolves: rhbz#1535457
Closes-Bug: #1743764
Change-Id: Ic21f6eb5c4101f230fa894cd0829a11e2f0ef39b
2018-02-09 17:12:29 +01:00
marios
dec003def8 Convert tags to when statements for Q major upgrade workflow
This converts "tags: stepN" to "when: step|int == N" for the direct
execution as an ansible playbook, with a loop variable 'step'.
The tasks all include the explicit cast |int.

This also adds a set_fact task for handling of the package removal
with the UpgradeRemovePackages parameter (no change to the interface)

The yaml-validate also now checks for duplicate 'when:' statements

Q upgrade spec @ Ibde21e6efae3a7d311bee526d63c5692c4e27b28
Related Blueprint: major-upgrade-workflow
[0]: 394a92f761/tripleo_common/utils/config.py (L141)
Change-Id: I6adc5619a28099f4e241351b63377f1e96933810
2018-01-08 13:57:47 +02:00
Zuul
12361c6b39 Merge "Fix ovs/netns mounts for neutron agents" 2017-12-01 05:29:18 +00:00
Alex Schultz
c54c6222d8 Fix neutron agent start order
In the baremetal deployment, we used to ensure that neutron-server was
started prior to starting up the various agents. In the containerized
deployment we need to ensure that we launch the agents after the server
has been started. We can do this by configuring a start_order for each
of the services.

It should be noted that the ovs agent was actually configured to start
in step5 on baremetal due to previous race conditions under HA
deployments. This change leaves it in step4 but configures the
start_order to be after the neutron-api service.

Change-Id: I3794400ef5c8ae620961914831ff85e3438b0399
Closes-Bug: #1734976
Related-Bug: #1663273
2017-11-28 13:43:55 -07:00
Bogdan Dobrelya
2e3a91f58b Fix ovs/netns mounts for neutron agents
Don't mount netns or /run from host system. If we mount /run or /run/netns then
it leads to broken netns on a host system level. Also when we remove containers
those netns bind files remain. This aslo causes problems.

Adapts I37c0783de6d6264ccf73648a1d15b23fdc31ad99 authored-by
Aleksandr Didenko <adidenko@mirantis.com>

Related-bug: #1734333

Change-Id: I462b40744610eb95031809d04b4ecce0d82a6e19
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
2017-11-24 17:14:39 +01:00
Carlos Camacho
927495fe3d Change template names to queens
The new master branch should point now to queens instead of pike.

So, HOT templates should specify that they might contain features
for queens release [1]

[1]: https://docs.openstack.org/heat/latest/template_guide/hot_spec.html#queens

Change-Id: I7654d1c59db0c4508a9d7045f452612d22493004
2017-11-23 10:15:32 +01:00
Zuul
a5a83d33fc Merge "Add validation task in docker services [Neutron]" 2017-11-17 18:06:59 +00:00
Dan Prince
a307fe7ffc Drop step_config as top level docker requirement
Step config is only required within the puppet_configs section
of docker/services/*. This patch drops the top level 'step_config'
and updates the unit tests accordingly.

Change-Id: I7dc7cfae3ef1965ec95b1d9ef23e7f162418c034
2017-11-15 16:01:16 -05:00
Zuul
4a6393a665 Merge "Add option for Neutron containers to log to stdout/stderr" 2017-11-08 18:06:04 +00:00
Juan Antonio Osorio Robles
e0441af380 Add option for Neutron containers to log to stdout/stderr
This adds the option to get the neutron containers to log to stdout.
The option is disabled by default.

bp logging-stdout-rsyslog

Change-Id: I0f9d201d93da702b702e7ecf4b43a6d705389846
2017-11-07 08:48:35 +00:00
Jose Luis Franco Arza
29be469a73 Add validation task in docker services [Neutron]
Docker services are missing the pre-upgrade validation task
in the upgrade_tasks section which verifies if the service
is running before going on with the upgrade.

Change-Id: Ie437b6825cc2c9a92a59d4a98e37d09e5e432a50
Partial-Bug: #1704389
2017-11-03 09:31:00 +01:00
Ian Main
627971b2a1 Explicitly set healthcheck command.
We were setting them in the Dockerfile's previously.  However this
caused the healtcheck commands to always run regardless of which
process we were running in the container.  This caused 'unhealthy'
containers at times they were never intended to be checked.  This
change makes it so they are explicitly set.

Change-Id: I7bc12d236b3cc7a52d3e6aa706fd04675dad3a9a
2017-09-28 17:20:00 -04:00
Juan Badia Payno
5dbe1121e9 docker: add logging(source & groups)
The services that docker depends on, have logging_sources and logging_groups;
but those are not set on the docker outputs so they are not used when dockers
are deployed.

Added logging_source & logging_groups as docker optional parameters in
tools/yaml-validate.py

Closes-Bug: #1718110
Change-Id: I8795eaf4bd06051e9b94aa50450dee0d8761e526
2017-09-27 07:37:14 +00:00
Brent Eagles
fbd01c2df6 Mount /var/lib/neutron in neutron agents for metadata proxy
The metadata agent creates domain socket /var/lib/neutron/metadata_proxy
that is used for communication with haproxy in the L3 and DHCP agents.
This patch adds creation of /var/lib/neutron if it doesn't exist and
mounts it into the L3, DHCP and metadata agent containers.

Change-Id: Id8b8487b5a6a288e5ef1ca1c7d5b47a59cc8dea2
Closes-Bug: #1705289
2017-07-21 16:09:42 -02:30
Jenkins
782f68c8fd Merge "Add validation task in docker services" 2017-07-20 20:10:25 +00:00
Jenkins
2185b83560 Merge "Use a single configuration file for specifying docker containers." 2017-07-15 06:19:13 +00:00
Ian Main
e76d84f784 Use a single configuration file for specifying docker containers.
This removes the default container names from all the templates
and uses a single environment file to specify the full container
name and registry from which to pull.  Also does away with most
of DockerNamespace.

Change-Id: Ieaedac33f0a25a352ab432cdb00b5c888be4ba27
Depends-On: Ibc108871ebc2beb1baae437105b2da1d0123ba60
Co-Authored-By: Dan Prince <dprince@redhat.com>
Co-Authored-By: Steve Baker <sbaker@redhat.com>
2017-07-14 22:23:02 +00:00
Jose Luis Franco Arza
1ccb5dd0fe Add validation task in docker services
Docker services are missing the pre-upgrade validation task
in the upgrade_tasks section which verifies if the service
is running before stopping it.

Change-Id: Ia8c25827d0d6f34e0345c3946dfd6839a7116e04
Partial-Bug: #1704389
2017-07-14 14:47:01 +02:00
Giulio Fidente
baf6eee501 Adds network/cidr mapping into a new service property
Makes it possible to resolve network subnets within a service
template; the data is transported into a new property ServiceData
wired into every service which hopefully is generic enough to
be extended in the future and transport more data.

Data can be consumed in service templates to set config values
which need to know what is the subnet where a deamon operates (for
example the Ceph Public vs Cluster network).

Change-Id: I28e21c46f1ef609517175f7e7ee19e28d1c0cba2
2017-07-14 13:44:04 +02:00
Martin André
cf18e865d1 Copy only generated puppet files into the container
This solves a problem with bind-mounts when the containers are holding
files descriptors open.

At the same time this makes the template more robust to puppet changes
since new config files will be available in the containers without
needing to update the templates.

Partial-Bug: #1698323
Change-Id: Ia4ad6d77387e3dc354cd131c2f9756939fb8f736
2017-07-10 11:13:25 +02:00
Martin André
a474ae82d5 Add heat parameter for all of config_volume images
This commit consistently defines a heat template parameter in the form
of DockerXXXConfigImage where XXX represents the name of the
config_volume that is used by docker-puppet.

The goal is to mitigate hard to debug errors where the templates would
set different defaults for the image docker-puppet.py uses to run, for
the same config_volume name.

This fixes a couple of inconsistencies on the way.

Change-Id: I212020a76622a03521385a6cae4ce73e51ce5b6b
Closes-Bug: #1699791
2017-06-28 10:48:53 +02:00
Martin André
af3828437e Make container names consistent
This commit change the container names to consistently use the `_` char
as a word separator and make the kolla external config file match the
container name to make operators' life easier.

Change-Id: Ibac9d76dde474b94c3cb86031ead0fd0327e126f
2017-06-09 09:04:44 +02:00
Brent Eagles
9235efc19f Add containerized neutron-metadata agent
This patch adds support for running the neutron metadata agent in a
container.

Change-Id: I53c62516c95d62f5ced70818d4eb4c2c341df0d7
Partial-Bug: #1668922
2017-05-18 12:09:17 -02:30