The cinder.zonemanager.drivers.brocade.brcd_http_fc_zone_client Module

Brocade south bound connector to communicate with switch using HTTP or HTTPS protocol.

class BrcdHTTPFCZoneClient(ipaddress, username, password, port, vfid, protocol)

Bases: object

add_zones(add_zones_info, activate, active_zone_set=None)

Add zone configuration.

This method will add the zone configuration passed by user.

Parameters:add_zones_info – Zone names mapped to members. Zone members are colon separated but case-insensitive
{   zonename1:[zonememeber1,zonemember2,...],
    zonename2:[zonemember1, zonemember2,...]...}

e.g:

{
    'openstack50060b0000c26604201900051ee8e329':
        ['50:06:0b:00:00:c2:66:04', '20:19:00:05:1e:e8:e3:29']
}
Parameters:
  • activate – True will activate the zone config.
  • active_zone_set – Active zone set dict retrieved from get_active_zone_set method
Raises:

BrocadeZoningHttpException

add_zones_cfgs(cfgs, zones, add_zones_info, active_cfg, cfg_name)

Add the zones and cfgs map based on the new zones info.

This method will return the updated zones,cfgs and active_cfg

Parameters:
  • cfgs – Existing cfgs map
  • active_cfg – Existing Active cfg string
  • zones – Existing zones map
  • add_zones_info – Zones map to add
  • active_cfg – Existing active cfg
  • cfg_name – New cfg name
Returns:

updated zones, zone configs map, and active_cfg

authenticate()

Authenticate with the switch.

Returns authentication status with modified authentication header (Base64(username:xxx:random no)).

Returns:Authentication status
Raises:BrocadeZoningHttpException
change_vf_context(vfid, session_data)

Change the VF context in the session.

Parameters:
  • vfid – VFID to which context should be changed.
  • session_data – Session information from the switch
Raises:

BrocadeZoningHttpException

check_change_vf_context()

Check whether VF related configurations is valid and proceed.

cleanup()

Close session.

connect(requestType, requestURL, payload='', header=None)

Connect to the switch using HTTP/HTTPS protocol.

Parameters:
  • requestType – Connection Request method
  • requestURL – Connection URL
  • payload – Data to send with POST request
  • header – Request Headers
Returns:

HTTP response data

Raises:

BrocadeZoningHttpException

create_auth_token()

Create the authentication token.

Creates the authentication token to use in the authentication header return authentication header (Base64(username:password:random no)).

Returns:Authentication Header
Raises:BrocadeZoningHttpException
delete_zones(delete_zones_info, activate, active_zone_set=None)

Delete zones from fabric.

Deletes zones in the active zone config.

Parameters:
  • zone_names – zoneNames separated by semicolon
  • activate – True/False
  • active_zone_set – the active zone set dict retrieved from get_active_zone_set method
delete_zones_cfgs(cfgs, zones, delete_zones_info, active_cfg)

Delete the zones and cfgs map based on the new zones info.

Return the updated zones, cfgs and active_cfg after deleting the required items.

Parameters:
  • cfgs – Existing cfgs map
  • active_cfg – Existing Active cfg string
  • zones – Existing zones map
  • delete_zones_info – Zones map to add
  • active_cfg – Existing active cfg
Returns:

updated zones, zone config sets, and active zone config

Raises:

BrocadeZoningHttpException

form_zone_string(cfgs, active_cfg, zones, alias, qlps, ifas, activate)

Build the zone string in the required format.

Parameters:
  • cfgs – cfgs map
  • active_cfg – Active cfg string
  • zones – zones map
  • alias – alias map
  • qlps – qlps map
  • ifas – ifas map
  • activate – True will activate config.
Returns:

zonestring in the required format

Raises:

BrocadeZoningHttpException

get_active_zone_set()

Return the active zone configuration.

Return active zoneset from fabric. When none of the configurations are active then it will return empty map.

Returns:Map – active zone set map in the following format
{
    'zones':
        {'openstack50060b0000c26604201900051ee8e329':
            ['50060b0000c26604', '201900051ee8e329']
        },
    'active_zone_config': 'OpenStack_Cfg'
}
Raises:BrocadeZoningHttpException
get_managable_vf_list(session_info)

List of VFIDs that can be managed.

Parameters:session_info – Session information from the switch
Returns:manageable VF list
Raises:BrocadeZoningHttpException
get_nameserver_info()

Get name server data from fabric.

Return the connected node port wwn list(local and remote) for the given switch fabric.

Returns:name server information.
get_nvp_value(data, keyname)

Get the value for the key passed.

Parameters:
  • data – NVP to manipulate
  • keyname – Key name
Returns:

value for the NVP

get_parsed_data(data, delim1, demil2)

Return the sub string between the delimiters.

Parameters:
  • data – String to manipulate
  • delim1 – Delimiter 1
  • delim2 – Delimiter 2
Returns:

substring between the delimiters

get_session_info()

Get the session information from the switch

Returns:Connection status information.
get_zone_info()

Parse all the zone information and store it in the dictionary.

is_supported_firmware()

Check firmware version is v6.4 or higher.

This API checks if the firmware version per the plug-in support level. This only checks major and minor version.

Returns:True if firmware is supported else False.
Raises:BrocadeZoningHttpException
is_vf_enabled()

To check whether VF is enabled or not.

Returns:boolean to indicate VF enabled and session information
post_zone_data(data)

Send POST request to the switch with the payload.

Parameters:data – payload to be sent to switch
update_zones(zone_info, activate, operation, active_zone_set=None)

Update zone configuration.

This method will update the zone configuration passed by user.

Parameters:zone_info – Zone names mapped to members. Zone members are colon separated but case-insensitive
{   zonename1:[zonememeber1,zonemember2,...],
    zonename2:[zonemember1, zonemember2,...]...}

e.g:

{
    'openstack50060b0000c26604201900051ee8e329':
        ['50:06:0b:00:00:c2:66:04', '20:19:00:05:1e:e8:e3:29']
}
Parameters:
  • activate – True will activate the zone config.
  • operation – ZONE_ADD or ZONE_REMOVE
  • active_zone_set – Active zone set dict retrieved from get_active_zone_set method
Raises:

BrocadeZoningHttpException