26 Commits

Author SHA1 Message Date
Dan Prince
bc9368fd91 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
2015-08-13 16:19:04 +02:00
Jiri Stransky
bed3b9aeb8 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
2015-07-30 15:25:25 +02:00
Jenkins
9c8364184c Merge "Fix Puppet Configuring NetApp Cinder Backend" 2015-07-21 09:27:13 +00:00
Ryan Hefner
e284daa1ff 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
2015-07-20 11:09:44 -04:00
Jenkins
ff84b24800 Merge "Use parameter_defaults in env files" 2015-07-19 00:45:10 +00:00
Yanis Guenane
e0ed4b315a Allow a user to disable MongoDB journaling
By default MongoDB enables a journaling system that prevents loss of
data in case of an unexpected shut-down. When journaling is enabled,
MongoDB will create the journal files before actually starting the
daemon[1].

The journaling feature is useful in production environment, but not
really on a CI-like system, where we only want to make sure MongoDB is
setup correctly and running, hence here we allow a user to
enable/disable MongoDB journaling.

[1] http://docs.mongodb.org/manual/core/journaling/

Change-Id: I0e4e65af9f650c10fdf5155ff709b4eb984cf4e1
Closes-bug: #1468246
2015-07-13 10:29:38 +02:00
James Slagle
9af3ec5865 Use parameter_defaults in env files
Switch to using parameter_defaults in environment files instead of a
parameters section. Using a parameters section to set top level
parameters breaks Tuskar based deployments because Tuskar prefixes the
name of the top level parameters with a role name and version, thus
changing the name of the parameter. When the environment file is then
used to set a top level parameter, Heat fails with an error during
template validation:

ERROR: The Parameter (NeutronExternalNetworkBridge) was not defined in template

Change-Id: I605651a8ebdbd0b2baf7bcea198c2988efb55f31
2015-07-09 11:19:43 -04:00
Jenkins
6ebaadb30c Merge "Add NeutronExternalNetworkBridge parameter" 2015-07-08 19:28:32 +00:00
Dan Prince
e3cd6284fb Add NeutronExternalNetworkBridge parameter
This patch adds a new parameter to configure the
neutron external network bridge. This setting
applies to the bridge used in the Neutron l3_agent.ini file
and can by useful if you wish to set external_network_bridge = ''
in that file.

As part of this fix we also update the environment file for
network isolation so that we automatically set the new
NeutronExternalNetworkBridge to an empty string. This fixes
an issue where overcloud floating IPs did not work correctly
when using the external network interface for floating IP
traffic.

Change-Id: I3bfcda8746780ea0851d88ed6db8557e261cef0d
2015-07-06 13:50:55 -04:00
Steven Hardy
e4c4c4068e Wire in Controller pre-deployment extraconfig
The recently added cinder-netapp extraconfig contains some additional
hieradata which needs to be applied during the initial pre-deployment
phase, e.g in controller-puppet.yaml (before the manifests are applied)
so wire in a new OS::TripleO::ControllerExtraConfigPre provider resource
which allows passing in a nested stack (empty by default) which contains
any required "pre deployment" extraconfig, such as applying this hieradata.

Some changes were required to the cinder-netapp extraconfig and environment
such that now the hieradata is actually applied, and the parameter_defaults
specified will be correctly mapped into the StructuredDeployment.

Change-Id: I8838a71db9447466cc84283b0b257bdb70353ffd
2015-07-06 10:56:11 -04:00
Jenkins
2e922fdb33 Merge "Include Redis VIP in example environment" 2015-07-01 10:08:04 +00:00
Dan Sneddon
c203085ad0 Include Redis VIP in example environment
The network isolation code in the TripleO Heat templates has files
in the environment folder that can be included to enable network
isolation. This updates the environment file to include the VIP
for Redis.

Change-Id: Ic05720c565d9ecf76bf7485b969cb2d9ead9fd6f
2015-06-25 12:03:02 -07:00
marios
d02beabc0a Enable loadbalancing of the Redis VIP, defaults to False
We have to set it to true as the default is false which means the
redis vip can't be reached. This was manifested as a problem with
ceilometer agent reaching the coordination url like [1].

Co-Authored-By: Giulio Fidente <gfidente@redhat.com>

[1] https://bugzilla.redhat.com/attachment.cgi?id=1040023
Closes-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1232797
Change-Id: I1cd63308d0ac1d17542e1a2a909ee1a9680ed4b3
2015-06-18 14:31:52 +02:00
Jenkins
0625ac253e Merge "Add Redis as a Pacemaker resource" 2015-06-09 07:15:33 +00:00
Jenkins
33db97ccf9 Merge "Enable NetApp Backends in Cinder" 2015-06-08 15:31:29 +00:00
Yanis Guenane
8def87e449 Add Redis as a Pacemaker resource
Change-Id: I731b408f24da01c1bc897bfffe8fd4d5638932ed
2015-06-05 23:40:44 +02:00
Ryan Hefner
cac21c27aa Enable NetApp Backends in Cinder
Enables support for configuring Cinder with a NetApp backend.
This change adds all relevant parameters for:
 - Clustered Data ONTAP (NFS, iSCSI, FC)
 - Data ONTAP 7-Mode (NFS, iSCSI, FC)
 - E-Series (iSCSI)

Change-Id: If6c6e511ef2d26c4794e3b37c61e5318485ff4db
2015-06-05 10:03:10 -04:00
Giulio Fidente
607311e02b Wire Neutron VLAN ranges param as array to puppet
Turns NeutronNetworkVLANRanges into a list and makes it consumable by
neutron::plugins::ml2::network_vlan_ranges as an array. Previously
usage of vlans was impossible due to puppet-neutron failing to
join() network_vlan_ranges.

Also fixes wiring of network_vlan_ranges on computes and adds a
sample environment file to test use of vlans for tenant networks.

Change-Id: I8725cdb9591dd8d0b7125fdacbefdc9138703266
2015-06-05 09:27:42 -04:00
Dan Prince
cbac118888 os-net-config templates to configure vlans
This patch adds 5 new role templates to help configure
a vlans on top for each of the overcloud roles. This
patch adds vlans on top of a single NIC attached to
the control plane network (already used for provisioning).

The patch also includes an environment file to
enable configuration of vlans by simply sourcing this file.

Change-Id: Ibc40e452dec9b372ff10442aab2bddaf382b0a2f
2015-06-01 15:13:46 -04:00
Jenkins
c46e671d87 Merge "os-net-config templates to configure vlans on bond" 2015-05-26 22:04:48 +00:00
Jenkins
e02baab696 Merge "overcloud stepped deployment environment" 2015-05-26 20:21:30 +00:00
Dan Prince
b982219b65 os-net-config templates to configure vlans on bond
This patch adds 5 new role templates to help configure
an OVS bond with vlans on top for each of the overcloud
roles.

These are meant to represent a more production network
which might use isolated nets, and should help facilitate
create a CI job which configures a bond w/ vlans on it.

The patch also includes an environment file to
enable configuration of bonded vlans by simply
sourcing this file.

Change-Id: Ibe4c9d933445014ce3bec5fb3d7e3139fc40cb32
2015-05-26 10:23:29 -04:00
Dan Prince
fb1e419214 An environment file to enable network isolation
This commit adds an environment file which adds all
the relevant resource registry entries to enable isolated
overcloud networks.

Change-Id: I8c5e0ca300b86a38925f59c9df7831d69da9f787
2015-05-26 10:23:28 -04:00
Steven Hardy
02b413d18b overcloud stepped deployment environment
When combined with --with-steps added to devtest_overcloud:
https://review.openstack.org/#/c/162109/ this enables stepped
deployments using heat hooks.

This environment file will break on all *StepN resources in every
*NodesPostDeployment resource, on both create and update.

Change-Id: Ibab567f0a37b832ea2b5966288ad55b5682c31ab
2015-05-22 21:30:57 +01:00
Dan Prince
f6c3f8da99 Environment which configures puppet pacemaker.
Change-Id: I314955708ff99a557da5a6d223b1f56bd51855d9
2015-05-15 12:28:48 +02:00
Dan Prince
274a4cfbb3 Add a directory for overcloud heat environments
This patch adds a new directory called environments which contains
custom Heat environment files that can be used to enable custom
overcloud features. As an initial example a puppet-ceph-devel.yaml
environment has been added which can be used to spin up a small Ceph
cluster for dev/testing.

This directory may be useful for collecting other
feature related Heat environment settings in the future as well.
Things like isolated network settings, etc.

Change-Id: Ia6998ae05d2363384d2a616a31d5795c8b2d85d5
2015-05-15 12:28:00 +02:00