Update for Liberty Release of Fuel Plugin

Change-Id: I0853e5361084b660c229c16aad956d63550f73b8

Rollup stable/kilo changes to Liberty version

Only deploy on cinder nodes - no need to specify controller node as nothing is done
to the controller node

Change-Id: I0014b8e572d15f19b1daf551f3a5fe712dd8c894
This commit is contained in:
sdodsley 2015-10-22 09:18:37 -04:00
parent b3c71600ee
commit 27d3d4df86
9 changed files with 46 additions and 87 deletions

View File

@ -7,18 +7,18 @@ Plugin description
Pure Storage plugin for Fuel extends Mirantis OpenStack functionality by
adding support for Pure Storage FlashArray block storage array.
The Pure Storage FlashArray is an iSCSI block storage device used as a
Cinder backend.
The Pure Storage FlashArray is an iSCSI and Fibre Channel capable block
storage device used as a Cinder backend
Requirements
------------
| Requirement | Version/Comment |
|----------------------------------------------------------|-----------------|
| Mirantis OpenStack compatibility | >= 7.0 |
| Mirantis OpenStack compatibility | >= 8.0 |
| Access to FlashArray VIP via cinder-volume node | |
| Access to FlashArray VIP via compute/cinder-volume nodes | |
| iSCSI initiator on all compute/cinder-volume nodes | |
| iSCSI/FC initiator on all compute/cinder-volume nodes | |
Limitations
-----------
@ -30,9 +30,11 @@ Prior to deployment ensure the following items are complete:
1. For an iSCSI implementation ensure the Pure Storage FlashArray can route 10G Storage Network
to all Compute nodes as well as the Cinder Control/Manager node.
2. Create an AD/LDAP account for the Pure Storage cluster to use as the OpenStack Administrator
2. For an FC implementation ensure the fibre Channel Zone Manager is configured correctly
within the Openstack deployment
3. Create an AD/LDAP account for the Pure Storage cluster to use as the OpenStack Administrator
account (if no AD/LDAP use the 'pureuser' account).
3. Obtain the management VIP address for the Pure Storage FlashArray
4. Obtain the management VIP address for the Pure Storage FlashArray
Pure Storage Cinder plugin installation
---------------------------
@ -44,3 +46,7 @@ libraries, software packages or licenses required beyond using this plugin.
Pure Storage plugin configuration
----------------------------
No additional configuration is required for the Pure Storage Cinder plugin, but the Fibre
Channel Zone Manager must be configured correctly if FC is selected as the block storage
protocol to be used by the Pure Storage FlashArray

View File

@ -14,4 +14,4 @@
# under the License.
#
include plugin_purestorage_cinder::controller
include plugin_purestorage_cinder::cinder

View File

@ -1,57 +0,0 @@
#
# Configures Cinder volume PureStorage driver.
# Parameters are particular to each volume driver.
#
# === Parameters
#
# [*san_ip*]
# (required) IP address of PureStorage management VIP.
#
# [*pure_api_token*]
# (required) API token for management of PureStorage array.
#
# [*volume_backend_name*]
# (optional) Allows for the volume_backend_name to be separate of $name.
# Defaults to: $name
#
# [*use_multipath_for_image_xfer*]
# (optional) .
# Defaults to True
#
# [*pure_use_chap*]
# (optional) Only affects the PureISCSIDriver.
# Defaults to False
#
# [*extra_options*]
# (optional) Hash of extra options to pass to the backend stanza.
# Defaults to: {}
# Example :
# { 'pure_backend/param1' => { 'value' => value1 } }
#
define plugin_purestorage_cinder::backend::pure(
$san_ip,
$pure_api_token,
$volume_backend_name = $name,
$pure_storage_protocol = 'iSCSI',
$use_chap_auth = false,
$use_multipath_for_image_xfer = true,
$extra_options = {},
) {
$volume_driver = $pure_storage_protocol ? {
'FC' => 'cinder.volume.drivers.pure.PureFCDriver',
'iSCSI' => 'cinder.volume.drivers.pure.PureISCSIDriver'
}
cinder_config {
"${name}/volume_backend_name": value => $volume_backend_name;
"${name}/volume_driver": value => $volume_driver;
"${name}/san_ip": value => $san_ip;
"${name}/pure_api_token": value => $pure_api_token, secret => true;
"${name}/use_chap_auth": value => $use_chap_auth;
"${name}/use_multipath_for_image_xfer": value => $use_multipath_for_image_xfer ;
}
create_resources('cinder_config', $extra_options)
}

View File

@ -13,7 +13,7 @@
# under the License.
#
class plugin_purestorage_cinder::controller (
class plugin_purestorage_cinder::cinder (
$backend_name = 'pure',
$backends = ''
) {
@ -45,7 +45,7 @@ class plugin_purestorage_cinder::controller (
$section = 'DEFAULT'
}
plugin_purestorage_cinder::backend::pure { $section :
cinder::backend::pure { $section :
san_ip => $plugin_settings['pure_san_ip'],
pure_api_token => $plugin_settings['pure_api'],
volume_backend_name => $section,

View File

@ -1,5 +1,5 @@
**************************************************************
Guide to the Pure Storage Cinder Plugin version 1.0.0 for Fuel
Guide to the Pure Storage Cinder Plugin version 2.0.0 for Fuel
**************************************************************
This document provides instructions for installing, configuring and using
@ -29,7 +29,7 @@ Requirements
======================= ==================
Requirement Version/Comment
======================= ==================
Fuel 7.0
Fuel 8.0
============================================
@ -56,7 +56,7 @@ Pure Storage Cinder Plugin installation
::
scp fuel-plugin-purestorage-cinder-1.0-1.0.0.noarch.rpm root@:<the_Fuel_Master_node_IP>:/tmp
scp fuel-plugin-purestorage-cinder-2.0-2.0.0.noarch.rpm root@:<the_Fuel_Master_node_IP>:/tmp
3. Log into the Fuel Master node.
4. Install the plugin:
@ -64,7 +64,7 @@ Pure Storage Cinder Plugin installation
::
cd /tmp
fuel plugins --install /tmp/fuel-plugin-purestorage-cinder-1.0-1.0.0.noarch.rpm
fuel plugins --install /tmp/fuel-plugin-purestorage-cinder-2.0-2.0.0.noarch.rpm
4. After plugin is installed, create a new OpenStack environment.
5. Configure your environment.

View File

@ -1,15 +1,28 @@
attributes:
glance_image_cache:
value: 'false'
values:
- data: 'true'
label: "True"
description: 'Enable the Glance Image-Cache for Cinder backend'
- data: "false"
label: "False"
description: 'Enable the Glance Image-Cache for Cinder backend'
label: 'Glance Image-Cache'
description: 'Configure the Glance Image-Cache for Cinder'
weight: 10
type: "radio"
multibackend:
value: true
label: 'Multi-backend enabled'
description: 'Pure Storage will be used in a multi-backend environment'
weight: 10
weight: 20
type: "checkbox"
pure_san_ip:
value: ''
label: 'Pure Storage Management IP (san_ip)'
description: 'The hostname (or IP address) for the Pure Storage Management VIP.'
weight: 20
weight: 30
type: "text"
regex:
source: '\S'
@ -18,7 +31,7 @@ attributes:
value: ''
label: 'API Token for Pure Storage (pure_api_token)'
description: 'Purity API token used to perform actions on the FlashArray.'
weight: 30
weight: 40
type: "text"
regex:
source: '\S'
@ -29,9 +42,9 @@ attributes:
- data: "iSCSI"
label: "iSCSI"
description: "Enables iSCSI protocol for block storage volumes"
# - data: "FC"
# label: "Fibre Channel"
# description: "Enables Fibre Channel protocol for block storage volumes"
- data: "FC"
label: "Fibre Channel"
description: "Enables Fibre Channel protocol for block storage volumes"
label: "Protocol for Pure Storage block access"
description: 'Select block storage protocol for FlashArray.'
weight: 60

View File

@ -1,8 +1,8 @@
name: fuel-plugin-purestorage-cinder
title: Pure Storage driver for Cinder
version: '1.0.0'
version: '2.0.0'
description: Enables the Pure Storage driver in Cinder
fuel_version: ['7.0']
fuel_version: ['8.0']
licenses: ['Apache License Version 2.0']
authors: ['Simon Dodsley <simon@purestorage.com>']
homepage: 'https://github.com/openstack/fuel-plugin-purestorage-cinder'
@ -10,15 +10,10 @@ groups: ['storage::cinder']
releases:
- os: ubuntu
version: 2015.1-7.0
version: 2015.2-8.0
mode: ['ha', 'multinode']
deployment_scripts_path: deployment_scripts/
repository_path: repositories/ubuntu
- os: centos
version: 2015.1-7.0
mode: ['ha', 'multinode']
deployment_scripts_path: deployment_scripts/
repository_path: repositories/centos
# Version of plugin package
package_version: '2.0.0'

View File

@ -68,6 +68,8 @@ Other deployer impact
The deployer should configure the IP addresses on the Pure Storage array before
they deploy the Fuel Plugin to the controllers.
The fibre channel Zone Manager must be configured should FC be the chosen block
storage protocol.
Developer impact
----------------
@ -111,7 +113,7 @@ Work Items
Dependencies
============
* Fuel 7.0 and higher.
* Fuel 8.0 and higher.
Testing
=======

View File

@ -1,9 +1,9 @@
# Deployment tasks
- role: [primary-controller, controller, cinder]
- role: [cinder]
stage: post_deployment/6000
type: puppet
parameters:
puppet_manifest: puppet/manifests/controller.pp
puppet_manifest: puppet/manifests/cinder.pp
puppet_modules: "puppet/modules/:/etc/puppet/modules/"
timeout: 360