From bf4012cedce7d071d948a49993a431e011d5bb17 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Sat, 18 Apr 2015 18:58:13 +0200 Subject: [PATCH] Config Reference: Remove Coraid documentation Coraid has closed business, the webpage does not exist anymore. Coraid is also not part of Cinder anymore. Remove it completely, it will not get added back. Change-Id: I7d80da036b9b1fb0bcb7deaee654dced36dfe243 --- .../Repository_Creation_Plan_screen.png | Bin 56411 -> 0 bytes doc/common/tables/cinder-coraid.xml | 46 -- .../block-storage/drivers/coraid-driver.xml | 400 ------------------ .../block-storage/section_volume-drivers.xml | 1 - .../cinder.flagmappings | 6 - .../cinder.headers | 1 - 6 files changed, 454 deletions(-) delete mode 100644 doc/common/figures/coraid/Repository_Creation_Plan_screen.png delete mode 100644 doc/common/tables/cinder-coraid.xml delete mode 100644 doc/config-reference/block-storage/drivers/coraid-driver.xml diff --git a/doc/common/figures/coraid/Repository_Creation_Plan_screen.png b/doc/common/figures/coraid/Repository_Creation_Plan_screen.png deleted file mode 100644 index 413d1f169c5f845cb7c39509dfa7eb593b7b220b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56411 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

KhR67Wda{3k22#a`!YQ(gufD^xC0kQolW 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 diff --git a/doc/common/tables/cinder-coraid.xml b/doc/common/tables/cinder-coraid.xml deleted file mode 100644 index 0766a13053..0000000000 --- a/doc/common/tables/cinder-coraid.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Description of Coraid AoE driver configuration options
Configuration option = Default valueDescription
[DEFAULT]
= None(StrOpt) ESM Repository Name to use if not specified in Volume Type keys
= (StrOpt) IP address of Coraid ESM
= admin(StrOpt) Name of group on Coraid ESM to which coraid_user belongs (must have admin privilege)
= password(StrOpt) Password to connect to Coraid ESM
= coraid_repository(StrOpt) Volume Type key name to store ESM Repository Name
= admin(StrOpt) User name to connect to Coraid ESM
-
diff --git a/doc/config-reference/block-storage/drivers/coraid-driver.xml b/doc/config-reference/block-storage/drivers/coraid-driver.xml deleted file mode 100644 index 53843e7a38..0000000000 --- a/doc/config-reference/block-storage/drivers/coraid-driver.xml +++ /dev/null @@ -1,400 +0,0 @@ - - -%openstack; -]> -

- Coraid AoE driver configuration - Coraid storage appliances can provide block-level storage to - OpenStack instances. Coraid storage appliances use the low-latency - ATA-over-Ethernet (ATA) protocol to provide high-bandwidth data - transfer between hosts and data on the network. - - Supported operations - - Create, delete, attach, and detach volumes. - - - Create, list, and delete volume snapshots. - - - Create a volume from a snapshot. - - - Copy an image to a volume. - - - Copy a volume to an image. - - - Clone a volume. - - - Get volume statistics. - - - This document describes how to configure the OpenStack Block - Storage service for use with Coraid storage appliances. -
- Terminology - These terms are used in this section: - - - - Term - Definition - - - - - AoE - ATA-over-Ethernet protocol - - - EtherCloud Storage Manager (ESM) - ESM provides live monitoring and management of - EtherDrive appliances that use the AoE protocol, such as - the SRX and VSX. - - - Fully-Qualified Repository Name (FQRN) - The FQRN is the full identifier of a storage profile. - FQRN syntax is: - performance_class-availability_class:profile_name:repository_name - - - SAN - Storage Area Network - - - SRX - Coraid EtherDrive SRX block storage appliance - - - VSX - Coraid EtherDrive VSX storage virtualization - appliance - - - -
-
- Requirements - To support the OpenStack Block Storage service, your SAN - must include an SRX for physical storage, a VSX running at least - CorOS v2.0.6 for snapshot support, and an ESM running at least - v2.1.1 for storage repository orchestration. Ensure that all - storage appliances are installed and connected to your network - before you configure OpenStack volumes. - In order for the node to communicate with the SAN, you must - install the Coraid AoE Linux driver on each Compute node on the - network that runs an OpenStack instance. -
-
- Overview - To configure the OpenStack Block Storage for use with Coraid - storage appliances, perform the following procedures: - - - Download - and install the Coraid Linux AoE driver. - - - Create a - storage profile by using the Coraid ESM GUI. - - - Create a storage repository by using the ESM GUI and - record the FQRN. - - - Configure - the cinder.conf file. - - - Create and associate a block storage volume - type. - - -
-
- Install the Coraid AoE driver - Install the Coraid AoE driver on every compute node that - will require access to block storage. - The latest AoE drivers will always be located at http://support.coraid.com/support/linux/. - To download and install the AoE driver, follow the - instructions below, replacing "aoeXXX" with the AoE driver file - name: - - - Download the latest Coraid AoE driver. - - $ wget http://support.coraid.com/support/linux/aoeXXX.tar.gz - - - - Unpack the AoE driver. - - - Install the AoE driver. - $ cd aoeXXX - $ make - # make install - - - Initialize the AoE driver. - - # modprobe aoe - - - - Optionally, specify the Ethernet interfaces that the - node can use to communicate with the SAN. - The AoE driver may use every Ethernet interface - available to the node unless limited with the - aoe_iflist parameter. For more - information about the aoe_iflist - parameter, see the aoe readme file - included with the AoE driver. - - # modprobe aoe_iflist="eth1 eth2 ..." - - - -
-
- Create a storage profile - To create a storage profile using the ESM GUI: - - - Log in to the ESM. - - - Click Storage Profiles in the - SAN Domain pane. - - - Choose Menu > Create Storage - Profile. If the option is unavailable, you - might not have appropriate permissions. Make sure you are - logged in to the ESM as the SAN administrator. - - - Use the storage class selector to select a storage - class. - Each storage class includes performance and availability - criteria (see the Storage Classes topic in the ESM Online - Help for information on the different options). - - - Select a RAID type (if more than one is available) for - the selected profile type. - - - Type a Storage Profile name. - The name is restricted to alphanumeric characters, - underscore (_), and hyphen (-), and cannot exceed 32 - characters. - - - Select the drive size from the drop-down menu. - - - Select the number of drives to be initialized for each - RAID (LUN) from the drop-down menu (if the selected RAID - type requires multiple drives). - - - Type the number of RAID sets (LUNs) you want to create - in the repository by using this profile. - - - Click Next. - - -
-
- Create a storage repository and get the FQRN - Create a storage repository and get its fully qualified - repository name (FQRN): - - - Access the Create Storage - Repository dialog box. - - - Type a Storage Repository name. - The name is restricted to alphanumeric characters, - underscore (_), hyphen (-), and cannot exceed 32 - characters. - - - Click Limited or - Unlimited to indicate the maximum - repository size. - Limited sets the amount of space - that can be allocated to the repository. Specify the size in - TB, GB, or MB. - When the difference between the reserved space and the - space already allocated to LUNs is less than is required by - a LUN allocation request, the reserved space is increased - until the repository limit is reached. - - The reserved space does not include space used for - parity or space used for mirrors. If parity and/or mirrors - are required, the actual space allocated to the repository - from the SAN is greater than that specified in reserved - space. - - Unlimited—Unlimited - means that the amount of space allocated to the repository - is unlimited and additional space is allocated to the - repository automatically when space is required and - available. - - Drives specified in the associated Storage Profile - must be available on the SAN in order to allocate - additional resources. - - - - Check the Resizeable LUN - box. - This is required for OpenStack volumes. - - If the Storage Profile associated with the repository - has platinum availability, the Resizeable LUN box is - automatically checked. - - - - Check the Show Allocation Plan API - calls box. Click - Next. - - - Record the FQRN and click - Finish. - The FQRN is located in the first line of output - following the Plan keyword in the - Repository Creation Plan window. The - FQRN syntax is - performance_class-availability_class:profile_name:repository_name. - In this example, the FQRN is - Bronze-Platinum:BP1000:OSTest, and is - highlighted. -
- Repository Creation Plan screen - - - - - -
- Record the FQRN; it is a required parameter later in the - configuration procedure. -
-
-
-
- Configure options in the cinder.conf file - Edit or add the following lines to the file - /etc/cinder/cinder.conf: - volume_driver = cinder.volume.drivers.coraid.CoraidDriver -coraid_esm_address = ESM_IP_address -coraid_user = username -coraid_group = Access_Control_Group_name -coraid_password = password -coraid_repository_key = coraid_repository_key - - Access to storage devices and storage repositories can be - controlled using Access Control Groups configured in ESM. - Configuring cinder.conf to log on to ESM as - the SAN administrator (user name admin), will - grant full access to the devices and repositories configured in - ESM. - Optionally, you can configure an ESM Access Control Group - and user. Then, use the cinder.conf file to - configure access to the ESM through that group, and user limits - access from the OpenStack instance to devices and storage - repositories that are defined in the group. - To manage access to the SAN by using Access Control Groups, - you must enable the Use Access Control setting in the ESM System Setup > Security screen. - For more information, see the ESM Online Help. -
-
- Create and associate a volume type - Create and associate a volume with the ESM storage - repository. - - - Restart Cinder. - # service openstack-cinder-api restart - # service openstack-cinder-scheduler restart - # service openstack-cinder-volume restart - - - Create a volume. - $ cinder type-create 'volume_type_name' - where volume_type_name is the - name you assign the volume. You will see output similar to - the following: - +--------------------------------------+-------------+ -| ID | Name | -+--------------------------------------+-------------+ -| 7fa6b5ab-3e20-40f0-b773-dd9e16778722 | JBOD-SAS600 | -+--------------------------------------+-------------+ - Record the value in the ID field; you use this - value in the next step. - - - Associate the volume type with the Storage - Repository. - - # cinder type-key UUID set coraid_repository_key='FQRN' - - - - - Variable - Description - - - - - UUID - The ID returned from the cinder - type-create command. You can use the - cinder type-list command to recover - the ID. - - - coraid_repository_key - The key name used to associate the Cinder volume - type with the ESM in the - cinder.conf file. If no key - name was defined, this is default value for - coraid_repository. - - - FQRN - The FQRN recorded during the Create Storage - Repository process. - - - - - -
-
diff --git a/doc/config-reference/block-storage/section_volume-drivers.xml b/doc/config-reference/block-storage/section_volume-drivers.xml index 545da48539..9ed7d6c367 100644 --- a/doc/config-reference/block-storage/section_volume-drivers.xml +++ b/doc/config-reference/block-storage/section_volume-drivers.xml @@ -59,6 +59,5 @@ - --> diff --git a/tools/autogenerate-config-flagmappings/cinder.flagmappings b/tools/autogenerate-config-flagmappings/cinder.flagmappings index a5838bebf7..54e4797dc3 100644 --- a/tools/autogenerate-config-flagmappings/cinder.flagmappings +++ b/tools/autogenerate-config-flagmappings/cinder.flagmappings @@ -56,12 +56,6 @@ cloned_volume_same_az zones compute_api_class common consistencygroup_api_class common control_exchange amqp -coraid_default_repository coraid -coraid_esm_address coraid -coraid_group coraid -coraid_password coraid -coraid_repository_key coraid -coraid_user coraid datera_api_port datera datera_api_token datera datera_api_version datera diff --git a/tools/autogenerate-config-flagmappings/cinder.headers b/tools/autogenerate-config-flagmappings/cinder.headers index d14bb1be0b..f4d5d8a5df 100644 --- a/tools/autogenerate-config-flagmappings/cinder.headers +++ b/tools/autogenerate-config-flagmappings/cinder.headers @@ -4,7 +4,6 @@ backups_swift Swift backup driver backups_tsm IBM Tivoli Storage Manager backup driver block-device block device cloudbyte CloudByte volume driver -coraid Coraid AoE driver datera Datera volume driver dellsc Dell Storage Center volume driver drbd DRBD