
This is a complete change in which we have add the OCCI IPRESERVATION class with the features provided by CESNET. We include: the controller, the occi class, middleware changes, and tests to control it. In addition, we have modified networklink to support this feature, now networklink is identified by using only compute id and ipreservation ip. Last, we add the documentation relate to its usage. Change-Id: I52f80a9a7a39e00d1d7487001863586a551edf5f
439 lines
22 KiB
ReStructuredText
439 lines
22 KiB
ReStructuredText
Usage documentation
|
|
===================
|
|
|
|
Discovery
|
|
*********
|
|
|
|
In order to discover the available resources in the system, OOI provides a view
|
|
of the relevant resources for its usage::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/-/
|
|
|
|
It will show the OCCI and OpenStack resources related to OOI.
|
|
|
|
|
|
Compute
|
|
*******
|
|
|
|
It allows to create, list, show and delete VMs.
|
|
|
|
List compute
|
|
------------
|
|
|
|
It lists VMs::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/compute
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/compute/703910d7-97f7-4e3e-9243-30830591f624
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/compute/0ce5df96-7e61-4a8e-b821-9ebb88e77e07
|
|
|
|
Show compute
|
|
------------
|
|
|
|
It shows details of a VM::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/compute/703910d7-97f7-4e3e-9243-30830591f624
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="compute resource"; rel="http://schemas.ogf.org/occi/core#resource"; location="http://127.0.0.23:8787/occi1.2/compute/"
|
|
Category: 5f4311da-2ee2-47a6-913b-5d8496486c62; scheme="http://schemas.openstack.org/template/os#"; class="mixin"; title="cirros-0.3.4-x86_64-uec"; rel="http://schemas.ogf.org/occi/infrastructure#os_tpl"; location="http://127.0.0.23:8787/occi1.2/os_tpl/5f4311da-2ee2-47a6-913b-5d8496486c62"
|
|
Category: 42; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"; title="Flavor: m1.nano"; rel="http://schemas.ogf.org/occi/infrastructure#resource_tpl"; location="http://127.0.0.23:8787/occi1.2/resource_tpl/42"
|
|
X-OCCI-Attribute: occi.core.title="vm_assig_2"
|
|
X-OCCI-Attribute: occi.compute.state="inactive"
|
|
X-OCCI-Attribute: occi.compute.memory=64
|
|
X-OCCI-Attribute: occi.compute.cores=1
|
|
X-OCCI-Attribute: occi.compute.hostname="vm_assig_2"
|
|
X-OCCI-Attribute: occi.core.id="703910d7-97f7-4e3e-9243-30830591f624"
|
|
Link: <http://127.0.0.23:8787/occi1.2/compute/703910d7-97f7-4e3e-9243-30830591f624?action=start>; rel="http://schemas.ogf.org/occi/infrastructure/compute/action#start"
|
|
Link: <http://127.0.0.23:8787/occi1.2/compute/703910d7-97f7-4e3e-9243-30830591f624?action=stop>; rel="http://schemas.ogf.org/occi/infrastructure/compute/action#stop"
|
|
Link: <http://127.0.0.23:8787/occi1.2/compute/703910d7-97f7-4e3e-9243-30830591f624?action=restart>; rel="http://schemas.ogf.org/occi/infrastructure/compute/action#restart"
|
|
Link: <http://127.0.0.23:8787/occi1.2/compute/703910d7-97f7-4e3e-9243-30830591f624?action=suspend>; rel="http://schemas.ogf.org/occi/infrastructure/compute/action#suspend"
|
|
Link: <http://127.0.0.23:8787/occi1.2/networklink/703910d7-97f7-4e3e-9243-30830591f624_cd48b7dd-9ac8-44fc-aec0-5ea679941ced_12.0.0.87>;
|
|
rel="http://schemas.ogf.org/occi/infrastructure#network";
|
|
self="http://127.0.0.23:8787/occi1.2/networklink/703910d7-97f7-4e3e-9243-30830591f624_cd48b7dd-9ac8-44fc-aec0-5ea679941ced_12.0.0.87";
|
|
occi.networkinterface.mac="fa:16:3e:20:14:f2"; occi.networkinterface.interface="eth0"; occi.networkinterface.state="active";
|
|
occi.networkinterface.allocation="dynamic"; occi.networkinterface.address="12.0.0.87";
|
|
occi.core.source="http://127.0.0.23:8787/occi1.2/compute/703910d7-97f7-4e3e-9243-30830591f624";
|
|
occi.core.target="http://127.0.0.23:8787/occi1.2/network/cd48b7dd-9ac8-44fc-aec0-5ea679941ced";
|
|
occi.core.id="703910d7-97f7-4e3e-9243-30830591f624_cd48b7dd-9ac8-44fc-aec0-5ea679941ced_12.0.0.87"
|
|
Link: <http://127.0.0.23:8787/occi1.2/networklink/703910d7-97f7-4e3e-9243-30830591f624_PUBLIC_11.0.0.44>;
|
|
rel="http://schemas.ogf.org/occi/infrastructure#network"; self="http://127.0.0.23:8787/occi1.2/networklink/703910d7-97f7-4e3e-9243-30830591f624_PUBLIC_11.0.0.44";
|
|
occi.networkinterface.mac="fa:16:3e:20:14:f2"; occi.networkinterface.interface="eth0"; occi.networkinterface.state="active"; occi.networkinterface.allocation="dynamic";
|
|
occi.networkinterface.address="11.0.0.44"; occi.core.source="http://127.0.0.23:8787/occi1.2/compute/703910d7-97f7-4e3e-9243-30830591f624";
|
|
occi.core.target="http://127.0.0.23:8787/occi1.2/network/PUBLIC"; occi.core.id="703910d7-97f7-4e3e-9243-30830591f624_PUBLIC_11.0.0.44"
|
|
Link: <http://127.0.0.23:8787/occi1.2/storagelink/703910d7-97f7-4e3e-9243-30830591f624_f551d92d-1992-4625-91ff-5e48d96d03c9>;
|
|
rel="http://schemas.ogf.org/occi/infrastructure#storage";
|
|
self="https://127.0.0.23:8787/occi1.2/storagelink/703910d7-97f7-4e3e-9243-30830591f624_f551d92d-1992-4625-91ff-5e48d96d03c9";
|
|
occi.storagelink.deviceid="/dev/xvdb"; occi.core.source="https://127.0.0.23:8787/occi1.2/compute/703910d7-97f7-4e3e-9243-30830591f624";
|
|
occi.core.target="https://127.0.0.23:8787/occi1.2/storage/f551d92d-1992-4625-91ff-5e48d96d03c9";
|
|
occi.core.id="703910d7-97f7-4e3e-9243-30830591f624_f551d92d-1992-4625-91ff-5e48d96d03c9"
|
|
|
|
Create compute
|
|
--------------
|
|
|
|
It creates a VM using the default resources, including links to storage and private networks::
|
|
|
|
curl -X POST http://127.0.0.23:8787/occi1.2/compute/ \
|
|
-H 'X-Auth-Token: '$OS_TOKEN \
|
|
-H 'Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind", \
|
|
-H 'Category: 5f4311da-2ee2-47a6-913b-5d8496486c62; scheme="http://schemas.openstack.org/template/os#"; class="mixin" \
|
|
-H 'Category: 42; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"' \
|
|
-H 'Content-Type: text/occi' -H 'X-OCCI-Attribute: occi.core.title="OOI_VM_1"'
|
|
|
|
Also we can specify the network to be linked::
|
|
|
|
curl -X POST http://127.0.0.23:8787/occi1.2/compute/ \
|
|
-H 'X-Auth-Token: '$OS_TOKEN \
|
|
-H 'Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind", \
|
|
-H 'Category: 5f4311da-2ee2-47a6-913b-5d8496486c62; scheme="http://schemas.openstack.org/template/os#"; class="mixin" \
|
|
-H 'Category: 42; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"' \
|
|
-H 'Link: </bar>; rel="http://schemas.ogf.org/occi/infrastructure#network"; \
|
|
occi.core.target="http://127.0.0.23:8787/occi1.2/network/f8186fda-a389-468b-9c13-24b8eda65d77"' \
|
|
-H 'Content-Type: text/occi' -H 'X-OCCI-Attribute: occi.core.title="OOI_VM_1"'
|
|
|
|
Links to storage can be also specified::
|
|
|
|
curl -X POST http://127.0.0.23:8787/occi1.2/compute/ \
|
|
-H 'X-Auth-Token: '$OS_TOKEN \
|
|
-H 'Category: compute; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind" \
|
|
-H 'Category: 5f4311da-2ee2-47a6-913b-5d8496486c62; scheme="http://schemas.openstack.org/template/os#"; class="mixin" \
|
|
-H 'Category: 42; scheme="http://schemas.openstack.org/template/resource#"; class="mixin"' \
|
|
-H 'Link: </bar>; rel="http://schemas.ogf.org/occi/infrastructure#storage"; \
|
|
occi.core.target="http://127.0.0.23:8787/occi1.2/storage/567ed104-3ddf-11e6-ad65-00219702a0b8"' \
|
|
-H 'Content-Type: text/occi' -H 'X-OCCI-Attribute: occi.core.title="OOI_VM_1"'
|
|
|
|
It returns a HTTP 201 with output::
|
|
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/compute/4a7dc666-33d2-495e-93fe-ccd224c98c11
|
|
|
|
Delete compute
|
|
--------------
|
|
|
|
It deletes a VM, including all the links associated to it::
|
|
|
|
curl -X DELETE -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/compute/703910d7-97f7-4e3e-9243-30830591f624
|
|
|
|
It returns a 204 empty response.
|
|
|
|
Storage
|
|
*******
|
|
|
|
Storage management provides list, show, create and deletion of volumes to a
|
|
specific tenant.
|
|
|
|
List storage
|
|
------------
|
|
|
|
It lists volumes::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/storage
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/storage/91bb7532-3ddb-11e6-9770-00219702a0b8
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/storage/a10abe94-3ddb-11e6-bc5d-00219702a0b8
|
|
|
|
Show storage
|
|
------------
|
|
|
|
It shows details of a volume::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/storage/f551d92d-1992-4625-91ff-5e48d96d03c9
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
Category: storage; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="compute resource"; rel="http://schemas.ogf.org/occi/core#resource"; location="http://127.0.0.23:8787/occi1.2/storage/"
|
|
X-OCCI-Attribute: occi.storage.state="online"
|
|
X-OCCI-Attribute: occi.core.id="f551d92d-1992-4625-91ff-5e48d96d03c9"
|
|
X-OCCI-Attribute: occi.storage.size=1
|
|
X-OCCI-Attribute: occi.core.title="vol1"
|
|
Link: <http://127.0.0.23:8787/occi1.2/storage/f551d92d-1992-4625-91ff-5e48d96d03c9?action=online>; rel="http://schemas.ogf.org/occi/infrastructure/storage/action#online"
|
|
Link: <http://127.0.0.23:8787/occi1.2/storage/f551d92d-1992-4625-91ff-5e48d96d03c9?action=offline>; rel="http://schemas.ogf.org/occi/infrastructure/storage/action#offline"
|
|
Link: <http://127.0.0.23:8787/occi1.2/storage/f551d92d-1992-4625-91ff-5e48d96d03c9?action=backup>; rel="http://schemas.ogf.org/occi/infrastructure/storage/action#backup"
|
|
Link: <http://127.0.0.23:8787/occi1.2/storage/f551d92d-1992-4625-91ff-5e48d96d03c9?action=snapshot>; rel="http://schemas.ogf.org/occi/infrastructure/storage/action#snapshot"
|
|
Link: <http://127.0.0.23:8787/occi1.2/storage/f551d92d-1992-4625-91ff-5e48d96d03c9?action=resize>; rel="http://schemas.ogf.org/occi/infrastructure/storage/action#resize"
|
|
|
|
Delete storage
|
|
--------------
|
|
|
|
It deletes a volume, including all the links associated to it::
|
|
|
|
curl -X DELETE -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/storage/f551d92d-1992-4625-91ff-5e48d96d03c9
|
|
|
|
It returns a 204 empty response.
|
|
|
|
Storage Link
|
|
************
|
|
|
|
OOI allows to link virtual machines to existing volumes.
|
|
|
|
List storage links
|
|
------------------
|
|
|
|
It lists links between VMs and volumes::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/storagelink
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/storagelink/8a97b403-3ec6-4002-988b-1f34dd836eff_f551d92d-1992-4625-91ff-5e48d96d03c9
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/storagelink/e9bf4d1e-3dde-11e6-8479-00219702a0b8_f382628c-3dde-11e6-9697-00219702a0b8
|
|
|
|
Show storage link
|
|
-----------------
|
|
|
|
It shows the storage attachemet featuresr::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/storagelink/8a97b403-3ec6-4002-988b-1f34dd836eff_f551d92d-1992-4625-91ff-5e48d96d03c9
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
Category: storagelink; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="storage link resource"; rel="http://schemas.ogf.org/occi/core#link"; location="http://127.0.0.23:8787/occi1.2/storagelink/"
|
|
X-OCCI-Attribute: occi.storagelink.deviceid="/dev/xvdb"
|
|
X-OCCI-Attribute: occi.core.source="http://127.0.0.23:8787/occi1.2/compute/8a97b403-3ec6-4002-988b-1f34dd836eff"
|
|
X-OCCI-Attribute: occi.core.target="http://127.0.0.23:8787/occi1.2/storage/f551d92d-1992-4625-91ff-5e48d96d03c9"
|
|
X-OCCI-Attribute: occi.core.id="8a97b403-3ec6-4002-988b-1f34dd836eff_f551d92d-1992-4625-91ff-5e48d96d03c9"
|
|
|
|
Create storage link
|
|
-------------------
|
|
|
|
It allows you to attach volumes to VMs::
|
|
|
|
curl -X POST http://127.0.0.23:8787/occi1.2/storagelink/ \
|
|
-H 'X-Auth-Token: '$OS_TOKEN \
|
|
-H 'Content-Type: text/occi' \
|
|
-H 'Category: storagelink;scheme="http://schemas.ogf.org/occi/infrastructure#";class="kind";' \
|
|
-H 'X-OCCI-Attribute: occi.core.target=/occi1.2/storage/f551d92d-1992-4625-91ff-5e48d96d03c9, \
|
|
occi.core.source="/occi1.2/compute/8a97b403-3ec6-4002-988b-1f34dd836eff"'
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
http://127.0.0.23:8787/occi1.2/storagelink/8a97b403-3ec6-4002-988b-1f34dd836eff_f551d92d-1992-4625-91ff-5e48d96d03c9
|
|
|
|
Delete storage link
|
|
-------------------
|
|
It detaches a volume from VM::
|
|
|
|
curl -X DELETE -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/storagelink/8a97b403-3ec6-4002-988b-1f34dd836eff_f551d92d-1992-4625-91ff-5e48d96d03c9
|
|
|
|
It returns a 204 empty response.
|
|
|
|
Network
|
|
*******
|
|
|
|
Network management provides list, show, create and deletion of networks to a
|
|
specific tenant.
|
|
|
|
List networks
|
|
-------------
|
|
|
|
It lists all networks available for connecting virtual machines::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/network
|
|
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/network/2c9868b4-f71a-45d2-ba8c-dbf42f0b3120
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/network/4213c7ef-68d4-42e8-a3cd-1c5bab3abe6
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/network/PUBLIC
|
|
|
|
Show network
|
|
------------
|
|
|
|
It shows the network features::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/network/b8a3d813-65da-4910-a80c-f97b4ba31fd4
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
Category: network; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="network resource";
|
|
rel="http://schemas.ogf.org/occi/core#resource"; location="http://127.0.0.23:8787/occi1.2/network/"
|
|
Category: ipnetwork; scheme="http://schemas.ogf.org/occi/infrastructure/network#"; class="mixin";
|
|
title="IP Networking Mixin"
|
|
Category: osnetwork; scheme="http://schemas.openstack.org/infrastructure/network#"; class="mixin";
|
|
title="openstack network"
|
|
X-OCCI-Attribute: occi.network.address="20.0.0.0/24"
|
|
X-OCCI-Attribute: occi.network.state="active"
|
|
X-OCCI-Attribute: occi.core.title="CommandLineOCCI"
|
|
X-OCCI-Attribute: occi.network.gateway="20.0.0.1"
|
|
X-OCCI-Attribute: occi.core.id="4a7dc666-33d2-495e-93fe-ccd224c98c11"
|
|
Link: <http://127.0.0.23:8787/occi1.2/network/4a7dc666-33d2-495e-93fe-ccd224c98c11?action=up>;
|
|
rel="http://schemas.ogf.org/occi/infrastructure/network/action#up"
|
|
Link: <http://127.0.0.23:8787/occi1.2/network/4a7dc666-33d2-495e-93fe-ccd224c98c11?action=down>;
|
|
rel="http://schemas.ogf.org/occi/infrastructure/network/action#down"
|
|
|
|
Create network
|
|
--------------
|
|
|
|
It creates a network::
|
|
|
|
curl -X POST http://127.0.0.23:8787/occi1.2/network/ \
|
|
-H 'X-Auth-Token: '$OS_TOKEN \
|
|
-H 'Category: network; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind", \
|
|
ipnetwork; scheme="http://schemas.ogf.org/occi/infrastructure/network#"; class="mixin"' \
|
|
-H 'Content-Type: text/occi' \
|
|
-H 'X-OCCI-Attribute: occi.core.title="OCCI_NET", occi.network.address="15.0.0.0/24"'
|
|
|
|
It returns a HTTP 201 with output::
|
|
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/network/4a7dc666-33d2-495e-93fe-ccd224c98c11
|
|
|
|
Delete network
|
|
--------------
|
|
|
|
It deletes a network::
|
|
|
|
curl -X DELETE -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/network/cb94496e-7e8e-4cb6-841d-30f38bc375e6
|
|
|
|
It returns a 204 empty response.
|
|
|
|
IPReservation
|
|
**************
|
|
|
|
OOI allows to manage public IPs by using IPReservation resources. This resource is a special network to provide public access.
|
|
It allocates and releases IPs from public network pools.
|
|
|
|
List IPReservations
|
|
-------------------
|
|
It list IPReservation resources::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.1:8787/occi1.1/ipreservation
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
X-OCCI-Location: http://127.0.0.1:8787/occi1.1/ipreservation/3318c3af-ce57-41ef-a9c1-9a5ecfbe0526
|
|
|
|
Show IPReservation
|
|
------------------
|
|
It shows the IPReservation details::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.1:8787/occi1.1/ipreservation/3318c3af-ce57-41ef-a9c1-9a5ecfbe0526
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
Category: ipreservation; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; title="IPReservation"; rel="http://schemas.ogf.org/occi/infrastructure#network"; location="http://127.0.0.1:8787/occi1.1/ipreservation/"
|
|
X-OCCI-Attribute: occi.core.title="external-net"
|
|
X-OCCI-Attribute: occi.core.summary=[]
|
|
X-OCCI-Attribute: occi.core.id="3318c3af-ce57-41ef-a9c1-9a5ecfbe0526"
|
|
X-OCCI-Attribute: occi.ipreservation.address="193.136.75.90"
|
|
X-OCCI-Attribute: occi.ipreservation.used="true"
|
|
Link: <http://127.0.0.1:8787/occi1.1/ipreservation/3318c3af-ce57-41ef-a9c1-9a5ecfbe0526?action=up>; rel="http://schemas.ogf.org/occi/infrastructure/network/action#up"
|
|
Link: <http://127.0.0.1:8787/occi1.1/ipreservation/3318c3af-ce57-41ef-a9c1-9a5ecfbe0526?action=down>; rel="http://schemas.ogf.org/occi/infrastructure/network/action#down"
|
|
|
|
Create IPReservation
|
|
--------------------
|
|
It creates a IPReservation resource::
|
|
|
|
curl -X POST http://127.0.0.1:8787/occi1.1/ipreservation -H 'X-Auth-token: '$OS_TOKEN \
|
|
-H 'Category: ipreshemas.ogf.org/occi/infrastructure#"; class="kind",' \
|
|
'external-net; scheme="http://schemas.openstack.org/network/floatingippool#"; class="mixin"' \
|
|
-H 'Content-Type: text/occi'
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
X-OCCI-Location: http://127.0.0.1:8787/occi1.1/ipreservation/3318c3af-ce57-41ef-a9c1-9a5ecfbe0526
|
|
|
|
Delete IPReservation
|
|
--------------------
|
|
It deletes IPReservation resources::
|
|
|
|
curl -X DELETE -H "X-Auth-token: "$OS_TOKEN http://127.0.0.1:8787/occi1.1/ipreservation/3318c3af-ce57-41ef-a9c1-9a5ecfbe0526
|
|
|
|
It returns a 204 empty response.
|
|
|
|
Network Link
|
|
************
|
|
|
|
OOI allows to link virtual machines to private networks, and request for public
|
|
floating IPs.
|
|
|
|
List network links
|
|
------------------
|
|
|
|
It lists links between VMs and networks::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/networklink
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/networklink/9524a622-5d1a-4c7c-bb83-e0d539e2c69b_PUBLIC_192.168.1.132
|
|
X-OCCI-Location: http://127.0.0.23:8787/occi1.2/networklink/703910d7-97f7-4e3e-9243-30830591f624_cd48b7dd-9ac8-44fc-aec0-5ea679941ced_12.0.0.87
|
|
|
|
Show network link
|
|
-----------------
|
|
|
|
It shows the network link features. It could be with a private or public
|
|
network. In case of private network::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/networklink/703910d7-97f7-4e3e-9243-30830591f624_cd48b7dd-9ac8-44fc-aec0-5ea679941ced_12.0.0.87
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/networklink/703910d7-97f7-4e3e-9243-30830591f624_cd48b7dd-9ac8-44fc-aec0-5ea679941ced_12.0.0.87
|
|
Category: networkinterface; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"; \
|
|
title="network link resource"; rel="http://schemas.ogf.org/occi/core#link"; location="http://127.0.0.23:8787/occi1.2/networklink/" \
|
|
Category: ipnetworkinterface; scheme="http://schemas.ogf.org/occi/infrastructure/networkinterface#"; \
|
|
class="mixin"; title="IP Network interface Mixin"
|
|
X-OCCI-Attribute: occi.networkinterface.mac="fa:16:3e:20:14:f2"
|
|
X-OCCI-Attribute: occi.networkinterface.interface="eth0"
|
|
X-OCCI-Attribute: occi.networkinterface.state="active"
|
|
X-OCCI-Attribute: occi.networkinterface.allocation="dynamic"
|
|
X-OCCI-Attribute: occi.networkinterface.address="12.0.0.87"
|
|
X-OCCI-Attribute: occi.core.source="http://127.0.0.23:8787/occi1.2/compute/703910d7-97f7-4e3e-9243-30830591f624"
|
|
X-OCCI-Attribute: occi.core.target="http://127.0.0.23:8787/occi1.2/network/cd48b7dd-9ac8-44fc-aec0-5ea679941ced"
|
|
X-OCCI-Attribute: occi.core.id="703910d7-97f7-4e3e-9243-30830591f624_cd48b7dd-9ac8-44fc-aec0-5ea679941ced_12.0.0.87"
|
|
|
|
In case of public network::
|
|
|
|
curl -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/networklink/4f11383c-b104-40d4-a17c-d223e450d15d_b8a3d813-65da-4910-a80c-f97b4ba31fd4_20.0.0.5
|
|
|
|
It returns a HTTP 200 with output::
|
|
|
|
Category: networkinterface; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind";
|
|
title="network link resource"; rel="http://schemas.ogf.org/occi/core#link";
|
|
location="http://127.0.0.23:8787/occi1.2/networklink/"
|
|
Category: ipnetworkinterface; scheme="http://schemas.ogf.org/occi/infrastructure/networkinterface#"; class="mixin"; title="IP Network interface Mixin"
|
|
X-OCCI-Attribute: occi.networkinterface.mac="fa:16:3e:81:52:b9"
|
|
X-OCCI-Attribute: occi.networkinterface.interface="eth0"
|
|
X-OCCI-Attribute: occi.networkinterface.state="active"
|
|
X-OCCI-Attribute: occi.networkinterface.allocation="dynamic"
|
|
X-OCCI-Attribute: occi.networkinterface.address="20.0.0.5"
|
|
X-OCCI-Attribute: occi.core.source="http://127.0.0.23:8787/occi1.2/compute/4f11383c-b104-40d4-a17c-d223e450d15d"
|
|
X-OCCI-Attribute: occi.core.target="http://127.0.0.23:8787/occi1.2/network/b8a3d813-65da-4910-a80c-f97b4ba31fd4"
|
|
X-OCCI-Attribute: occi.core.id="4f11383c-b104-40d4-a17c-d223e450d15d_b8a3d813-65da-4910-a80c-f97b4ba31fd4_20.0.0.5"
|
|
|
|
Create network link
|
|
-------------------
|
|
|
|
It allows you to create link between VMs and networks. It could be with a
|
|
private or public network: In case of private network::
|
|
|
|
curl -X POST http://127.0.0.23:8787/occi1.2/networklink/ \
|
|
-H 'X-Auth-Token: '$OS_TOKEN \
|
|
-H 'Category: networkinterface; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"' \
|
|
-H 'Content-Type: text/occi' \
|
|
-H 'X-OCCI-Attribute: occi.core.target=http://127.0.0.23:8787/occi1.2/network/PUBLIC, \
|
|
occi.core.source=http://127.0.0.23:8787/occi1.2/compute/cb83a70a-5202-4b9e-a525-649c72005300'
|
|
|
|
In case of private network::
|
|
|
|
curl -X POST http://127.0.0.23:8787/occi1.2/networklink/ \
|
|
-H 'X-Auth-Token: '$OS_TOKEN \
|
|
-H 'Category: networkinterface; scheme="http://schemas.ogf.org/occi/infrastructure#"; class="kind"' \
|
|
-H 'Content-Type: text/occi' \
|
|
-H 'X-OCCI-Attribute: occi.core.target=http://127.0.0.23:8787/occi1.2/network/d856c264-1999-489d-888e-f84db9093979, \
|
|
occi.core.source=http://127.0.0.23:8787/occi1.2/compute/cb83a70a-5202-4b9e-a525-649c72005300'
|
|
|
|
|
|
Delete network link
|
|
-------------------
|
|
It deletes a network link::
|
|
|
|
curl -X DELETE -H "X-Auth-token: "$OS_TOKEN http://127.0.0.23:8787/occi1.2/networklink/703910d7-97f7-4e3e-9243-30830591f624_cd48b7dd-9ac8-44fc-aec0-5ea679941ced_12.0.0.87
|
|
|
|
It returns a 204 empty response.
|