Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation
Guide That Contains This Content
[+] Expand All
[-] Collapse All

    Creating and Managing POPs

    Creating a POP involves multiple procedures with different APIs.

    Creating a VIM Instance in Network Service Orchestrator That Maps to Contrail OpenStack

    The Cloud CPE Centralized Deployment Model supports one VIM for all POPs. You create the VIM instance in Network Service Orchestrator, specifying fields that map to Contrail OpenStack, which provides the actual VIM.

    This procedure uses the following Network Service Orchestration API:
    http://server-IP-address:8006/restconf/data/maestro/resource-management/
    vim-instance

    Table 1 shows the fields that you must specify for this procedure.

    Table 1: Required Fields for Creating a VIM Instance

    Field

    Description

    Example

    address

    IP address of Contrail OpenStack node

    10.102.28.36

    auth-uri

    URI of Contrail OpenStack node

    http://10.102.28.36:5000/v3

    password

    Password for Contrail OpenStack node

    contrail123

    name

    Name of the VIM instance in Network Service Orchestrator

    test-setup

    To create a VIM in Network Service Orchestrator:

    1. Create an input file.
      For example:
      ubuntu@vm1:~$cat vim.json
       
      { "address": "10.102.28.36",
      "contrail-openstack": { "auth-uri": "http://10.102.28.36:5000/v3",
      "domain-name": "Default", "password": "contrail123",
      "tenant-name": "admin",
      "username": "admin"
      }, "name": "test-setup"
      }
      ubuntu@vm1:~$
    2. Issue a REST call to create the VIM instance in Network Service Orchestrator.

      The API returns an identifier for the VIM instance.
      For example:

      ubuntu@vm1:~$ curl -X POST -D headers -H "content-type:application/json" -H "x-auth-token:$OS_TOKEN" http://10.102.56.35:8006/restconf/data/maestro/
      resource-management/vim-instance -d @vim.json
      {"vim-id": "7ee919a7-dc5b-44ba-aefb-56c13d75fba4"}

    Creating a POP Instance in Network Service Orchestrator

    You create one or more POPs in Network Service Orchestrator, specifying fields that point to the VIM and the availability zone in which Contrail OpenStack creates services chains and their associated VMs.

    This procedure uses the following Network Service Orchestrator API: http://server-IP-address:8006/restconf/data/maestro/resource-management/nfvi-pop-instance

    Table 2 shows the fields that you must specify for this procedure.

    Table 2: Required Fields for Creating a POP Instance in Network Service Orchestrator

    Field

    Description

    Example

    compute-zone

    Availability zone in Contrail OpenStack in which the VMs for network services reside.

    nova

    description

    Description of the POP

    POP for testing

    name

    Name of the POP instance

    test-setup

    vim-id

    Identifier of the VIM instance, which is obtained when you create a VIM instance in Network Service Orchestration.

    7ee919a7-dc5b-44ba-aefb-56c13d75fba4

    To create a POP in Network Service Orchestrator:

    1. Create an input file.
      For example:
      ubuntu@vm1:~$cat pop.json
       
      { 
          "name": "test-setup", 
          "description": "POP for testing", 
          "vim-id": "7ee919a7-dc5b-44ba-aefb-56c13d75fba4", 
          "compute-zone" : "nova" 
      } 
    2. Issue a REST call to create the POP instance in Network Service Orchestrator.

      The API returns an identifier for the POP.
      For example:

      ubuntu@vm1:~$ curl -X POST -D headers -H "content-type:application/json" -H "x-auth-token:$OS_TOKEN" http://10.102.56.35:8006/restconf/data/maestro/resource-management/nfvi-pop-instance -d @pop.json
      {"pop-id": "aa062de4-1d77-4e3c-b2df-b0a7682f95c6"}
      

    Enabling the POP Instance

    After you create a POP in Network Service Orchestrator, you must enable it.

    This procedure uses the following Network Service Orchestration APIs:

    • Enable the POP:
      http://server-IP-address:8006/restconf/operations/maestro/pop-enable
    • Verifying the POP is enabled:
      http://server-IP-address:8006/restconf/data/maestro/resource-management/nfvi-pop-instance/pop-id
      POP-identifier

    Table 3 shows the field that you must specify for this procedure.

    Table 3: Required Field for Enabling a POP Instance in Network Service Orchestrator

    Field

    Description

    Example

    pop-id

    Identifier of the POP instance, which is obtained when you create a POP instance in Network Service Orchestration.

    aa062de4-1d77-4e3c-b2df-b0a7682f95c6

    To enable a POP instance in Network Service Orchestrator:

    1. Create an input file.
      For example:
      ubuntu@vm1:~$cat pop-enable.json
       
        
      { 
         "input":{ 
            "pop-id":"aa062de4-1d77-4e3c-b2df-b0a7682f95c6" 
         } 
      } 
    2. Issue a REST call to enable the POP.

      The API returns an identifier for the action and the identifier for the POP.
      For example:

      ubuntu@vm1:~$ curl -X POST -D headers -H "content-type:application/json" -H "x-auth-token:$OS_TOKEN" http://10.102.56.35:8006/restconf/
      operations/maestro/pop-enable -d @pop-enable.json
      {"job-id": "4127c200-a693-4ce6-bc72-84f7b951c9b7", "pop-id": "aa062de4-1d77-4e3c-b2df-b0a7682f95c6"}
    3. Verify that the POP is enabled.

      The API returns details and status for the POP.
      For example:

      ubuntu@vm1:~$ curl -X GET -H "x-auth-token:$OS_TOKEN" http://10.102.56.35:8006/restconf/data/maestro/
      resource-management/nfvi-pop-instance/aa062de4-1d77-4e3c-b2df-b0a7682f95c6 | python -mjson.tool
      { 
          "capacity": { 
              "cores": 80, 
              "ram": 64008 
          }, 
          "compute-zone": "nova", 
          "description": "test-setup", 
          "inventory": { 
              "hosts": 2, 
              "storage-pools": 0 
          }, 
          "name": "test-setup", 
          "pop-id": "aa062de4-1d77-4e3c-b2df-b0a7682f95c6", 
          "state": "enabled", 
          "usage": { 
              "cores": 8, 
              "ns-instances": 0, 
              "ram": 17408, 
              "vl-instances": 0, 
              "vms": 4, 
              "vnf-instances": 0, 
              "volumes": 0 
          }, 
          "vim-id": "7ee919a7-dc5b-44ba-aefb-56c13d75fba4" 
      } 

    Creating a POP Instance for a Customer

    For each customer, you create a POP instance in Cloud CPE Tenant, Site and Service Manager that specifies the POP instance defined in Network Service Orchestrator. The API returns an identifier for the VIM instance.

    This procedure uses the following Cloud CPE Tenant, Site and Service Manager API: http://server-IP-address:8006/csas/pops

    Table 4 shows the fields that you must specify for this procedure.

    Table 4: Required Fields for Creating a POP Instance in Cloud CPE Tenant, Site and Service Manager

    Field

    Description

    Example

    fq-name

    Fully qualified domain name of the POP instance (domain name and instance name)

    “default-domain”,
    “buddhi-pop”

    nfv_popid

    Identifier of the POP instance, which is obtained when you create a POP instance in Network Service Orchestrator

    aa062de4-1d77-4e3c-b2df-b0a7682f95c6

    To create a POP instance in Cloud CPE tenant, Site and Service Manager:

    1. Create an input file.
      For example:
      ubuntu@vm1:~$cat csas_pop.json
      { 
          "pop":{ 
              "fq_name":[ 
                  "default-domain", 
                  "buddhi-pop" 
              ], 
              "parent_type": "domain", 
              "nfv_popid":"aa062de4-1d77-4e3c-b2df-b0a7682f95c6" 
          } 
      } 
    2. Issue a REST call to create the POP instance in Cloud CPE Tenant, Site and Service Manager.

      The API returns information about the POP instance.
      For example:

      ubuntu@vm1:~$ curl -X POST -D headers -H "content-type:application/json" -H "x-auth-token:$OS_TOKEN" http://10.102.56.39:9788/csas/pops -d @csas_pop.json
      { 
         "pop":{ 
            "fq_name":[ 
               "default-domain",
               "buddhi-pop"
            ],
            "parent_uuid":"fc30e201-9e7d-408f-b878-cfef838e4b3a",
            "parent_href":"http://10.102.56.39:9788/csas/domains/fc30e201-9e7d-408f-b878-cfef838e4b3a",
            "uuid":"f8567ec7-34bd-4fd9-a170-9019b0be9d06",
            "href":"http://10.102.56.39:9788/csas/pops/f8567ec7-34bd-4fd9-a170-9019b0be9d06",
            "name":"buddhi-pop"
         }
      }
       

    Modified: 2016-01-29