The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This section explains how the DFA REST APIs were used to integrate OpenStack with DFA. It’s not very different from how any application can be integrated with DFA using the DFA REST APIs.
The DFA plugins that are patched into the OpenStack, implement this documented interaction between OpenStack and DFA. The following steps explain how the Project, Network and VM creations in Openstack are communicated to DFA.
Step 1 Logon to the REST API to get a security token
This step is not seen by the Project user.
This is the organization and partition in DFA schema terminology.
Step 3 Get the network config-profile list for a given Project.
This step is not seen by the Project user but these profiles will become available to the project user from a drop-down menu in Horizon during network creation.
Step 4 Create a network for that Project specifying one of the available network config-profiles
Step 5 Get the network config-profile contents
This step is not see by the Project user.
Step 6 Launch the Virtual Machine.
The network config-profile contents will be sent to the OVS where the VM is attached.
https://10.77.247.111/rest/logon
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type: application/json; charset=UTF-8
Authorization: Basic YWRtaW46YWRtaW4xMjM=
Cookie: JSESSIONID=4C975316B01A44215861475E1B5F9328
The OpenStack Project name will be mapped to both Organization and Partition in DCNM.
http://10.77.247.111/rest/auto-config/organizations
POST /rest/auto-config/organizations
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type: application/json; charset=UTF-8
Dcnm-Token: NUVyu5Y0YHDv0tT6xFuIPd+Cu9OA1XCQ
Cookie: JSESSIONID=4C975316B01A44215861475E1B5F9328
"organizationName" : "organization1",
"description" : "organization1",
"orchestrationSource" : "OpenStack Controller 5",
Content-Type: application/json
http://10.77.247.111/rest/auto-config/organizations/organization1/partitions
POST /rest/auto-config/organizations/organization1/partitions
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type: application/json; charset=UTF-8
Dcnm-Token: NUVyu5Y0YHDv0tT6xFuIPd+Cu9OA1XCQ
Cookie: JSESSIONID=4C975316B01A44215861475E1B5F9328
"partitionName" : "organization1",
"description" : "organization1",
"organizationName" : "organization1",
Content-Type: application/json
Using this REST API, OpenStack gets a list of network config-profiles and display them on a Horizon dashboard pull-down menu for the project user to select one when creating a network.
http://10.77.247.111/rest/auto-config/profiles
POST /rest/auto-config/profiles
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type: application/json; charset=UTF-8
Dcnm-Token: NUVyu5Y0YHDv0tT6xFuIPd+Cu9OA1XCQ
Cookie: JSESSIONID=4C975316B01A44215861475E1B5F9328
Content-Type: application/json
"profileName" : "defaultNetworkIpv4EfEdgeServiceProfile"
"profileName" : "defaultNetworkIPv4TfEdgeServiceProfile"
POST /rest/auto-config/organizations/organization1/partitions/organization1/networks
http://10.77.247.111/rest/auto-config/organizations/ organization1/partitions/organization1/networks
POST /rest/auto-config/organizations/organization1/partitions/organization1/networks
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type: application/json; charset=UTF-8
Dcnm-Token: NUVyu5Y0YHDv0tT6xFuIPd+Cu9OA1XCQ
Cookie: JSESSIONID=4C975316B01A44215861475E1B5F9328
"description" : "One of the networks in Organization1",
"profileName" : "defaultNetworkIpv4EfEdgeServiceProfile",
"configArg" : [ "$netMaskLength=24",
"$gatewayIpAddress=10.10.10.1" ],
"partitionName" : "organization1"
http://10.77.247.111/rest/auto-config/profiles/ defaultNetworkIpv4EfEdgeServiceProfile
GET /rest/auto-config/profiles/ POST /rest/auto-config/profiles/ defaultNetworkIpv4EfEdgeServiceProfile
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type: application/json; charset=UTF-8
Dcnm-Token: NUVyu5Y0YHDv0tT6xFuIPd+Cu9OA1XCQ
Cookie: JSESSIONID=4C975316B01A44215861475E1B5F9328
Content-Type: application/json
"profileName" : "defaultNetworkIpv4EfEdgeServiceProfile",
"configCommands":"vlan $vlanId\rvn-segment $segmentId\rinterface vlan $vlanId\rvrf member $vrfName\rip address $gatewayIpAddress/$netMaskLength\rno ip redirect\rfabric forwarding mode proxy-gateway\rip dhcp relay address 172.23.244.28 use-vrf default\rno shutdown\rinclude profile vrf-common",
"params":["$vlanId","$segmentId","$vrfName","$gatewayIpAddress","$netMaskLength"]
The VM launch is communicated to the OVS and LLDPad of the physical host selected by OpenStack. The VM’s information along with the associated segment ID is used for establishing a VDP session between the LLDPad and DFA leaf switch and the subsequently acquired vlan ID from VDP is used to program data flows in OVS.
http://10.77.247.111/rest/logout
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type: application/json; charset=UTF-8
Dcnm-Token: NUVyu5Y0YHDv0tT6xFuIPd+Cu9OA1XCQ