apex-tripleo-heat-templates.git
9 years agoMake package upgrade pacemaker-aware
Steve Baker [Mon, 21 Sep 2015 01:05:45 +0000 (13:05 +1200)]
Make package upgrade pacemaker-aware

This change adds alternative logic for handling package updates
on a pacemaker managed node.

"yum list updates" is now run and this script exits early if
there are no packages to update.

If the pacemaker service is not running then the previous puppet
logic remains, so a package update is performed which excludes packages
managed by puppet, and a flag is set to indicate that puppet should
perform an ensure=>latest on all packages it manages.

However if the pacemaker service is running, the following occurs:
- pcs cluster stop is run for this node
- a full yum update is performed
- pcs cluster start is run for this node
- pcs status is run until the hostname for this node appears in the
  Online list

This means that puppet is not involved in the package update process when
the node is managed by pacemaker.

Change-Id: I5ad118552d053dbda280978751167d9fd9da9874

9 years agoEnsure present/latest for puppet driven package updates
Steve Baker [Thu, 1 Oct 2015 02:37:17 +0000 (15:37 +1300)]
Ensure present/latest for puppet driven package updates

This change updates yum_update.sh so that we set set a boolean
output when "managed" packages should get updated. The
output is named 'update_managed_packages' and for the
puppet implementation it is wired up so that it
directly sets tripleo::packages::enable_upgrade to
control whether packages are updated.

It also modifies yum_update.sh to build a yum update excludes list for
packages managed by puppet. The exclude lists are being
generated via puppet-tripleo as well via the new 'write_package_names'
function that is now wired into all the role manifests.

This change does not actually trigger the puppet apply. The fix for
Related-Bug: #1463092 will be used to trigger the puppet run when the
hiera changes. As a minor tweak to this logic we append the
UpdateIdentifier to the config_identifier so that we ensure
puppet gets executed on an update where other (non-related)
hiera changes also occur.

Co-Authored-By: Dan Prince <dprince@redhat.com>
Change-Id: I343c3959517eae38bbcd43648ed56f610272864d

9 years agoWrite package names out to flat files
Dan Prince [Mon, 22 Jun 2015 20:19:33 +0000 (16:19 -0400)]
Write package names out to flat files

This patch updates all of the overcloud manifests so that
we write out flat files containing lists of the Puppet
packages which were managed by each manifest.

The flat files all get written to
/var/lib/puppet-tripleo/installed-packages/ where they can
be easily parsed by external tools. Example format from
the flat files looks like (for the controller step 1):

cat /var/lib/puppet-tripleo/installed-packages/overcloud_controller1
keepalived
haproxy

Depends-On: If3e03b1983fed47082fac8ce63f975557dbc503c

Change-Id: Ia324a08711796aa664f9c0273a051f4f2e3e92c9

9 years agoMerge "Adding core_plugin, type_drivers and service_plugins parameters"
Jenkins [Mon, 28 Sep 2015 17:40:43 +0000 (17:40 +0000)]
Merge "Adding core_plugin, type_drivers and service_plugins parameters"

9 years agoAdding core_plugin, type_drivers and service_plugins parameters
Shiva Prasad Rao [Thu, 20 Aug 2015 20:35:59 +0000 (16:35 -0400)]
Adding core_plugin, type_drivers and service_plugins parameters

Make core_plugin, type_drivers and service_plugins parameter in
neutron configurable through heat.
Also changing the type_drivers order to "vxlan,vlan,flat,gre"

Change-Id: Iba895ed5897bdaf7bb772ffc063c424abb6e1638

9 years agoAdd CephStorageExtraConfigPre resource
Giulio Fidente [Fri, 25 Sep 2015 18:02:36 +0000 (20:02 +0200)]
Add CephStorageExtraConfigPre resource

This change adds a CephStorageExtraConfigPre which can be used
to distribute hooks for the CephStorage nodes.

Change-Id: Id0023d8ffddb3ee5e855d5dcc32c76bc41ce4c63

9 years agoAllow a user to set specific setting per host
Yanis Guenane [Thu, 20 Aug 2015 08:24:57 +0000 (10:24 +0200)]
Allow a user to set specific setting per host

It is currently not possible to specify settings per host and not per
type of host.

One of the example of the problematic that could cause is : What if
node0 have devices /dev/sdb and /dev/sdc while node1 have devices
/dev/sda and /dev/sdd, they is currently no way to specify that simply.

The idea here is to add a top priority file in the hiera lookup that
will match the UUID of the System Information section in the output of
the dmidecode command.

The file could be provided with the firstboot/rsync stack for example.

Change-Id: I3ab082c8ebd2567bd1d914fc0b924e19b1eff7d0

9 years agoExample of passing per-node config data in pre_deploy config
Steven Hardy [Thu, 20 Aug 2015 12:30:00 +0000 (13:30 +0100)]
Example of passing per-node config data in pre_deploy config

Shows one method of passing a map of data in to the pre_deploy extraconfig
interface, such that it could be used in combination with
https://review.openstack.org/#/c/215013/ to create a node uuid specific
hieradata file, or to perform some other non-puppet per-node configuration.

This would be used by specifying an environment file like:
resource_registry:
      OS::TripleO::ControllerExtraConfigPre: puppet/extraconfig/pre_deploy/per_node.yaml
parameter_defaults:
      NodeDataLookup: |
        {"AB4114B1-9C9D-409A-BEFB-D88C151BF2C3": {"foo": "bar"},
         "8CF1A7EA-7B4B-4433-AC83-17675514B1B8": {"foo2": "bar2"}}

Change-Id: I62e344669e0ca781dd93d3f7d2190b70299877c2

9 years agoMerge "Rename -puppet.yaml templates."
Jenkins [Fri, 25 Sep 2015 14:58:42 +0000 (14:58 +0000)]
Merge "Rename -puppet.yaml templates."

9 years agoMerge "Remove nameserver lookup dependency from Cisco ML2 CollectMacConfig."
Jenkins [Wed, 23 Sep 2015 17:29:56 +0000 (17:29 +0000)]
Merge "Remove nameserver lookup dependency from Cisco ML2 CollectMacConfig."

9 years agoMerge "Add redis ordering with ceilometer-central"
Jenkins [Wed, 23 Sep 2015 13:23:25 +0000 (13:23 +0000)]
Merge "Add redis ordering with ceilometer-central"

9 years agoMerge "Re-add constranits between nova-api and nova-novncproxy"
Jenkins [Wed, 23 Sep 2015 13:11:55 +0000 (13:11 +0000)]
Merge "Re-add constranits between nova-api and nova-novncproxy"

9 years agoRemove nameserver lookup dependency from Cisco ML2 CollectMacConfig.
tiswanso [Tue, 22 Sep 2015 20:57:20 +0000 (16:57 -0400)]
Remove nameserver lookup dependency from Cisco ML2 CollectMacConfig.

The collection of hostname to MAC mappings done in AllNodesPostDeploy
uses 'hostname -f' to get the FQDN for each node.  This form
of the command causes a nameserver lookup for the domain name.  A
timing issue has been seen where the hostname lookup fails due to
the nameserver not having the mapping yet.  The solution is to
hardcode the domain to 'localdomain' as is done in a few other
patches--ie. see controller-puppet.yaml.

Change-Id: Ibea50fcc6b9f22ca163ff063e0dc9ca69dff5f34

9 years agoMerge "Remove default_floating_pool in compute.yaml"
Jenkins [Wed, 23 Sep 2015 00:06:15 +0000 (00:06 +0000)]
Merge "Remove default_floating_pool in compute.yaml"

9 years agoPut staticweb middleware after keystoneauth in proxy pipeline
Emilien Macchi [Fri, 11 Sep 2015 18:51:02 +0000 (14:51 -0400)]
Put staticweb middleware after keystoneauth in proxy pipeline

The staticweb middleware needs to be put after authentication
middlewares to ensure correct functionality as documented in
http://docs.openstack.org/developer/swift/middleware.html#staticweb

Without this Swift sends a HTML response even if the request was done
using a X-Auth-Token. This might result in a faulty handling of the response on
the client side; for example, "swift stat containername" would report an empty,
private container, while the container might actually be public readable with
data stored in it.

Closes-bug: 1494896
Change-Id: Id48840e0041f8d272e08def292fbedfaf76bbfbb
Co-Authored-By: Christian Schwede <cschwede@redhat.com>
9 years agoRename -puppet.yaml templates.
Dan Prince [Sun, 19 Jul 2015 21:47:53 +0000 (17:47 -0400)]
Rename -puppet.yaml templates.

Updates the /puppet directory templates so that we drop the
'-puppet' from the filenames. This is redundant because
we already have puppet in the directory name and fixes
inconsistencies where we aren't using -puppet in
all the files within the puppet directory.

Depends-On: I71cb07b2f5305aaf9c43ab175cca976e844b8175

Change-Id: I70d6e048a566666f5d6e5c2407f8a6b4fd9f6f87

9 years agoRemove default_floating_pool in compute.yaml
James Slagle [Tue, 22 Sep 2015 11:31:25 +0000 (07:31 -0400)]
Remove default_floating_pool in compute.yaml

This is unused on compute nodes and does not need to be specified.

Further, nova::api is not even included in the compute puppet manifest,
so it had no effect anyway.

Change-Id: I7589bf544fb1ddad3cd371869756cb880c0bac37

9 years agoPass default_floating_pool into nova::api class
Derek Higgins [Mon, 21 Sep 2015 23:06:34 +0000 (00:06 +0100)]
Pass default_floating_pool into nova::api class

We were calling nova_config resource to define it
but as of Ic060fc18c8f5d7dc8fcf1d7bd921623dc505a515
its now included as part of the nova::api class.

Closes-bug: #1498237

Change-Id: I948f26304536e2d692acf38d994d29167672168b
Depends-On: I2789e782a4fd673e09c6334b6d56819c68414c80

9 years agoMerge "Configure ctlplane network with a static IP"
Jenkins [Mon, 21 Sep 2015 19:24:28 +0000 (19:24 +0000)]
Merge "Configure ctlplane network with a static IP"

9 years agoConfigure ctlplane network with a static IP
Dan Prince [Mon, 27 Jul 2015 11:35:49 +0000 (07:35 -0400)]
Configure ctlplane network with a static IP

This patch updates all network configuration templates so that
we configure the ctlplane network interface with a static IP
instead of using DHCP.

The IP address used for the static IP is passed into each
nested stack network configuration template via the ControlPlaneIp
parameter.

Three new nested stack parameters called ControlPlaneSubnetCidr,
ControlPlaneDefaultRoute, and EC2MetadataIp have been added to help
configure the CIDR, default route, and EC2 metadata route on the ctlplane
statically.  These parameters can be customized via the
parameter_defaults section in the heat environment.

A single new template called net-config-static-bridge.yaml has
been added to help migrate towards using the static
configuration templates when not using network isolation.

Depends-On: I257e1cba6dee16f73f75512d1284e1e3b9d4c831

Change-Id: Ib267e6dcf2d5ff77f7a82ee20a123965c2d07565

9 years agoSupport new form of servers config for ML2 cisco nexus allnodes config.
tiswanso [Mon, 14 Sep 2015 19:46:29 +0000 (15:46 -0400)]
Support new form of servers config for ML2 cisco nexus allnodes config.

The puppet-neutron changes to remove the usage of ERB templates require
changing the format of the 'servers' hash/dictionary to include a key
for use with puppet's create_resources directly from hiera data.

Depends-On: I401371c9e5176de7ce19d4d4e878e9f2e69aab80

Change-Id: I950b7fb019dd8dd072592618b968a19df5c9c884

9 years agoPort Cisco Nexus/UCSM ExtraConfig to AllNodes
Steven Hardy [Thu, 10 Sep 2015 14:17:16 +0000 (10:17 -0400)]
Port Cisco Nexus/UCSM ExtraConfig to AllNodes

Switch the implemention from a pre_deploy ExtraConfig to an
AllNodesExtraConfig, so we can collect the mac->hostname mapping
for all nodes, then calculate a NexusConfig based on that and
a provided mapping of switch ports to mac address.
The same conversion is also done to the NetworkUCSMHostList:

The port mappings are provided via parameter_defaults like:

parameter_defaults:
  NetworkNexusConfig: {
    "bxb-tor-1": {
      "username": "admin",
      "ssh_port": 22,
      "password": "lab",
      "ip_address": "10.86.7.204",
      "nve_src_intf": 0,
      "physnet": "datacentre",
      "servers": {
        "fa:16:3e:fa:be:ef": "1/11",
        "fa:16:3e:fa:5e:cf": "1/23",
        "fa:16:3e:fa:12:34": "2/34"
      }
    }
  }
  NetworkUCSMHostList: 'fa:16:3e:fa:be:ef:profile1'

This results in an entry like this appended to
/etc/puppet/hieradata/neutron_cisco_data.yaml:

neutron::plugins::ml2::cisco::nexus::nexus_config:\
 {"bxb-tor-1": {"username": "admin", "nve_src_intf": 0, "ssh_port": 22,
"servers": {"overcloud-compute02": "2/34", "overcloud-compute01": "1/23",
"overcloud-control01": "1/11"}, "password": "lab", "ip_address": "10.86.7.204",
"physnet": "datacentre"}}
neutron::plugins::ml2::cisco::ucsm::ucsm_host_list: overcloud-control01:profile1

Co-Authored-By: Rob Pothier <rpothier@cisco.com>
Co-Authored-By: Tim Swanson <tiswanso@cisco.com>
Change-Id: I372c3ffb6bd85b7239fcb9f3fc4fa51cd4a39332

9 years agoAdd "AllNodes" ExtraConfig interface
Steven Hardy [Wed, 19 Aug 2015 18:06:46 +0000 (19:06 +0100)]
Add "AllNodes" ExtraConfig interface

Adds hook to enable additional "AllNodes" config to be performed prior
to applying puppet - this is useful when you need to build
configuration data which requires knowledge of all nodes in a cluster,
or of the entire deployment.

As an example, there is a sample config template which collects the
hostname and mac addresses for all nodes in the deployment then writes
the data to all Controller nodes.  Something similar to this may be
required to enable creation of the nexus_config in
https://review.openstack.org/#/c/198754/

There's also another, simpler, example which shows how you could share
the output of an OS::Heat::RandomString between nodes.

Change-Id: I8342a238f50142d8c7426f2b96f4ef1635775509

9 years agoMerge "Big Switch Neutron ML2 plugin integration"
Jenkins [Thu, 17 Sep 2015 12:39:12 +0000 (12:39 +0000)]
Merge "Big Switch Neutron ML2 plugin integration"

9 years agoMerge "network validation to ping test each interface"
Jenkins [Thu, 17 Sep 2015 12:22:56 +0000 (12:22 +0000)]
Merge "network validation to ping test each interface"

9 years agoMerge "Add YAML sanity check"
Jenkins [Thu, 17 Sep 2015 12:09:31 +0000 (12:09 +0000)]
Merge "Add YAML sanity check"

9 years agoMerge "Set pacemaker default resource-stickiness"
Jenkins [Wed, 16 Sep 2015 15:41:31 +0000 (15:41 +0000)]
Merge "Set pacemaker default resource-stickiness"

9 years agoBig Switch Neutron ML2 plugin integration
Jiri Stransky [Fri, 14 Aug 2015 13:30:36 +0000 (15:30 +0200)]
Big Switch Neutron ML2 plugin integration

Add support for Big Switch Neutron ML2 plugin. Makes sure that the
package is present and sets up the [restproxy] section in ml2_conf.ini.

This also adds support for setting the ovs_use_veth option in
l3_agent.ini. There is no support for this in puppet-neutron l3 class
and it probably doesn't make sense adding it there, because this setting
isn't relevant for all l3 agent drivers, it's specific to
OVSInterfaceDriver. The ovs_use_veth option is also added to
dhcp_agent.ini.

Change-Id: I99635e25b2099dacce68154fe14693d6f06ac19f

9 years agoMerge "Enable Cisco Nexus and UCSM plugins"
Jenkins [Wed, 16 Sep 2015 09:20:43 +0000 (09:20 +0000)]
Merge "Enable Cisco Nexus and UCSM plugins"

9 years agoMerge "Add 4 pacemaker constraints for keystone"
Jenkins [Wed, 16 Sep 2015 08:33:52 +0000 (08:33 +0000)]
Merge "Add 4 pacemaker constraints for keystone"

9 years agoMerge "Ensure mysql root can only connect from localhost"
Jenkins [Tue, 15 Sep 2015 22:21:00 +0000 (22:21 +0000)]
Merge "Ensure mysql root can only connect from localhost"

9 years agoEnable Cisco Nexus and UCSM plugins
Robert Pothier [Wed, 9 Sep 2015 15:08:37 +0000 (11:08 -0400)]
Enable Cisco Nexus and UCSM plugins

This enables support for the Cisco UCS Manager and Cisco
Nexus plugins

Change-Id: I1bc28a4768d5d6857a0504ca1f77dd71259570b8

9 years agoAdd YAML sanity check
Ben Nemec [Tue, 15 Sep 2015 19:07:45 +0000 (14:07 -0500)]
Add YAML sanity check

Adds a "validate" tox env for basic sanity checking of templates.
Currently it just validates that all of the .yaml files are in fact
valid YAML.  In the future we might want to add more, but this
seemed like a reasonable start.

Change-Id: I8091bbad0003b150e23dae5de4f465053c982229

9 years agoMerge "switch to vxlan by default"
Jenkins [Tue, 15 Sep 2015 19:04:19 +0000 (19:04 +0000)]
Merge "switch to vxlan by default"

9 years agoMerge "Consume the NeutronMechanismDrivers from the hiera data"
Jenkins [Tue, 15 Sep 2015 14:15:10 +0000 (14:15 +0000)]
Merge "Consume the NeutronMechanismDrivers from the hiera data"

9 years agoMerge "Set NetValueSpecs parameter types to Json"
Jenkins [Fri, 11 Sep 2015 01:18:44 +0000 (01:18 +0000)]
Merge "Set NetValueSpecs parameter types to Json"

9 years agoMerge "Set the nova scheduler ram_allocation_ration to 1.0"
Jenkins [Thu, 10 Sep 2015 18:16:36 +0000 (18:16 +0000)]
Merge "Set the nova scheduler ram_allocation_ration to 1.0"

9 years agoMerge "Don't add 'host' parameter to cinder.conf"
Jenkins [Wed, 9 Sep 2015 11:59:04 +0000 (11:59 +0000)]
Merge "Don't add 'host' parameter to cinder.conf"

9 years agoSet NetValueSpecs parameter types to Json
Dan Prince [Tue, 8 Sep 2015 18:48:58 +0000 (14:48 -0400)]
Set NetValueSpecs parameter types to Json

The latest Heat API is a bit more strict in validating
the datatypes for the OS::Neutron::Net value_specs.
This patch converts the default parameter types for
these from string to json.

Change-Id: Iaad6ee6417d3ae55c52ffe2f4e6ed79124161923
Closes-bug: #1493502

9 years agoMerge "Add NodeAdminUserData interface for "heat-admin" user"
Jenkins [Tue, 8 Sep 2015 13:03:38 +0000 (13:03 +0000)]
Merge "Add NodeAdminUserData interface for "heat-admin" user"

9 years agoDon't add 'host' parameter to cinder.conf
Derek Higgins [Mon, 7 Sep 2015 15:17:02 +0000 (16:17 +0100)]
Don't add 'host' parameter to cinder.conf

As of I54a75652efd5e91464b84adf84004400b343c3a5 for rdb
this is being done by the cinder puppet module.

Change-Id: I109e139fcbb859a0d9ed99054656be94975d33b5

9 years agoSet default KeystoneAdminApiNetwork to ctlplane
Dan Prince [Fri, 24 Jul 2015 20:00:54 +0000 (16:00 -0400)]
Set default KeystoneAdminApiNetwork to ctlplane

Moves the default KeystoneAdminApiNetwork setting to the ctlplane
so that the undercloud will always have easy access to be able
to configure endpoints.

Change-Id: I1f6aba62b98820b678cce1ca16e72a0c3d045720

9 years agoKeystone network isolation fixes
Dan Prince [Fri, 24 Jul 2015 02:19:25 +0000 (22:19 -0400)]
Keystone network isolation fixes

This patch adds explicit nested stack parameters to
help manage use of the Keystone Admin API vs. the
Keystone Public API.

We also add a new output parameter specifically for the Keystone admin
API VIP. This can be useful when configuring keystone endpoints
with network isolation.

Change-Id: I2bd3e61570151e2faeee14ee09b03ad0b3208cc1

9 years agoMerge "Support for using external Ceph clusters"
Jenkins [Sat, 5 Sep 2015 11:24:58 +0000 (11:24 +0000)]
Merge "Support for using external Ceph clusters"

9 years agoAllow 'ctlplane' to be used within Net IP Maps
Dan Prince [Thu, 23 Jul 2015 20:20:56 +0000 (16:20 -0400)]
Allow 'ctlplane' to be used within Net IP Maps

When using network isolation you might want to selective
move one of the services back to the default ctlplane network
by simply using the ServiceNetMap parameter. This patch
adds ctlplane to the output parameters for both
the net_ip_map and net_ip_list_map nested stacks so that
this is possible.

As part of this patch we also split out the NetIpSubnetMap
into its own unique nested stack so that the Heat input
parameters for this stack are more clearly named.

Change-Id: Iaa2dcaebeac896404e87ec0c635688b2a59a9e0f

9 years agoAdd NodeAdminUserData interface for "heat-admin" user
Steven Hardy [Thu, 3 Sep 2015 09:38:59 +0000 (10:38 +0100)]
Add NodeAdminUserData interface for "heat-admin" user

Reinstates the heat-admin user via template user-data, which
replaces the previous boothook injected user provided by the
(deprecated now removed) heat instance_user option.

This has some advantages over the heat.conf option, e.g it allows
for much easier customzation of the user configuration (additional
SSH keys, adding groups etc), and also in future if we support
deploying more than one overcloud you could specify a different
user per deployment.

Co-Authored-By: Dan Prince <dprince@redhat.com>
Change-Id: I2235b9690c01542d8a28ec1c1a4607de751aea29
Closes-Bug: #1229849

9 years agoAdd redis ordering with ceilometer-central
Jiri Stransky [Wed, 2 Sep 2015 16:09:13 +0000 (18:09 +0200)]
Add redis ordering with ceilometer-central

This is another missing constraint. The `require-all=false` part is good
to have, otherwise Ceilometer (and transitively Heat) would switch to
A/P mode. However, at the moment `require-all=false` isn't a recognized
parameter on Fedora, hence the logic fork based on $::operatingsystem.

Change-Id: I2657087192a05b2d8f0ab04ec60631d35331bf6c

9 years agoSet pacemaker default resource-stickiness
Jiri Stransky [Mon, 31 Aug 2015 14:34:22 +0000 (16:34 +0200)]
Set pacemaker default resource-stickiness

This is required for HA to work correctly.

Change-Id: I9faa8fd7bbbac67de5c468ab6fc4edb2260dffe7
Depends-On: https://github.com/redhat-openstack/puppet-pacemaker/pull/61

9 years agoRe-add constranits between nova-api and nova-novncproxy
Jiri Stransky [Wed, 2 Sep 2015 11:40:32 +0000 (13:40 +0200)]
Re-add constranits between nova-api and nova-novncproxy

This can probably only be merged when we move CI forward from Fedora 21
to Fedora 22.

Change-Id: I3a3db4b179cc19756f75003dacd2bb4cd957f0de

9 years agoSet the nova scheduler ram_allocation_ration to 1.0
Emilien Macchi [Mon, 31 Aug 2015 16:35:20 +0000 (12:35 -0400)]
Set the nova scheduler ram_allocation_ration to 1.0

We don't have swap space enabled on overcloud-full deploys
as discussed at https://bugs.launchpad.net/tripleo/+bug/1491335

The default is 1.5 so configure Virtual ram to physical ram
allocation ratio to 1:1 so we don't allow overcommit.

Related-Bug: 1491335
Change-Id: I58cfe6dc68e8615a5519428412dec8c653bd6093

9 years agoMerge "Enable Keystone notifications"
Jenkins [Mon, 31 Aug 2015 19:36:39 +0000 (19:36 +0000)]
Merge "Enable Keystone notifications"

9 years agoAdd 4 pacemaker constraints for keystone
Jiri Stransky [Mon, 31 Aug 2015 14:30:01 +0000 (16:30 +0200)]
Add 4 pacemaker constraints for keystone

These were missing and are required for a correct deployment.

Change-Id: I49a61d0ab2f750f2620927a40f798d11b241b2c0

9 years agoConsume the NeutronMechanismDrivers from the hiera data
marios [Wed, 19 Aug 2015 14:41:38 +0000 (17:41 +0300)]
Consume the NeutronMechanismDrivers from the hiera data

This is passed from the heat templates as hiera data (defaulting
to 'openvswitch') but never effected, meaning we get the puppet
module default.

Change-Id: I3f14cdce9b9bf278aa9b107b2d313e1e82a20709
Closes-Bug: 1488176

9 years agoswitch to vxlan by default
Mike Burns [Fri, 21 Aug 2015 16:50:37 +0000 (12:50 -0400)]
switch to vxlan by default

VXLAN has better performance (20-25% better)
NICs with VXLAN offload are more common

Change-Id: If57c79a1309ae178b3e82d54bb101dde584c86cc
Related: rhbz#1244864

9 years agoMerge "Wire in Compute pre-deployment extraconfig"
Jenkins [Tue, 18 Aug 2015 19:14:03 +0000 (19:14 +0000)]
Merge "Wire in Compute pre-deployment extraconfig"

9 years agoEnable Keystone notifications
Giulio Fidente [Mon, 10 Aug 2015 22:06:17 +0000 (00:06 +0200)]
Enable Keystone notifications

This change enables Keystone notifications and adds two parameters
to control the notification driver and format.

Change-Id: I23ac3c46ee9eb49523d3b8dab027ef21fc6e42df

9 years agoRemove hardcoded bridge name in bonded compute NIC config
Dan Sneddon [Mon, 17 Aug 2015 21:08:08 +0000 (14:08 -0700)]
Remove hardcoded bridge name in bonded compute NIC config

This change removes a hardcoded value for the bond name in the NIC
config for the compute node in the bond-with-vlan NIC config
templates. When this hardcoded value of "br-bond" is used, then the
Neutron bridge mappings must be set to set to datacentre:br-bond in
order for VLAN mode networking to recognize the bridge. By using the
input value for bridge_name we will ensure that the controller and
compute nodes have the same bridge name (defaults to "br-ex"), and
that the defaults will work with VLAN mode.

Change-Id: I28654ab93e3c10a8597c8b877f3f2f6b3eca887c

9 years agoSupport for using external Ceph clusters
Dan Prince [Wed, 1 Jul 2015 20:44:15 +0000 (16:44 -0400)]
Support for using external Ceph clusters

This patch adds support for using an externally managed Ceph
cluster with the TripleO Heat templates.

For an externally managed Ceph cluster we initially
only deploy the Ceph client tools, install the 'openstack' user
keyring, and generate the ceph.conf. This matches what we do
for managed Ceph installations and is a good first start.
No other Ceph related services are installed or managed.

To enable use of a Ceph external cluster simply add
the custom Heat environment file environments/puppet-ceph-external.yaml
to your heat stack create/update command and make sure to
set the required CephClientKey, CephExternalMonHost, and CephClusterFSID
variables.

Change-Id: I0a8b213ce9dfa2fc4e62ae1e7631466e5179fc2b

9 years agoMerge "Drive DB initialization via Hiera"
Jenkins [Thu, 6 Aug 2015 17:13:07 +0000 (17:13 +0000)]
Merge "Drive DB initialization via Hiera"

9 years agoMerge "Add a default setting for BondInterfaceOvsOptions"
Jenkins [Thu, 6 Aug 2015 17:11:47 +0000 (17:11 +0000)]
Merge "Add a default setting for BondInterfaceOvsOptions"

9 years agoEnsure mysql root can only connect from localhost
Yanis Guenane [Tue, 4 Aug 2015 11:05:38 +0000 (13:05 +0200)]
Ensure mysql root can only connect from localhost

Currently mysql root user can connect in a passwordless way from :

  * localhost
  * 127.0.0.1
  * ::1
  * <HOSTNAME>

This patch ensures that the mysql root user can connect only from localhost.

Change-Id: If64fd383737c2fbeed4adbe8d98b1f92610956b2

9 years agoWire in Compute pre-deployment extraconfig
Shiva Prasad Rao [Mon, 3 Aug 2015 21:07:49 +0000 (14:07 -0700)]
Wire in Compute pre-deployment extraconfig

This commit provides a way to configure some additional hieradata
for compute nodes. This is similar to the earlier added infra for
supporting Controller pre-deployment extraconfig.

Change-Id: I02dda0685c7df9013693db5eeacb2f47745d05b5

9 years agoProvide a sample storage environment file
Jiri Stransky [Thu, 30 Jul 2015 12:30:38 +0000 (14:30 +0200)]
Provide a sample storage environment file

Meant to help users configure their storage parameters by copying this
file out, amending it and passing it to `heat stack-create` or
`openstack overcloud deploy`.

Defaults to using Ceph as a backend for Cinder, Glance and also Nova
ephemeral storage.

Change-Id: Ia8f5ef175439394aacdea98cfd66416bcb9bfe3a

9 years agoMerge "RHEL registration shouldn't use attach with activation key"
Jenkins [Wed, 29 Jul 2015 20:37:50 +0000 (20:37 +0000)]
Merge "RHEL registration shouldn't use attach with activation key"

9 years agoMerge "Keystone token flushing"
Jenkins [Tue, 28 Jul 2015 07:34:22 +0000 (07:34 +0000)]
Merge "Keystone token flushing"

9 years agoMerge "Set rabbitmq heatbeat timeout threshold to 60"
Jenkins [Fri, 24 Jul 2015 23:00:07 +0000 (23:00 +0000)]
Merge "Set rabbitmq heatbeat timeout threshold to 60"

9 years agoAdd a default setting for BondInterfaceOvsOptions
Dan Sneddon [Fri, 24 Jul 2015 22:38:01 +0000 (15:38 -0700)]
Add a default setting for BondInterfaceOvsOptions

This change adds a default setting for the OVS bond options to the
bond-with-vlans controller.yaml. This default will attempt to bring
up LACP bonding, but should that fail it will bring up the bond in
active/backup mode. This is a safe configuration if the switch is
not configured for bonding.

Change-Id: I91aad1e061ed1ecf26636e60da7a9a6e9cde50a5

9 years agonetwork validation to ping test each interface
Dan Prince [Wed, 22 Jul 2015 22:22:50 +0000 (18:22 -0400)]
network validation to ping test each interface

This patches wires in a new "all nodes" validation resource
that can be used to add validations that occur early on
during the deployment process. This occurs after the nodes
have been brought online and the initial networks
have been configured but before any "post" (puppet, etc.)
sort of configuration has been executed.

A initial validation script has been added to ping test network IPs
on each network. When using network isolation this will ensure
network connectivity (vlans, etc) are working on each
node and if not the heat stack will fail early, allowing
time to fix the network connections and retry the
stack creation via an update.

Change-Id: I63cf95b27e8ad2aed48718cf84df5f324780e597
Co-Authored-By: Ian Main <imain@redhat.com>
Co-Authored-By: Ryan Hallisey <rhallise@redhat.com>
9 years agoMerge "Ensure SELinux is permissive on Ceph OSDs"
Jenkins [Fri, 24 Jul 2015 16:24:13 +0000 (16:24 +0000)]
Merge "Ensure SELinux is permissive on Ceph OSDs"

9 years agoMerge "Set heat::instance_user to empty string"
Jenkins [Fri, 24 Jul 2015 16:06:36 +0000 (16:06 +0000)]
Merge "Set heat::instance_user to empty string"

9 years agoKeystone token flushing
Jiri Stransky [Wed, 22 Jul 2015 12:23:30 +0000 (14:23 +0200)]
Keystone token flushing

Set up a cron job to flush keystone tokens periodically. The job runs
once a day near midnight per puppet-keystone defaults, and we pass
maxdelay 3600 which means each controller will wait a random delay of up
to 1 hour before running the task.

Change-Id: I351f0273c61106c182aa3945b7ad1ce8f5c7d12b

9 years agoMerge "NFS backend for Cinder"
Jenkins [Fri, 24 Jul 2015 14:09:57 +0000 (14:09 +0000)]
Merge "NFS backend for Cinder"

9 years agoMerge "Set default external port to noop for puppet"
Jenkins [Fri, 24 Jul 2015 13:53:48 +0000 (13:53 +0000)]
Merge "Set default external port to noop for puppet"

9 years agoMerge "Use 'public' instead of 'nova' as default floating pool name"
Jenkins [Fri, 24 Jul 2015 06:38:52 +0000 (06:38 +0000)]
Merge "Use 'public' instead of 'nova' as default floating pool name"

9 years agoSet default external port to noop for puppet
Dan Prince [Thu, 23 Jul 2015 18:06:19 +0000 (14:06 -0400)]
Set default external port to noop for puppet

In 9b89dd20162d962480d3cb84161ed6bfd4fa9de8 we had a regression
where the default "external" traffic port was set to a VIP
when using puppet. We should not ever specify a VIP to be used
for the actual machine IPs (VIPs are only guaranteed to
work once the load balancer is running).

Also, This doesn't match the non-puppet case.

Change-Id: Icd179a70001f2bd7a97e31c7f6445001330674cd

9 years agoMerge "Wire in hieradata overrides via ExtraConfig for CephStorage"
Jenkins [Thu, 23 Jul 2015 13:51:30 +0000 (13:51 +0000)]
Merge "Wire in hieradata overrides via ExtraConfig for CephStorage"

9 years agoMerge "Wire in hieradata overrides via ExtraConfig for ObjectStorage"
Jenkins [Thu, 23 Jul 2015 13:51:22 +0000 (13:51 +0000)]
Merge "Wire in hieradata overrides via ExtraConfig for ObjectStorage"

9 years agoMerge "Convert PublicVirtualIP to new port creation method"
Jenkins [Thu, 23 Jul 2015 12:52:50 +0000 (12:52 +0000)]
Merge "Convert PublicVirtualIP to new port creation method"

9 years agoUse 'public' instead of 'nova' as default floating pool name
Giulio Fidente [Tue, 21 Jul 2015 10:49:46 +0000 (12:49 +0200)]
Use 'public' instead of 'nova' as default floating pool name

The dafault in nova.conf for default_floating_pool is set to nova
which is confusing given to make Tempest tests to pass one has to
create a public network with such a name.

Change-Id: I148222a9f276309ede062ee5292993898ff899d6

9 years agoMerge "Provide list of memcached servers to Nova"
Jenkins [Thu, 23 Jul 2015 09:53:23 +0000 (09:53 +0000)]
Merge "Provide list of memcached servers to Nova"

9 years agoMerge "Wire in hieradata overrides via ExtraConfig for BlockStorage"
Jenkins [Wed, 22 Jul 2015 11:43:44 +0000 (11:43 +0000)]
Merge "Wire in hieradata overrides via ExtraConfig for BlockStorage"

9 years agoMerge "Wire in hieradata overrides via ExtraConfig for NovaCompute"
Jenkins [Wed, 22 Jul 2015 11:42:04 +0000 (11:42 +0000)]
Merge "Wire in hieradata overrides via ExtraConfig for NovaCompute"

9 years agoConvert PublicVirtualIP to new port creation method
Dan Sneddon [Wed, 24 Jun 2015 21:25:08 +0000 (14:25 -0700)]
Convert PublicVirtualIP to new port creation method

This change brings PublicVirtualIP in line with the rest of the
VIPs in how it is created. This allows the network where
PublicVirtualIP is instantiated to be on cltplane when network
isolation is not used, and on the external network when network
isolation is used. This change removes the PublicVirtualNetwork
parameter, since it is no longer used. In order to continue to
support the PublicVirtualFixedIPs parameter, which is used to
provide a specific IP for the PublicVirtualIP, the FixedIP
parameter was added to cltplane_vip.yaml, vip.yaml, and
noop.yaml. The value of PublicVirtualIP is passed to FixedIP
in the VIP templates. This change also moves the default
network for keystone public api to the external net (which will
fallback to ctlplane if network isolation isn't used).

Change-Id: I3f5d35cbe55d3a148e95cf49dfbaad4874df960b

9 years agoProvide list of memcached servers to Nova
Giulio Fidente [Thu, 16 Jul 2015 18:51:23 +0000 (20:51 +0200)]
Provide list of memcached servers to Nova

Memcached is used by novnc to share the auth tokens.

Change-Id: I18415b6ae38b46e3c92e4ce84b858a014ef8398b

9 years agoDrive DB initialization via Hiera
Dan Prince [Mon, 20 Jul 2015 11:56:26 +0000 (07:56 -0400)]
Drive DB initialization via Hiera

This patch moves most of the ::db::mysql parameter initialization
into a new database.yaml Hiera file. This cleans up the
controller manifests and allows us to define things in a single
location across the two implementations (HA and nonHA).

Change-Id: I895b753b329097a96a6c6f3a03a5fcebefe32dd4

9 years agoIncrease default start timeout for Pacemaker from 20s to 90s
Giulio Fidente [Wed, 15 Jul 2015 12:35:46 +0000 (14:35 +0200)]
Increase default start timeout for Pacemaker from 20s to 90s

On slow environments the start operation of some services can
take longer than 20s so we increase the default for start
operation to 90s, more info can be found at:
https://bugzilla.redhat.com/show_bug.cgi?id=1242052

Systemd defaults to 90s as well.

Change-Id: Ie4652bad518075be77937d47830f263034eda79c

9 years agoMerge "Puppet: wire in tripleo::packages"
Jenkins [Tue, 21 Jul 2015 10:52:53 +0000 (10:52 +0000)]
Merge "Puppet: wire in tripleo::packages"

9 years agoMerge "Fix Puppet Configuring NetApp Cinder Backend"
Jenkins [Tue, 21 Jul 2015 09:27:13 +0000 (09:27 +0000)]
Merge "Fix Puppet Configuring NetApp Cinder Backend"

9 years agoPuppet: wire in tripleo::packages
Dan Prince [Fri, 19 Jun 2015 02:05:00 +0000 (22:05 -0400)]
Puppet: wire in tripleo::packages

This wires in use of a new puppet-tripleo class which
encapsulates the logic to enable/disable package
installation and upgrades.

By using the new class we can remove the global
Package provider declaration at the top of each
module.

Change-Id: I5c6e5fd8600031bd8fb6195649721607c560f9d5
Depends-on:  Ie8fbc344149bc8c9977e127de77636903607617a

9 years agoFix Puppet Configuring NetApp Cinder Backend
Ryan Hefner [Thu, 18 Jun 2015 21:37:31 +0000 (17:37 -0400)]
Fix Puppet Configuring NetApp Cinder Backend

It was incorrectly assumed that Puppet variables assigned to a
defined class (as seen in cinder-netapp.yaml) would be applied to
any resources created with that type. This is not how Puppet works.

The full range of configuration parameters to cinder::backend::netapp
have been added back in. They are still pulling from Hiera like they
were intended before, but it needs to be a little more explicit for
Puppet to be happy.

Change-Id: I2e00eae829713b2dbb1e4a5f296b6d08d0c21100

9 years agoMerge "Ensure compute nodes use internalURL as catalog_info"
Jenkins [Mon, 20 Jul 2015 11:27:18 +0000 (11:27 +0000)]
Merge "Ensure compute nodes use internalURL as catalog_info"

9 years agoMerge "Allow overlapping IPs in Neutron"
Jenkins [Mon, 20 Jul 2015 07:20:11 +0000 (07:20 +0000)]
Merge "Allow overlapping IPs in Neutron"

9 years agoMerge "Ensure CinderStorage nodes use internalURL as catalog_info"
Jenkins [Sun, 19 Jul 2015 00:47:14 +0000 (00:47 +0000)]
Merge "Ensure CinderStorage nodes use internalURL as catalog_info"

9 years agoMerge "Use parameter_defaults in env files"
Jenkins [Sun, 19 Jul 2015 00:45:10 +0000 (00:45 +0000)]
Merge "Use parameter_defaults in env files"

9 years agoSet rabbitmq heatbeat timeout threshold to 60
Dan Prince [Fri, 17 Jul 2015 14:39:23 +0000 (10:39 -0400)]
Set rabbitmq heatbeat timeout threshold to 60

Updates the default settings for Nova, Neutron, Cinder,
Ceilometer, and Heat services so we set the default rabbitmq
threshold to 60 seconds.

Change-Id: If537ae16968eb6b264b2ab071144f1eecab18b64

9 years agoAllow overlapping IPs in Neutron
Jiri Stransky [Fri, 17 Jul 2015 12:56:21 +0000 (14:56 +0200)]
Allow overlapping IPs in Neutron

Change-Id: I7703013b62bd67869c268fb8689389ec0eeb5aad

9 years agoMerge "Increase default max_connections for MySQL from 1024 to 4096"
Jenkins [Fri, 17 Jul 2015 11:17:38 +0000 (11:17 +0000)]
Merge "Increase default max_connections for MySQL from 1024 to 4096"

9 years agoMerge "Enable hieradata ExtraConfig overrides for Controller"
Jenkins [Fri, 17 Jul 2015 08:35:58 +0000 (08:35 +0000)]
Merge "Enable hieradata ExtraConfig overrides for Controller"

9 years agoEnsure CinderStorage nodes use internalURL as catalog_info
Giulio Fidente [Thu, 16 Jul 2015 22:01:33 +0000 (00:01 +0200)]
Ensure CinderStorage nodes use internalURL as catalog_info

By default Cinder will get the publicURL for Nova and Swift, which
is not reachable by the CinderStorage nodes.

Change-Id: I25b7900c9ab261e0f706257ffdf6844533b63b94

9 years agoEnsure compute nodes use internalURL as catalog_info
Giulio Fidente [Thu, 16 Jul 2015 21:45:20 +0000 (23:45 +0200)]
Ensure compute nodes use internalURL as catalog_info

By default Nova will get the publicURL instead, which is not
reachable by the compute nodes.

Change-Id: I57b6a7a7eddb0ffaf6d2d152d932f390c48f908e