Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Cloudstack to leverage NCC and use NCC for managing all NS devices. Provison Provision NS VPX in CS Computing Fleet when NCC requests for deploying new VPX

...

JIRA Tickets

Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyCLOUDSTACK-86738672

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyCLOUDSTACK-8673
 

...

  1. Cloud Admin should be able to manage all types of NS devices using NCC
  2. Cloud Admin can choose what kind of an NS offering can be used using Service Package from NCC.

  3. Admin can leverage service package to use different versions of Netscaler devices.
  4. Admin can leverage service package to use Netscaler devices in Shared or Dedicated mode
  5. Admin can choose to provision of NS VPX in CS
  6. Admin can choose to provision of NS VPX with different Compute offerings
  7. CS Accounts and Users should be able to provision these network offerings - which should in-turn provision the Netscaler VPX/SDX instances without any admin intervention - including license application. 
  8. CS Accounts and Users should be able to upgrade from one VPX network offering to another which could be another VPX / SDX / MPX offering
  9. CS Accounts and Users should be able to setup Netscaler VPX in HA Pairing mode

...

Benefits of Using NCC in CloudStack

Capacity pooling across all NetScaler infrastructure. NetScaler Control Center is designed to efficiently pool and manage capacity across all NetScaler appliances including physical (MPX), virtual (VPX), and multi-tenant (SDX) form factors

...

  1. Support of creation of LB rules on Netscaler devices (VPX or MPX)
  2. Support creation of LB HealthChecks policies on Netscaler devices
  3. Support creation of LB Stickiness policies on Netscaler devices.
  4. Support creation of AutoScaler policies on Netscaler devices.
  5. Support creation of GSLB rules on Netscaler devices.
  6. Support metering of public IP usage in Netscaler devices
  7. Support SSL Termination (SSL termination framework is implemented by Apache Cloudstack community for LB on NS devices). Here is the link for the FS https://cwiki.apache.org/confluence/display/CLOUDSTACK/SSL+Termination+Support
  8. Support of deploying guest networks with Managed NetScaler Devices( VPX, MPX, SDX) from NCC.
  9. Support of deploying Auto provisoning provisioning NS VPX in CS supported only if the guest network requires Dedicated Mode NetScaler device. NCC will request CloudStack to deployNSVpx in CloudStack only if the network requires dedicated NS VPX 

...

  1. NCC should provide Rest API  to add NCC details to CS.
  2. NCC should understand CloudStack request for discovering the NCC capabilities.
  3. NCC's management network should be reachable from CS.
  4. There will be a single NCC for an entire CloudStack deployment. 

Work Flow

 

Image RemovedImage Added

Pre-setup

  1. Install NCC and Configure NCC.
  2. NCC management IP should be reachable to CS.
  3. CS should be able to reach NCC Manager (NCC manager is up and running).

...

  1. NCC Admin will create Service Package in NCC.
  2. After Creating Service Package, Admin will register services packages in CS by calling registerServicePackage api API 

Registering NS VPX Template

  1. When Service package is created in NCC, NS VPX image will be associated to with the SP. 
  2. When NCC Admin registers ServicePackage in CS, NCC will upload the associated VPX Image to the CS via RegisterTemplate API and this template will be cross zones.

...

  1.    Can't see the service packages in the Create Network Offering wizard
    1. Either NCC Admin didn't create any Service Packages or issues in API of Listing the services packages in CS.
  2. Verifying the LB rules created in guest network
    1. Find the network id, go to NCC UI and find the device allocated to the network and verify LB configurations can be seen in the device
  3. Guest Network creation is failed on NetscalerElement
    1. NCC was not able to allocate a device matching to the requirements of services package to the network.
  4. LB Rule creation Failed
    1. Login to NCC and check the NCC log to find the log for the LB rule creation
  5. Auto Provision VPX in CS is failed
    1. Admin can check the reason for failure in management log. 
    2. Reasons could be 
      1. Template not available to use 
      2. Insufficient capacity exception (computeCompute, IP address etc were not available).

...

Integration with NCC is via RestAPI with JSON payload.

When cmd has to be send sent to NCC, NCCResource will convert the java cmd to JSON payload and send the request as RestAPI with json JSON payload.

When NCC sends the response it will send the response in jsonJSON, NCCResource will convert the response assocated to associated with java type Answer and uses it.

...

Admin registers CloudStack in NCC with CS IP, api API key, and secret key

Admin registers NCC Manager with CloudStack with NCC IP, username, and password.

When NCC is registered in CS, NCCResource will be created and configured with details.

Admin can delete the NCC if  no no guest network is using NCC.

...

As the Admin creates the service package in NCC, the title of the Service Package will tell the Capabilities of the Service Package

When the guest network is implemented with above created Network offering, then for the network, NCC device will be mapped.

...

Admin has to login to NCC and check checks the Network to Device Mapping.

Managing Guest Network with Pre-Provisioned devices (VPX/MPX) in NCC:

Discussion Notes:

Image Removed

 Image Added

 

Admin creates a guest network with network offering using NS as Service provider and chooses appropriate Service Package. When the guest network is to be implemented for LB service, NetscalerElement will be called. NetScaler element will check the network offering and see if the service package is present then it will delegate the call to registered NCCManager. NCC Manager will try to implement the network by reserving a pre-existing or already registered device in NCC. Once NCC able to allocate a device for the Network it will send Implement Network as true else it will send false. For the True response from NCC, NetscalerElement will send True and NetworkOrchestrator will continue to implement other network services or it will fail the Network Implementation if the response is false.

Managing Guest Network with Auto Provisioning VPX devices on SDX managed in NCC:

Discussion Notes:

 Image RemovedImage Added

 

In the case of VPX auto provisioning in SDX through NCC, when the implement call comes to NCC to allocate a device to the guest network, NCC will auto-provision a an NS VPX on the SDX box configured in NCC. 

Once the NS VPX is successfuly successfully provisioned and configured with network details then NCC will send True for the Implement network call or else it will send False and the Network Implementation will result in failure.

Managing Guest Network with Auto Provisioning VPX devices in CS and manage in NCC:

Work Flow:

Image AddedImage Removed


For this case, NCC will register the NS VPX image with cloudstack CloudStack by call RegisterTemplateApi. In this case, when NCC has to implement the network call, NCC will send a request to the CloudStack to deploy NetScaler VPX with already registered NS VPX image in CS. CS wil will provision the NS VPX in either XenServer or VMWare hypervisor. CS will create 3 NICs (Management, public, private), reserves a management IP from the pod and pushes it to get configured in management nic in NS Device.

Once the VPX is provisoned provisioned CS will mark the status of Service VM as running. NCC keeps polling the job of deploying VPX in CS. Once the job is completed and Successful, NCC will allocate the device to the guest network and returns Implement Network true. if deploy vpx VPX job fails then NCC will return False to the implement implemented network and CS will fails fail the Network implementation and shutdowns the network  When CS deploys VPX, it will deploy without HA at the point of this writing. if the VPX goes down for any reason Admin has to take care of recovering the VPX and get it running. Live Migration of VPX running its compute Compute fleet is supported only if the NS VPX image is supported on Vmware/XenServer.

...

Admin/User creates LB rule, then NetScaler will receive CreateLoadBalancerCmd. NetScaler will delegate the cmd to the registered NCC.

when NCC will receives receive the cmd, it will find the device allocated for the network where LB rule is getting created.

...

if the response is true, then it's LB rule creation is successful else it failed to created create the LB rule.

if the LB rule creation is failed, details of the failure will be logged in MS log.

Admin can look at the log and find the issue. If the failure/issues is are at NCC, Admin can login to NCC and check the details for the Root cause for failure.

...

  1. Advance Zone Isolate Network (VLAN Isolation)
    1. Remaining services should be looked at priority. (LB, healthcheckshealth checks, autoscale )
    2. GSLB low priority 
  2. Advance zone VPC Public Tier (in the tier where Netscaler is supported as external LB)
  3. Advance Zone Shared Network (stretch goal)
  4. Basic Zone EIP/ELP ( this is stretch goal)
  5. NS (VPX, MPX, VPX on SDX) will be supported with VLAN configuration only.

HA for VPX/MPX/SDX managed by NCC

When NCC deploys VPX, ccp CCP won't enable the HA when deploying the VPX. HA for the services in VPX will be taken care by the NCC. If NC deploys VPX, and for any reason, if the VPX goes down in CCP Admin has to take care of troubleshooting it.

HA will be offered by NCC for the VPX/MPX/Vpx on SDX by Active-Passive mode of HA nodes.

When NCC requests to deploy the VPX in CloudStack for HA mode, the HA node will be deployed in the Same Pod.

When deploying (NS-VPX) HA Node, deployNSVpx will have a param which tell tells the first Vpx. CloudStack will find the deployment of the first VPX and deploys the HA node in the same pod (but not in same the same host)

Out of Scope

  1. KvmKVM, HyperV, and Baremetal Bare metal hypervisor specific changes
  2. HA offering for the auto provisioned VPX

...

registerNetscalerServicePackage - This new api API will be used to register the new service packages created Admin in NC

...

deleteNetscalerServicePackage : This api API is to delete the service package registered in CS

...

Parameter
Type
Optional/Required
Comment
zoneidStringRequiredzone id
podidStringRequiredid of the pod

 

createNetworkOffering apiAPI: new param is added to createnetworkoffering apiAPI.

Parameter
Type
Optional/Required
Comment
servicepackageidStringOptionalid of the service package, default value is empty/null
NSVPX Life Cycle Management API's

 deployNsVpx : this api API will deploy the NS VPX in cloudstackCloudStack. This api API will take the same params as deployvirtualmachine  api deployvirtualmachine API expect the network details (will update more details about params)

 

 startNSVpx:  This api API will Start the NS Vpx given the id of the NS Vpx by admin.

Parameter
Type
Optional/Required
Comment
idStringRequiredid of the NSVpx


stopNSVpx: This api API will stop the NS Vpx given the id of the NS Vpx by admin.

Parameter
Type
Optional/Required
Comment
idStringRequiredid of the NSVpx vm


destroyNSVpx: This api API will destroy the NS Vpx given the id of the NS Vpx by admin only if the NSVpx is in stopped state (running vpx VPX means its providing the service. if admin manually stops and destroy the vpxVPX. Its It's Admin choice to do it. When NsVpx is not available then admin should try to re-provision the vpx VPX as part of troubleshooting)

Parameter
Type
Optional/Required
Comment
idStringRequiredid of the NSVpx vmVM
    



listNSVpx :

This api API will list Vpx(which VMs running on CloudStack Managed Hypervisors) which are auto provisoned -provisioned by CloudStack  on NCC request in CloudStack

...

For auto provisioning VPX in CS

    1. XenServer (POC is done to pass NS
  1. ip
    1. IP details to VPX while booting up to setup NSIP)
  2. VmWare 
    1. VMware (No POC is done. KB article available on how to pass the info. depending on this KB article http://support.citrix.com/article/CTX128250 )

UI Flow

    1. Change in Network Offering to show the service packages when Managed NS is selected as Service Provider
    2. New Wizard to Add NCC Manager
    3. Placer holder in the UI to show/list registered NCC Manager
    4. New tab/box to show auto provisioned NS Vpx in CS Fleet

Upgrade

              Seamless The seamless upgrade is not part of this release.

...

For a customer wants to upgrade an existing Nitro based implemented network to NCC based network offering they have the do the following.

      • Add NS devices with the same interface information like public/private interface VLANs should be appropriately configured in NetScaler ControlCenter.
      • Upgrade the
    • networkoffering
      • network offering of a network.

For upgrading a network which is using dedicate dedicated instance on SDX.
    • Create a ServicePackage with the following spec and create a network offering with the SDX servicepackageservice package.
    • Upgrade the networkoffering network offerings of the existing network to SDX based network offering.

For upgrading a network which is using shared instance on SDX.
      • Create SDX instances manually on the SDX or can add the existing instances.
      • Create a Servicepack and add these manually created instances.
      • Upgrade the networkoffering network offering of the existing network to SDX based network offering.

...