Topology management

We can edit the topology using dedicated API calls. We can add/remove/edit:

  • VIMs

  • Networks

  • Routers

  • PDUs

  • K8s Clusters

  • Prometheus servers

The structure of the data to be used in requests can be found in the bottom of NFVCL Swagger ( http://NFVCL-IP:5002/docs )

Create new resource

You can create a new resource (which are listed above) using the correspondent POST request that you can find in the Swagger ( http://NFVCL-IP:5002/docs ). We will see two example, Openstack first and then Proxmox, of POST to create VIM in the topology /v1/topology/vim

{
     "name": "string",
     "vim_type": "openstack",
     "vim_url": "string",
     "vim_user": "admin",
     "vim_password": "admin",
     "vim_timeout": TIMEOUT_IN_SECOND,
     "ssh_keys": [
       "string"
     ],
     "vim_openstack_parameters": {
       "region_name": "RegionOne",
       "project_name": "admin",
       "user_domain_name": "Default",
       "project_domain_name": "Default"
     },
     "config": {
       "insecure": true,
       "APIversion": "v3.3",
       "use_floating_ip": false
     },
     "networks": [
       "string"
     ],
     "routers": [
       "string"
     ],
     "areas": [
       0
     ]
}
{
    "name": "string",
    "vim_type": "proxmox",
    "vim_url": "string",
    "vim_user": "admin",
    "vim_password": "admin",
    "vim_timeout": TIMEOUT_IN_SECOND,
    "ssh_keys": [
      "string"
    ],
    "vim_proxmox_parameters": {
      "proxmox_realm": "pam",
      "proxmox_node": "null",
      "proxmox_images_volume": "local",
      "proxmox_vm_volume": "local-lvm",
      "proxmox_token_name": "YOUR_TOKEN_NAME",
      "proxmox_token_value": "YOUR_TOKEN_VALUE",
      "proxmox_otp_code": ""
    },
    "config": {
      "insecure": true,
      "APIversion": "v3.3",
      "use_floating_ip": false
    },
    "networks": [
      "string"
    ],
    "routers": [
      "string"
    ],
    "areas": [
      0
    ]
}

Warning

For Proxmox the field proxmox_token_name is the name of the token that you can find in your proxmox server Datacenter > Permission > Api Tokens and in the table Token Name. Token and Otp code are optional paramaters, instead vim_user and vim_password must be provided.

Delete resource

To delete a resource it is sufficient to make a DELETE request giving the resource ID. We will use as example the DELETE to delete a VIM /v1/topology/vim/{{ VIM_ID }}