Provisioning Process
This section describes the process for provisioning VPLS using XML examples.
The complete list of XML examples for VPLS is available here:
Cisco Prime Provisioning API 7.2 Programmer Reference
Note For clarity, this provisioning process shows each step as a separate XML request. Many of these steps can be combined using performBatchOperations.
Step 1 Create device groups (optional).
Table 8-1 Create Device Group
|
|
|
createInstance |
DeviceGroup |
Name |
XML Examples:
Tip If you plan to create device groups, create the empty device groups before you create the devices. As you create each device, add the associated device group name as a key property in the create device XML request.
In the following example, the device group (CustDev) is added as a key property when creating the device CiscoRouter:
<objectPath xsi:type="ns1:CIMObjectPath">
<className xsi:type="xsd:string">CiscoRouter</className>
<properties xsi:type="ns1:CIMPropertyList" soapenc:arrayType="ns1:CIMProperty[]">
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">DeviceGroup</name>
<value xsi:type="xsd:string">CustDev</value>
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">CfgUpDnldMech</name>
<value xsi:type="xsd:string">DEFAULT</value>
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">TransportMechanism</name>
<value xsi:type="xsd:string">DEFAULT</value>
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">Password</name>
<value xsi:type="xsd:string">vpnsc</value>
Step 2 Create devices.
Every network element that Prime Provisioning manages must be defined as a device in the system. An element is any device from which Prime Provisioning can collect configuration information.
Table 8-2 Create Devices
|
|
|
createInstance |
Note If the service definition policy subtype is VPLS_ERS, the CE must be a CiscoRouter. |
One or more of the following:
- ManagementIPAddress
- HostName
- DomainName
|
XML Examples:
- CreateCiscoRouter.xml
- CreateCat.xml
Step 3 Collect device configurations.
A device configuration collection is a task. This task uploads the current configuration from the device to the Prime Provisioning database. The collection task is executed through a service request, and the service request is scheduled through a service order.
Note The service request name must be unique for each NBI API.
Table 8-3 Collect Device Configurations
|
|
|
createInstance |
ServiceOrder |
- ServiceName
- NumberofRequests
- ServiceRequest
|
|
ServiceRequest |
- RequestName
- Type=Task
- ServiceRequestDetails
|
|
ServiceRequestDetails |
- SubType=COLLECTION
- Device (or DeviceGroup)
Note You must select at least one device or device group.
- RetreiveVersion=true
- RetreiveDeviceInterfaces=true
|
XML Examples:
- CreateTaskServiceOrderCollection.xml
Step 4 Create a provider.
The provider is the administrative domain of an ISP, with one BGP autonomous system (AS) number. The network owned by the provider is called the backbone network. If an ISP has two AS numbers, you must define it as two provider administrative domains.
Table 8-4 Create a Provider
|
|
|
createInstance |
Provider |
|
XML Examples:
CreateProvider.xml
Step 5 Create regions.
Each provider can contain multiple regions.
Table 8-5 Create Regions
|
|
|
createInstance |
Region |
|
XML Examples:
CreateRegion.xml
Step 6 Declare devices as PEs.
The XML request that assigns a PE role to a device is also used to:
- Assign PE devices to Regions/Provider
- Specify interface information
Table 8-6 Create PE Devices
|
|
|
createInstance |
PE |
– PE_CLE – PE_POP
|
XML Examples:
CreatePE.xml
Step 7 Create access domains.
Prime Provisioning assigns a VLAN ID to the attachment circuit from the VLAN ID pool. Select all PE-POP devices to be associated with this domain, and later in the process, when VLAN ID pools are created, the PE-POP is automatically assigned a VLAN ID.
Note If provisioning for an Ethernet provider core, all PE devices must be in the same access domain and a single VLAN ID is used for the entire VPLS VPN. If provisioning for an MPLS provider core, the PE devices can be in different access domains.
Table 8-7 Create Access Domains
|
|
|
createInstance |
AccessDomain |
- Name
- Provider
- PE (Role must be PE_POP)
|
XML Examples:
Step 8 Create a customer.
A customer is a requestor of VPN services. Each customer can contain multiple customer sites. Each site belongs to only one customer and can contain multiple CPEs.
Table 8-8 Create Organization
|
|
|
createInstance |
Organization |
|
XML Examples:
Step 9 Create sites and assign customers (Organizations) to them.
Table 8-9 Create Sites
|
|
|
createInstance |
Site |
|
XML Examples:
Step 10 Declare devices as CPEs. This step is not required for service subtypes with no CE present.
Table 8-10 Create CPE Devices
|
|
|
createInstance |
Cpe |
- Site
- Device
- ManagementType
|
XML Examples:
Step 11 Create Named Physical Circuits (NPCs). This step is not required if you plan to manually configure the physical links in the VPLS service request (Step 16).
Create an NPC for each attachment circuit (CE/UNI to PE-POP link). If there are intermediate devices, those links must also be added to the NPC using PhysicalLink.
Note When creating an NPC, you must specify the CPE as the source device and the PE-POP as the destination device. If there are intermediate devices, such as PE-CLEs, the source and destination devices must follow the direction of the CPE to PE-POP link.
Table 8-11 Create Named Physical Circuits
|
|
|
createInstance |
NamedPhysicalCircut |
PhysicalLink |
|
PhysicalLink |
- SrcDevice
- DestDevice
- SrcIfName
- DestIfName
|
You can create one XML request for the NamedPhysicalCircuit and include multiple PhysicalLinks as shown in the following example:
<objectPath xsi:type="ns1:CIMObjectPath">
<className xsi:type="xsd:string">NamedPhysicalCircuit</className>
<properties xsi:type="ns1:CIMPropertyList"
soapenc:arrayType="ns1:CIMProperty[]">
<objectPath xsi:type="ns1:CIMObjectPath">
<className xsi:type="xsd:string">PhysicalLink</className>
<properties xsi:type="ns1:CIMPropertyList"
soapenc:arrayType="ns1:CIMProperty[]">
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">SrcDevice</name>
<value xsi:type="xsd:string">Device1</value> </item>
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">DestDevice</name>
<value xsi:type="xsd:string">Device2</value> </item>
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">SrcIfName</name>
<value xsi:type="xsd:string">Intf1/0</value> </item>
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">DestIfName</name>
<value xsi:type="xsd:string">Intf2/1</value> </item>
<objectPath xsi:type="ns1:CIMObjectPath">
<className xsi:type="xsd:string">PhysicalLink</className>
<properties xsi:type="ns1:CIMPropertyList"
soapenc:arrayType="ns1:CIMProperty[]">
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">SrcDevice</name>
<value xsi:type="xsd:string">Device3</value> </item>
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">DestDevice</name>
<value xsi:type="xsd:string">Device5</value> </item>
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">SrcIfName</name>
<value xsi:type="xsd:string">Intf3/0</value> </item>
<item xsi:type="ns1:CIMProperty">
<name xsi:type="xsd:string">DestIfName</name>
<value xsi:type="xsd:string">Intf5/1</value> </item>
XML Examples:
- CreateNamedPhysicalCircuit.xml
- CreateNamedPhysicalCircuitRing.xml—Use this example if there is a Ring topology configuration on the PE-CLEs.
- CreateNamedPhysicalCircuitRingExisting.xml—Use this example to reference an NPC ring that has already been created.
Step 12 Create VLAN ID pool.
Create a VLAN ID pool, specify a range, and associate it to an access domain to manually enter the parameters for a VLAN ID pool. To have Prime Provisioning automatically assign VLANs to the attachment circuits, specify the Autopick_Vlan_ID keyword in the service definition (Step 15).
When provisioning for an Ethernet core, VPLS service requests use the VLAN ID to reference the attachment circuits.
Table 8-12 Create VLAN ID Pools
|
|
|
createInstance |
VlanIdPool |
- Start
- Size
- AssocClassType
- AssocClassId
|
XML Examples:
Step 13 Create VC ID pool.
For a VPLS VPN, all PE-POP routers use the same VC ID to establish the virtual circuit (VC) across the provider core. The VC ID is also the VPN ID and is assigned from the VC ID pool. Prime Provisioning ensures that VC IDs are unique among VPLS VPNs.
Note A VC ID pool is global (not associated with a provider or organization).
Table 8-13 Create VC ID Pool
|
|
|
createInstance |
VcIdPool |
|
XML Examples:
Step 14 Create a VPN.
When you create a VPN to use in VPLS provisioning, you must enable it to support VPLS (VplsVpn=true), and define the type of service (ERS or EWS).
Prime Provisioning assigns a VPN ID (from the VC ID pool) to each VPLS VPN.
Table 8-14 Create VPNs
|
|
|
createInstance |
VPN |
- Name
- Organization or Provider
- VplsVpn=true
- ServiceType=
– ERS – EWS |
XML Examples:
Step 15 Create the VPLS service definition (policy).
A VPLS service definition specifies the core type, service subtype, device properties, and the attributes common to all attachment circuits.
Table 8-15 Create a VPLS Service Definition
|
|
|
createInstance |
ServiceDefinition |
- Name
- Type=Vpls
- Provider or Organization
Note If you do not specify a Provider or Organization, the service policy is global
|
|
ServiceDefinitionDetails |
– VPLS_EWS – VPLS_EWS_NO_CE – VPLS_ERS – VPLS_ERS_NO_CE
– MPLS – Ethernet
– DOT1Q – DEFAULT Note If you specify DEFAULT, define the port type with the Use_Native_Vlan attribute. – Use_Native_Vlan=true for Trunk with Native VLAN. – Use_Native_Vlan=false for Access Port.
– MacAddress (You can list multiple secure MAC addresses)
|
Note If Autopick_Vlan_ID=true, be sure that an access domain is attached to the PE-POP, and a VLAN ID pool is assigned to the access domain (Step 7).
XML Examples:
- CreateVPLSServiceDefn_EWS.xml
- CreateVPLSServiceDefn_EWS_NO_CE.xml
- CreateVPLSServiceDefn_ERS.xml
- CreateVPLSServiceDefn_ERS_NO_CE.xml
Step 16 Create the VPLS service request.
An VPLS service request defines the service definition and VPN, assigns interfaces and attributes for each attachment circuit (VplsLink), and applies any template information.
Table 8-16 Create a VPLS Service Request
|
|
|
createInstance |
ServiceOrder |
- ServiceName
- NumberOfRequests
- Provider or Organization
Note If you do not specify a Provider or Organization, the service policy is global.
|
|
ServiceRequest |
- RequestName
- Type=Vpls
- ServiceRequestDetails
|
|
ServiceRequestDetails |
– ServiceDefinitionType=Vpls
|
|
VplsLink |
or
– PE – CE (not required for policy subtypes with no CE present) Note You can use either NPC or ManualConfig to define the VplsLink interfaces. If you use ManualConfig, you must also specify the interfaces (CE_Intf_Name, UNIDeviceInterface for NO_CE subtypes, and PE_Intf_Name).
- VplsUniMacAddress
- Link Template (optional)
Note See the “Templates in a Service Request” section. |
Tip Record the LocatorId value from the XML response for the service request. The Locator ID is required for subsequent service request tasks.
XML Example:
- CreateVPLSServiceOrder_ERS.xml
- CreateVPLSServiceOrder_ERS_NO_CE.xml
- CreateVPLSServiceOrder_EWS.xml
- CreateVPLSServiceOrder_EWS_NO_CE.xml