diff --git a/v2.0/samples/loadbalancer/members-list-res.json b/v2.0/samples/loadbalancer/members-list-res.json index a9062a6..30a118c 100644 --- a/v2.0/samples/loadbalancer/members-list-res.json +++ b/v2.0/samples/loadbalancer/members-list-res.json @@ -1,15 +1,24 @@ { "members":[ { - "status":"PENDING_CREATE", - "protocol_port":8080, + "status":"ACTIVE", "weight":1, "admin_state_up":true, - "tenant_id":"4fd44f30292945e481c7b8a0c8908869", - "pool_id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", - "address":"10.0.0.5", - "status_description":null, - "id":"48a471ea-64f1-4eb6-9be7-dae6bbe40a0f" + "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", + "pool_id":"72741b06-df4d-4715-b142-276b6bce75ab", + "address":"10.0.0.4", + "protocol_port":80, + "id":"701b531b-111a-4f21-ad85-4795b7b12af6" + }, + { + "status":"ACTIVE", + "weight":1, + "admin_state_up":true, + "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", + "pool_id":"72741b06-df4d-4715-b142-276b6bce75ab", + "address":"10.0.0.3", + "protocol_port":80, + "id":"beb53b4d-230b-4abd-8118-575b8fa006ef" } ] } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/pools-create-req.json b/v2.0/samples/loadbalancer/pools-create-req.json index 7d75651..e826b51 100644 --- a/v2.0/samples/loadbalancer/pools-create-req.json +++ b/v2.0/samples/loadbalancer/pools-create-req.json @@ -1,9 +1,9 @@ { "pool":{ - "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", - "lb_method":"SOURCE_IP", - "protocol":"HTTP", - "name":"mypool", + "subnet_id":"8032909d-47a1-4715-90af-5153ffe39861", + "lb_method":"ROUND_ROBIN", + "protocol":"TCP", + "name":"NewPool", "admin_state_up":true } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/pools-create-res.json b/v2.0/samples/loadbalancer/pools-create-res.json index 47c9b35..bcd850a 100644 --- a/v2.0/samples/loadbalancer/pools-create-res.json +++ b/v2.0/samples/loadbalancer/pools-create-res.json @@ -1,25 +1,20 @@ { "pool":{ "status":"PENDING_CREATE", - "lb_method":"SOURCE_IP", - "protocol":"HTTP", + "lb_method":"STATIC_IP", + "protocol":"TCP", "description":"", "health_monitors":[ ], - "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", - "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "subnet_id":"8032909d-47a1-4715-90af-5153ffe39861", + "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", "admin_state_up":true, - "name":"mypool", - "health_monitors_status":[ - - ], + "name":"NewPool", "members":[ ], - "provider":"haproxy", - "status_description":null, - "id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", + "id":"a224402b-794b-4c0c-9d08-d95640a6f5a1", "vip_id":null } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/pools-list-res.json b/v2.0/samples/loadbalancer/pools-list-res.json index 566b0ac..a67cad9 100644 --- a/v2.0/samples/loadbalancer/pools-list-res.json +++ b/v2.0/samples/loadbalancer/pools-list-res.json @@ -1,27 +1,24 @@ { "pools":[ { - "status":"PENDING_CREATE", - "lb_method":"SOURCE_IP", + "status":"ACTIVE", + "lb_method":"ROUND_ROBIN", "protocol":"HTTP", "description":"", "health_monitors":[ - + "466c8345-28d8-4f84-a246-e04380b0461d", + "5d4b5228-33b0-4e60-b225-9b727c1a20e7" ], - "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", - "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "subnet_id":"8032909d-47a1-4715-90af-5153ffe39861", + "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", "admin_state_up":true, - "name":"mypool", - "health_monitors_status":[ - - ], + "name":"app_pool", "members":[ - + "701b531b-111a-4f21-ad85-4795b7b12af6", + "beb53b4d-230b-4abd-8118-575b8fa006ef" ], - "provider":"haproxy", - "status_description":null, - "id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", - "vip_id":null + "id":"72741b06-df4d-4715-b142-276b6bce75ab", + "vip_id":"4ec89087-d057-4e2c-911f-60a3b47ee304" } ] } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/pools-show-res.json b/v2.0/samples/loadbalancer/pools-show-res.json index 47c9b35..5d64dc2 100644 --- a/v2.0/samples/loadbalancer/pools-show-res.json +++ b/v2.0/samples/loadbalancer/pools-show-res.json @@ -1,25 +1,22 @@ { "pool":{ - "status":"PENDING_CREATE", - "lb_method":"SOURCE_IP", + "status":"ACTIVE", + "lb_method":"ROUND_ROBIN", "protocol":"HTTP", "description":"", "health_monitors":[ - + "466c8345-28d8-4f84-a246-e04380b0461d", + "5d4b5228-33b0-4e60-b225-9b727c1a20e7" ], - "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", - "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "subnet_id":"8032909d-47a1-4715-90af-5153ffe39861", + "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", "admin_state_up":true, - "name":"mypool", - "health_monitors_status":[ - - ], + "name":"app_pool", "members":[ - + "701b531b-111a-4f21-ad85-4795b7b12af6", + "beb53b4d-230b-4abd-8118-575b8fa006ef" ], - "provider":"haproxy", - "status_description":null, - "id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", - "vip_id":null + "id":"72741b06-df4d-4715-b142-276b6bce75ab", + "vip_id":"4ec89087-d057-4e2c-911f-60a3b47ee304" } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/pools-update-res.json b/v2.0/samples/loadbalancer/pools-update-res.json index 60c13b9..3075ecd 100644 --- a/v2.0/samples/loadbalancer/pools-update-res.json +++ b/v2.0/samples/loadbalancer/pools-update-res.json @@ -1,25 +1,20 @@ { "pool":{ "status":"PENDING_UPDATE", - "lb_method":"SOURCE_IP", - "protocol":"HTTP", + "lb_method":"ROUND_ROBIN", + "protocol":"TCP", "description":"", "health_monitors":[ ], - "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", - "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "subnet_id":"8032909d-47a1-4715-90af-5153ffe39861", + "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", "admin_state_up":true, "name":"SuperPool", - "health_monitors_status":[ - - ], "members":[ ], - "provider":"haproxy", - "status_description":null, - "id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", + "id":"61b1f87a-7a21-4ad3-9dda-7f81d249944f", "vip_id":null } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/vips-create-req.json b/v2.0/samples/loadbalancer/vips-create-req.json index 045e431..ae1e7eb 100644 --- a/v2.0/samples/loadbalancer/vips-create-req.json +++ b/v2.0/samples/loadbalancer/vips-create-req.json @@ -1,10 +1,10 @@ { "vip":{ "protocol":"HTTP", - "name":"myvip", + "name":"NewVip", "admin_state_up":true, - "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", - "pool_id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", + "subnet_id":"8032909d-47a1-4715-90af-5153ffe39861", + "pool_id":"61b1f87a-7a21-4ad3-9dda-7f81d249944f", "protocol_port":"80" } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/vips-create-res.json b/v2.0/samples/loadbalancer/vips-create-res.json index 8c2c2f6..8fa7a06 100644 --- a/v2.0/samples/loadbalancer/vips-create-res.json +++ b/v2.0/samples/loadbalancer/vips-create-res.json @@ -1,18 +1,17 @@ { "vip":{ "status":"PENDING_CREATE", - "status_description":null, "protocol":"HTTP", "description":"", "admin_state_up":true, - "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", - "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "subnet_id":"8032909d-47a1-4715-90af-5153ffe39861", + "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", "connection_limit":-1, - "pool_id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", - "address":"192.0.0.3", + "pool_id":"61b1f87a-7a21-4ad3-9dda-7f81d249944f", + "address":"10.0.0.11", "protocol_port":80, - "port_id":"36242e87-0bae-49d7-bc59-a0867476c69a", - "id":"a54bc6e7-2e28-4c55-a676-6146a4c0f8b9", - "name":"myvip" + "port_id":"f7e6fe6a-b8b5-43a8-8215-73456b32e0f5", + "id":"c987d2be-9a3c-4ac9-a046-e8716b1350e2", + "name":"NewVip" } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/vips-list-res.json b/v2.0/samples/loadbalancer/vips-list-res.json index 3aebbab..b33d21e 100644 --- a/v2.0/samples/loadbalancer/vips-list-res.json +++ b/v2.0/samples/loadbalancer/vips-list-res.json @@ -2,19 +2,22 @@ "vips":[ { "status":"ACTIVE", - "status_description":null, "protocol":"HTTP", "description":"", "admin_state_up":true, - "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", - "tenant_id":"4fd44f30292945e481c7b8a0c8908869", - "connection_limit":-1, - "pool_id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", - "address":"192.0.0.3", + "subnet_id":"8032909d-47a1-4715-90af-5153ffe39861", + "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", + "connection_limit":1000, + "pool_id":"72741b06-df4d-4715-b142-276b6bce75ab", + "session_persistence":{ + "cookie_name":"MyAppCookie", + "type":"APP_COOKIE" + }, + "address":"10.0.0.10", "protocol_port":80, - "port_id":"36242e87-0bae-49d7-bc59-a0867476c69a", - "id":"a54bc6e7-2e28-4c55-a676-6146a4c0f8b9", - "name":"myvip" + "port_id":"b5a743d6-056b-468b-862d-fb13a9aa694e", + "id":"4ec89087-d057-4e2c-911f-60a3b47ee304", + "name":"my-vip" } ] } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/vips-show-res.json b/v2.0/samples/loadbalancer/vips-show-res.json index 04d9deb..ed825d0 100644 --- a/v2.0/samples/loadbalancer/vips-show-res.json +++ b/v2.0/samples/loadbalancer/vips-show-res.json @@ -1,18 +1,21 @@ { "vip":{ "status":"ACTIVE", - "status_description":null, "protocol":"HTTP", "description":"", "admin_state_up":true, - "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", - "tenant_id":"4fd44f30292945e481c7b8a0c8908869", - "connection_limit":-1, - "pool_id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", - "address":"192.0.0.3", + "subnet_id":"8032909d-47a1-4715-90af-5153ffe39861", + "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", + "connection_limit":1000, + "pool_id":"72741b06-df4d-4715-b142-276b6bce75ab", + "session_persistence":{ + "cookie_name":"MyAppCookie", + "type":"APP_COOKIE" + }, + "address":"10.0.0.10", "protocol_port":80, - "port_id":"36242e87-0bae-49d7-bc59-a0867476c69a", - "id":"a54bc6e7-2e28-4c55-a676-6146a4c0f8b9", - "name":"myvip" + "port_id":"b5a743d6-056b-468b-862d-fb13a9aa694e", + "id":"4ec89087-d057-4e2c-911f-60a3b47ee304", + "name":"my-vip" } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/vips-update-res.json b/v2.0/samples/loadbalancer/vips-update-res.json index 9be4cdb..66bb39d 100644 --- a/v2.0/samples/loadbalancer/vips-update-res.json +++ b/v2.0/samples/loadbalancer/vips-update-res.json @@ -1,18 +1,17 @@ { "vip":{ "status":"PENDING_UPDATE", - "status_description":null, "protocol":"HTTP", "description":"", "admin_state_up":true, - "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", - "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "subnet_id":"8032909d-47a1-4715-90af-5153ffe39861", + "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", "connection_limit":1000, - "pool_id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", - "address":"192.0.0.3", + "pool_id":"61b1f87a-7a21-4ad3-9dda-7f81d249944f", + "address":"10.0.0.11", "protocol_port":80, - "port_id":"36242e87-0bae-49d7-bc59-a0867476c69a", - "id":"a54bc6e7-2e28-4c55-a676-6146a4c0f8b9", - "name":"myvip" + "port_id":"f7e6fe6a-b8b5-43a8-8215-73456b32e0f5", + "id":"c987d2be-9a3c-4ac9-a046-e8716b1350e2", + "name":"NewVip" } } \ No newline at end of file diff --git a/v2.0/section_neutron-loadbalancer-ext.xml b/v2.0/section_neutron-loadbalancer-ext.xml index a88974e..94c49d0 100644 --- a/v2.0/section_neutron-loadbalancer-ext.xml +++ b/v2.0/section_neutron-loadbalancer-ext.xml @@ -1,6 +1,5 @@ GET'> PUT'> POST'> @@ -14,157 +13,181 @@ xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0" status="final" xml:id="lbaas_ext"> - The Load Balancer as a Service (LBaaS) Extension - The LBaaS extension provides OpenStack tenants with a - feature of balancing traffic to their VMs. The capabilities - provided by the LBaaS extension are: + The Load Balancer as a Service (LBaaS) extension + The LBaaS extension enables OpenStack tenants to + load-balance their VM traffic. The extension enables you + to: - Load balancing client traffic coming from one - network to application services, such as VMs, on the same - or a different network. + Load-balance client traffic from one network to + application services, such as VMs, on the same or a + different network. - Supporting load balancing for several protocols - (TCP, HTTP). + Load-balance several protocols, such as TCP and + HTTP. - Supporting session persistence. + Monitor the health of application services. - Monitoring the health of the application - services. - - - This extension introduces new resources: - - - vip, is the primary - load balancing configuration object that specifies the - virtual IP address and port on which client traffic is - received. - - - pool, a load - balancing pool is a logical set of members, such as - web servers, that you group together to receive and - process traffic. - - - member, a - representation of the application running on back end - server. - - - health_monitor, - which is used to determine whether or not back end - members of the pool are usable for processing traffic. + Support session persistence.
Concepts - A VIP is the primary - load balancing configuration object that specifies the - virtual IP address and port on which client traffic is - received, as well as other details such as the load - balancing method to be used, protocol, etc. This entity is - sometimes known in LB products as a "virtual server", a - "vserver" or a "listener". - A Pool is a logical set - of devices, such as web servers, that you group together - to receive and process traffic. The load balancing - function chooses a member of the pool according to the - configured load balancing method to handle the new - requests or connections received on the VIP address. There - is only one pool for a VIP. - A pool member - represents the application running on the back end - server. - A Health Monitor is - used to determine whether or not back end members of the - VIP pool are usable for processing a request. A pool can - have several health monitors associated with it. There are - different types of health monitors supported by the LBaaS - extension: - - - PING: pings the members by - using ICMP. - - - TCP: connects to the - members by using TCP. - - - HTTP: sends an HTTP request - to the member. - - - HTTPS: sends a secure HTTP - request to the member. - - - When a pool has several monitors associated with it, - each member of the pool is monitored by all these - monitors. If any monitor declares the member as unhealthy, - then the member status is changed to - inactive and the member won't - participate in its pool's load balancing. In other words, - all monitors must declare the member to be healthy for it - to stay active. - Session persistence is a feature of the load balancing - service. It attempts to force connections or requests in - the same session to be processed by the same member as - long as it is active. The LBaaS extension supports three - types of persistence: - - - SOURCE_IP: With this - persistence mode, all connections originating from - the same source IP address are handled by the same - member of the pool. - - - HTTP_COOKIE: With this - persistence mode, the load balancing function - creates a cookie on the first request from a - client. Subsequent requests containing the same - cookie value will be handled by the same member of - the pool. - - - APP_COOKIE: With this - persistence mode, the load balancing function - relies on a cookie established by the back end - application. All requests carrying the same cookie - value is handled by the same member of the pool. - - + This extension introduces these concepts: + + + VIP + + The primary load balancing configuration + object. Specifies the virtual IP address and + port where client traffic is received. Also + defines other details such as the load + balancing method to be used, protocol, and so + on. + This entity is sometimes known in + load-balancing products as a + virtual server, + vserver, or + listener. + + + + pool + + A logical set of devices, such as web + servers, that you group together to receive + and process traffic. + The load balancing function chooses which + member of the pool handles the new requests or + connections received on the VIP address. Each + VIP has one pool. + + + + pool member + + The application that runs on the back-end + server. + + + + health monitor + + Determines whether or not back-end members + of the VIP pool can process a request. A pool + can have several health monitors associated + with it. + The LBaaS extension supports these types of + health monitors: + + + PING. Pings the members + by using ICMP. + + + TCP. Connects to the + members by using TCP. + + + HTTP. Sends an HTTP + request to the member. + + + HTTPS. Sends a secure + HTTP request to the member. + + + When a pool has several monitors associated + with it, all monitors check each member of the + pool. If any monitor declares a member as + unhealthy, the member status is changed to + inactive + and the member does not participate in the + load balancing for the pool. + All monitors must declare the member to be + healthy for it to stay active. + + + + session persistence + + Forces connections or requests in the same + session to be processed by the same member as + long as it is active. + The LBaaS extension supports these types of + persistence: + + + SOURCE_IP. All + connections that originate from the + same source IP address are handled by + the same member of the pool. + + + HTTP_COOKIE. The load + balancing function creates a cookie on + the first request from a client. + Subsequent requests that contain the + same cookie value are handled by the + same member of the pool. + + + APP_COOKIE. The load + balancing function relies on a cookie + established by the back-end + application. All requests with the + same cookie value are handled by the + same member of the pool. + + + Absence of session_persistence + attribute means no session persistence + mechanism is used. + When no session persistence is used, the + session_persistence attribute + does not appear in the API response, instead + of returning null. + You can clear session persistence for the + VIP by sending null in + session_persistence attribute + in a VIP update request. + + +
- High-level flow - The high-level task flow for using LBaaS API to - configure load balancing is as follows: + High-level task flow + To use the LBaaS extension to configure load balancing, + you must complete these high-level tasks: - The tenant creates a pool, which is initially - empty + Create a pool, which is initially empty. - The tenant creates one or several members in the - pool + Create one or several members in the + pool. - The tenant create one or several health - monitors + Create one or several health monitors. - The tenant associates the Health Monitors with - the Pool + Associate the health monitors with the + pool. - The tenant finally creates a VIP associated with - the Pool + Create a VIP that is associated with the + pool.
@@ -173,7 +196,7 @@ This section discusses operations for managing load balancer VIPs through the LBaaS extension. - + @@ -225,7 +248,7 @@ - + @@ -234,8 +257,9 @@ - + @@ -244,7 +268,7 @@ - @@ -254,7 +278,7 @@ - + @@ -263,7 +287,7 @@ - @@ -272,8 +296,8 @@ - - + + @@ -282,7 +306,7 @@ - + @@ -292,7 +316,7 @@ + that is associated with the VIP address. @@ -301,7 +325,8 @@ - + @@ -329,7 +354,22 @@ - + @@ -337,9 +377,10 @@ - + + the VIP or -1 if the limit is not + set. @@ -348,7 +389,7 @@ - + @@ -357,18 +398,9 @@ - - - - - - - -
VIP AttributesVIP attributes
R generated N/AUnique identifier for the vip.Unique identifier for the VIP.
tenant_idCR Derived from authentication token. N/AOwner of the vip. Only an admin user can specify - a tenant ID other than its own.Owner of the VIP. Only an admin user can + specify a tenant identifier other than its + own.
nameCRU None N/AHuman readable name for the vip. Does not have + Human readable name for the VIP. Does not have to be unique.
CRU None N/AHuman readable description for the vip.Human readable description for the VIP.
subnet_idCR None UUID pattern.The subnet on which to allocate the vip + The subnet on which to allocate the VIP address.
No CR NoneIP address or null.The IP address of the vip.IP address or nullThe IP address of the VIP.
protocolCR None { "TCP" | "HTTP" | "HTTPS" }The protocol of the vip address.The protocol of the VIP address.
protocol_portNone [0..65535] The port on which to listen to client traffic - that is associated with the vip address.
pool_idCRU None UUID pattern.The pool with which to associate the vip.The pool that the VIP + associated with.
session_persistence Session persistence parameters of the vip.Session persistence parameters of the + VIP. + Absence of + session_persistence + attribute means no session persistence + mechanism is used. + When no session persistence is used, the + session_persistence + attribute does not appear in the API + response, instead of returning + null. + You can clear session persistence for + the VIP by sending null in + session_persistence + attribute in a VIP update + request.
connection_limitNo CRU -1None.None The maximum number of connections allowed for - the vip or -1 if the limit is not set.
admin_state_upCRU true {true | false }Administrative state of the vip.Administrative state of the VIP
statusR N/A N/AIndicates whether or not a vip is currently + Indicates whether a VIP is currently operational.
status_descriptionStringN/ACRUnull - -
@@ -388,7 +420,7 @@ &GET; /lb/vips - Lists vips. + Lists VIPs. @@ -403,9 +435,9 @@ This operation returns a response body. List VIPs: HTTP request - GET /v2.0/lb/vips.json HTTP/1.1 + GET /v2.0/lb/vips.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json List VIPs: JSON response @@ -445,9 +477,9 @@ Accept: application/json This operation returns a response body. Show VIP details: HTTP request - GET /v2.0/lb/vips/a54bc6e7-2e28-4c55-a676-6146a4c0f8b9.json HTTP/1.1 + GET /v2.0/lb/vips/4ec89087-d057-4e2c-911f-60a3b47ee304.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json Show VIP details: JSON response @@ -475,7 +507,8 @@ Accept: application/json - Normal Response Code: 201 + Normal Response Code: 201 + Error Response Codes: Unauthorized (401), Bad Request (400) @@ -483,15 +516,15 @@ Accept: application/json This operation returns a response body. Create VIP: HTTP and JSON request - POST /v2.0/lb/vips.json HTTP/1.1 + POST /v2.0/lb/vips.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json Create VIP: HTTP and JSON response - HTTP/1.1 201 Created -Content-Type: application/json; charset=UTF-8 + HTTP/1.1 201 Created +Content-Type: application/json; charset=UTF-8
@@ -512,7 +545,7 @@ Content-Type: application/json; charset=UTF-8 &PUT; /lb/vips/vip-id - Updates a load balancer vip. + Updates a load balancer VIP. @@ -524,15 +557,15 @@ Content-Type: application/json; charset=UTF-8 (404) Update VIP: HTTP and JSON request - PUT /v2.0/lb/vips/a54bc6e7-2e28-4c55-a676-6146a4c0f8b9.json + PUT /v2.0/lb/vips/c987d2be-9a3c-4ac9-a046-e8716b1350e2.json User-Agent: python-neutronclient -Accept: application/json +Accept: application/json Update VIP: HTTP and JSON response - HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8 @@ -553,11 +586,12 @@ Content-Type: application/json; charset=UTF-8 &DELETE; /lb/vips/vip-id - Removes a load balancer vip. + Removes a load balancer VIP. - Normal Response Code: 204 + Normal Response Code: 204 + Error Response Codes: Unauthorized (401), Not Found (404), Conflict @@ -568,13 +602,13 @@ Content-Type: application/json; charset=UTF-8 body. Delete VIP: HTTP request - DELETE /v2.0/lb/vips/a54bc6e7-2e28-4c55-a676-6146a4c0f8b9.json HTTP/1.1 -Accept: application/json + DELETE /v2.0/lb/vips/c987d2be-9a3c-4ac9-a046-e8716b1350e2.json HTTP/1.1 +Accept: application/json Delete VIP: HTTP response - HTTP/1.1 204 No Content -Content-Length: 0 + HTTP/1.1 204 No Content +Content-Length: 0 @@ -582,7 +616,8 @@ Content-Length: 0
Pool operations This section discusses operations for managing load - balancer pools through the LBaaS extension. + balancer pools through the Load balancing as a service + extension. @@ -646,8 +681,8 @@ Content-Length: 0 + specify a tenant identifier other than its + own @@ -656,7 +691,8 @@ Content-Length: 0 - + @@ -713,7 +749,7 @@ Content-Length: 0 + pool. @@ -722,7 +758,7 @@ Content-Length: 0 - + @@ -731,7 +767,7 @@ Content-Length: 0 - + @@ -741,16 +777,7 @@ Content-Length: 0 - - - - - - - -
Pool Attributes
Derived from authentication token. N/A Owner of the pool. Only an admin user can - specify a tenant ID other than its - own.
vip_id R None UUID pattern.The vip with which the pool is associated.The vip that the pool + associated with.
name None N/A List of health monitors to associate with the - pool
members R None N/AList of members that belong to the poolList of members that belong to the pool.
admin_state_up CRU true {true | false }Administrative state of the poolAdministrative state of the pool.
status N/A N/A Indicates whether a pool is currently - operational or not
status_descriptionStringN/ACRUnull - + operational or not.
@@ -786,19 +813,19 @@ Content-Length: 0 This operation returns a response body. List pools: HTTP request - GET /v2.0/lb/pools.json HTTP/1.1 + GET /v2.0/lb/pools.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json List pools: HTTP and JSON response - HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- Show pool details + Show pool @@ -814,7 +841,8 @@ Content-Type: application/json; charset=UTF-8 &GET; /lb/pools/pool-id - Shows details for a specified pool. + Returns details about a specific + pool. @@ -830,19 +858,19 @@ Content-Type: application/json; charset=UTF-8 This operation returns a response body. Show pool: HTTP request - GET /v2.0/lb/pools/7803631d-f181-4500-b3a2-1b68ba2a75fd.json HTTP/1.1 + GET /v2.0/lb/pools/72741b06-df4d-4715-b142-276b6bce75ab.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json Show pool: HTTP and JSON response - HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- Create pool + Create Pool @@ -862,28 +890,29 @@ Content-Type: application/json; charset=UTF-8 - Normal Response Code: 201 + Normal Response Code: 201 + Error Response Codes: Unauthorized (401), Bad Request (400) This operation requires a request body. This operation returns a response body. - Create pool: HTTP and JSON request - POST /v2.0/lb/pools.json HTTP/1.1 + Create pool: HTTP request + POST /v2.0/lb/pools.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json Create pool: HTTP and JSON response - HTTP/1.1 201 Created -Content-Type: application/json; charset=UTF-8 + HTTP/1.1 201 Created +Content-Type: application/json; charset=UTF-8
- Update pool + Update Pool @@ -911,15 +940,15 @@ Content-Type: application/json; charset=UTF-8 (404) Update pool: HTTP and JSON request - PUT /v2.0/lb/pools/7803631d-f181-4500-b3a2-1b68ba2a75fd.json + PUT /v2.0/lb/pools/61b1f87a-7a21-4ad3-9dda-7f81d249944f.json User-Agent: python-neutronclient -Accept: application/json +Accept: application/json Update pool: HTTP and JSON response - HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
@@ -944,7 +973,8 @@ Content-Type: application/json; charset=UTF-8 - Normal Response Code: 204 + Normal Response Code: 204 + Error Response Codes: Unauthorized (401), Not Found (404), Conflict @@ -955,13 +985,13 @@ Content-Type: application/json; charset=UTF-8 body. Delete pool: HTTP request - DELETE /v2.0/lb/pools/7803631d-f181-4500-b3a2-1b68ba2a75fd.json HTTP/1.1 -Accept: application/json + DELETE /v2.0/lb/pools/a224402b-794b-4c0c-9d08-d95640a6f5a1.json HTTP/1.1 +Accept: application/json - Delete pool: JSON response - HTTP/1.1 204 No Content -Content-Length: 0 + Delete pool: HTTP response + HTTP/1.1 204 No Content +Content-Length: 0 @@ -969,7 +999,8 @@ Content-Length: 0
Member operations This section discusses operations for managing pool - members through the LBaaS extension. + members through the Load balancing as a service + extension. @@ -1033,7 +1064,7 @@ Content-Length: 0 @@ -1043,7 +1074,8 @@ Content-Length: 0 - + @@ -1097,15 +1129,6 @@ Content-Length: 0 - - - - - - -
Member Attributes
Derived from authentication token. N/A Owner of the member. Only an admin user can - specify a tenant ID other than its + specify a tenant identifier other than its own.
CRU None UUID pattern.The pool to which the member belongs.The pool that the member + belongs to.
address Indicates whether or not a member is currently operational.
status_descriptionStringN/ACRUnull - -
@@ -1140,19 +1163,19 @@ Content-Length: 0 This operation returns a response body. List members: HTTP request - GET /v2.0/lb/members.json HTTP/1.1 + GET /v2.0/lb/members.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json List members: HTTP and JSON response - HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- Show member details + Show member @@ -1168,7 +1191,8 @@ Content-Type: application/json; charset=UTF-8 &GET; /lb/members/member-id - Shows details for a specified member. + Returns details about a specific + member. @@ -1183,15 +1207,15 @@ Content-Type: application/json; charset=UTF-8 body. This operation returns a response body. - Show member details: HTTP request - GET /v2.0/lb/members/48a471ea-64f1-4eb6-9be7-dae6bbe40a0f.json HTTP/1.1 + Show member: HTTP request + GET /v2.0/lb/members/701b531b-111a-4f21-ad85-4795b7b12af6.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json - Show member details: HTTP and JSON response - HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 + Show member: HTTP and JSON response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
@@ -1216,7 +1240,8 @@ Content-Type: application/json; charset=UTF-8 - Normal Response Code: 201 + Normal Response Code: 201 + Error Response Codes: Unauthorized (401), Bad Request (400) @@ -1224,15 +1249,15 @@ Content-Type: application/json; charset=UTF-8 This operation returns a response body. Create member: HTTP and JSON request - POST /v2.0/lb/members.json HTTP/1.1 + POST /v2.0/lb/members.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json Create member: HTTP and JSON response - HTTP/1.1 201 Created -Content-Type: application/json; charset=UTF-8 + HTTP/1.1 201 Created +Content-Type: application/json; charset=UTF-8
@@ -1265,15 +1290,15 @@ Content-Type: application/json; charset=UTF-8 (404)
Update member: HTTP and JSON request - PUT /v2.0/lb/members/48a471ea-64f1-4eb6-9be7-dae6bbe40a0f.json + PUT /v2.0/lb/members/b9a7012a-1097-45b2-a973-6572973619bc.json User-Agent: python-neutronclient -Accept: application/json +Accept: application/json Update member: HTTP and JSON response - HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8 @@ -1298,7 +1323,8 @@ Content-Type: application/json; charset=UTF-8 - Normal Response Code: 204 + Normal Response Code: 204 + Error Response Codes: Unauthorized (401), Not Found (404), Conflict @@ -1309,13 +1335,13 @@ Content-Type: application/json; charset=UTF-8 body. Delete member: HTTP request - DELETE /v2.0/lb/members/48a471ea-64f1-4eb6-9be7-dae6bbe40a0f.json HTTP/1.1 -Accept: application/json + DELETE /v2.0/lb/members/b9a7012a-1097-45b2-a973-6572973619bc.json HTTP/1.1 +Accept: application/json - Delete member: HTTP response - HTTP/1.1 204 No Content -Content-Length: 0 + Delete member: HTTP and JSON response + HTTP/1.1 204 No Content +Content-Length: 0 @@ -1326,7 +1352,7 @@ Content-Length: 0 balancer health monitors through the LBaaS extension. - + @@ -1388,9 +1414,9 @@ Content-Length: 0 - + @@ -1399,8 +1425,8 @@ Content-Length: 0 - + @@ -1432,7 +1458,7 @@ Content-Length: 0 + changing the member's status to INACTIVE. @@ -1441,7 +1467,7 @@ Content-Length: 0 xml:id="lbaas_health_monitor_http_method"> Required if type is HTTP or - HTTPS + HTTPS. @@ -1457,10 +1483,10 @@ Content-Length: 0 /> - + @@ -1471,8 +1497,8 @@ Content-Length: 0 /> - + @@ -1487,6 +1513,16 @@ Content-Length: 0 + + + + + + + + +
Health Monitor AttributesHealth monitor attributes
CR Derived from authentication token. N/AOwner of the health monitor. Only an admin user - can specify a tenant ID other than its - own.Owner of the health monitor. Only an admin + user can specify a tenant identifier other + than its own.
type CR None {"PING" | "TCP" | "HTTP" | "HTTPS"}The type of probe sent by load balancer to - verify member state.The type of probe send by load balancer to + verify member state
delay None [1..10] Number of allowed connection failures before - changing the status of the member to INACTIVE.
http_method CRU GET CRU /None.None The HTTP path of the request sent by the - monitor to test the health of a member. This must - be a string beginning with a / (forward + monitor to test a member's health. This must + be a string beginning with a / (forward slash).
CRU 200Single value, such as 200, list, such as 200, 202, - or range, such as 200-204.Single value, such as 200, list, such as 200, + 202, or range, such as 200-204. The list of HTTP status codes expected in response from the member to declare it healthy. Administrative state of the health monitor.
statusStringN/ARN/AN/AIndicates whether or not a health monitor is + currently operational.
@@ -1521,19 +1557,20 @@ Content-Length: 0 This operation returns a response body. List health monitors: HTTP request - GET /v2.0/lb/health_monitors.json HTTP/1.1 + GET /v2.0/lb/health_monitors.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json - List health monitors: HTTP and JSON response - HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 + List health monitors: HTTP and JSON + response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- Show health monitor details + Show health monitor @@ -1549,7 +1586,7 @@ Content-Type: application/json; charset=UTF-8 &GET; /lb/health_monitors/health_monitor-id - Returns details about a specific health + Show details for a specified health monitor. @@ -1565,15 +1602,16 @@ Content-Type: application/json; charset=UTF-8 body. This operation returns a response body. - Show health monitor details: HTTP request - GET /v2.0/lb/health_monitors/5d4b5228-33b0-4e60-b225-9b727c1a20e7.json HTTP/1.1 + Show health monitor: HTTP request + GET /v2.0/lb/health_monitors/701b531b-111a-4f21-ad85-4795b7b12af6.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json - Show health monitor details: HTTP and JSON response - HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 + Show health monitor: HTTP and JSON + response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
@@ -1599,23 +1637,26 @@ Content-Type: application/json; charset=UTF-8 - Normal Response Code: 201 + Normal Response Code: 201 + Error Response Codes: Unauthorized (401), Bad Request (400) This operation requires a request body. This operation returns a response body. - Create health monitor: HTTP and JSON request - POST /v2.0/lb/health_monitors.json HTTP/1.1 + Create health monitor: HTTP and JSON + request + POST /v2.0/lb/health_monitors.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json - Create health monitor: HTTP and JSON response - HTTP/1.1 201 Created -Content-Type: application/json; charset=UTF-8 + Create health monitor: HTTP and JSON + response + HTTP/1.1 201 Created +Content-Type: application/json; charset=UTF-8 @@ -1648,16 +1689,18 @@ Content-Type: application/json; charset=UTF-8 (400), Not Found (404)
- Update health monitor: HTTP and JSON request - PUT /v2.0/lb/health_monitors/b624decf-d5d3-4c66-9a3d-f047e7786181.json HTTP/1.1 + Update health monitor: HTTP and JSON + request + PUT /v2.0/lb/health_monitors/466c8345-28d8-4f84-a246-e04380b0461d.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json - Update health monitor: JSON response - HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 + Update health monitor: HTTP and JSON + response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8 @@ -1682,7 +1725,8 @@ Content-Type: application/json; charset=UTF-8 - Normal Response Code: 204 + Normal Response Code: 204 + Error Response Codes: Unauthorized (401), Not Found (404), Conflict @@ -1693,17 +1737,17 @@ Content-Type: application/json; charset=UTF-8 body. Delete health monitor: HTTP request - DELETE /v2.0/lb/health_monitors/b624decf-d5d3-4c66-9a3d-f047e7786181.json HTTP/1.1 -Accept: application/json + DELETE /v2.0/lb/health_monitors/ada338f0-10d0-4326-b02e-cc123114f240.json HTTP/1.1 +Accept: application/json Delete health monitor: HTTP response - HTTP/1.1 204 No Content -Content-Length: 0 + HTTP/1.1 204 No Content +Content-Length: 0
- Associate health monitor with pool + Associate health monitor with a pool @@ -1719,7 +1763,7 @@ Content-Length: 0 &POST; /lb/pools/pool-id/health_monitors - Associates a health monitor with a + Associate health monitor with the pool. @@ -1731,21 +1775,23 @@ Content-Length: 0 (400), Not Found (404) - Associate health monitor with pool: HTTP and JSON request - POST /v2.0/lb/pools/72741b06-df4d-4715-b142-276b6bce75ab/health_monitors.json HTTP/1.1 + Associate health monitor: HTTP and JSON + request + POST /v2.0/lb/pools/72741b06-df4d-4715-b142-276b6bce75ab/health_monitors.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json +Accept: application/json - Associate health monitor with pool: HTTP and JSON response - HTTP/1.1 201 Created -Content-Type: application/json; charset=UTF-8 + Associate health monitor: HTTP and JSON + response + HTTP/1.1 201 Created +Content-Type: application/json; charset=UTF-8
- Disassociate health monitor from pool + Disassociate health monitor from a pool @@ -1766,7 +1812,8 @@ Content-Type: application/json; charset=UTF-8 - Normal Response Code: 204 + Normal Response Code: 204 + Error Response Codes: Unauthorized (401), Not Found (404), Conflict @@ -1776,14 +1823,16 @@ Content-Type: application/json; charset=UTF-8 This operation does not return a response body. - Disassociate health monitor from pool: HTTP request - DELETE /v2.0/lb/pools/72741b06-df4d-4715-b142-276b6bce75ab/health_monitors/ada338f0-10d0-4326-b02e-cc123114f240.json HTTP/1.1 -Accept: application/json + Disassociate health monitor: HTTP + request + DELETE /v2.0/lb/pools/72741b06-df4d-4715-b142-276b6bce75ab/health_monitors/ada338f0-10d0-4326-b02e-cc123114f240.json HTTP/1.1 +Accept: application/json - Disassociate health monitor from pool: HTTP response - HTTP/1.1 204 No Content -Content-Length: 0 + Disassociate health monitor: HTTP + response + HTTP/1.1 204 No Content +Content-Length: 0