More documentation changes per Mirantis request.
Change-Id: I2276be3f2c5f1bf7a6769ca0bf200ba521b84f47 Refactoring for the new structure for Fuel 8. This change now handles multi-backend in the face of the default options (lvm, ceph) and the NetApp plugin. Note: I removed the multi-backend option, so it will always put SolidFire in it's own stanza along with everyone (in the above list) also. Change-Id: Ibc3ffe202fb405da9b566498c23f6bcda84080a9
This commit is contained in:
parent
2845cc20dc
commit
04a325758f
7
components.yaml
Normal file
7
components.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
- name: 'storage:block:backend:solidfire'
|
||||||
|
label: 'Cinder SolidFire'
|
||||||
|
description: 'Cinder with SolidFire backend'
|
||||||
|
compatible:
|
||||||
|
- name: 'storage:block:backend:ceph'
|
||||||
|
- name: 'storage:block:backend:lvm'
|
||||||
|
- name: 'storage:block:backend:netapp'
|
@ -1,17 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright 2015 SolidFire, Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
# not use this file except in compliance with the License. You may obtain
|
|
||||||
# a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
# License for the specific language governing permissions and limitations
|
|
||||||
# under the License.
|
|
||||||
#
|
|
||||||
|
|
||||||
include plugin_solidfire_cinder::controller
|
|
22
deployment_scripts/puppet/manifests/hiera_override.pp
Normal file
22
deployment_scripts/puppet/manifests/hiera_override.pp
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
notice('MODULAR: solidfire-hiera-override')
|
||||||
|
|
||||||
|
$cinder_solidfire = hiera_hash('cinder_solidfire', {})
|
||||||
|
|
||||||
|
$hiera_dir = '/etc/hiera/plugins'
|
||||||
|
$plugin_yaml = 'cinder_solidfire.yaml'
|
||||||
|
$plugin_name = 'cinder_solidfire'
|
||||||
|
|
||||||
|
$content = inline_template('
|
||||||
|
storage_hash:
|
||||||
|
volume_backend_names:
|
||||||
|
solidfire: solidfire
|
||||||
|
')
|
||||||
|
|
||||||
|
file { $hiera_dir:
|
||||||
|
ensure => directory,
|
||||||
|
}
|
||||||
|
|
||||||
|
file { "${hiera_dir}/${plugin_yaml}":
|
||||||
|
ensure => file,
|
||||||
|
content => $content,
|
||||||
|
}
|
6
deployment_scripts/puppet/manifests/site.pp
Normal file
6
deployment_scripts/puppet/manifests/site.pp
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
notice('MODULAR: fuel-plugin-solidfire-cinder')
|
||||||
|
|
||||||
|
# The manifest is executed on nodes with cinder role or on nodes with controller role when Ceph is used.
|
||||||
|
if ('cinder' in hiera('roles')) or (!empty(filter_nodes(hiera('nodes'), 'role', 'ceph-osd'))) {
|
||||||
|
class { 'plugin_cinder_solidfire': }
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
#
|
||||||
|
# Copyright 2015 SolidFire, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
class plugin_cinder_solidfire::backend::iscsi (
|
||||||
|
$volume_group = 'cinder',
|
||||||
|
$iscsi_helper = $cinder::params::iscsi_helper,
|
||||||
|
$backend_type,
|
||||||
|
) inherits cinder::params {
|
||||||
|
|
||||||
|
$network_scheme = hiera_hash('network_scheme', {})
|
||||||
|
prepare_network_config($network_scheme)
|
||||||
|
|
||||||
|
$storage_address = get_network_role_property('cinder/iscsi', 'ipaddr')
|
||||||
|
|
||||||
|
cinder_config {
|
||||||
|
'cinder_iscsi/volume_backend_name': value => $backend_type;
|
||||||
|
'cinder_iscsi/volume_driver': value => 'cinder.volume.drivers.lvm.LVMVolumeDriver';
|
||||||
|
'cinder_iscsi/iscsi_helper': value => $iscsi_helper;
|
||||||
|
'cinder_iscsi/volume_group': value => $volume_group;
|
||||||
|
'cinder_iscsi/iscsi_ip_address': value => $storage_address;
|
||||||
|
'cinder_iscsi/backend_host': value => $storage_address;
|
||||||
|
}
|
||||||
|
|
||||||
|
ini_subsetting {'enable_cinder_iscsi_backend':
|
||||||
|
ensure => present,
|
||||||
|
section => 'DEFAULT',
|
||||||
|
key_val_separator => '=',
|
||||||
|
path => '/etc/cinder/cinder.conf',
|
||||||
|
setting => 'enabled_backends',
|
||||||
|
subsetting => "cinder_iscsi",
|
||||||
|
subsetting_separator => ',',
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,49 @@
|
|||||||
|
#
|
||||||
|
# Copyright 2015 SolidFire, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
class plugin_cinder_solidfire::backend::rbd (
|
||||||
|
$rbd_pool = 'volumes',
|
||||||
|
$rbd_user = 'volumes',
|
||||||
|
$rbd_ceph_conf = '/etc/ceph/ceph.conf',
|
||||||
|
$rbd_flatten_volume_from_snapshot = false,
|
||||||
|
$rbd_secret_uuid = 'a5d0dd94-57c4-ae55-ffe0-7e3732a24455',
|
||||||
|
$volume_tmp_dir = false,
|
||||||
|
$rbd_max_clone_depth = '5',
|
||||||
|
$glance_api_version = undef,
|
||||||
|
$backend_type,
|
||||||
|
) {
|
||||||
|
|
||||||
|
cinder_config {
|
||||||
|
'cinder_rbd/volume_backend_name': value => $backend_type;
|
||||||
|
'cinder_rbd/volume_driver': value => 'cinder.volume.drivers.rbd.RBDDriver';
|
||||||
|
'cinder_rbd/rbd_ceph_conf': value => $rbd_ceph_conf;
|
||||||
|
'cinder_rbd/rbd_user': value => $rbd_user;
|
||||||
|
'cinder_rbd/rbd_pool': value => $rbd_pool;
|
||||||
|
'cinder_rbd/rbd_max_clone_depth': value => $rbd_max_clone_depth;
|
||||||
|
'cinder_rbd/rbd_flatten_volume_from_snapshot': value => $rbd_flatten_volume_from_snapshot;
|
||||||
|
'cinder_rbd/backend_host': value => "rbd:${rbd_pool}";
|
||||||
|
}
|
||||||
|
|
||||||
|
ini_subsetting {'enable_cinder_rbd_backend':
|
||||||
|
ensure => present,
|
||||||
|
section => 'DEFAULT',
|
||||||
|
key_val_separator => '=',
|
||||||
|
path => '/etc/cinder/cinder.conf',
|
||||||
|
setting => 'enabled_backends',
|
||||||
|
subsetting => "cinder_iscsi",
|
||||||
|
subsetting_separator => ',',
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,58 @@
|
|||||||
|
# Copyright 2015 SolidFire, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
define plugin_cinder_solidfire::backend::solidfire (
|
||||||
|
$backend_name = $name,
|
||||||
|
$cinder_solidfire = $plugin_cinder_solidfire::cinder_solidfire,
|
||||||
|
) {
|
||||||
|
|
||||||
|
include cinder::params
|
||||||
|
include cinder::client
|
||||||
|
|
||||||
|
ini_subsetting {'enable_cinder_solidfire_backend':
|
||||||
|
ensure => present,
|
||||||
|
section => 'DEFAULT',
|
||||||
|
key_val_separator => '=',
|
||||||
|
path => '/etc/cinder/cinder.conf',
|
||||||
|
setting => 'enabled_backends',
|
||||||
|
subsetting => "${backend_name}",
|
||||||
|
subsetting_separator => ',',
|
||||||
|
}
|
||||||
|
|
||||||
|
notice("${backend_name}")
|
||||||
|
|
||||||
|
cinder::backend::solidfire { $backend_name :
|
||||||
|
san_ip => $cinder_solidfire['solidfire_mvip'],
|
||||||
|
san_login => $cinder_solidfire['solidfire_admin_login'],
|
||||||
|
san_password => $cinder_solidfire['solidfire_admin_password'],
|
||||||
|
volume_backend_name => $backend_name,
|
||||||
|
sf_emulate_512 => 'true',
|
||||||
|
sf_api_port => $cinder_solidfire['solidfire_api_port'],
|
||||||
|
sf_account_prefix => $cinder_solidfire['solidfire_account_prefix'],
|
||||||
|
extra_options => { "${backend_name}/sf_allow_template_caching" =>
|
||||||
|
{ value => $cinder_solidfire['solidfire_allow_template_caching'] },
|
||||||
|
"${backend_name}/sf_template_account_name" =>
|
||||||
|
{ value => $cinder_solidfire['solidfire_template_account'] },
|
||||||
|
"${backend_name}/host" =>
|
||||||
|
{ value => $backend_name },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
Cinder_config <||> ~> service { "$::cinder::params::scheduler_service": } ~> service { "$::cinder::params::volume_service": }
|
||||||
|
|
||||||
|
package { 'open-iscsi' :
|
||||||
|
ensure => 'installed',
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
41
deployment_scripts/puppet/modules/plugin_cinder_solidfire/manifests/init.pp
Executable file
41
deployment_scripts/puppet/modules/plugin_cinder_solidfire/manifests/init.pp
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#
|
||||||
|
# Copyright 2015 SolidFire, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
class plugin_cinder_solidfire {
|
||||||
|
|
||||||
|
$cinder_solidfire = hiera_hash('cinder_solidfire', {})
|
||||||
|
$storage_hash = hiera_hash('storage_hash', {})
|
||||||
|
$plugins = hiera('plugins', [] )
|
||||||
|
|
||||||
|
if ($storage_hash['volume_backend_names']['volumes_lvm']) {
|
||||||
|
$backend_type = $storage_hash['volume_backend_names']['volumes_lvm']
|
||||||
|
$backend_name = 'cinder_iscsi'
|
||||||
|
$volume_backend_name = 'volumes_lvm'
|
||||||
|
$backend_class = 'plugin_cinder_solidfire::backend::iscsi'
|
||||||
|
} elsif ($storage_hash['volume_backend_names']['volumes_ceph']) {
|
||||||
|
$backend_type = $storage_hash['volume_backend_names']['volumes_ceph']
|
||||||
|
$backend_name = 'cinder_rbd'
|
||||||
|
$volume_backend_name = 'volumes_ceph'
|
||||||
|
$backend_class = 'plugin_cinder_solidfire::backend::rbd'
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( 'cinder_netapp' in $plugins ) {
|
||||||
|
plugin_cinder_solidfire::backend::solidfire { 'solidfire': backend_name => 'solidfire', }
|
||||||
|
} else {
|
||||||
|
class { $backend_class: backend_type => $backend_type, }
|
||||||
|
plugin_cinder_solidfire::backend::solidfire { 'solidfire': backend_name => 'solidfire', }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,71 +0,0 @@
|
|||||||
# Copyright 2015 SolidFire, Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
# not use this file except in compliance with the License. You may obtain
|
|
||||||
# a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
# License for the specific language governing permissions and limitations
|
|
||||||
# under the License.
|
|
||||||
#
|
|
||||||
|
|
||||||
class plugin_solidfire_cinder::controller (
|
|
||||||
$backend_name = 'solidfire',
|
|
||||||
$backends = ''
|
|
||||||
) {
|
|
||||||
|
|
||||||
include cinder::params
|
|
||||||
include cinder::client
|
|
||||||
|
|
||||||
$plugin_settings = hiera('fuel-plugin-solidfire-cinder')
|
|
||||||
|
|
||||||
if $::cinder::params::volume_package {
|
|
||||||
package { $::cinder::params::volume_package:
|
|
||||||
ensure => present,
|
|
||||||
}
|
|
||||||
Package[$::cinder::params::volume_package] -> Cinder_config<||>
|
|
||||||
}
|
|
||||||
|
|
||||||
if $plugin_settings['multibackend'] {
|
|
||||||
$section = $backend_name
|
|
||||||
cinder_config {
|
|
||||||
"DEFAULT/enabled_backends": value => "${backend_name},${backends}";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$section = 'DEFAULT'
|
|
||||||
}
|
|
||||||
|
|
||||||
cinder::backend::solidfire { $section :
|
|
||||||
san_ip => $plugin_settings['solidfire_mvip'],
|
|
||||||
san_login => $plugin_settings['solidfire_admin_login'],
|
|
||||||
san_password => $plugin_settings['solidfire_admin_password'],
|
|
||||||
volume_backend_name => $section,
|
|
||||||
sf_emulate_512 => $plugin_settings['solidfire_emulate_512'],
|
|
||||||
sf_api_port => $plugin_settings['solidfire_api_port'],
|
|
||||||
sf_account_prefix => $plugin_settings['solidfire_account_prefix'],
|
|
||||||
extra_options => { "$section/sf_allow_template_caching" =>
|
|
||||||
{ value => $plugin_settings['solidfire_allow_template_caching'] },
|
|
||||||
"$section/sf_template_account_name" =>
|
|
||||||
{ value => $plugin_settings['solidfire_template_account'] },
|
|
||||||
"$section/host" => { value => $section }
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
Cinder_config<||>~> Service[cinder_volume]
|
|
||||||
|
|
||||||
service { 'cinder_volume':
|
|
||||||
ensure => running,
|
|
||||||
name => $::cinder::params::volume_service,
|
|
||||||
enable => true,
|
|
||||||
hasstatus => true,
|
|
||||||
hasrestart => true,
|
|
||||||
}
|
|
||||||
package { 'open-iscsi' :
|
|
||||||
ensure => 'installed',
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright 2015 SolidFire, Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
# not use this file except in compliance with the License. You may obtain
|
|
||||||
# a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
# License for the specific language governing permissions and limitations
|
|
||||||
# under the License.
|
|
||||||
#
|
|
||||||
class plugin__solidfire_cinder {}
|
|
21
deployment_tasks.yaml
Normal file
21
deployment_tasks.yaml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
- id: solidfire_hiera_override
|
||||||
|
type: puppet
|
||||||
|
version: 2.0.0
|
||||||
|
groups: [primary-controller, controller, cinder]
|
||||||
|
requires: [hiera]
|
||||||
|
required_for: [create-cinder-types]
|
||||||
|
parameters:
|
||||||
|
puppet_manifest: puppet/manifests/hiera_override.pp
|
||||||
|
puppet_modules: /etc/puppet/modules
|
||||||
|
timeout: 360
|
||||||
|
|
||||||
|
- id: solidfire_cinder
|
||||||
|
type: puppet
|
||||||
|
version: 2.0.0
|
||||||
|
role: [primary-controller, controller, cinder]
|
||||||
|
requires: [post_deployment_start]
|
||||||
|
required_for: [post_deployment_end]
|
||||||
|
parameters:
|
||||||
|
puppet_manifest: puppet/manifests/site.pp
|
||||||
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||||
|
timeout: 360
|
BIN
docs/figures/cinder-solidfire-plugin-2.0.0.png
Normal file
BIN
docs/figures/cinder-solidfire-plugin-2.0.0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 92 KiB |
@ -1,5 +1,5 @@
|
|||||||
******************************************************************
|
******************************************************************
|
||||||
Guide to the SolidFire Cinder Plugin version 01.001.1 for Fuel 7.x
|
Guide to the SolidFire Cinder Plugin version 02.000.0 for Fuel 8.x
|
||||||
******************************************************************
|
******************************************************************
|
||||||
|
|
||||||
This document provides instructions for installing, configuring and using
|
This document provides instructions for installing, configuring and using
|
||||||
@ -12,6 +12,11 @@ MVIP
|
|||||||
Management Virtual IP (MVIP) is the IP address (or hostname) of
|
Management Virtual IP (MVIP) is the IP address (or hostname) of
|
||||||
the management interface to the SolidFire cluster
|
the management interface to the SolidFire cluster
|
||||||
|
|
||||||
|
SVIP
|
||||||
|
Storage Virtual IP (SVIP) is the IP address (or hostname) of the
|
||||||
|
storage interface of the SolidFire cluster. SolidFire supports
|
||||||
|
multiple SVIPs on separate VLANs.
|
||||||
|
|
||||||
Cluster Admin account
|
Cluster Admin account
|
||||||
The Cluster Admin account on a SolidFire cluster is the account by
|
The Cluster Admin account on a SolidFire cluster is the account by
|
||||||
which you administer the SolidFire cluster.
|
which you administer the SolidFire cluster.
|
||||||
@ -50,7 +55,7 @@ Requirements
|
|||||||
======================= ==================
|
======================= ==================
|
||||||
Requirement Version/Comment
|
Requirement Version/Comment
|
||||||
======================= ==================
|
======================= ==================
|
||||||
Fuel 7.0
|
Fuel 8.0
|
||||||
|
|
||||||
============================================
|
============================================
|
||||||
|
|
||||||
@ -69,14 +74,26 @@ Prerequisites
|
|||||||
Limitations
|
Limitations
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
* Fuel does not support multiple storage backends in Cinder,
|
* The SolidFire Cinder Fuel plugin no longer supports a single backend. The
|
||||||
therefore the SolidFire Cinder Fuel plugin also does not support multiple backends.
|
option has been removed from the GUI and the plugin will always assume
|
||||||
|
multiple backends.
|
||||||
|
|
||||||
|
* Since Fuel does not natively support multiple backends in Cinder; therefore,
|
||||||
|
the plugin is designed to move the default storage selection (ceph or lvm)
|
||||||
|
from the default section of the config file into it's own stanza before it
|
||||||
|
can add the SolidFire config stanza.
|
||||||
|
|
||||||
|
* The SolidFire Cinder plugin has been designed to detect the NetApp plugin
|
||||||
|
and handle multiple backends in conjunction with NetApp correctly.
|
||||||
|
|
||||||
|
* All other storage plugins (other than NetApp) may conflict with the
|
||||||
|
SolidFire or NetApp plugin and whichever plugin runs last will configure the
|
||||||
|
enabled_backends, requiring hand editing.
|
||||||
|
|
||||||
|
* NOTE: When using this plugin with the NetApp plugin one MUST select
|
||||||
|
'Multibackend Enabled' on NetApp plugin for proper multi-backend
|
||||||
|
to be automatically enabled.
|
||||||
|
|
||||||
* The SolidFire Cinder Fuel plugin does however provide the ability to
|
|
||||||
create a configuration file stanza such that when multi-backend support
|
|
||||||
is added to Fuel the stanza is correct. By selecting the checkbox (selected by default)
|
|
||||||
'Multibackend Enabled' the stanza is added and the enabled_backends line is added to
|
|
||||||
the 'default' section of the configuration file.
|
|
||||||
|
|
||||||
============================================
|
============================================
|
||||||
|
|
||||||
@ -89,6 +106,18 @@ SolidFire Cinder plugin installation
|
|||||||
|
|
||||||
#. Download the plugin from
|
#. Download the plugin from
|
||||||
`Fuel Plugins Catalog <https://www.mirantis.com/products/openstack-drivers-and-plugins/fuel-plugins/>`_.
|
`Fuel Plugins Catalog <https://www.mirantis.com/products/openstack-drivers-and-plugins/fuel-plugins/>`_.
|
||||||
|
or clone this repository, install the fuel plugin builder with the
|
||||||
|
following command
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
pip install fuel-plugin-builder
|
||||||
|
|
||||||
|
and then build the plugin using the following command:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
cd fuel-plugin-solidfire-cinder; fpb --build ./
|
||||||
|
|
||||||
#. Copy the plugin to an already installed Fuel Master node. If you do not
|
#. Copy the plugin to an already installed Fuel Master node. If you do not
|
||||||
have the Fuel Master node yet, follow the instructions from the
|
have the Fuel Master node yet, follow the instructions from the
|
||||||
@ -96,7 +125,7 @@ SolidFire Cinder plugin installation
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
# scp fuel-plugin-solidfire-cinder-1.1-1.1.1-1.noarch.rpm \
|
# scp fuel-plugin-solidfire-cinder-2.0-2.0.0-1.noarch.rpm \
|
||||||
root@:<the_Fuel_Master_node_IP>:/tmp
|
root@:<the_Fuel_Master_node_IP>:/tmp
|
||||||
|
|
||||||
#. Log into the Fuel Master node and install the plugin:
|
#. Log into the Fuel Master node and install the plugin:
|
||||||
@ -104,28 +133,28 @@ SolidFire Cinder plugin installation
|
|||||||
::
|
::
|
||||||
|
|
||||||
# cd /tmp
|
# cd /tmp
|
||||||
# fuel plugins --install /tmp/fuel-plugin-solidfire-cinder-1.1-1.1.1-1.noarch.rpm
|
# fuel plugins --install /tmp/fuel-plugin-solidfire-cinder-2.0-2.0.0-1.noarch.rpm
|
||||||
...
|
...
|
||||||
# fuel plugins list
|
# fuel plugins list
|
||||||
id | name | version | package_version
|
id | name | version | package_version
|
||||||
---|------------------------------|---------|----------------
|
---|------------------------------|---------|----------------
|
||||||
1 | fuel-plugin-solidfire-cinder | 1.1.1 | 2.0.0
|
1 | fuel-plugin-solidfire-cinder | 2.0.0 | 4.0.0
|
||||||
|
|
||||||
SolidFire Cinder plugin configuration
|
SolidFire Cinder plugin configuration
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
#. After plugin is installed, create a new OpenStack environment following
|
#. After plugin is installed, create a new OpenStack environment following
|
||||||
`the instructions <https://docs.mirantis.com/openstack/fuel/fuel-7.0/user-guide.html#create-a-new-openstack-environment>`_.
|
`the instructions <https://docs.mirantis.com/openstack/fuel/fuel-8.0/user-guide.html#create-a-new-openstack-environment>`_.
|
||||||
|
|
||||||
#. Configure your environment following
|
#. Configure your environment following
|
||||||
`the official Mirantis OpenStack documentation <https://docs.mirantis.com/openstack/fuel/fuel-7.0/user-guide.html#configure-your-environment>`_.
|
`the official Mirantis OpenStack documentation <https://docs.mirantis.com/openstack/fuel/fuel-8.0/user-guide.html#configure-your-environment>`_.
|
||||||
|
|
||||||
#. Open the *Settings tab* of the Fuel web UI and scroll down the page and select
|
#. Open the *Storage tab* of the Fuel web UI and scroll down the page to
|
||||||
'Fuel plugin to enable SolidFire driver in Cinder.' on the left.
|
'Fuel plugin to enable SolidFire in Cinder.'
|
||||||
|
|
||||||
#. Select the Fuel plugin checkbox to enable SolidFire Cinder plugin for Fuel:
|
#. Select the Fuel plugin checkbox to enable SolidFire Cinder plugin for Fuel:
|
||||||
|
|
||||||
.. image:: figures/cinder-solidfire-plugin-1.1.0.png
|
.. image:: figures/cinder-solidfire-plugin-2.0.0.png
|
||||||
:width: 100%
|
:width: 100%
|
||||||
|
|
||||||
#. The default configuration is that the SolidFire configuration stanza is a self contained stanza
|
#. The default configuration is that the SolidFire configuration stanza is a self contained stanza
|
||||||
@ -133,11 +162,6 @@ SolidFire Cinder plugin configuration
|
|||||||
section to enable the SolidFire Stanza. This option allows for multiple backends to be configured and
|
section to enable the SolidFire Stanza. This option allows for multiple backends to be configured and
|
||||||
configures Cinder to place the proper routing information into the database.
|
configures Cinder to place the proper routing information into the database.
|
||||||
|
|
||||||
#. If you would like the SolidFire configuration in the 'default' section of the configuration file
|
|
||||||
(not recommended) uncheck the 'Multibackend Enabled' box. In this case, Cinder does not place routing
|
|
||||||
information in the database, and if in the future multibackends are required, all rows in the database
|
|
||||||
need to have routing information added using the cinder-manage tool.
|
|
||||||
|
|
||||||
#. Enter the Cluster Admin account information (account and password) and the IP address
|
#. Enter the Cluster Admin account information (account and password) and the IP address
|
||||||
of the Management Virtual IP (MVIP) of the SolidFire Cluster.
|
of the Management Virtual IP (MVIP) of the SolidFire Cluster.
|
||||||
|
|
||||||
@ -152,16 +176,13 @@ SolidFire Cinder plugin configuration
|
|||||||
cluster and the cached images will be contained within this account. The account will be prefixed with
|
cluster and the cached images will be contained within this account. The account will be prefixed with
|
||||||
the 'SF account prefix' if defined.
|
the 'SF account prefix' if defined.
|
||||||
|
|
||||||
#. 'Emulate 512 block size' will cause the driver to create volumes with 512 byte blocks enabled. Otherwise
|
|
||||||
4096 byte blocksize will be used.
|
|
||||||
|
|
||||||
#. 'SF account prefix' will prefix all accounts on the SolidFire cluster with the defined prefix. The
|
#. 'SF account prefix' will prefix all accounts on the SolidFire cluster with the defined prefix. The
|
||||||
prefix is useful (but not required) when multiple OpenStack instances access the same SolidFire cluster
|
prefix is useful (but not required) when multiple OpenStack instances access the same SolidFire cluster
|
||||||
such that each instance can quickly identify accounts that belong to that instance. NOTE: Accounts
|
such that each instance can quickly identify accounts that belong to that instance. NOTE: Accounts
|
||||||
on SolidFire are named using the Project/Tenant ID, optionally prefixed as defined here.
|
on SolidFire are named using the Project/Tenant ID, optionally prefixed as defined here.
|
||||||
|
|
||||||
#. Once configuration is done, you can run
|
#. Once configuration is done, you can run
|
||||||
`network verification <https://docs.mirantis.com/openstack/fuel/fuel-7.0/user-guide.html#verify-networks>`_ check and `deploy the environment <https://docs.mirantis.com/openstack/fuel/fuel-7.0/user-guide.html#deploy-changes>`_.
|
`network verification <https://docs.mirantis.com/openstack/fuel/fuel-8.0/user-guide.html#verify-networks>`_ check and `deploy the environment <https://docs.mirantis.com/openstack/fuel/fuel-8.0/user-guide.html#deploy-changes>`_.
|
||||||
|
|
||||||
|
|
||||||
User Guide
|
User Guide
|
||||||
@ -176,8 +197,11 @@ cinder-volume process log file with the 'solidfire' title.
|
|||||||
Known issues
|
Known issues
|
||||||
============
|
============
|
||||||
|
|
||||||
Due to Fuels lack of support for multiple cinder backends, only a single storage vendor backend may be automatically
|
Due to Fuels lack of support for multiple cinder backends, only plugins
|
||||||
configure within Fuel at this time. If you need to support multiple vendors, hand editing of the cinder.conf is required.
|
designed to reconfigure the base storage and detect other backend plugins
|
||||||
|
will work automatically. The SolidFire plugin will reconfigure the default
|
||||||
|
storage and detect the NetApp plugin. If you need to support other vendors,
|
||||||
|
hand editing of the cinder.conf is required.
|
||||||
|
|
||||||
Release Notes
|
Release Notes
|
||||||
=============
|
=============
|
||||||
@ -189,6 +213,8 @@ Release Notes
|
|||||||
* Version 01.001.1 adds automated install of the open-iscsi package which is required by SolidFire, but not installed
|
* Version 01.001.1 adds automated install of the open-iscsi package which is required by SolidFire, but not installed
|
||||||
by Fuel if Ceph is selected in the starting wizzard. Supports Fuel 7.x.
|
by Fuel if Ceph is selected in the starting wizzard. Supports Fuel 7.x.
|
||||||
|
|
||||||
|
* Version 02.00.0 refactors the code to support Fuel 8.0
|
||||||
|
|
||||||
|
|
||||||
Troubleshooting
|
Troubleshooting
|
||||||
===============
|
===============
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
attributes:
|
attributes:
|
||||||
multibackend:
|
metadata:
|
||||||
value: true
|
group: 'storage'
|
||||||
label: 'Multibackend enabled'
|
|
||||||
description: 'SolidFire will be used in a Multibackend env.'
|
|
||||||
weight: 10
|
|
||||||
type: "checkbox"
|
|
||||||
solidfire_mvip:
|
solidfire_mvip:
|
||||||
value: ''
|
value: ''
|
||||||
label: 'Cluster MVIP (san_ip)'
|
label: 'Cluster MVIP (san_ip)'
|
||||||
@ -44,19 +40,6 @@ attributes:
|
|||||||
description: 'SolidFire account to use to hold the template cache.'
|
description: 'SolidFire account to use to hold the template cache.'
|
||||||
weight: 52
|
weight: 52
|
||||||
type: "text"
|
type: "text"
|
||||||
solidfire_emulate_512:
|
|
||||||
value: "true"
|
|
||||||
values:
|
|
||||||
- data: "true"
|
|
||||||
label: "True"
|
|
||||||
description: "Enables 512 byte emulation on volumes during creation."
|
|
||||||
- data: "false"
|
|
||||||
label: "False"
|
|
||||||
description: "Disables 512 byte emulation and uses the native 4096 byte block size."
|
|
||||||
label: "SolidFire Emulate 512 block size"
|
|
||||||
description: 'Enable/Disable 512 byte block size emulation (typically left enabled).'
|
|
||||||
weight: 60
|
|
||||||
type: "radio"
|
|
||||||
solidfire_account_prefix:
|
solidfire_account_prefix:
|
||||||
value: ''
|
value: ''
|
||||||
label: 'SF account prefix'
|
label: 'SF account prefix'
|
||||||
|
@ -1,19 +1,21 @@
|
|||||||
name: fuel-plugin-solidfire-cinder
|
name: cinder_solidfire
|
||||||
title: Fuel plugin to enable SolidFire driver in Cinder
|
title: Fuel plugin for SolidFire in Cinder
|
||||||
version: '1.1.1'
|
version: '2.0.0'
|
||||||
description: Enables the SolidFire driver in Cinder
|
description: Enables the SolidFire driver in Cinder
|
||||||
fuel_version: ['7.0']
|
fuel_version: ['8.0']
|
||||||
licenses: ['Apache License Version 2.0']
|
licenses: ['Apache License Version 2.0']
|
||||||
authors: [ 'Ed Balduf <ed.balduf@solidfire.com>', 'John Griffith <john.griffith@solidfire.com>']
|
authors: ['Ed Balduf <ed.balduf@solidfire.com>']
|
||||||
homepage: 'https://github.com/stackforge/fuel-plugin-solidfire-cinder'
|
homepage: 'https://github.com/stackforge/fuel-plugin-solidfire-cinder'
|
||||||
|
|
||||||
groups: ['storage::cinder']
|
groups: ['storage::cinder']
|
||||||
|
is_hotpluggable: true
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- os: ubuntu
|
- os: ubuntu
|
||||||
version: 2015.1-7.0
|
version: liberty-8.0
|
||||||
mode: ['ha', 'multinode']
|
mode: ['ha']
|
||||||
deployment_scripts_path: deployment_scripts/
|
deployment_scripts_path: deployment_scripts/
|
||||||
repository_path: repositories/ubuntu
|
repository_path: repositories/ubuntu
|
||||||
|
|
||||||
# Version of plugin package
|
# Version of plugin package
|
||||||
package_version: '2.0.0'
|
package_version: '4.0.0'
|
||||||
|
11
tasks.yaml
11
tasks.yaml
@ -1,11 +0,0 @@
|
|||||||
# This tasks will be applied on controller nodes,
|
|
||||||
# here you can also specify several roles, for example
|
|
||||||
# ['cinder', 'compute'] will be applied only on
|
|
||||||
# cinder and compute nodes
|
|
||||||
- role: ['primary-controller', 'controller']
|
|
||||||
stage: post_deployment/6101
|
|
||||||
type: puppet
|
|
||||||
parameters:
|
|
||||||
puppet_manifest: puppet/manifests/controller.pp
|
|
||||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
|
||||||
timeout: 360
|
|
Loading…
Reference in New Issue
Block a user