Product Documentation

Admin Partitions API

Sep 08, 2016

To create an admin partition, you must perform a set of operations on the default partition. To understand this procedure, let us consider a company that has two departments each of which has an application that requires the NetScaler functionality. The NetScaler admin wants to have a different partition for each department so that there is isolation of users and configurations. The NetScaler admin must do the following (the sample shows configurations only for a single admin partition):

Note: For detailed information and best practices, see Admin Partitions.
  1. Create a partition and allocate the required resources to that partition.
    //Creating a new partition... 
    nspartition nspartitionObject = new nspartition() 
    nspartitionObject.partitionname = "partition-dept1" 
    nspartitionObject.maxbandwidth = 10240 
    nspartitionObject.maxconn = 1024 
    nspartitionObject.maxmemlimit = 10 
    nspartitionObject.minbandwidth = 1240 
    base_response result = nspartition.add(nitroService, nspartitionObject)
  2. Associate the appropriate users with the partition.
    //Associating user1 to partition-dept1...  
    systemuser_nspartition_binding systemuser_nspartition_binding_object = new systemuser_nspartition_binding() 
    systemuser_nspartition_binding_object.partitionname = "partition-dept1" 
    systemuser_nspartition_binding_object.username = "user1" 
    base_response result = systemuser_nspartition_binding.add(nitroService, systemuser_nspartition_binding_object)
  3. Associate an appropriate command policy to the admin partition user.
    //Associating partition-admin to user1...  
    systemuser_systemcmdpolicy_binding systemuser_systemcmdpolicy_binding_object = new systemuser_systemcmdpolicy_binding() 
    systemuser_systemcmdpolicy_binding_object.username = "user1" 
    systemuser_systemcmdpolicy_binding_object.policyname = "partition-admin" 
    systemuser_systemcmdpolicy_binding_object.priority = 1 
    base_response result = systemuser_systemcmdpolicy_binding.add(nitroService,systemuser_systemcmdpolicy_binding_object)
  4. Specify the VLANs or bridgegroups to be associated with the partition. This step ensures network isolation of the traffic. Traffic received on the interfaces of the VLAN or bridgegroup is isolated from the traffic of other partitions.
    //Specifying the VLAN to be associated with the partition... 
    nspartition_vlan_binding nspartition_vlan_binding_object = new nspartition_vlan_binding() 
    nspartition_vlan_binding_object.vlan = 2 
    nspartition_vlan_binding_object.partitionname = "partition-dept1" 
    base_response result = nspartition_vlan_binding.add(nitroService, nspartition_vlan_binding_object)
  5. Save the configurations
    //Saving the configurations... 
    nitroService.save_config()

    The admin partition is created.

  6. Now, to configure this admin partition, you must logout of the default partition and logon again. You are automatically taken to the admin partition to which you were first bound and once there you can configure the NetScaler.
    Note: If you want to configure another admin partition, perform the switch operation given in the next step before performing this step.
  7. [Optional] If you are associated with multiple admin partitions, you can switch to the required partition.
    //Switching to other partition named partition-dept2...  
    nspartition nspartitionObject = new nspartition() 
    nspartitionObject.partitionname = "partition-dept2" 
    base_response result = nspartition.Switch(nitroService, nspartitionObject)