[
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)