apex-tripleo-heat-templates.git
7 years agoscenario001: add Panko testing
Emilien Macchi [Fri, 6 Jan 2017 12:05:32 +0000 (07:05 -0500)]
scenario001: add Panko testing

Panko has been introduced in TripleO but is not tested yet.
Adding it on scenario001 with other telemetry services.

Depends-On: If2f6559a7d76b26fa9b0a3ecfa2e2101aae93e3c

Change-Id: Ic76f1cb36ee05e22cfda1fff8ad3f0ec18acf617

7 years agoREADME: updates for CI matrix
Emilien Macchi [Fri, 6 Jan 2017 12:03:28 +0000 (07:03 -0500)]
README: updates for CI matrix

Update the CI matrix to fit with what is actually tested.

Change-Id: Ib9c96fe7a3ff25043395cb5a89657b3b6d22f12a

7 years agoMerge "Merge mysql service_config_settings for nova"
Jenkins [Thu, 5 Jan 2017 23:51:00 +0000 (23:51 +0000)]
Merge "Merge mysql service_config_settings for nova"

7 years agoMerge mysql service_config_settings for nova
James Slagle [Wed, 4 Jan 2017 20:16:01 +0000 (15:16 -0500)]
Merge mysql service_config_settings for nova

The hieradata from the nova-base.yaml service template needs to be available to
the role running mysql, which isn't necessarily the same role as nova.

nova-base.yaml isn't an actual service template though that is included in any
ServiceChain resources, it's outputs need to be merged with an actual nova
service template, such as nova-api.yaml.

As nova-api.yaml already provides some hieradata for the mysql service in
service_config_settings, this patch uses map_merge to combine the 2 values.

Change-Id: I4dc684b3611b13f177f9499e69468d3f6ef6fa76
Closes-Bug: #1654058

7 years agoMerge "nova-api: legacy cleanup with old wsgi params"
Jenkins [Thu, 5 Jan 2017 17:10:01 +0000 (17:10 +0000)]
Merge "nova-api: legacy cleanup with old wsgi params"

7 years agoMerge "nova-api: also include hiera for new apache_api class"
Jenkins [Thu, 5 Jan 2017 14:17:13 +0000 (14:17 +0000)]
Merge "nova-api: also include hiera for new apache_api class"

7 years agoMerge "Configure Heat engine metadata URL's"
Jenkins [Thu, 5 Jan 2017 14:17:06 +0000 (14:17 +0000)]
Merge "Configure Heat engine metadata URL's"

7 years agopuppet/role.role.j2.yaml has invalid get_resource reference
Dan Prince [Wed, 4 Jan 2017 23:17:08 +0000 (18:17 -0500)]
puppet/role.role.j2.yaml has invalid get_resource reference

Found this today when rebasing the undercloud installer.
The puppet/role.role.j2.yaml Yaml has an invalid get_resource reference
that causes a cryptic heat stack failures.

Change-Id: Icfb7d73a1c4d02213b23a427605f2b0d5eaa984f

7 years agonova-api: legacy cleanup with old wsgi params
Emilien Macchi [Wed, 4 Jan 2017 20:15:59 +0000 (15:15 -0500)]
nova-api: legacy cleanup with old wsgi params

Cleanup old legacy params for wsgi config.

Change-Id: Ic775de171c95d43d9273e1a29db2ab685fdf7706
Depends-On: I59b3b36be33268fa6e261a7db3c4aa8e8e712ffb

7 years agonova-api: also include hiera for new apache_api class
Emilien Macchi [Wed, 4 Jan 2017 20:07:27 +0000 (15:07 -0500)]
nova-api: also include hiera for new apache_api class

puppet-nova renamed nova::wsgi::apache to nova::wsgi::apache_api to
welcome nova::wsgi::apache_placement (for nova placement API).

This patch adds the required parameters before we make the switch in
puppet-tripleo.

Legacy parameters will be removed when the switch will be done in
puppet-tripleo.

Change-Id: I5fc99062d349597393e2248c66f2d863029c7730

7 years agoMerge "Add pre-network hook and example showing config-then-reboot"
Jenkins [Wed, 4 Jan 2017 19:34:27 +0000 (19:34 +0000)]
Merge "Add pre-network hook and example showing config-then-reboot"

7 years agoMerge "Adds missing firewall rules for OpenDaylight API service"
Jenkins [Wed, 4 Jan 2017 19:13:28 +0000 (19:13 +0000)]
Merge "Adds missing firewall rules for OpenDaylight API service"

7 years agoMerge "DB connection: prevent src address from binding to a VIP"
Jenkins [Wed, 4 Jan 2017 16:43:34 +0000 (16:43 +0000)]
Merge "DB connection: prevent src address from binding to a VIP"

7 years agoMerge "Specify cell0 db creation"
Jenkins [Wed, 4 Jan 2017 15:00:18 +0000 (15:00 +0000)]
Merge "Specify cell0 db creation"

7 years agoConfigure Heat engine metadata URL's
Dan Prince [Wed, 4 Jan 2017 14:41:02 +0000 (09:41 -0500)]
Configure Heat engine metadata URL's

Tried to use the heat-engine composable service in the Undercloud and I
discovered that my software deployments (when spinning up an overcloud)
weren't getting signals from my t-h-t configured undercloud heat.
This patch resolves the issues by configuring the metadata URLs
for Heat.

Change-Id: I57c9e7010bfe4afc6e62fb4c3406716d11cdfa28
Closes-bug: #1653985

7 years agoExpose enabled_perf_events libvirt options
Pradeep Kilambi [Tue, 3 Jan 2017 16:24:00 +0000 (11:24 -0500)]
Expose enabled_perf_events libvirt options

For cache monitoring technology feature to work, nova config
libvirt settings should have the perf events enabled for
nova to emit these so telemetry can capture them.

Depends-On:  Ia27e6831f3f6e9cdeaacb650039be5c81b90cb40

Change-Id: I92c318008b965a6527acbce85b41a545eda7ee18

7 years agoSpecify cell0 db creation
Alex Schultz [Tue, 3 Jan 2017 20:14:03 +0000 (13:14 -0700)]
Specify cell0 db creation

This change pulls the hard coded value out of puppet-tripleo to later
allow people to skip the cell0 creation if they want a more complex cell
v2 setup for nova.

Change-Id: I08119d781ef60750cc19753bc03190e413159925
Related-Bug: #1649341

7 years agoMerge "Increase libvirt/qemu.conf max_files and max_processes"
Jenkins [Tue, 3 Jan 2017 19:39:52 +0000 (19:39 +0000)]
Merge "Increase libvirt/qemu.conf max_files and max_processes"

7 years agoMerge "Set gnocchi wsgi display name"
Jenkins [Tue, 3 Jan 2017 10:32:05 +0000 (10:32 +0000)]
Merge "Set gnocchi wsgi display name"

7 years agoMerge "Bump template version for all templates to "ocata""
Jenkins [Tue, 3 Jan 2017 10:31:44 +0000 (10:31 +0000)]
Merge "Bump template version for all templates to "ocata""

7 years agoMerge "Set aodh wsgi display name"
Jenkins [Tue, 3 Jan 2017 10:16:23 +0000 (10:16 +0000)]
Merge "Set aodh wsgi display name"

7 years agoDB connection: prevent src address from binding to a VIP
Damien Ciabrini [Fri, 23 Dec 2016 16:57:48 +0000 (17:57 +0100)]
DB connection: prevent src address from binding to a VIP

When a service connects to the database VIP from the node hosting this
VIP, the resulting TCP socket has a src address which is by default
bound to the VIP as well. If the VIP is failed over to another node
while the socket's Send-Q is not empty, TCP keepalive won't engage and
the service will become unavailable for a very long time (by default
more than 10m).

To prevent failover issues, DB connections should have the src address
of their TCP socket bound to the IP of the network interface used for
MySQL traffic. This is achieved by passing a new option to the
database connection URIs. This option is available starting from
PyMySQL 0.7.9-2.

We use a new intermediate variable in hiera to hold the IP to be used
as a source address for all DB connections. All services adapt their
database URI accordingly.

Moreover, a new YAML validation check is added to guarantee that new
services will construct their database URI appropriately.

Change-Id: Ic69de63acbfb992314ea30a3a9b17c0b5341c035
Closes-Bug: #1643487

7 years agoMerge "Use overcloud-full instead of atomic-image"
Jenkins [Mon, 2 Jan 2017 15:14:21 +0000 (15:14 +0000)]
Merge "Use overcloud-full instead of atomic-image"

7 years agoMerge "Pass nova rabbit information to mysql"
Jenkins [Fri, 23 Dec 2016 18:42:57 +0000 (18:42 +0000)]
Merge "Pass nova rabbit information to mysql"

7 years agoMerge "Split OVN northd and ml2 plugin"
Jenkins [Fri, 23 Dec 2016 12:45:49 +0000 (12:45 +0000)]
Merge "Split OVN northd and ml2 plugin"

7 years agoBump template version for all templates to "ocata"
Steven Hardy [Fri, 23 Dec 2016 11:43:39 +0000 (11:43 +0000)]
Bump template version for all templates to "ocata"

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

7 years agoMerge "Manage disallow_iframe_embed"
Jenkins [Fri, 23 Dec 2016 11:29:14 +0000 (11:29 +0000)]
Merge "Manage disallow_iframe_embed"

7 years agoMerge "Add network_config_hook interface to run-os-net-config.sh"
Jenkins [Fri, 23 Dec 2016 11:16:44 +0000 (11:16 +0000)]
Merge "Add network_config_hook interface to run-os-net-config.sh"

7 years agoMerge "Modify external loadbalancer environments to use new FixedIPs"
Jenkins [Fri, 23 Dec 2016 00:36:21 +0000 (00:36 +0000)]
Merge "Modify external loadbalancer environments to use new FixedIPs"

7 years agoMerge "Add CI matrix to THT"
Jenkins [Fri, 23 Dec 2016 00:22:13 +0000 (00:22 +0000)]
Merge "Add CI matrix to THT"

7 years agoMerge "Introduce role-specific NodeUserData, use for docker"
Jenkins [Thu, 22 Dec 2016 23:41:08 +0000 (23:41 +0000)]
Merge "Introduce role-specific NodeUserData, use for docker"

7 years agoMerge "FreeIPA: Make OTP and FreeIPA server parameters optional"
Jenkins [Thu, 22 Dec 2016 23:37:22 +0000 (23:37 +0000)]
Merge "FreeIPA: Make OTP and FreeIPA server parameters optional"

7 years agoMerge "Use ws instead of http for Zaqar websocket endpoints"
Jenkins [Thu, 22 Dec 2016 23:14:16 +0000 (23:14 +0000)]
Merge "Use ws instead of http for Zaqar websocket endpoints"

7 years agoMerge "Add bind mounts for agent state"
Jenkins [Thu, 22 Dec 2016 22:14:44 +0000 (22:14 +0000)]
Merge "Add bind mounts for agent state"

7 years agoMerge "Adds missing OpenDaylight username/password from ODL OVS service"
Jenkins [Thu, 22 Dec 2016 22:12:07 +0000 (22:12 +0000)]
Merge "Adds missing OpenDaylight username/password from ODL OVS service"

7 years agoPass nova rabbit information to mysql
Alex Schultz [Mon, 19 Dec 2016 16:23:33 +0000 (09:23 -0700)]
Pass nova rabbit information to mysql

The cell v2 setup requires the transport url for nova. We need to
provide mysql with the rabbit connection information so that it can it
when setting up the cell information.

Change-Id: I43ba77cd4c8da7c6dc117ab0bd53e5cd330dc3de
Related-Bug: #1649341

7 years agoMerge "Decouple swift-proxy from ceilometer"
Jenkins [Thu, 22 Dec 2016 14:06:55 +0000 (14:06 +0000)]
Merge "Decouple swift-proxy from ceilometer"

7 years agoAdd network_config_hook interface to run-os-net-config.sh
James Slagle [Fri, 9 Dec 2016 21:52:22 +0000 (16:52 -0500)]
Add network_config_hook interface to run-os-net-config.sh

run-os-net-config.sh only allows for limited customization of the
network configuration in config.json. Namely, it only customizes the
bridge_name and interface_name.

This will likely not be sufficient for all use cases. This patch adds a
generic network_config_hook bash function that will be called if it is
defined. The function is an entry point for deployers to write custom
code to further influence run-os-net-config.sh.

A possible alternative approach would be to pass the server resource
into the NetworkConfig template. That would allow running arbitrary
SoftwareDeployments on the server before NetworkDeployment is executed.
However, the interface of NetworkDeployment is likely still not as
flexible as this approach as the inputs are hardcoded in the role
template files (role.role.j2.yaml), which are not meant to be modified
by deployers.

The immediate use case for this work is using os-net-config in our
multinode CI jobs where we need to create vxlan tunnels between the
nodes and we need to know the local private IP of each node for the
tunnel endpoint. As the IP is different for each node, it's not a
parameter we could specify in the templates.

Change-Id: I26d0ebdaba6fcd3fe885e41ed234eb79a2405228
Implements: blueprint multinode-ci-os-net-config

7 years agoMerge "Add hook to generate metadata from service profiles"
Jenkins [Thu, 22 Dec 2016 12:08:12 +0000 (12:08 +0000)]
Merge "Add hook to generate metadata from service profiles"

7 years agoMerge "Add a per service bootstrap node variable"
Jenkins [Thu, 22 Dec 2016 11:58:32 +0000 (11:58 +0000)]
Merge "Add a per service bootstrap node variable"

7 years agoAdd CI matrix to THT
Carlos Camacho [Mon, 12 Dec 2016 09:41:36 +0000 (10:41 +0100)]
Add CI matrix to THT

Currently the description of CI matrix is defined
in tripleo-ci, but the services for each scenario
lives now in THT. This submission moves this table
to the repo in which the configuration is defined.

Change-Id: I9ef1acefc6e1f347528a48edcb4d997a9628fcf6

7 years agoAdd hook to generate metadata from service profiles
Juan Antonio Osorio Robles [Thu, 15 Dec 2016 12:28:57 +0000 (14:28 +0200)]
Add hook to generate metadata from service profiles

This enables the deployer to dynamically add nova metadata to the
servers based on the output of service profiles that implement the
metadata_settings key in the role_data output for the profiles.

One can set an implementation via the OS::TripleO::ServerMetadataHook
resource, which currently is set as OS::Heat::None. So, because of
the default implementation, if left untouched it actually does
nothing.

Currently, besides the list, which is metadata_settings, this hook also
takes the name of the node that it's setting the metadata for.

This is useful for nova vendordata plugins that can parse said metadata.

Change-Id: I8a937f711f0b90156fbb6c4632760435ef846474

7 years agoMerge "Use df instead of findmnt in cephstorage upgrade scripts"
Jenkins [Wed, 21 Dec 2016 21:09:36 +0000 (21:09 +0000)]
Merge "Use df instead of findmnt in cephstorage upgrade scripts"

7 years agoMerge "Add "deployed server" fake neutron ports"
Jenkins [Wed, 21 Dec 2016 14:52:36 +0000 (14:52 +0000)]
Merge "Add "deployed server" fake neutron ports"

7 years agoMerge "Synchronize NetworkDeployment inputs for generic roles"
Jenkins [Wed, 21 Dec 2016 13:53:48 +0000 (13:53 +0000)]
Merge "Synchronize NetworkDeployment inputs for generic roles"

7 years agoAdd a per service bootstrap node variable
Michele Baldessari [Mon, 19 Dec 2016 13:27:51 +0000 (14:27 +0100)]
Add a per service bootstrap node variable

In order to call commands that need to be run on a single node, we
create a new per-service variable that will contain the first node of
each role containing the service.

Change-Id: I03e8685f939e8ae1fcd8b16883b559615042505d
Partial-Bug: #1615983

7 years agoMerge "Make the openvswitch 2.4->2.5 upgrade more robust"
Jenkins [Wed, 21 Dec 2016 10:28:54 +0000 (10:28 +0000)]
Merge "Make the openvswitch 2.4->2.5 upgrade more robust"

7 years agoMerge "net-conf: make bridge and interface name optional"
Jenkins [Wed, 21 Dec 2016 09:36:29 +0000 (09:36 +0000)]
Merge "net-conf: make bridge and interface name optional"

7 years agoAdds missing firewall rules for OpenDaylight API service
Tim Rozet [Tue, 20 Dec 2016 20:56:00 +0000 (15:56 -0500)]
Adds missing firewall rules for OpenDaylight API service

Custom role deployments were not working when ODL API was on a different
node due to firewall rules blocking traffic.  This patch adds the
missing rules for the REST communication to ODL (8081 by default), OVSDB
connection (6640), and OpenFlow protocol (6653).

Closes-Bug: 1651476
Depends-On: I1f2af2793d040fda17bf73252afe59434d99f31f

Change-Id: Ic0119c783d01e864c49fa06a66fdd68c059a726b
Signed-off-by: Tim Rozet <trozet@redhat.com>
7 years agoMerge "Set the default event pipeline publisher"
Jenkins [Tue, 20 Dec 2016 20:25:44 +0000 (20:25 +0000)]
Merge "Set the default event pipeline publisher"

7 years agoMerge "Use OS::Heat::DeployedServer"
Jenkins [Tue, 20 Dec 2016 20:24:22 +0000 (20:24 +0000)]
Merge "Use OS::Heat::DeployedServer"

7 years agoAdds missing OpenDaylight username/password from ODL OVS service
Tim Rozet [Tue, 20 Dec 2016 18:55:35 +0000 (13:55 -0500)]
Adds missing OpenDaylight username/password from ODL OVS service

ODL username and password are already present in the OpenDaylightApi
service.  However, when moving the OpenDaylightApi service to its own
custom role, the Controller/Compute nodes no longer have access to these
hiera values.  This patch adds them also to the OpenDaylightOvs service.

Closes-Bug: 1651499
Depends-On: I418643810ee6b8a2c17a4754c83453140ebe39c7

Change-Id: I169fdad4c94bd6dfc1fe7cde3d6b19b36d916af7
Signed-off-by: Tim Rozet <trozet@redhat.com>
7 years agoSet gnocchi wsgi display name
Pradeep Kilambi [Tue, 20 Dec 2016 16:12:46 +0000 (11:12 -0500)]
Set gnocchi wsgi display name

Depends-On: Ice921f0fdd4bec6de50e62c39c447ee40dc0e8f5

Change-Id: I4109ac83c32ee2365695611009579a8b117134ff

7 years agoSet aodh wsgi display name
Pradeep Kilambi [Tue, 20 Dec 2016 16:09:20 +0000 (11:09 -0500)]
Set aodh wsgi display name

Depends-On: I53b156505e08625d56ed6a302cf5b5c30e8e288c

Change-Id: Id9791d8a19a74c1f0855e794170f66542f88a548

7 years agoSet the default event pipeline publisher
Pradeep Kilambi [Mon, 12 Dec 2016 21:17:49 +0000 (16:17 -0500)]
Set the default event pipeline publisher

Since we have aodh enabled for alarms, we should set the
notifier to the default queue alarm.all.

Closes-bug: #1590473

Change-Id: Ibcb5076424ac2ddcd18ff717d82da1aec4c035cb

7 years agoUse ws instead of http for Zaqar websocket endpoints
Dan Prince [Tue, 20 Dec 2016 15:06:34 +0000 (10:06 -0500)]
Use ws instead of http for Zaqar websocket endpoints

This patch updates the endpoint map for Zaqar websockets
so that we use ws (or wss for SSL) instead of the http varients.
This should help resolve protocol issues when trying to make
connections to the websocket API.

Change-Id: Iea88d1e30299cb621424740a39d498defa371ca4

7 years agoMerge "Expose param to enable legacy ceilometer api"
Jenkins [Tue, 20 Dec 2016 14:57:47 +0000 (14:57 +0000)]
Merge "Expose param to enable legacy ceilometer api"

7 years agoMerge "Move UpgradeInitCommand to role templates"
Jenkins [Tue, 20 Dec 2016 14:46:54 +0000 (14:46 +0000)]
Merge "Move UpgradeInitCommand to role templates"

7 years agoMerge "Run upgrade steps before post-deploy config"
Jenkins [Tue, 20 Dec 2016 14:45:57 +0000 (14:45 +0000)]
Merge "Run upgrade steps before post-deploy config"

7 years agoFreeIPA: Make OTP and FreeIPA server parameters optional
Juan Antonio Osorio Robles [Tue, 20 Dec 2016 08:02:23 +0000 (10:02 +0200)]
FreeIPA: Make OTP and FreeIPA server parameters optional

In the freeipa-enroll.yaml, it can be the case that the node has been
enrolled (via a cloud-init script); in this case, the OTP and the
FreeIPA server are optional. However, we still need to get a kerberos
ticket, which is the last step of this script, since this ticket is what
certmonger will use to request the certificates in subsequent steps.

Change-Id: I7e9d6a747cdcbe81c9a74a17db5e91aa9d459f65

7 years agoMerge "Remove unused attr from templates"
Jenkins [Mon, 19 Dec 2016 23:32:48 +0000 (23:32 +0000)]
Merge "Remove unused attr from templates"

7 years agoMerge "Revert "Switch mistral to use authtoken configuration""
Jenkins [Mon, 19 Dec 2016 23:32:12 +0000 (23:32 +0000)]
Merge "Revert "Switch mistral to use authtoken configuration""

7 years agoRevert "Switch mistral to use authtoken configuration"
Ben Nemec [Mon, 19 Dec 2016 20:34:46 +0000 (20:34 +0000)]
Revert "Switch mistral to use authtoken configuration"

It turns out the puppet-mistral change this depends on broke
introspection, so we need to back it out for now.

This reverts commit ed029e5bf279945e82bff8766af4093856a7ac6a.

Change-Id: I828478267935cdc68aa24de8c9dc2d12fcadb631

7 years agoMerge "Switch mistral to use authtoken configuration"
Jenkins [Mon, 19 Dec 2016 18:46:25 +0000 (18:46 +0000)]
Merge "Switch mistral to use authtoken configuration"

7 years agoUse overcloud-full instead of atomic-image
Steve Baker [Tue, 8 Nov 2016 20:50:17 +0000 (20:50 +0000)]
Use overcloud-full instead of atomic-image

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

7 years agoIntroduce role-specific NodeUserData, use for docker
Steve Baker [Thu, 8 Dec 2016 01:44:35 +0000 (14:44 +1300)]
Introduce role-specific NodeUserData, use for docker

Currently when the docker environments are invoked, every node has the
boot script run which replaces os-collect-config with the heat-agents
container. This should only be happening on Compute nodes currently,
and each role will be converted to heat-agents one at a time.

This change implements a role-specific NodeUserData resource and uses
that mechanism to run docker/firstboot/install_docker_agents.yaml only
on Compute nodes.

Change-Id: Id81811dbcaf0e661c3980aa25f3ca80db5ef0954

7 years agoAdd bind mounts for agent state
Steve Baker [Tue, 6 Dec 2016 22:18:23 +0000 (22:18 +0000)]
Add bind mounts for agent state

These ensure that software configuration tasks are not re-run when the
heat-agents container is restarted.

Change-Id: Ieb84fe1f6dd849737ff22f51daa12ddc467dcdde

7 years agoMerge "Add a type for the ControlVirtualIP resource"
Jenkins [Mon, 19 Dec 2016 15:05:02 +0000 (15:05 +0000)]
Merge "Add a type for the ControlVirtualIP resource"

7 years agoMerge "Correction to SRIOV THT Examples"
Jenkins [Mon, 19 Dec 2016 13:20:47 +0000 (13:20 +0000)]
Merge "Correction to SRIOV THT Examples"

7 years agoMove UpgradeInitCommand to role templates
Steven Hardy [Wed, 14 Dec 2016 14:09:36 +0000 (14:09 +0000)]
Move UpgradeInitCommand to role templates

We can't run this during the upgrade steps, because there are things
which need to happen before any role configuration happens, e.g
installing the new hiera heat-config hook, which must be done before
e.g "ControllerDeployment" runs or the stack update hangs.

Partially-Implements: blueprint overcloud-upgrades-per-service
Change-Id: I365b57513590662c3f78a33dc625747f457c48c5

7 years agoRun upgrade steps before post-deploy config
Steven Hardy [Fri, 2 Dec 2016 13:58:24 +0000 (13:58 +0000)]
Run upgrade steps before post-deploy config

For some upgrade scenarios, e.g all-in-one deployments, it may
be possible to run the upgrade steps, then apply puppet in one
stack update, so reverse the order here.  For normal deployments
the upgrade steps are mapped to OS::Heat::None so this will have
no effect.

Partially-Implements: blueprint overcloud-upgrades-per-service
Change-Id: I3c78751349a6ac2bc5dff82f67bffe13750ac21c

7 years agoMerge "Set rabbitmq's port and IP via the config file and not the env file"
Jenkins [Mon, 19 Dec 2016 08:54:27 +0000 (08:54 +0000)]
Merge "Set rabbitmq's port and IP via the config file and not the env file"

7 years agoMerge "Introduce role-specific nova-server-metadata"
Jenkins [Mon, 19 Dec 2016 07:45:05 +0000 (07:45 +0000)]
Merge "Introduce role-specific nova-server-metadata"

7 years agoMerge "Enable SECURE_PROXY_SSL_HEADER option for horizon"
Jenkins [Mon, 19 Dec 2016 07:41:31 +0000 (07:41 +0000)]
Merge "Enable SECURE_PROXY_SSL_HEADER option for horizon"

7 years agoSplit OVN northd and ml2 plugin
Steven Hardy [Tue, 18 Oct 2016 11:15:56 +0000 (12:15 +0100)]
Split OVN northd and ml2 plugin

This allows us to take advantage of the composable roles hiera
settings to connect the plugin to the northd/ovndb API without
needing to hard-code the IP of the node running the service.

Change-Id: I2508d48f81c1819ae3521fff271c0bdc50724604
Depends-On: I9af7bd837c340c3df016fc7ad4238b2941ba7a95
Closes-Bug: #1634171

7 years agoMerge "Use hostname -s instead of hostnamectl --transient"
Jenkins [Sat, 17 Dec 2016 22:47:00 +0000 (22:47 +0000)]
Merge "Use hostname -s instead of hostnamectl --transient"

7 years agoAdd "deployed server" fake neutron ports
Dan Prince [Sun, 11 Dec 2016 13:16:36 +0000 (08:16 -0500)]
Add "deployed server" fake neutron ports

This patch swaps out the noop ctlplane port for a more
proper fake neutron port stack. This stack is a swap
in for the OS::Neutron::Port heat resource and can be
controlled via the DeployedServerPortMap parameter.

By relying on <hostname>-<network> naming conventions in the
map we can map IPs to specific servers without using the
Neutron API. This will allow us to inject IP information
into the Heat stack within the new t-h-t undercloud installer
which currently does not run a Neutron service.

Change-Id: I29fbc720c3d582cbb94385e65e4b64b101f7eac9

7 years agonet-conf: make bridge and interface name optional
Dan Prince [Sat, 17 Dec 2016 14:46:03 +0000 (09:46 -0500)]
net-conf: make bridge and interface name optional

Update the run-os-net-config.sh so that we make the
bridge_name and interface_name parameters (supplied by
the SoftwareConfig) optional. This allows operators to
create custom network templates to be used on roles other than
compute and controller which appear to be the only two roles which
set bridge_name and interface_name parameters.

Change-Id: I8997cf8177c1bf0e1f19de5f93dc4e81da1a951f

7 years agoIncrease libvirt/qemu.conf max_files and max_processes
Giulio Fidente [Fri, 16 Dec 2016 20:52:13 +0000 (21:52 +0100)]
Increase libvirt/qemu.conf max_files and max_processes

When Nova and/or Cinder are using Ceph as backend, qemu will need
to open a connection and two threads for each and every Ceph OSD.

This change raises the max_files (set to 1024 by default) to 32768
and the max_processes (set to 4096 by default) to 131072. The max
number of FDs is per-process, while the max number of processes is
per-user. The values can be overridden via ExtraConfig, no params
are added to the templates.

A more detailed description of the values were chosen can be
found at: https://access.redhat.com/solutions/1602683

Change-Id: I1e79675f6aac1b0fe6cc7269550fa6bc8586e1fb
Depends-On: I258afd3ee6633e4b2ebc45aa8611be652476be0c

7 years agoIntroduce role-specific nova-server-metadata
Juan Antonio Osorio Robles [Wed, 14 Dec 2016 06:08:43 +0000 (08:08 +0200)]
Introduce role-specific nova-server-metadata

We could already pass metadata to the nova server instances (on
creation) via the ServerMetadata parameter, however, there was no
way of doing this per-role. This introduces that by adding a
{{role}}ServerMetadata parameter for each role. This parameter gets
merged with the ServerMetadata parameter and allows this
functionality.

Note that both default to {}, and so does the result of merging those
parameters with their default values. So nothing changes for the
default settings.

Change-Id: I334edcc51ce7ee82fc13b6cf4c0d74ccb7db099c

7 years agoAdd ZaqarApiNetwork to the service net map
Dan Prince [Thu, 15 Dec 2016 15:23:12 +0000 (10:23 -0500)]
Add ZaqarApiNetwork to the service net map

Without this Zaqar API will fail to run due to a missing bind
IP address in the config file.

Change-Id: Icd0a6e85b7455e89f37f05399146d5e743359da8
Closes-bug: #1650307

7 years agoAdd pre-network hook and example showing config-then-reboot
Steven Hardy [Thu, 15 Dec 2016 10:09:35 +0000 (10:09 +0000)]
Add pre-network hook and example showing config-then-reboot

There are some requirements for early configuration that involves
e.g setting kernel parameters then rebooting.  Currently this can
be done via cloud-init, e.g firstboot templates, but there's been
discussion around enabling a SoftwareDeployment approach instead.

The main advantage of doing it this way is there's an error path
if something goes wrong with the config (except triggering the
reboot as we have to use NO_SIGNAL for that).

Change-Id: Ia54ee654f755631b8062eb5c209a60c6f9161500

7 years agoMerge "Deployed server: switch to apply-config hook"
Jenkins [Thu, 15 Dec 2016 05:59:48 +0000 (05:59 +0000)]
Merge "Deployed server: switch to apply-config hook"

7 years agoUse hostname -s instead of hostnamectl --transient
Dan Prince [Wed, 14 Dec 2016 20:48:07 +0000 (15:48 -0500)]
Use hostname -s instead of hostnamectl --transient

This patch updates the deployed-server interface to use a
simple hostname -s. The previous hostnamectl --transient
can pick up extra domain name configuration in some cases
that can cause very odd hostname generation if used
with the tripleo-heat-template host file generation.

This would actually break the new undercloud t-h-t installer
in that some of the /etc/hosts entries would be invalid
(no IP address) due to substring replacements failing in
a variety of odd hostname situations. Simplifying the
hostname of deployed servers to just the short version seems
the most sensable way to avoid all this.

Change-Id: Ia7e636d021f948ea5234475cef02f666d8ce6999

7 years agoMake the openvswitch 2.4->2.5 upgrade more robust
marios [Fri, 18 Nov 2016 17:18:54 +0000 (19:18 +0200)]
Make the openvswitch 2.4->2.5 upgrade more robust

In I9b1f0eaa0d36a28e20b507bec6a4e9b3af1781ae and
I11fcf688982ceda5eef7afc8904afae44300c2d9 we added a manual step
for upgrading openvswitch in order to specify the --nopostun
as discussed in the bug below.

This change adds a minor update to make this workaround more
robust. It removes any existing rpms that may be around from
an earlier run, and also checks that the rpms installed are
at least newer than the version we are on.

This also refactors the code into a common definition in the
pacemaker_common_functions.sh which is included even for the
heredocs generating upgrade scripts during init. Thanks
Sofer Athlan-Guyot and Jirka Stransky for help with that.

Change-Id: Idc863de7b5a8c116c990ee8c1472cfe377836d37
Related-Bug: 1635205

7 years agoSet rabbitmq's port and IP via the config file and not the env file
Juan Antonio Osorio Robles [Wed, 14 Dec 2016 12:01:32 +0000 (14:01 +0200)]
Set rabbitmq's port and IP via the config file and not the env file

The RabbitMQ's puppet manifest configures the node's IP and port through
environment variables. While this would usually be fine, it doesn't
allow us to use TLS-only, since it will always try to start a TCP
listener. So, by setting these values through the config file, when
setting ssl_only for rabbitmq, they will effectively be discarded and
thus allow us to use an SSL listener on the same port.

Change-Id: I33d051a8c740baf69b99517378e1f9b0f3cc1681

7 years agoEnable SECURE_PROXY_SSL_HEADER option for horizon
Juan Antonio Osorio Robles [Fri, 9 Dec 2016 07:28:05 +0000 (09:28 +0200)]
Enable SECURE_PROXY_SSL_HEADER option for horizon

This reads makes Django take the X-Forwarded-Proto header into account
when forming URLs.

Change-Id: Ice64de9a11d7819ae7f380279ff356342d9b6673
Depends-On: Ifed7d4c3409419c01c5b20c707221c1fc76ea09e

7 years agoSynchronize NetworkDeployment inputs for generic roles
James Slagle [Fri, 9 Dec 2016 21:49:28 +0000 (16:49 -0500)]
Synchronize NetworkDeployment inputs for generic roles

The inputs on the NetworkDeployment SoftwareDeployment resource were not
the same for generic roles as they were for the default roles
(role.role.js.yaml vs. controller-role.yaml).

This patch synchronizes the input between the 2 so that the interface is
the same for deployers.

Change-Id: Id14cf7ca219aee61f5b9d21171a5c41dea765f98
Implements: blueprint multinode-ci-os-net-config

7 years agoUse OS::Heat::DeployedServer
James Slagle [Mon, 5 Dec 2016 21:19:55 +0000 (16:19 -0500)]
Use OS::Heat::DeployedServer

The new DeployedServer resource in Heat will provide a native resource
for Server resources that are not orchestrated via Nova. This will allow
associating SoftwareDeployment's with servers that have not been
launched with Nova with Heat directly.

With the new resource, all of the SoftwareConfigTransport methods are
available, including POLL_TEMP_URL. This patch also updates the
get-occ-config.sh script to configure the requests collector in
os-collect-config.conf on the deployed servers.

Change-Id: I4b80421088acca709fe3f92741c5c052be483131
Partially-implements: blueprint split-stack-software-configuration
Depends-On: I07b9a053ecd3ef4411b602bbc6ef985224834cf8

7 years agoMerge "Don't rely on lsb_release for hosts template write"
Jenkins [Tue, 13 Dec 2016 14:36:20 +0000 (14:36 +0000)]
Merge "Don't rely on lsb_release for hosts template write"

7 years agoMerge "docker: don't use custom run-os-net-config"
Jenkins [Tue, 13 Dec 2016 14:35:29 +0000 (14:35 +0000)]
Merge "docker: don't use custom run-os-net-config"

7 years agoManage disallow_iframe_embed
Luke Hinds [Fri, 9 Dec 2016 11:41:19 +0000 (11:41 +0000)]
Manage disallow_iframe_embed

disallow_iframe_embed can be used to prevent Horizon from being
embedded within an iframe. Legacy browsers are still vulnerable
to a Cross-Frame Scripting (XFS) vulnerability, so this option
allows extra security hardening where iframes are not used in
deployment

Change-Id: I2fe6b243250608b340ee555062060dbdad1a49c4
Depends-On: I5c540e552efe738bdec8598f9257fa22ae651a76
Closes-Bug: #1641882

7 years agoUse df instead of findmnt in cephstorage upgrade scripts
Giulio Fidente [Mon, 12 Dec 2016 21:37:48 +0000 (22:37 +0100)]
Use df instead of findmnt in cephstorage upgrade scripts

There are scenarios in which findmnt will return a list of all
mounted filesystems, which causes the upgrade script to fail in
recognizing if the Ceph OSD is backed by ext4.

Change-Id: Iadebdc32b523c05216202b782ceb54bec4389413
Closes-Bug: #1649407

7 years agoMerge "Add FreeIPA enrollment template"
Jenkins [Mon, 12 Dec 2016 09:22:00 +0000 (09:22 +0000)]
Merge "Add FreeIPA enrollment template"

7 years agoDecouple swift-proxy from ceilometer
Dan Prince [Sat, 10 Dec 2016 13:17:10 +0000 (08:17 -0500)]
Decouple swift-proxy from ceilometer

This patch updates the swift-proxy base profile so that
we now explicitly set the rabbit_port. This allows us
to remove the use of puppet-ceilometer default settings
in the puppet-tripleo modules change ID here:
I8d9f69f5e9160543b372bd9886800f16f625fdc6

It also adds a new boolean parameter that allows the
end user to disable the swift ceilometer pipeline
by setting SwiftCeilometerPipelineEnabled to false.

This two settings allow Swift to once again be installed
on a machine without configuring Ceilometer.

Depends-On: Id1584df5e5bb90f8087ae25eecc4834179b6fc21

Change-Id: Ief5399d7ea4d26e96ce54903a69d660fa4fe3ce9
Related-bug: #1648736

7 years agoAdd a type for the ControlVirtualIP resource
Dan Prince [Sun, 11 Dec 2016 19:44:35 +0000 (14:44 -0500)]
Add a type for the ControlVirtualIP resource

This patch adds a new type called:
  OS::TripleO::Network::Ports::ControlPlaneVipPort

This defaults to a normal OS::Neutron::Port object but can
be mocked out for some implementations like when installing
the undercloud where neutron doesn't exist.

Change-Id: Iebf2428432a98a9d789b206ce973599adbc0af8f

7 years agoSwitch mistral to use authtoken configuration
Alex Schultz [Sat, 10 Dec 2016 22:58:20 +0000 (15:58 -0700)]
Switch mistral to use authtoken configuration

The upstream puppet module is adding the proper keystone authtoken
middleware support. This change updates THT to use the keystone
authtoken class rather than the deprecated settings. This also allows
for proper keystone v3 integration.

Change-Id: Iaf82716122a25e3e0785de1250d24edaaa5e4d04
Depends-On: I71969ef09018f9daa5f81c4f3bcbdb0b0974446c

7 years agoMerge "Add NIC config for compute role for DVR with multiple NICs"
Jenkins [Sat, 10 Dec 2016 00:19:36 +0000 (00:19 +0000)]
Merge "Add NIC config for compute role for DVR with multiple NICs"

7 years agoExpose param to enable legacy ceilometer api
Pradeep Kilambi [Fri, 9 Dec 2016 16:35:24 +0000 (11:35 -0500)]
Expose param to enable legacy ceilometer api

Change-Id: I75815a4bcbf421597abb86226238b74a9afffc0d
Depends-On: Iffb8c2cfed53d8b29e777c35cee44921194239e9

7 years agoAdd FreeIPA enrollment template
Juan Antonio Osorio Robles [Wed, 7 Dec 2016 10:12:25 +0000 (12:12 +0200)]
Add FreeIPA enrollment template

This is based on previous work [1] and it's what I've been using to
test the TLS-everywhere work.

This introduces a template that will run on every node to enroll
them to FreeIPA and acquire a ticket (authenticate) in order to be
able to request certificates.

Enrollment is done via the ipa-client-install command and it does
the following:

* Get FreeIPA's CA certificate and trust it.
* Authenticate to FreeIPA using an OTP and get a kerberos keytab.
* Set up several configurations that are needed for FreeIPA (sssd,
  kerberos, certmonger)

The keytab is then used to authenticate and get an actual TGT
(Ticket-Granting-Ticket) from Kerberos

The previous implementation used a PreConfig hook, however, here it
was modified to use NodeTLSCAData. This has the advantage that it
runs on every node as opposed to the PreConfig hook where we had to
specify the role type so it's a usability improvement. And, on the
other hand, this does set up necessary things for the usage of
FreeIPA as a CA, such as getting the certificate and enrolling to the
CA.

[1] https://github.com/JAORMX/freeipa-tripleo-incubator

bp tls-via-certmonger

Change-Id: Iac94b3b047dca1bcabd464ea8eed6f1220c844f1