Merge branch 'master' into stable/1.0

* master:
  Update plugin version to 1.0.1. Modify docs to reflect the new version
  Use storage network instead of management network
  Fixed provisioning type key. All volumes should be created with thin provisioning
  Fixed blank pages in plugin guide
  Updated successful deployment figure with new message
  Updated plugin guide title
  Updated plugin guide according to validation report
  Update plugin guide with validation remarks
  Updated test plan and test report with validation observations
  Updated version in plugin guide
  Updated plugin description to avoid confusion after deployment has finished.

Change-Id: I1258b01a5e910b461230194299a491123c9d5030
This commit is contained in:
Adrian Moreno 2015-12-21 13:27:42 +01:00
commit 15dfc12271
18 changed files with 74 additions and 50 deletions

3
.gitignore vendored
View File

@ -13,3 +13,6 @@
# Sphinx
_build/
# PDF
*.pdf

View File

@ -1,4 +1,4 @@
# ScaleIO Plugin for Fuel <a href="http://buildserver.emccode.com/viewType.html?-buildTypeId=FuelPluginsForScaleIO_FuelPluginScaleio&guest=1"><img src="http://buildserver.emccode.com/app/rest/builds/buildType:(id:FuelPluginsForScaleIO_FuelPluginScaleio)/statusIcon"/></a>
# ScaleIO Plugin for Fuel
## Overview
@ -34,12 +34,12 @@ To install the ScaleIO plugin, follow these steps:
2. Copy the plugin file to the Fuel Master node. Follow the [Quick start guide](https://software.mirantis.com/quick-start/) if you don't have a running Fuel Master node yet.
```
$ scp scaleio-1.0-1.0.0-1.noarch.rpm root@<Fuel Master node IP address>:/tmp/
$ scp scaleio-1.0-1.0.1-1.noarch.rpm root@<Fuel Master node IP address>:/tmp/
```
3. Log into the Fuel Master node and install the plugin using the fuel command line.
```
$ fuel plugins --install /tmp/scaleio-1.0-1.0.0-1.noarch.rpm
$ fuel plugins --install /tmp/scaleio-1.0-1.0.1-1.noarch.rpm
```
4. Verify that the plugin is installed correctly.
@ -91,7 +91,7 @@ need further instructions about how to build the Fuel Plugin Builder.*
7. Now you have created an RPM file that you can install using the steps described above. The RPM file will be located in:
```
$ ./fuel-plugin-scaleio/scaleio-1.0-1.0.0-1.noarch.rpm
$ ./fuel-plugin-scaleio/scaleio-1.0-1.0.1-1.noarch.rpm
```
# User Guide

View File

@ -9,7 +9,7 @@ module Puppet::Parser::Functions
nodes.each do |node|
result[node["fqdn"]] = {
"ip" => node["internal_address"],
"ip" => node["storage_address"],
"protection_domain" => protection_domain,
"devices" => {
device => {

View File

@ -6,21 +6,19 @@ inherits scaleio_fuel::params {
$gw3_ip = $scaleio_fuel::params::tb_ip
$nodes_hash = $::fuel_settings['nodes']
$gw1 = filter_nodes($nodes_hash, 'internal_address', $gw1_ip)
$gw2 = filter_nodes($nodes_hash, 'internal_address', $gw2_ip)
$gw3 = filter_nodes($nodes_hash, 'internal_address', $gw3_ip)
$gw1 = filter_nodes($nodes_hash, 'storage_address', $gw1_ip)
$gw2 = filter_nodes($nodes_hash, 'storage_address', $gw2_ip)
$gw3 = filter_nodes($nodes_hash, 'storage_address', $gw3_ip)
$gw_nodes = concat(concat($gw1, $gw2), $gw3)
notify { "gw_nodes: ${gw_nodes}": }
notify { "server_names: ${server_names}": }
notify { "ipaddresses: ${ipaddresses}": }
notify { "Gateway nodes: ${gw_nodes}": }
Haproxy::Service { use_include => true }
Haproxy::Balancermember { use_include => true }
Openstack::Ha::Haproxy_service {
server_names => filter_hash($gw_nodes, 'name'),
ipaddresses => filter_hash($gw_nodes, 'internal_address'),
ipaddresses => filter_hash($gw_nodes, 'storage_address'),
public_virtual_ip => $::fuel_settings['public_vip'],
internal_virtual_ip => $::fuel_settings['management_vip'],
}

View File

@ -1,9 +1,11 @@
class scaleio_fuel
inherits scaleio_fuel::params {
$role = $scaleio_fuel::params::role
case $role {
'mdm': { include scaleio_fuel::mdm }
'tb': { include scaleio_fuel::tb }
'sds': { include scaleio_fuel::sds }
default: { include scaleio_fuel::sds }
}
}

View File

@ -13,8 +13,8 @@ class scaleio_fuel::params
$volume_type = 'sio_thin'
$nodes_hash = $::fuel_settings['nodes']
$controller_nodes = concat(filter_nodes($nodes_hash,'role','primary-controller'), filter_nodes($nodes_hash,'role','controller'))
$controller_hashes = nodes_to_hash($controller_nodes,'name','internal_address')
$controller_nodes = concat(filter_nodes($nodes_hash, 'role', 'primary-controller'), filter_nodes($nodes_hash, 'role', 'controller'))
$controller_hashes = nodes_to_hash($controller_nodes, 'name', 'storage_address')
$controller_ips = ipsort(values($controller_hashes))
notify {"Controller Nodes: ${controller_nodes}": }
@ -29,7 +29,7 @@ class scaleio_fuel::params
$current_node = filter_nodes($nodes_hash,'uid', $::fuel_settings['uid'])
$node_ip = join(values(
nodes_to_hash($current_node,'name','internal_address')))
nodes_to_hash($current_node,'name','storage_address')))
notify {"Current Node: ${current_node}": }

Binary file not shown.

View File

@ -11,8 +11,8 @@ master_doc = 'index'
project = u'The ScaleIO plugin for Fuel'
copyright = u'2015, EMC Corporation'
version = '0.3'
release = '0.3.0'
version = '1.0'
release = '1.0-1.0.1-1'
exclude_patterns = []
@ -22,6 +22,12 @@ html_theme = 'classic'
html_static_path = ['_static']
latex_documents = [
('index', 'ScaleIOPlugin.tex', u'The ScaleIO plugin for Fuel Documentation',
('index', 'ScaleIO-Plugin_Guide.tex', u'The ScaleIO plugin for Fuel Documentation',
u'EMC Corporation', 'manual'),
]
]
latex_elements = {
'fncychap': '\\usepackage[Conny]{fncychap}',
'classoptions': ',openany,oneside',
'babel' : '\\usepackage[english]{babel}',
}

View File

@ -16,17 +16,32 @@ At least 5 nodes are required to successfully deploy Mirantis OpenStack with Sca
#. OpenStack Controller #3 node
#. OpenStack Compute node
Each node shall have at least 2 CPUs, 4GB RAM, 200GB disk, 4 Network interfaces. The 4 networks are:
Each node shall have at least 2 CPUs, 4GB RAM, 200GB disk, 3 Network interfaces. The 3 interfaces will be used for the following purposes:
#. PXE Network
#. Public Network
#. Private Network
#. Management Network
#. Admin (PXE) network: Mirantis OpenStack uses PXE booting to install the operating system, and then loads the OpenStack packages for you.
#. Public, Management and Storage networks: All of the OpenStack management traffic will flow over this network (“Management” and “Storage” will be separated by VLANs), and to re-use the network it will also host the public network used by OpenStack service nodes and the floating IP address range.
#. Private network: This network will be added to Virtual Machines when they boot. It will therefore be the route where traffic flows in and out of the VM.
Controllers 1, 2, and 3 will be used as ScaleIO MDMs, being the primary, secondary, and tie-breaker, respectively. Moreover, they will also host the ScaleIO Gateway in HA mode.
All nodes are used as ScaleIO SDS and, therefore, contribute to the default storage pool.
.. _scaleiogui:
Install ScaleIO GUI
-------------------
It is recommended to install the ScaleIO GUI to easily access and manage the ScaleIO cluster.
#. Make sure the machine in which you will install the ScaleIO GUI has access to the Controller nodes.
#. Download the ScaleIO for your operating system from the following link: http://www.emc.com/products-solutions/trial-software-download/scaleio.htm
#. Unzip the file and install the ScaleIO GUI component.
#. Once installed, run the application and you will be prompted with the following login window. We will use it once the deployment is completed.
.. image:: images/scaleio-login.png
:width: 50%
Select Environment
------------------
@ -34,7 +49,7 @@ Select Environment
#. Create a new environment with the Fuel UI wizard. Select "Juno on CentOS 6.5" from OpenStack Release dropdown list and continue until you finish with the wizard.
.. image:: images/wizard.png
:width: 60%
:width: 80%
#. Add VMs to the new environment according to `Fuel User Guide <https://docs.mirantis.com/openstack/fuel/fuel-6.1/user-guide.html#add-nodes-to-the-environment>`_ and configure them properly.
@ -58,12 +73,12 @@ Finish environment configuration
#. Run `network verification check <https://docs.mirantis.com/openstack/fuel/fuel-6.1/user-guide.html#verify-networks>`_
.. image:: images/network.png
:width: 80%
:width: 90%
#. Press `Deploy button <https://docs.mirantis.com/openstack/fuel/fuel-6.1/user-guide.html#deploy-changes>`_ to once you are done with environment configuration.
#. Press `Deploy button <https://docs.mirantis.com/openstack/fuel/fuel-6.1/user-guide.html#deploy-changes>`_ once you have finished reviewing the environment configuration.
.. image:: images/deploy.png
:width: 40%
:width: 60%
#. After deployment is done, you will see a message indicating the result of the deployment.
@ -81,14 +96,16 @@ Once the OpenStack cluster is setup, we can make use of ScaleIO volumes. This is
#. Review the block storage services by navigating to the "Admin -> System -> System Information" section. You should see the "@ScaleIO" appended to all cinder-volume hosts.
.. image:: images/block-storage-services.png
:width: 80%
:width: 90%
#. Review the System Volumes by navigating to "Admin -> System -> Volumes". You should see a volume type called "sio_thin" with the following extra specs.
.. image:: images/volume-type.png
:width: 50%
:width: 70%
#. Open the ScaleIO Control Panel and verify that it successfully reflects the ScaleIO resources:
#. In the ScaleIO GUI (see :ref:`Install ScaleIO GUI section <scaleiogui>`), enter the IP address of the primary controller node, username `admin`, and the password you entered in the Fuel UI.
#. Once logged in, verify that it successfully reflects the ScaleIO resources:
.. image:: images/scaleio-cp.png
:width: 80%
@ -96,16 +113,16 @@ Once the OpenStack cluster is setup, we can make use of ScaleIO volumes. This is
#. Click on the "Backend" tab and verify all SDS nodes:
.. image:: images/scaleio-sds.png
:width: 80%
:width: 90%
#. Create a new OpenStack volume using the "sio_thin" volume type.
#. In the ScaleIO Control Panel, you will see that there is one volume defined but none have been mapped yet.
#. In the ScaleIO GUI, you will see that there is one volume defined but none have been mapped yet.
.. image:: images/sio-volume-defined.png
:width: 20%
#. Once the volume is attached to a VM, the ScaleIO Control Panel will reflect the mapping.
#. Once the volume is attached to a VM, the ScaleIO GUI will reflect the mapping.
.. image:: images/sio-volume-mapped.png
:width: 20%

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -2,10 +2,8 @@
Guide to the ScaleIO Plugin for Fuel 6.1
========================================
This document will guide you through the steps of install, configure and use of the ScaleIO Plugin for Fuel
User documentation
==================
Plugin Guide
============
.. toctree::
:maxdepth: 2
@ -14,8 +12,3 @@ User documentation
installation
guide
appendix
Indices and Tables
==================
* :ref:`search`

View File

@ -12,7 +12,7 @@ To install the ScaleIO Fuel plugin:
#. Copy the *rpm* file to the Fuel Master node:
::
[root@home ~]# scp fuel-plugin-scaleio-1.0-1.0.0-1.noarch.rpm
[root@home ~]# scp fuel-plugin-scaleio-1.0-1.0.1-1.noarch.rpm
root@fuel-master:/tmp
#. Log into Fuel Master node and install the plugin using the
@ -21,7 +21,7 @@ To install the ScaleIO Fuel plugin:
::
[root@fuel-master ~]# fuel plugins --install
/tmp/fuel-plugin-scaleio-1.0-1.0.0-1.noarch.rpm
/tmp/fuel-plugin-scaleio-1.0-1.0.1-1.noarch.rpm
#. Verify that the plugin is installed correctly:
::
@ -29,7 +29,7 @@ To install the ScaleIO Fuel plugin:
[root@fuel-master ~]# fuel plugins
id | name | version | package_version
---|-----------------------|---------|----------------
9 | fuel-plugin-scaleio | 1.0.0 | 2.0.0
9 | fuel-plugin-scaleio | 1.0.1 | 2.0.0
.. _Fuel Plugins Catalog: https://www.mirantis.com/products/openstack-drivers-and-plugins/fuel-plugins/

View File

@ -1,6 +1,12 @@
Introduction
============
Purpose
-------
This document will guide you through the steps of install, configure and use of the **ScaleIO Plugin** for Fuel. The ScaleIO Plugin is used to deploy and configure a ScaleIO cluster as a backend for an OpenStack environment.
ScaleIO Overview
----------------
EMC ScaleIO is a software-only server-based storage area network (SAN) that converges storage and compute resources to form a single-layer, enterprise-grade storage product. ScaleIO storage is elastic and delivers linearly scalable performance. Its scale-out server SAN architecture can grow from a few to thousands of servers.
ScaleIO uses servers direct-attached storage (DAS) and aggregates all disks into a global, shared, block storage. ScaleIO features single-layer compute and storage architecture without requiring additional hardware or cooling/ power/space.
@ -38,7 +44,6 @@ Mirantis OpenStack 6.1
========================= ===============
* This plugin will deploy an EMC ScaleIO 1.32 cluster on the available nodes and replace the default OpenStack volume backend by ScaleIO.
* A minimum of 3 Controller nodes and 1 Compute node are required.
Limitations

View File

@ -3,9 +3,9 @@ name: scaleio
# Human-readable name for your plugin
title: ScaleIO plugin
# Plugin version
version: '1.0.0'
version: '1.0.1'
# Description
description: Deploy and enable EMC ScaleIO as the block storage backend
description: This plugin deploys and enables EMC ScaleIO as the block storage backend
# Required fuel version
fuel_version: ['6.1']
# Specify license of your plugin