SAN fabric registration

The SAN Fabric Registration APIs let you specify SAN fabrics and Fibre Channel switches to be managed by PowerVC, and work with those fabrics and switches.

Options for SAN Fabric Registration APIs

Table 1. Options for SAN Fabric Registration APIs
Method URI Description

POST

/v3/{tenant_id}/san-fabrics

Registers or adds a SAN fabric.

DELETE

/v3/{tenant_id}/san-fabrics/{fabric_name}

Unregisters or removes a managed SAN fabric.

PUT

/v3/{tenant_id}/san-fabrics/{fabric_name}

Updates or edits a managed SAN fabric.

GET

/v3/{tenant_id}/san-fabrics

Lists all SAN fabrics that are managed.

GET

/v3/{tenant_id}/san-fabrics/{fabric_name}

Shows the details of a managed SAN fabric.

GET

/v3/{tenant_id}/san-fabrics/detail

Shows the details of all managed SAN fabrics.

Register a SAN fabric or switch

This operation adds a SAN fabric to the list that is managed by PowerVC. This API takes configuration attributes for the zone driver in the request body as input and registers the fabric or switch with PowerVC.

For pluggable storage devices and fabrics, the IP address is not shown in the PowerVC user interface.

Response codes
  • Normal Response Code: OK (200)
  • Error Response Codes: Bad Request (400®), Server Error (500)
Request parameters
Table 2. Parameters in the request for SAN fabric registration
Name Style Type Description

access_ip2

body

string

IP address or the host name to connect to the switch or storage controller.

user_id2

body

string

User ID for connecting to the switch or storage controller.

password2

body

string

Password for connecting to the switch or storage controller.

port

body

string

Optional (For Cisco switches only): The SSH port used to connect to a Cisco switch. By default, the value is 22.

fabric_type

body

string

The type of SAN fabric. Supported values are: generic,brocade, and cisco.

fabric_display_name

body

string

Optional: User-specified name to give to the switch. The value defaults to resolved host short name.

virtual_fabric_id

body

string

Virtual fabric ID. This property uniquely identifies the Brocade fabric. Required when registering virtual Brocade fabrics.

vsan

body

string

For Cisco switches only: The virtual SAN to be used.

zone_driver1

body

string

Python Class Name for the Cinder Zone Driver for the fabric.

zoning_policy

body

string

Zoning policy types. The following are the supported values:
'initiator-target'
Creates a zone with one initiator and one target.
'initiator'
Creates a zone with one initiator and all of the target WWPNs for the storage provider.
'initiator-vfc'
Creates a zone with the active and migration initiators, along with the targets for the storage provider.

configuration_properties1

body

object

Optional: Driver-specific properties for the configuration file. Specify additional configuration options by using the pattern mysection:prop_name: prop_value.

auto_add_host_key

body

Boolean

Optional value. Whether to auto-accept or add the SSH fingerprint for the system (if the fingerprint is not yet trusted or is different from the previously trusted fingerprint) or to fail with a 403 response code so that the SSH fingerprint can be verified. Default value is True.

1: Used for pluggable fabrics only.

2: Not used for pluggable fabrics. To specify this information, use configuration_properties.

Example of registering a PowerVC supported fabric:
{"fabric": { 
 "registration": { 
  "access_ip": "1.2.3.4",
  "user_id": "superuser",
  "password": "passw0rd",
  "fabric_display_name": "My Fabric 1"
  "fabric_type": "brocade"
  "zoning_policy": "initiator"
  }
 }
}
Example of registering Brocade Virtual Fabric:
{"fabric": { 
                   "registration": { 
                                    "access_ip": "1.2.3.4", 
                                    "user_id": "superuser", 
                                    "password": "passw0rd", 
                                    "fabric_display_name": "My Fabric 1",
                                    "fabric_type": "brocade",
                                    "zoning_policy": "initiator",
                                    "virtual_fabric_id": "1"
                                    } 
                 }
      }
Example of registering a pluggable fabric:
{"fabric": {
 "registration": { 
  "fabric_type": "generic", 
  "fabric_display_name": "My Fabric 1", 
  "zone_driver": "cinder.zonemanager. drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver", 
  "zoning_policy": "initiator",
  "configuration_properties": { 
   "fc_fabric_user": "admin", 
   "fc_fabric_password": "passw0rd", 
   "fc_fabric_address": "192.168.1.110", 
   "zone_name_prefix":...
   } 
  } 
 } 
}
Response body
Table 3. Parameters in the response for SAN fabric registration
Name Style Type Description

access_ip2

body

string

IP address or the host name that is used to connect to the switch.

user_id2

body

string

User ID that is used for connecting to the switch.

port

body

string

Optional (For Cisco switches only): The SSH port used to connect to a Cisco switch. By default, the value is 22.

fabric_type

body string Required: The type of SAN fabric. Supported values are: generic,brocade, and cisco.

fabric_display_name

body

string

User-specified name given to the switch.

vsan

body

string

For Cisco switches only: The virtual SAN to be used.

fabric_name

body

string

Internally generated unique name of the registered fabric.

zone_driver1

body

string

Required: Python Class Name for the Cinder Zone Driver for the fabric.

zoning_policy

body

string

Zoning policy types. Supported values are 'initiator-target' and 'initiator'.

registered_at

body

string

The date and time that the SAN fabric was registered with PowerVC.

auto_add_host_key

body

Boolean

Optional value. Whether to auto-accept or add the SSH fingerprint for the system (if the fingerprint is not yet trusted or is different from the previously trusted fingerprint) or to fail with a 403 response code so that the SSH fingerprint can be verified. Default value is True.

1: Used for pluggable fabrics only.

2: Not used for pluggable fabrics.

Example response when registering a PowerVC supported fabric:
{"fabric": { 
 "registration": { 
  "access_ip": "1.2.3.4",
  "user_id": "superuser",
  "fabric_name": "A", 
  "fabric_display_name": "My Fabric 1"
  "fabric_type": "brocade"
  "zoning_policy": "initiator"
  }
 }
}
Example response when registering a pluggable fabric:
{"host": { 
 "registration": { 
  "fabric_type": "generic", 
  "fabric_display_name": "My Fabric 1", 
  "fabric_name": "A", 
  "zone_driver": "cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver", 
  "registered_at": "2013-10-19T16:06:53Z" 
  "zoning_policy": "initiator"
  } 
 } 
}

Remove a managed SAN fabric

This operation unregisters a managed SAN fabric so that it is no longer managed by PowerVC. This API takes the fabric name in the URI as input and takes no request body. The API does not return any response body.

Response codes
  • Normal Response Code: No Content (204)
  • Error Response Codes: Bad Request (400), Not Found (404), Server Error (500)

Edit a managed SAN fabric

This operation updates the registration information for a SAN fabric that is managed by PowerVC. This API takes the name of the fabric for which you want to change the attributes in the URI and the attributes that you want to change in the body as input. The response body contains the attributes that are updated by the request.

Response codes
  • Normal Response Code: OK (200)
  • Error Response Codes: Bad Request (400), Not Found (404), Server Error (500)

Request parameters

Table 4. Parameters in the request for updating a managed SAN fabric
Name Style Type Description

access_ip2

body

string

IP address or the host name to connect to the switch.

user_id2

body

string

User ID for connecting to the switch.

password2

body

string

Password for connecting to the switch.

port

body

string

Optional (For Cisco switches only): The SSH port used to connect to a Cisco switch. By default, the value is 22.

fabric_display_name

body

string

User-specified name to give to the switch. The value defaults to resolved host short name.

vsan

body

string

For Cisco switches only: The virtual SAN to be used.

configuration_properties1

body

object

Driver-specific properties for the configuration file. Specify additional configuration options by using the pattern mysection:prop_name: prop_value.

auto_add_host_key

body

Boolean

Optional value. Whether to auto-accept or add the SSH fingerprint for the system (if the fingerprint is not yet trusted or is different from the previously trusted fingerprint) or to fail with a 403 response code so that the SSH fingerprint can be verified. Default value is True.

1: Used for pluggable fabrics only.

2: Not used for pluggable fabrics. To specify this information, use configuration_properties.

All the attributes in the request body are optional. You can update all the attributes or any one of the attributes. Example of updating a PowerVC supported fabric:
{"registration": { 
  "access_ip": "1.2.3.4",
  "user_id": "superuser",
  "password": "passw0rd", 
  "fabric_display_name": "My Fabric 1"
 }
}
Example of updating a pluggable fabric:
{
 "registration": {
  "fabric_display_name": "My Fabric 1",
  "configuration_properties": { "fc_fabric_user": "admin", "fc_fabric_password": "passw0rd"
} } }
Response body
Table 5. Parameters in the response for updating a managed SAN fabric
Name Style Type Description

access_ip2

body

string

IP address or the host name that is used to connect to the switch.

user_id2

body

string

User ID that is used for connecting to the switch.

port

body

string

Optional (For Cisco switches only): The SSH port used to connect to a Cisco switch. By default, the value is 22.

fabric_display_name

body

string

User-specified name given to the switch.

vsan

body

string

For Cisco switches only: The virtual SAN to be used.

fabric_name

body

string

Internally generated unique name of the registered fabric.

auto_add_host_key

body

Boolean

Optional value. Whether to auto-accept or add the SSH fingerprint for the system (if the fingerprint is not yet trusted or is different from the previously trusted fingerprint) or to fail with a 403 response code so that the SSH fingerprint can be verified. Default value is True.

1: Used for pluggable fabrics only.

2: Not used for pluggable fabrics.

Example response when updating a PowerVC supported fabric:
{"fabric": "A", 
 "registration": { 
  "access_ip": "1.2.3.4", 
  "user_id": "superuser", 
  "fabric_display_name": "My Fabric 1"
 }
}
Example response when updating a pluggable fabric:
{"host": {
 "registration": {
  "fabric_display_name": "My Fabric 1",
 } } }

View all SAN fabrics that are managed

This operation lists the basic information about all of the SAN fabrics that are managed by PowerVC. This API takes no input in the request body and returns the name and display name of each fabric that is managed by PowerVC in the response body.

Response codes
  • Normal Response Code: OK (200)
  • Error Response Codes: Server Error (500)
Response body
Table 6. Parameters in the response body for viewing all the managed SAN fabrics
Name Style Type Description

fabric_name

body

string

Internally generated unique name of the registered fabric.

{"fabrics": [ 
  {"fabric_name": "A", "fabric_display_name": "My Fabric 1"}, 
  {"fabric_name": "B", "fabric_display_name": "My Fabric 2"}, ....]
}

View details of a managed fabric

This operation shows detailed information about one of the fabrics that is managed by PowerVC. This API takes the fabric name in the URI as input and contains no request body. The API returns the IP address and credential information of the fabric in the response body.

Response codes
  • Normal Response Code: OK (200)
  • Error Response Codes: Not Found (404), Server Error (500)
Response body
Table 7. Parameters in the response for viewing details of a managed fabric
Name Style Type Description

access_ip2

body

string

IP address or the host name that is used to connect to the switch.

user_id2

body

string

User ID that is used for connecting to the switch.

port

body

string

Optional (For Cisco switches only): The SSH port used to connect to a Cisco switch. By default, the value is 22.

fabric_type

body

string

Required: The type of SAN fabric. The only supported value is generic

fabric_display_name

body

string

User-specified name given to the switch.

vsan

body

string

For Cisco switches only: The virtual SAN to be used.

fabric_name2

body

string

Internally generated unique name of the registered fabric.

zone_driver1

body

string

Required: Python Class Name for the Cinder Zone Driver for the fabric.

registered_at

body

string

The date and time that the SAN fabric was registered with PowerVC.

1: Used for pluggable fabrics only.

2: Not used for pluggable fabrics.

Example response when viewing the details of a managed SAN fabric (PowerVC supported):
{"fabric": { 
 "registration": { 
  "fabric_name": "A", 
  "fabric_display_name": "My Fabric 1", 
  "access_ip": "1.2.3.4",
  "user_id": "superuser" 
  "fabric_type": "brocade"
  }
 }
}
Example response when viewing the details of a managed fabric (pluggable):
{"host": {
 "registration": {
  "fabric_type": "generic", "fabric_display_name": "My Fabric 1",
  "zone_driver": "cinder.zonemanager. drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver",
  "registered_at": "2013-10-19T16:06:53Z"
} } }

View details of all managed SAN fabrics

This operation shows detailed information about all the fabrics that are managed by PowerVC. This API takes no input in the request body and returns the IP address and credentials information about the fabrics in the response body.

Response codes
  • Normal Response Code: OK (200)
  • Error Response Codes: Server Error (500)
Response body
Table 8. Parameters in the response body for viewing details of all managed fabrics
Name Style Type Description

access_ip2

body

string

IP address or the host name that is used to connect to the switch.

user_id2

body

string

User ID that is used for connecting to the switch.

port

body

string

Optional (For Cisco switches only): The SSH port used to connect to a Cisco switch. By default, the value is 22.

fabric_type

body string Required: The type of SAN fabric. The only supported value is generic

fabric_display_name

body

string

User-specified name given to the switch.

vsan

body

string

For Cisco switches only: The virtual SAN to be used.

fabric_name2

body

string

Internally generated unique name of the registered fabric.

registered_at

body

string

The date and time that the SAN fabric was registered with PowerVC.

zone_driver1

body

string

Required: Python Class Name for the Cinder Zone Driver for the fabric.

zoning_policy

body

string

Zoning policy types.

1: Used for pluggable fabrics only.

2: Not used for pluggable fabrics.

Example response when viewing details of all managed SAN fabrics (PowerVC supported):
{"fabrics": [ 
 {
 "registration": { 
  "fabric_name": "A",
  "fabric_display_name": "My Fabric 1",
  "access_ip": "1.2.3.4",
  "user_id": "superuser"
  "fabric_type": "brocade"
 }
 {
 "registration": { 
  "fabric_name": "B",...]
}

Example response when viewing details of all managed fabrics (pluggable):

{"host": {
 "registration": {
  "fabric_type": "generic", "fabric_display_name": "My Fabric 1",
  "zone_driver": "cinder.zonemanager. drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver",
  "registered_at": "2013-10-19T16:06:53Z"
} } }