diff --git a/v2.0/neutron-api-guide.xml b/v2.0/neutron-api-guide.xml index e08c412..7f0aef0 100644 --- a/v2.0/neutron-api-guide.xml +++ b/v2.0/neutron-api-guide.xml @@ -2708,6 +2708,7 @@ Date: Wed, 12 Sep 2012 11:36:20 GMT + diff --git a/v2.0/neutron-external-net.xml b/v2.0/neutron-external-net.xml new file mode 100644 index 0000000..9f7901e --- /dev/null +++ b/v2.0/neutron-external-net.xml @@ -0,0 +1,255 @@ + + + + + + + + +GET'> +PUT'> +POST'> +DELETE'> + + + + + + '> + + + + + + '> + +]> +
+ External Network Extension (<literal>external-net</literal>) + + The external network extension is used to specify whether + the network is external or not. This information is used + by Layer-3 network (router) extension. + External networks are connected to a router's external + gateway and host floating IPs. + +
+ Concepts + + The External Network extension adds the + router:external + attribute to the network resource. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Network Attributes
Attribute Type Required CRUD + + + + C. Use the attribute in + create operations. + + + R. This attribute is + returned in response to show and + list operations. + + + U. You can update the + value of this attribute. + + + D. You can delete the + value of this attribute. + + + + Default Value Validation Constraints Notes
router:externalBoolNoCRUFalse{ True | False }Specifies whether the network is an external network or not.
+
+
+ Network API operations with external network extension +
+ List Networks + + + + + + + + Verb + URI + Description + + + + + &GET; + /networks + Returns a list of networks with their router:external + attributes. + + + + + + Response codes are same as the normal operation of listing networks. + router:external attribute is visible + to all users by default policy setting. + + + Regular users are not authorized to create ports on external networks, + however they will be able to see this attribute in their network list. + This is because external networks can be used by any tenant to + set an external gateway for Neutron routers or create floating + IPs and associate them with ports on internal tenant networks. + + + List Networks with router:external attribute: JSON Response + + +
+
+ Show Network + + + + + + + + Verb + URI + Description + + + + + &GET; + /networks/network_id + Returns details about a specific network, including external + networks attributes. + + + + + Response codes are same as the normal operation of listing networks. + router:external attribute is visible + to all users including non-admin by default policy setting. + + + Show network with external attributes: JSON Response + + +
+
+ Create Network + + + + + + + + Verb + URI + Description + + + + + &POST; + /networks + Creates a new network using the external network extension + attribute. + + + + + + If the user submitting the request is not allowed to set this + attribute, a 403 Forbidden response will be returned. + Usage of this attribute might be restricted through authorization policies. + By the default policy only admin users can set this attribute. + + + Create Network with external attributes: JSON Request + + +
+
+ Update Network + + + + + + + + Verb + URI + Description + + + + + &PUT; + /networks/network_id + Updates a network, including the external + network extension attribute. + + + + + + If the user submitting the request is not allowed to set this + attribute, a 403 Forbidden response will be returned. + Usage of this attribute might be restricted through authorization policies. + By the default policy only admin users can set this attribute. + + + Update external attributes for a network: JSON Request + + +
+
+
+ diff --git a/v2.0/neutron-l3-ext.xml b/v2.0/neutron-l3-ext.xml index c3532cf..f1a627f 100644 --- a/v2.0/neutron-l3-ext.xml +++ b/v2.0/neutron-l3-ext.xml @@ -30,8 +30,7 @@
- The Layer-3 Networking Extension (router) - (<literal>router</literal>) + Layer-3 Networking Extension (<literal>router</literal>) The Layer-3 networking extension enables OpenStack Networking API users to route packets between subnets, forward packets from internal networks to external ones, and access instances from @@ -51,47 +50,15 @@ OpenStack Networking port attached to an internal network. - Also, it extends the network resource by defining a new attribute, - router:external, which - specifies whether a network is meant to be connected to a - router's external gateway and host floating IPs. + +
Concepts - The OpenStack Networking layer-3 extension is both a resource and - attribute extension. As an attribute extension, it adds - the router:external - attribute to the network resource; as a resource extension - it defines two new resources: router and floatingip. - The router:external - attribute is characterized as follows: - - Available in Create, Update,and Get - requests. - - - Boolean type, default value - False. - - - Usage of this attribute might be restricted - through authorization policies. The default - setting is as follows: only admin users can - set this flag to True, whereas any user can - read the value of this flag. Although regular - users won't be authorized to create instances - with VIFs on external networks, they will be - able to see them in their network list; this - is because external networks can be used by - any tenant to set an external gateway for - their OpenStack Networking routers or create floating IPs - and associate them with ports on internal - tenant networks. - - + The OpenStack Networking layer-3 extension is a resource + extension. It defines two new resources: + router and + floatingip. A router is used to interconnect subnets and forward traffic among them. Another feature of the router is to NAT internal traffic @@ -107,9 +74,9 @@ private OpenStack Networking network. Therefore a floating IP allows access to an instance on a private network from an external network. Floating IPs can only be defined on - networks for which the attribute router:external has been set to - True. + networks for which the attribute + router:external (by the external network extension) + has been set to True. diff --git a/v2.0/samples/networks-get-res-extnet.json b/v2.0/samples/networks-get-res-extnet.json new file mode 100644 index 0000000..51c8baa --- /dev/null +++ b/v2.0/samples/networks-get-res-extnet.json @@ -0,0 +1,28 @@ +{ + "networks": [ + { + "admin_state_up": true, + "id": "0f38d5ad-10a6-428f-a5fc-825cfe0f1970", + "name": "net1", + "router:external": false, + "shared": false, + "status": "ACTIVE", + "subnets": [ + "25778974-48a8-46e7-8998-9dc8c70d2f06" + ], + "tenant_id": "b575417a6c444a6eb5cc3a58eb4f714a" + }, + { + "admin_state_up": true, + "id": "8d05a1b1-297a-46ca-8974-17debf51ca3c", + "name": "ext_net", + "router:external": true, + "shared": false, + "status": "ACTIVE", + "subnets": [ + "2f1fb918-9b0e-4bf9-9a50-6cebbb4db2c5" + ], + "tenant_id": "5eb8995cf717462c9df8d1edfa498010" + } + ] +} diff --git a/v2.0/samples/networks-post-req-extnet.json b/v2.0/samples/networks-post-req-extnet.json new file mode 100644 index 0000000..5bea42e --- /dev/null +++ b/v2.0/samples/networks-post-req-extnet.json @@ -0,0 +1,7 @@ +{ + "network": { + "admin_state_up": true, + "name": "ext_net", + "router:external": true + } +} diff --git a/v2.0/samples/networks-put-req-extnet.json b/v2.0/samples/networks-put-req-extnet.json new file mode 100644 index 0000000..9dece3c --- /dev/null +++ b/v2.0/samples/networks-put-req-extnet.json @@ -0,0 +1,10 @@ +PUT /v2.0/networks/3a06dfc7-d239-4aad-9a57-21cd171c72e5.json + +Content-Type: application/json +Accept: application/json + +{ + "network": { + "router:external": true + } +} diff --git a/v2.0/samples/networks-show-res-extnet.json b/v2.0/samples/networks-show-res-extnet.json new file mode 100644 index 0000000..2687bb0 --- /dev/null +++ b/v2.0/samples/networks-show-res-extnet.json @@ -0,0 +1,14 @@ +{ + "network": { + "admin_state_up": true, + "id": "8d05a1b1-297a-46ca-8974-17debf51ca3c", + "name": "ext_net", + "router:external": true, + "shared": false, + "status": "ACTIVE", + "subnets": [ + "2f1fb918-9b0e-4bf9-9a50-6cebbb4db2c5" + ], + "tenant_id": "5eb8995cf717462c9df8d1edfa498010" + } +}
Router Attributes