From 57d966d1585ed1b2229ae9d5d78e05a12d9bc58f Mon Sep 17 00:00:00 2001 From: John Kung Date: Sun, 3 Feb 2019 19:51:15 -0500 Subject: [PATCH] Create DataNetworks modelling in System Configuration Update the stx REST API documentation for stx-config: Interfaces Data Networks Interface Data Networks This documents the underlying APIs which are represented by the following CLI commands: datanetwork-add Add a datanetwork. datanetwork-delete Delete a datanetwork. datanetwork-list List datanetworks. datanetwork-modify Modify a datanetwork. datanetwork-show Show datanetwork details. interface-datanetwork-assign Assign a datanetwork to an interface. interface-datanetwork-list List datanetwork interfaces. interface-datanetwork-remove Remove an assigned datanetwork from an interface. interface-datanetwork-show Show interface datanetwork details. Tests Performed: tox Create document via 'tox -e api-ref' Change-Id: I7eabe81a0c54f32cfb5933ad00b01b59990b3dc2 Story: 2004455 Task: 28324 Signed-off-by: John Kung --- api-ref/source/api-ref-sysinv-v1-config.rst | 550 +++++++++++++++++++- 1 file changed, 527 insertions(+), 23 deletions(-) diff --git a/api-ref/source/api-ref-sysinv-v1-config.rst b/api-ref/source/api-ref-sysinv-v1-config.rst index 2e7367ebb4..deb5f9fef4 100644 --- a/api-ref/source/api-ref-sysinv-v1-config.rst +++ b/api-ref/source/api-ref-sysinv-v1-config.rst @@ -2366,6 +2366,7 @@ In order to delete an osd stor, the host must be locked and deleted. This operation does not accept a request body. + ---------- Interfaces ---------- @@ -2411,7 +2412,7 @@ itemNotFound (404) "aemode (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae``, this attribute indicates the basic mode of operation for the AE/LAG interface. Supported modes are: balanced round robin, active-backup, balanced xor, broadcast, 802.3ad, balance-tlb, balance-alb. NOTE only balanced xor and active-standby modes are supported by interfaces of networktype=data." "txhashpolicy (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae`` and ``aemode : balanced``, this attribute indicates what packet headers the AE/LAG is using to distribute packets across the different links/ports of the AE/LAG group; ``layer2``, ``layer2+3`` or ``layer3+4``." "vlan_id (Optional)", "plain", "xsd:integer", "Only applicable if ``iftype : vlan``, this attribute indicates that the vlan interface id. A vlan id between 1 and 4094 (inclusive) must be selected. NOTE The vlan id must be unique for the host interface." - "providernetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute provides a comma-separated list of provider networks that this ``data`` interface is attached to." + "datanetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute provides a list of data networks that this ``data`` interface is attached to." "imac (Optional)", "plain", "xsd:string", "The MAC Address being used by the interface. In the case of AE/LAG, the MAC address of one of the physical ports of the AE/LAG group is used." "imtu (Optional)", "plain", "xsd:integer", "The Maximum Transmission Unit (MTU) of the interface, in bytes." "sriov_numvfs (Optional)", "plain", "xsd:integer", "The number of VFs configured on the interfaces port; only applicable if ``networktype = pci-sriov`` where only a single port is associated with the interface." @@ -2451,7 +2452,7 @@ itemNotFound (404) "vlan_id": null, "imtu": 1500, "aemode": null, - "providernetworks": null, + "datanetworks": [], "networktype": "mgmt", "ifname": "eth1" }, @@ -2483,7 +2484,7 @@ itemNotFound (404) ], "aemode": "balanced", - "providernetworks": "physnet-0,physnet-1", + "datanetworks": ["physnet-0,physnet-1"], "networktype": "data", "ifname": "data1" } @@ -2528,7 +2529,7 @@ itemNotFound (404) "aemode (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae``, this attribute indicates the basic mode of operation for the AE/LAG interface. Supported modes are: balanced round robin, active-backup, balanced xor, broadcast, 802.3ad, balance-tlb, balance-alb. NOTE only balanced xor and active-standby modes are supported by interfaces of networktype=data." "txhashpolicy (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae`` and ``aemode : balanced``, this attribute indicates what packet headers the AE/LAG is using to distribute packets across the different links/ports of the AE/LAG group; ``layer2``, ``layer2+3`` or ``layer3+4``." "vlan_id (Optional)", "plain", "xsd:integer", "Only applicable if ``iftype : vlan``, this attribute indicates that the vlan interface id. A vlan id between 1 and 4094 (inclusive) must be selected. NOTE The vlan id must be unique for the host interface." - "providernetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute provides a comma-separated list of provider networks that this ``data`` interface is attached to." + "datanetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute provides a list of data networks that this ``data`` interface is attached to." "imac (Optional)", "plain", "xsd:string", "The MAC Address being used by the interface. In the case of AE/LAG, the MAC address of one of the physical ports of the AE/LAG group is used." "imtu (Optional)", "plain", "xsd:integer", "The Maximum Transmission Unit (MTU) of the interface, in bytes." "sriov_numvfs (Optional)", "plain", "xsd:integer", "The number of VFs configured on the interfaces port; only applicable if ``networktype = pci-sriov`` where only a single port is associated with the interface." @@ -2536,7 +2537,6 @@ itemNotFound (404) "forihostId (Optional)", "plain", "xsd:string", "The ID of the host of this interface." "ihost_uuid (Optional)", "plain", "csapi:UUID", "The UUID of the host of this interface." "ifcapabilities (Optional)", "plain", "xsd:list", "Currently not supported." - "providernetworksdict (Optional)", "plain", "xsd:list", "Currently not supported." "ports (Optional)", "plain", "xsd:list", "URIs to the physical ports of this interface." "uses (Optional)", "plain", "xsd:list", "Interfaces which the current interface uses." "used_by (Optional)", "plain", "xsd:list", "Interfaces which use the current interface." @@ -2558,7 +2558,7 @@ itemNotFound (404) "href" : "http://10.10.10.2:6385/iinterfaces/740a5bec-b7a8-4645-93ed-aea0d4cfbf86/ports" } ], - "providernetworks" : "physnet-0,physnet-1", + "datanetworks" : ["physnet-0,physnet-1"], "txhashpolicy" : "layer2", "schedpolicy" : null, "networktype" : "data", @@ -2578,7 +2578,6 @@ itemNotFound (404) "href" : "http://10.10.10.2:6385/iinterfaces/740a5bec-b7a8-4645-93ed-aea0d4cfbf86" } ], - "providernetworksdict" : {}, "imac" : null, "sriov_numvfs": 0, "aemode" : "balanced", @@ -2628,7 +2627,7 @@ badMediaType (415) "aemode (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae``, this attribute specifies whether the AE/LAG should operate as ``balanced`` or ``active_standby`` or ``802.3ad`` across its links. The ``balanced`` and ``active_standby`` are the only modes supported by ``data`` type interface. For ``mgmt`` type interface the ``802.3ad`` option must be selected." "txhashpolicy (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae`` and ``aemode : balanced``, this attribute specifies what packet headers the AE/LAG should use to distribute packets across the different links/ports of the AE/LAG group; ``layer2``, ``layer2+3`` or ``layer3+4``." "vlan_id (Optional)", "plain", "xsd:integer", "Only applicable if ``iftype : vlan``, this attribute specifies a virtual lan id for a vlan interface type." - "providernetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute specifies a comma-separated list of provider networks that this ``data`` interface is attached to." + "datanetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute specifies a list of data networks that this ``data`` interface is attached to." "ports (Optional)", "plain", "xsd:list", "This attribute specifies a comma-separated list of ports that this interface contains. If ``iftype : ethernet`` then only one port is allowed." "uses (Optional)", "plain", "xsd:list", "Only applicable if ``iftype : ae`` or ``iftype: vlan``, this attribute specifies a comma-separated list of interfaces that this interface uses." "used_by (Optional)", "plain", "xsd:list", "This attribute specifies a comma-separated list of interfaces that use this interface." @@ -2648,7 +2647,7 @@ badMediaType (415) "aemode (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae``, this attribute indicates the basic mode of operation for the AE/LAG interface. Supported modes are: balanced round robin, active-backup, balanced xor, broadcast, 802.3ad, balance-tlb, balance-alb. NOTE only balanced xor and active-standby modes are supported by interfaces of networktype=data." "txhashpolicy (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae`` and ``aemode : balanced``, this attribute indicates what packet headers the AE/LAG is using to distribute packets across the different links/ports of the AE/LAG group; ``layer2``, ``layer2+3`` or ``layer3+4``." "vlan_id (Optional)", "plain", "xsd:integer", "Only applicable if ``iftype : vlan``, this attribute indicates that the vlan interface id. A vlan id between 1 and 4094 (inclusive) must be selected. NOTE The vlan id must be unique for the host interface." - "providernetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute provides a comma-separated list of provider networks that this ``data`` interface is attached to." + "datanetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute provides a list of data networks that this ``data`` interface is attached to." "imac (Optional)", "plain", "xsd:string", "The MAC Address being used by the interface. In the case of AE/LAG, the MAC address of one of the physical ports of the AE/LAG group is used." "imtu (Optional)", "plain", "xsd:integer", "The Maximum Transmission Unit (MTU) of the interface, in bytes." "sriov_numvfs (Optional)", "plain", "xsd:integer", "The number of VFs configured on the interfaces port; only applicable if ``networktype = pci-sriov`` where only a single port is associated with the interface." @@ -2656,7 +2655,6 @@ badMediaType (415) "forihostId (Optional)", "plain", "xsd:string", "The ID of the host of this interface." "ihost_uuid (Optional)", "plain", "csapi:UUID", "The UUID of the host of this interface." "ifcapabilities (Optional)", "plain", "xsd:list", "Currently not supported." - "providernetworksdict (Optional)", "plain", "xsd:list", "Currently not supported." "ports (Optional)", "plain", "xsd:list", "URIs to the physical ports of this interface." "uses (Optional)", "plain", "xsd:list", "Interfaces which the current interface uses." "used_by (Optional)", "plain", "xsd:list", "Interfaces which use the current interface." @@ -2672,7 +2670,7 @@ badMediaType (415) "txhashpolicy": "layer2", "ihost_uuid": "ff453a51-1d3b-437f-a65e-b2d163f79f85", "imtu": "1500", - "providernetworks": "physnet-0,physnet1", + "datanetworks": "physnet-0,physnet1", "networktype": "data", "ifname": "data1", "uses": ['eth2','eth3'], @@ -2711,9 +2709,6 @@ badMediaType (415) "txhashpolicy": "layer2", "created_at": "2014-09-29T10:55:20.515705+00:00", "schedpolicy": null, - "providernetworksdict": { - - }, "imac": null, "updated_at": null, "ifcapabilities": { @@ -2729,7 +2724,7 @@ badMediaType (415) ], "aemode": "balanced", "sriov_numvfs": 0, - "providernetworks": "physnet-0,physnet-1", + "datanetworks": ["physnet-0,physnet-1"], "networktype": "data", "ifname": "data1", "ports": null, @@ -2763,7 +2758,7 @@ badMediaType (415) "aemode (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae``, this attribute specifies whether the AE/LAG should operate as ``balanced`` or ``active_standby`` across its links. These are the only modes supported by ``data`` type interface." "txhashpolicy (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae`` and ``aemode : balanced``, this attribute specifies what packet headers the AE/LAG should use to distribute packets across the different links/ports of the AE/LAG group; ``layer2``, ``layer2+3`` or ``layer3+4``." "vlan_id (Optional)", "plain", "xsd:integer", "Only applicable if ``iftype : vlan``, this attribute specifies a virtual lan id for a vlan interface type." - "providernetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute specifies a comma-separated list of provider networks that this ``data`` interface is attached to." + "datanetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute specifies a list of data networks that this ``data`` interface is attached to." "ports (Optional)", "plain", "xsd:list", "This attribute specifies a comma-separated list of ports that this interface contains. If ``iftype : ethernet`` then only one port is allowed." "uses (Optional)", "plain", "xsd:list", "Only applicable if ``iftype : ae`` or ``iftype: vlan``, this attribute specifies a comma-separated list of interfaces that this interface uses." "used_by (Optional)", "plain", "xsd:list", "This attribute specifies a comma-separated list of interfaces that use this interface." @@ -2782,7 +2777,7 @@ badMediaType (415) "aemode (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae``, this attribute indicates the basic mode of operation for the AE/LAG interface. Supported modes are: balanced round robin, active-backup, balanced xor, broadcast, 802.3ad, balance-tlb, balance-alb. NOTE only balanced xor and active-standby modes are supported by interfaces of networktype=data." "txhashpolicy (Optional)", "plain", "xsd:string", "Only applicable if ``iftype : ae`` and ``aemode : balanced``, this attribute indicates what packet headers the AE/LAG is using to distribute packets across the different links/ports of the AE/LAG group; ``layer2``, ``layer2+3`` or ``layer3+4``." "vlan_id (Optional)", "plain", "xsd:integer", "Only applicable if ``iftype : vlan``, this attribute indicates that the vlan interface id. A vlan id between 1 and 4094 (inclusive) must be selected. NOTE The vlan id must be unique for the host interface." - "providernetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute provides a comma-separated list of provider networks that this ``data`` interface is attached to." + "datanetworks (Optional)", "plain", "xsd:list", "Only applicable if ``networktype : data``, this attribute provides a list of data networks that this ``data`` interface is attached to." "imac (Optional)", "plain", "xsd:string", "The MAC Address being used by the interface. In the case of AE/LAG, the MAC address of one of the physical ports of the AE/LAG group is used." "imtu (Optional)", "plain", "xsd:integer", "The Maximum Transmission Unit (MTU) of the interface, in bytes." "sriov_numvfs (Optional)", "plain", "xsd:integer", "The number of VFs configured on the interfaces port; only applicable if ``networktype = pci-sriov`` where only a single port is associated with the interface." @@ -2790,7 +2785,6 @@ badMediaType (415) "forihostId (Optional)", "plain", "xsd:string", "The ID of the host of this interface." "ihost_uuid (Optional)", "plain", "csapi:UUID", "The UUID of the host of this interface." "ifcapabilities (Optional)", "plain", "xsd:list", "Currently not supported." - "providernetworksdict (Optional)", "plain", "xsd:list", "Currently not supported." "ports (Optional)", "plain", "xsd:list", "URIs to the physical ports of this interface." "uses (Optional)", "plain", "xsd:list", "Interfaces which the current interface uses." "used_by (Optional)", "plain", "xsd:list", "Interfaces which use the current interface." @@ -2813,7 +2807,7 @@ badMediaType (415) "op": "replace" }, { - "path": "/providernetworks", + "path": "/datanetworks", "value": "physnet-0,physnet-1", "op": "replace" }, @@ -2860,9 +2854,6 @@ badMediaType (415) "txhashpolicy": "layer2", "created_at": "2014-09-29T10:55:20.515705+00:00", "schedpolicy": null, - "providernetworksdict": { - - }, "imac": null, "sriov_numvfs": 0, "updated_at": "2014-09-29T11:08:21.016145+00:00", @@ -2878,7 +2869,7 @@ badMediaType (415) ], "aemode": "active_standby", - "providernetworks": "physnet-0,physnet-1", + "datanetworks": ["physnet-0,physnet-1"], "networktype": "data", "ifname": "data1", "ports": null @@ -2904,6 +2895,519 @@ Deletes a specific L2 interface This operation does not accept a request body. +------------- +Data Networks +------------- + +These APIs allow the create, display, modify and delete of the +Data Networks. + +********************** +List the Data Networks +********************** + +.. rest_method:: GET /v1/datanetworks + + +**Normal response codes** + +200 + +**Error response codes** + +computeFault (400, 500, ...), serviceUnavailable (503), badRequest (400), +unauthorized (401), forbidden (403), badMethod (405), overLimit (413), +itemNotFound (404) + +**Response parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "datanetworks (Optional)", "plain", "xsd:list", "The list of Data Networks." + "uuid (Optional)", "plain", "csapi:UUID", "The universally unique identifier for this object." + "network_type (Optional)", "plain", "xsd:string", "Indicates the type of data network ; ``flat``, ``vlan``, ``vxlan``." + "name (Optional)", "plain", "xsd:string", "The user-specified name of the data network." + "description (Optional)", "plain", "xsd:string", "The user-specified description of the data network." + "mtu (Optional)", "plain", "xsd:integer", "The Maximum Transmission Unit (MTU) of the data network, in bytes." + "mode (Optional)", "plain", "xsd:string", "Only applicable if ``network_type : vxlan``, the mode of the data network; ``dynamic``, ``static``." + "multicast_group (Optional)", "plain", "xsd:string", "Only applicable if ``network_type : vxlan`` and ``network_type : dynamic``, this attribute indicates the multicast group address." + "port_num (Optional)", "plain", "xsd:integer", "Only applicable if ``network_type : vxlan``, this attribute indicates the port number of the vxlan datanetwork." + "ttl (Optional)", "plain", "xsd:integer", "Only applicable if ``networktype : vxlan``, this attribute indicates the time to live. A value between 1 and 255 inclusive is allowed." + +:: + + { + "datanetworks":[ + { + "description":null, + "port_num":null, + "uuid":"e1f6786d-df5a-4df8-9e6c-ced71797afe7", + "mtu":1500, + "multicast_group":null, + "mode":null, + "ttl":null, + "id":1, + "network_type":"vlan", + "name":"group0-data0" + }, + { + "description":null, + "port_num":4789, + "uuid":"216c59cc-9713-4071-beab-c37dc2b6d153", + "mtu":1400, + "multicast_group":"239.0.6.10", + "mode":"dynamic", + "ttl":1, + "id":2, + "network_type":"vxlan", + "name":"group0-data1" + } + ] + } + +This operation does not accept a request body. + +*********************************************** +Shows information about a specific Data Network +*********************************************** + +.. rest_method:: GET /v1/datanetworks/{datanetwork_id} + +**Normal response codes** + +200 + +**Error response codes** + +computeFault (400, 500, ...), serviceUnavailable (503), badRequest (400), +unauthorized (401), forbidden (403), badMethod (405), overLimit (413), +itemNotFound (404) + +**Request parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "datanetwork_id", "URI", "csapi:UUID", "The unique identifier of an existing datanetwork." + +**Response parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "uuid (Optional)", "plain", "csapi:UUID", "The universally unique identifier for this object." + "network_type (Optional)", "plain", "xsd:string", "Indicates the type of data network ; ``flat``, ``vlan``, ``vxlan``." + "name (Optional)", "plain", "xsd:string", "The user-specified name of the data network." + "description (Optional)", "plain", "xsd:string", "The user-specified description of the data network." + "mtu (Optional)", "plain", "xsd:integer", "The Maximum Transmission Unit (MTU) of the data network, in bytes." + "mode (Optional)", "plain", "xsd:string", "Only applicable if ``network_type : vxlan``, the mode of the data network; ``dynamic``, ``static``." + "multicast_group (Optional)", "plain", "xsd:string", "Only applicable if ``network_type : vxlan`` and ``network_type : dynamic``, this attribute indicates the multicast group address." + "port_num (Optional)", "plain", "xsd:integer", "Only applicable if ``network_type : vxlan``, this attribute indicates the port number of the vxlan datanetwork." + "ttl (Optional)", "plain", "xsd:integer", "Only applicable if ``networktype : vxlan``, this attribute indicates the time to live." + "created_at (Optional)", "plain", "xsd:dateTime", "The time when the object was created." + "updated_at (Optional)", "plain", "xsd:dateTime", "The time when the object was last updated." + + +:: + + { + "description":null, + "updated_at":null, + "created_at":"2019-02-02T15:03:29.255937+00:00", + "port_num":4789, + "uuid":"216c59cc-9713-4071-beab-c37dc2b6d153", + "mtu":1400, + "multicast_group":"239.0.6.10", + "mode":"dynamic", + "ttl":1, + "id":2, + "network_type":"vxlan", + "name":"group0-data1" + } + + +This operation does not accept a request body. + +********************** +Creates a Data Network +********************** + +.. rest_method:: POST /v1/datanetworks + +This will create a data network. + +**Normal response codes** + +200 + +**Error response codes** + +Conflict (409) + +**Request parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "network_type", "plain", "xsd:string", "Indicates the type of data network ; ``flat``, ``vlan``, ``vxlan``." + "name", "plain", "xsd:string", "The user-specified name of the data network." + "mtu", "plain", "xsd:integer", "The Maximum Transmission Unit (MTU) of the data network, in bytes." + "description (Optional)", "plain", "xsd:string", "The user-specified description of the data network." + "mode (Optional)", "plain", "xsd:string", "Only applicable if ``network_type : vxlan``, the mode of the data network; ``dynamic``, ``static``." + "multicast_group (Optional)", "plain", "xsd:string", "Only applicable if ``network_type : vxlan`` and ``network_type : dynamic``, this attribute indicates the multicast group address." + "port_num (Optional)", "plain", "xsd:integer", "Only applicable if ``network_type : vxlan``, this attribute indicates the port number of the vxlan datanetwork." + "ttl (Optional)", "plain", "xsd:integer", "Only applicable if ``networktype : vxlan``, this attribute indicates the time to live." + +**Response parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "uuid", "plain", "csapi:UUID", "The universally unique identifier for this object." + "network_type", "plain", "xsd:string", "Indicates the type of data network ; ``flat``, ``vlan``, ``vxlan``." + "name", "plain", "xsd:string", "The user-specified name of the data network." + "description (Optional)", "plain", "xsd:string", "The user-specified description of the data network." + "mtu", "plain", "xsd:integer", "The Maximum Transmission Unit (MTU) of the data network, in bytes." + "mode (Optional)", "plain", "xsd:string", "Only applicable if ``network_type : vxlan``, the mode of the data network; ``dynamic``, ``static``." + "multicast_group (Optional)", "plain", "xsd:string", "Only applicable if ``network_type : vxlan`` and ``network_type : dynamic``, this attribute indicates the multicast group address." + "port_num (Optional)", "plain", "xsd:integer", "Only applicable if ``network_type : vxlan``, this attribute indicates the port number of the vxlan datanetwork." + "ttl (Optional)", "plain", "xsd:integer", "Only applicable if ``networktype : vxlan``, this attribute indicates the time to live." + "created_at (Optional)", "plain", "xsd:dateTime", "The time when the object was created." + "updated_at (Optional)", "plain", "xsd:dateTime", "The time when the object was last updated." + +:: + + { + "description":"group2-data2 description", + "port_num":"4789", + "mtu":"1400", + "multicast_group":"239.0.6.10", + "mode":"dynamic", + "ttl":"1", + "network_type":"vxlan", + "name":"group2-data2" + } + +:: + + { + "description":"group2-data2 description", + "updated_at":null, + "created_at":"2019-02-03T15:31:39.997833+00:00", + "port_num":4789, + "uuid":"3a0b7357-eb36-42fb-a800-55ff3549cc3c", + "mtu":1400, + "multicast_group":"239.0.6.10", + "mode":"dynamic", + "ttl":1, + "id":4, + "network_type":"vxlan", + "name":"group2-data2" + } + +******************************** +Modifies a specific Data Network +******************************** + +.. rest_method:: PATCH /v1/datanetworks/{datanetwork_id} + +**Normal response codes** + +200 + +**Error response codes** + +badMediaType (415) + +**Request parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "datanetwork_id", "URI", "csapi:UUID", "The unique identifier of an existing datanetwork." + "mtu (Optional)", "plain", "xsd:integer", "This attribute specifies the data network's Maximum Transmit Unit." + "description (Optional)", "plain", "xsd:string", "The user-specified description of the data network." + +**Response parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "uuid", "plain", "csapi:UUID", "The universally unique identifier for this object." + "network_type", "plain", "xsd:string", "Indicates the type of data network ; ``flat``, ``vlan``, ``vxlan``." + "name", "plain", "xsd:string", "The user-specified name of the data network." + "description (Optional)", "plain", "xsd:string", "The user-specified description of the data network." + "mtu", "plain", "xsd:integer", "The Maximum Transmission Unit (MTU) of the data network, in bytes." + "mode (Optional)", "plain", "xsd:string", "Only applicable if ``network_type : vxlan``, the mode of the data network; ``dynamic``, ``static``." + "multicast_group (Optional)", "plain", "xsd:string", "Only applicable if ``network_type : vxlan`` and ``network_type : dynamic``, this attribute indicates the multicast group address." + "port_num (Optional)", "plain", "xsd:integer", "Only applicable if ``network_type : vxlan``, this attribute indicates the port number of the vxlan datanetwork." + "ttl (Optional)", "plain", "xsd:integer", "Only applicable if ``networktype : vxlan``, this attribute indicates the time to live." + "created_at (Optional)", "plain", "xsd:dateTime", "The time when the object was created." + "updated_at (Optional)", "plain", "xsd:dateTime", "The time when the object was last updated." + +:: + + [ + { + "path":"/description", + "value":"group2-data2 datanetwork description", + "op":"replace" + }, + { + "path":"/mtu", + "value":"1500", + "op":"replace" + } + ] + +:: + + { + "description":"group2-data2 datanetwork description", + "updated_at":"2019-02-03T15:49:50.897532+00:00", + "created_at":"2019-02-03T15:31:39.997833+00:00", + "port_num":4789, + "uuid":"3a0b7357-eb36-42fb-a800-55ff3549cc3c", + "mtu":1500, + "multicast_group":"239.0.6.10", + "mode":"dynamic", + "ttl":1, + "id":4, + "network_type":"vxlan", + "name":"group2-data2" + } + +******************************* +Deletes a specific Data Network +******************************* + +.. rest_method:: DELETE /v1/datanetworks/{datanetwork_id} + +**Normal response codes** + +204 + +**Request parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "datanetwork_id", "URI", "csapi:UUID", "The unique identifier of an existing datanetwork." + +This operation does not accept a request body. + +----------------------- +Interface Data Networks +----------------------- + +These APIs allow the create, display, and delete of the +Interface Data Network. + +*************************************************** +List the Interface Data Networks of a specific host +*************************************************** + +.. rest_method:: GET /v1/ihosts/{host_id}/interface_datanetworks + + +**Normal response codes** + +200 + +**Error response codes** + +computeFault (400, 500, ...), serviceUnavailable (503), badRequest (400), +unauthorized (401), forbidden (403), badMethod (405), overLimit (413), +itemNotFound (404) + +**Request parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "host_id", "URI", "csapi:UUID", "The unique identifier of an existing host." + +**Response parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "interface_datanetworks", "plain", "xsd:list", "The list of Interface Data Networks." + "uuid", "plain", "csapi:UUID", "The universally unique identifier for this object." + "interface_uuid", "plain", "csapi:UUID", "The universally unique identifier for the interface." + "datanetwork_uuid", "plain", "csapi:UUID", "The universally unique identifier for the datanetwork." + "datanetwork_name", "plain", "xsd:string", "The name of the data network." + "ifname", "plain", "xsd:string", "The name of the interface." + +:: + + { + "interface_datanetworks":[ + { + "datanetwork_uuid":"1ea7d61d-e988-4457-83bf-3ba37f5f6f8d", + "datanetwork_id":1, + "uuid":"e3502084-22c4-4e1d-acd3-0f2594fa7281", + "datanetwork_name":"group0-data0", + "ifname":"data0", + "interface_uuid":"2731d293-8124-4963-9d7c-36bdb220b38c", + "id":1 + }, + { + "datanetwork_uuid":"01bafd19-63ea-4a1e-8b3c-35e96b7d3a6c", + "datanetwork_id":2, + "uuid":"ffccd4ce-0c47-4bdc-b38d-549b2f2a0d03", + "datanetwork_name":"group0-data1", + "ifname":"data1", + "interface_uuid":"cdd2e58b-abe7-4d27-b4ef-2ff6b5e5e774", + "id":2 + } + ] + } + +This operation does not accept a request body. + +********************************************************* +Shows information about a specific Interface Data Network +********************************************************* + +.. rest_method:: GET /v1/interface_datanetworks/{interface_datanetwork_id} + +**Normal response codes** + +200 + +**Error response codes** + +computeFault (400, 500, ...), serviceUnavailable (503), badRequest (400), +unauthorized (401), forbidden (403), badMethod (405), overLimit (413), +itemNotFound (404) + +**Request parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "interface_datanetwork_id", "URI", "csapi:UUID", "The unique identifier of an existing datanetwork." + +**Response parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "uuid", "plain", "csapi:UUID", "The universally unique identifier for this object." + "interface_uuid", "plain", "csapi:UUID", "The universally unique identifier for the interface." + "datanetwork_uuid", "plain", "csapi:UUID", "The universally unique identifier for the datanetwork." + "datanetwork_name", "plain", "xsd:string", "The name of the data network." + "ifname", "plain", "xsd:string", "The name of the interface." + +:: + + { + "datanetwork_uuid":"1ea7d61d-e988-4457-83bf-3ba37f5f6f8d", + "datanetwork_id":1, + "uuid":"e3502084-22c4-4e1d-acd3-0f2594fa7281", + "datanetwork_name":"group0-data0", + "ifname":"data0", + "interface_uuid":"2731d293-8124-4963-9d7c-36bdb220b38c", + "id":1 + } + +This operation does not accept a request body. + +********************************* +Creates an Interface Data Network +********************************* + +.. rest_method:: POST /v1/interface_datanetworks + +This will create an interface data network i.e. assign a datanetwork to an interface. + +**Normal response codes** + +200 + +**Error response codes** + +Conflict (409) + +**Request parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "interface_uuid", "plain", "csapi:UUID", "The universally unique identifier for the interface." + "datanetwork_uuid", "plain", "csapi:UUID", "The universally unique identifier for the interface." + +**Response parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "uuid", "plain", "csapi:UUID", "The universally unique identifier for this object." + "interface_uuid", "plain", "csapi:UUID", "The universally unique identifier for the interface." + "datanetwork_uuid", "plain", "csapi:UUID", "The universally unique identifier for the datanetwork." + "datanetwork_name", "plain", "xsd:string", "The name of the data network." + "ifname", "plain", "xsd:string", "The name of the interface." + +:: + + { + "interface_uuid":"2731d293-8124-4963-9d7c-36bdb220b38c" + "datanetwork_uuid":"3a0b7357-eb36-42fb-a800-55ff3549cc3c", + } + +:: + + { + "datanetwork_uuid":"3a0b7357-eb36-42fb-a800-55ff3549cc3c", + "datanetwork_id":4, + "uuid":"0ddd0621-7956-42bc-96ca-03c2ebc61b9b", + "created_at":"2019-02-04T00:14:50.277991+00:00", + "updated_at":null, + "datanetwork_name":"group2-data2", + "ifname":"data0", + "interface_uuid":"2731d293-8124-4963-9d7c-36bdb220b38c", + "id":3 + } + +***************************************** +Deletes a specific Interface Data Network +***************************************** + +.. rest_method:: DELETE /v1/interface_datanetworks/{interface_datanetwork_id} + +This will remove from the interface the datanetwork assigned. + +**Normal response codes** + +204 + +**Request parameters** + +.. csv-table:: + :header: "Parameter", "Style", "Type", "Description" + :widths: 20, 20, 20, 60 + + "interface_datanetwork_id", "URI", "csapi:UUID", "The unique identifier of an existing interface datanetwork." + +This operation does not accept a request body. + + --------- Profiles ---------