You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Murali Reddy (JIRA)" <ji...@apache.org> on 2014/03/19 09:51:47 UTC

[jira] [Commented] (CLOUDSTACK-6255) UI for supporting region level VPC, distributed routing enabled VPC and stretched L2 neworks

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-6255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13940310#comment-13940310 ] 

Murali Reddy commented on CLOUDSTACK-6255:
------------------------------------------

Below are the UI changes required:

Below are the functionality that is affected with SDN feature.

Brand NEW UI component :
Introduce UI dialog box to create VPC offerings and list view for VPC offerings. This should be located under "Service Offerings"->select offering->VPC offerings->
create VPC offerings dialog box would be similar to create network offering UI dialogue box with subtle changes. Following fields are needed in the dialogue box
Name
Description
Supported services
Check box for each of the service:
Dhcp
Dns
Lb
Gateway
StaticNat
SourceNat
NetworkACL
PortForwarding
UserData
Vpn
Connectivity
When Connectivity is checked following providers need to be displayed
NiciraNvp, Ovs,JuniperContrailVpcRouter
When Connectivity is checked, then there should be a check box for service capabilities:
RegionLevelVpc
DistributedRouter
For the rest of the services if selected 'VpcVirtualRouter' should be displayed as provider
List VPC offerings view should list all the VPC offering, and when a VPC offering selected should display the offering details obtained in VPC response object from listVPCOfferings API call
Sample API calls for the VPC offering creation:

http://localhost:8080/client/api?command=createVPCOffering&response=json&name=region-level-vpc-ovs-offeringdisplayText=region-level-vpc-ovs-offering&supportedServices=Dhcp,Dns,SourceNat,StaticNat,NetworkACL,Connectivity&serviceProviderList[0].service=Dhcp&serviceProviderList[0].provider=VpcVirtualRouter&serviceProviderList[1].service=Dns&serviceProviderList[1].provider=VpcVirtualRouter&serviceProviderList[2].service=SourceNat&serviceProviderList[2].provider=VpcVirtualRouter&serviceProviderList[3].service=StaticNat&serviceProviderList[3].provider=VpcVirtualRouter&serviceProviderList[4].service=NetworkACL&serviceProviderList[4].provider=VpcVirtualRouter&serviceProviderList[5].service=Connectivity&serviceProviderList[5].provider=Ovs&servicecapabilitylist[0].service=Connectivity&servicecapabilitylist[0].capabilitytype=RegionLevelVpc&servicecapabilitylist[0].capabilityvalue=true&sessionkey=8bHbft7UuDp8gPnoxRvVIpndDZk%3D

http://localhost:8080/client/api?command=createVPCOffering&response=json&name=vpc-ovs-offering&displayText=vpc-ovs-offering&supportedServices=Dhcp,Dns,SourceNat,StaticNat,NetworkACL,Connectivity&serviceProviderList[0].service=Dhcp&serviceProviderList[0].provider=VpcVirtualRouter&serviceProviderList[1].service=Dns&serviceProviderList[1].provider=VpcVirtualRouter&serviceProviderList[2].service=SourceNat&serviceProviderList[2].provider=VpcVirtualRouter&serviceProviderList[3].service=StaticNat&serviceProviderList[3].provider=VpcVirtualRouter&serviceProviderList[4].service=NetworkACL&serviceProviderList[4].provider=VpcVirtualRouter&serviceProviderList[5].service=Connectivity&serviceProviderList[5].provider=Ovs&servicecapabilitylist[0].service=Connectivity&servicecapabilitylist[0].capabilitytype=DistributedRouter&servicecapabilitylist[0].capabilityvalue=true&sessionkey=t63HZAX5LJLuZmjPU2vKAR9EGUQ%3D

Sample API call for  list VPC offerings:
http://localhost:8080/client/api?command=listVPCOfferings&response=xml&name=region-level-vpc-ovs-offering&displayText=region-level-vpc-ovs-offering&supportedServices=Dhcp,Dns,SourceNat,StaticNat,NetworkACL,Connectivity&serviceProviderList[0].service=Dhcp&serviceProviderList[0].provider=VpcVirtualRouter&serviceProviderList[1].service=Dns&serviceProviderList[1].provider=VpcVirtualRouter&serviceProviderList[2].service=SourceNat&serviceProviderList[2].provider=VpcVirtualRouter&serviceProviderList[3].service=StaticNat&serviceProviderList[3].provider=VpcVirtualRouter&serviceProviderList[4].service=NetworkACL&serviceProviderList[4].provider=VpcVirtualRouter&serviceProviderList[5].service=Connectivity&serviceProviderList[5].provider=Ovs&servicecapabilitylist[0].service=Connectivity&servicecapabilitylist[0].capabilitytype=RegionLevelVpc&servicecapabilitylist[0].capabilityvalue=true&sessionkey=8bHbft7UuDp8gPnoxRvVIpndDZk%3D

Sample VPC offering response:

<listvpcofferingsresponse cloud-stack-version="4.4.0-SNAPSHOT"><count>1</count><vpcoffering><id>4f7eda4a-3ab9-4d9f-8dab-275b49382cc5</id><name>region-level-vpc-ovs-offering</name><displaytext>region-level-vpc-ovs-offering</displaytext><isdefault>false</isdefault><state>Disabled</state><service></service><service></service><service></service><service></service><service></service><service></service><distributedvpcrouter>false</distributedvpcrouter><supportsregionLevelvpc>true</supportsregionLevelvpc></vpcoffering></listvpcofferingsresponse>

Modification to existing UI component:
In Home->Network-VPC->Add VPC dialog box should be enhanced to list the VPC offerings that are enabled as drop down box. List of VPC offerings can be obtained with listVPCOfferings api. Selected VPC offering UUID should be passed to the createVPC API command. API call shall look like
 http://localhost:8080/client/api?command=createVPC&response=json&sessionkey=OzBhPJ%2BArPnRmYlbHc0H%2FfJAfxo%3D&name=test&displaytext=test&zoneid=f7d963f6-e87a-4e6c-8076-dd59c42d49e7&cidr=10.1.0.0%2F16&vpcofferingid=e3405273-7ace-4e19-b56a-8db7609d59e8&networkdomain=test&_=1390818884794
In Regions->Local-Details page needs action 'View region level VPC" along with "view GSLb" and "view portable ip". When clicked:
Bring the list view of VPC's that has regionlevelvpc flag set to true in the VPC response obtained from the listVPCs api call. Sample VPC response would be like below.
<listvpcsresponse cloud-stack-version="4.4.0-SNAPSHOT">
<count>1</count>
<vpc>
<id>39b9ad3e-e980-478f-bea0-f330b33ffd79</id>
<name>test</name>
<displaytext>test</displaytext>
<state>Enabled</state>
<zoneid>3d7eab5e-1d83-474c-af22-daf0598cfe35</zoneid>
<zonename>ovs-zone</zonename>
<service>...</service>
<service>...</service>
<service>...</service>
<service>...</service>
<service>...</service>
<service>...</service>
<cidr>10.1.0.0/16</cidr>
<vpcofferingid>4f7eda4a-3ab9-4d9f-8dab-275b49382cc5</vpcofferingid>
<account>admin</account>
<domainid>54376604-af2f-11e3-b034-6aa3f2d55322</domainid>
<domain>ROOT</domain>
<restartrequired>false</restartrequired>
<networkdomain>test</networkdomain>
<fordisplay>true</fordisplay>
<distributedvpcrouter>false</distributedvpcrouter>
<regionlevelvpc>true</regionlevelvpc>
</vpc>
</listvpcsresponse>
Button to Add VPC should be added to the page. When clicked should bring up the 'Add VPC' dialog box
For the VPC's displayed under regions, when "Add new tier" dialog box is displayed, there should be drop down box to list all the zones.The zone id selected should be passed to the API call to create a tier (network) in the VPC.
http://localhost:8080/client/api?command=createNetwork&response=json&sessionkey=qcEaGTSF7O0jndAF0lXUpXINIfY%3D&zoneId=3d7eab5e-1d83-474c-af22-daf0598cfe35&name=tier1&displayText=tier1&networkOfferingId=f716b8fb-b8fd-4f65-8e97-25210fece331&gateway=10.1.1.1&netmask=255.255.255.0&vpcid=39b9ad3e-e980-478f-bea0-f330b33ffd79
Create network offering dialog box need ability to specifying 'StretchedL2Subnet' as capability. In the create network offering dialog box, there should be check box displayed for 'StretchedL2Subnet' as capability. Check box should be displayed only when  'Connectivity' service is checked. API call with check box checked should look like below
http://localhost:8080/client/api?command=createNetworkOffering&response=json&sessionkey=geKqxxwR4WqHnPrJofC5Vl4CukE=&name=streched-l2-offering&displayText=streched-l2-offering&guestIpType=Isolated&lbType=publicLb&servicecapabilitylist[0].service=SourceNat&servicecapabilitylist[0].capabilitytype=SupportedSourceNatTypes&servicecapabilitylist[0].capabilityvalue=peraccount&servicecapabilitylist[1].service=lb&servicecapabilitylist[1].capabilitytype=SupportedLbIsolation&servicecapabilitylist[1].capabilityvalue=dedicated&availability=Optional&servicecapabilitylist[2].service=Connectivity&servicecapabilitylist[2].capabilitytype=StretchedL2Subnet&servicecapabilitylist[2].capabilityvalue=true&egresspolicy=ALLOW&state=Creating&status=Creating&allocationstate=Creating&supportedServices=Dhcp,Dns,Firewall,Lb,SourceNat,StaticNat,PortForwarding,Connectivity&specifyIpRanges=false&specifyVlan=false&isPersistent=false&conservemode=false&serviceProviderList[0].service=Dhcp&serviceProviderList[0].provider=VirtualRouter&serviceProviderList[1].service=Dns&serviceProviderList[1].provider=VirtualRouter&serviceProviderList[2].service=Firewall&serviceProviderList[2].provider=VirtualRouter&serviceProviderList[3].service=Lb&serviceProviderList[3].provider=VirtualRouter&serviceProviderList[4].service=SourceNat&serviceProviderList[4].provider=VirtualRouter&serviceProviderList[5].service=StaticNat&serviceProviderList[5].provider=VirtualRouter&serviceProviderList[6].service=PortForwarding&serviceProviderList[6].provider=VirtualRouter&serviceProviderList[7].service=Connectivity&serviceProviderList[7].provider=Ovs&egressdefaultpolicy=true&traffictype=GUEST&_=1390559056629
In the 'listnetworkofferingsresponse' received on calling 'listNetworkOfferings' shall have the details if the 'supportsstrechedl2subnet' is true or not. Same info should be displayed when network offering is selected

> UI for supporting region level VPC, distributed routing enabled VPC and stretched L2 neworks
> --------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-6255
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6255
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>    Affects Versions: 4.4.0
>            Reporter: Murali Reddy
>             Fix For: 4.4.0
>
>
> UI for supporting region level VPC, distributed routing enabled VPC and stretched L2 neworks



--
This message was sent by Atlassian JIRA
(v6.2#6252)