From ec620b7c1e7ee672b707221a3fb037eaffc35600 Mon Sep 17 00:00:00 2001 From: Diane Fleming Date: Wed, 26 Mar 2014 15:59:15 -0500 Subject: [PATCH] Correct issues with vip, member, pool, and health monitor operations Fix code samples Add missing attributes Remove incorrect attributes Closes-Bug: #1213932 Change-Id: I59dc39255cbad52716c5c6f1438bd81535c7d8ed author: diane fleming --- .../health_monitors-create-req.json | 14 +- .../health_monitors-create-res.json | 25 +- .../health_monitors-list-res.json | 2 - .../health_monitors-show-res.json | 1 - .../health_monitors-update-req.json | 6 +- .../health_monitors-update-res.json | 25 +- .../healthmonitors-associate-req.json | 6 +- .../healthmonitors-associate-res.json | 4 +- .../loadbalancer/members-create-req.json | 13 +- .../loadbalancer/members-create-res.json | 21 +- .../loadbalancer/members-list-res.json | 35 +- .../loadbalancer/members-show-res.json | 21 +- .../loadbalancer/members-update-req.json | 6 +- .../loadbalancer/members-update-res.json | 21 +- .../loadbalancer/pools-create-req.json | 14 +- .../loadbalancer/pools-create-res.json | 37 +- v2.0/samples/loadbalancer/pools-list-res.json | 47 +- v2.0/samples/loadbalancer/pools-show-res.json | 43 +- .../loadbalancer/pools-update-req.json | 6 +- .../loadbalancer/pools-update-res.json | 37 +- .../samples/loadbalancer/vips-create-req.json | 16 +- .../samples/loadbalancer/vips-create-res.json | 31 +- v2.0/samples/loadbalancer/vips-list-res.json | 39 +- v2.0/samples/loadbalancer/vips-show-res.json | 35 +- .../samples/loadbalancer/vips-update-req.json | 6 +- .../samples/loadbalancer/vips-update-res.json | 31 +- v2.0/section_neutron-loadbalancer-ext.xml | 1921 ++++++++--------- 27 files changed, 1192 insertions(+), 1271 deletions(-) diff --git a/v2.0/samples/loadbalancer/health_monitors-create-req.json b/v2.0/samples/loadbalancer/health_monitors-create-req.json index 14a1eef..2885abc 100644 --- a/v2.0/samples/loadbalancer/health_monitors-create-req.json +++ b/v2.0/samples/loadbalancer/health_monitors-create-req.json @@ -1,9 +1,9 @@ { - "health_monitor": { - "delay": "4", - "max_retries": "3", - "type": "TCP", - "timeout": "1", - "admin_state_up": true - } + "health_monitor":{ + "delay":"1", + "max_retries":"1", + "type":"HTTP", + "timeout":"1", + "admin_state_up":true + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/health_monitors-create-res.json b/v2.0/samples/loadbalancer/health_monitors-create-res.json index cf5188a..d32cd98 100644 --- a/v2.0/samples/loadbalancer/health_monitors-create-res.json +++ b/v2.0/samples/loadbalancer/health_monitors-create-res.json @@ -1,12 +1,17 @@ { - "health_monitor": { - "status": "PENDING_CREATE", - "admin_state_up": true, - "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", - "delay": 4, - "max_retries": 3, - "timeout": 1, - "type": "TCP", - "id": "ada338f0-10d0-4326-b02e-cc123114f240" - } + "health_monitor":{ + "admin_state_up":true, + "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "delay":1, + "expected_codes":"200", + "max_retries":1, + "http_method":"GET", + "timeout":1, + "pools":[ + + ], + "url_path":"/", + "type":"HTTP", + "id":"b624decf-d5d3-4c66-9a3d-f047e7786181" + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/health_monitors-list-res.json b/v2.0/samples/loadbalancer/health_monitors-list-res.json index 81afafb..f0c925e 100644 --- a/v2.0/samples/loadbalancer/health_monitors-list-res.json +++ b/v2.0/samples/loadbalancer/health_monitors-list-res.json @@ -1,7 +1,6 @@ { "health_monitors":[ { - "status":"ACTIVE", "admin_state_up":true, "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", "delay":10, @@ -11,7 +10,6 @@ "id":"466c8345-28d8-4f84-a246-e04380b0461d" }, { - "status":"ACTIVE", "admin_state_up":true, "tenant_id":"83657cfcdfe44cd5920adaf26c48ceea", "delay":5, diff --git a/v2.0/samples/loadbalancer/health_monitors-show-res.json b/v2.0/samples/loadbalancer/health_monitors-show-res.json index d9b9472..ccf870f 100644 --- a/v2.0/samples/loadbalancer/health_monitors-show-res.json +++ b/v2.0/samples/loadbalancer/health_monitors-show-res.json @@ -1,6 +1,5 @@ { "health_monitor": { - "status": "ACTIVE", "admin_state_up": true, "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", "delay": 5, diff --git a/v2.0/samples/loadbalancer/health_monitors-update-req.json b/v2.0/samples/loadbalancer/health_monitors-update-req.json index e6c8fe6..cfc0831 100644 --- a/v2.0/samples/loadbalancer/health_monitors-update-req.json +++ b/v2.0/samples/loadbalancer/health_monitors-update-req.json @@ -1,5 +1,5 @@ { - "health_monitor": { - "delay": "30" - } + "health_monitor":{ + "delay":"3" + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/health_monitors-update-res.json b/v2.0/samples/loadbalancer/health_monitors-update-res.json index abeb8dc..5cf4b9e 100644 --- a/v2.0/samples/loadbalancer/health_monitors-update-res.json +++ b/v2.0/samples/loadbalancer/health_monitors-update-res.json @@ -1,12 +1,17 @@ { - "health_monitor": { - "status": "PENDING_UPDATE", - "admin_state_up": true, - "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", - "delay": 30, - "max_retries": 1, - "timeout": 1, - "type": "PING", - "id": "466c8345-28d8-4f84-a246-e04380b0461d" - } + "health_monitor":{ + "admin_state_up":true, + "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "delay":3, + "expected_codes":"200", + "max_retries":1, + "http_method":"GET", + "timeout":1, + "pools":[ + + ], + "url_path":"/", + "type":"HTTP", + "id":"b624decf-d5d3-4c66-9a3d-f047e7786181" + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/healthmonitors-associate-req.json b/v2.0/samples/loadbalancer/healthmonitors-associate-req.json index 7fd28ed..f8d8d34 100644 --- a/v2.0/samples/loadbalancer/healthmonitors-associate-req.json +++ b/v2.0/samples/loadbalancer/healthmonitors-associate-req.json @@ -1,5 +1,5 @@ { - "health_monitor": { - "id": "ada338f0-10d0-4326-b02e-cc123114f240" - } + "health_monitor":{ + "id":"b624decf-d5d3-4c66-9a3d-f047e7786181" + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/healthmonitors-associate-res.json b/v2.0/samples/loadbalancer/healthmonitors-associate-res.json index 5fe3b61..622fa17 100644 --- a/v2.0/samples/loadbalancer/healthmonitors-associate-res.json +++ b/v2.0/samples/loadbalancer/healthmonitors-associate-res.json @@ -1,3 +1,5 @@ { - "health_monitor": {} + "health_monitor":{ + + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/members-create-req.json b/v2.0/samples/loadbalancer/members-create-req.json index c16cc00..b2ecfca 100644 --- a/v2.0/samples/loadbalancer/members-create-req.json +++ b/v2.0/samples/loadbalancer/members-create-req.json @@ -1,9 +1,8 @@ { - "member": { - "protocol_port": "8080", - "address": "10.0.0.5", - "pool_id": "72741b06-df4d-4715-b142-276b6bce75ab", - "weight": "2", - "admin_state_up": true - } + "member":{ + "protocol_port":"8080", + "address":"10.0.0.5", + "pool_id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", + "admin_state_up":true + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/members-create-res.json b/v2.0/samples/loadbalancer/members-create-res.json index 6448c8e..4022184 100644 --- a/v2.0/samples/loadbalancer/members-create-res.json +++ b/v2.0/samples/loadbalancer/members-create-res.json @@ -1,12 +1,13 @@ { - "member": { - "status": "PENDING_CREATE", - "weight": 2, - "admin_state_up": true, - "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", - "pool_id": "72741b06-df4d-4715-b142-276b6bce75ab", - "address": "10.0.0.5", - "protocol_port": 8080, - "id": "b9a7012a-1097-45b2-a973-6572973619bc" - } + "member":{ + "status":"PENDING_CREATE", + "protocol_port":8080, + "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" + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/members-list-res.json b/v2.0/samples/loadbalancer/members-list-res.json index 7bb631c..a9062a6 100644 --- a/v2.0/samples/loadbalancer/members-list-res.json +++ b/v2.0/samples/loadbalancer/members-list-res.json @@ -1,24 +1,15 @@ { - "members": [ - { - "status": "ACTIVE", - "weight": 1, - "admin_state_up": true, - "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" - } - ] + "members":[ + { + "status":"PENDING_CREATE", + "protocol_port":8080, + "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" + } + ] } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/members-show-res.json b/v2.0/samples/loadbalancer/members-show-res.json index d195837..4022184 100644 --- a/v2.0/samples/loadbalancer/members-show-res.json +++ b/v2.0/samples/loadbalancer/members-show-res.json @@ -1,12 +1,13 @@ { - "member": { - "status": "ACTIVE", - "weight": 1, - "admin_state_up": true, - "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", - "pool_id": "72741b06-df4d-4715-b142-276b6bce75ab", - "address": "10.0.0.4", - "protocol_port": 80, - "id": "701b531b-111a-4f21-ad85-4795b7b12af6" - } + "member":{ + "status":"PENDING_CREATE", + "protocol_port":8080, + "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" + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/members-update-req.json b/v2.0/samples/loadbalancer/members-update-req.json index d652997..b37a5a4 100644 --- a/v2.0/samples/loadbalancer/members-update-req.json +++ b/v2.0/samples/loadbalancer/members-update-req.json @@ -1,5 +1,5 @@ { - "member": { - "admin_state_up": false - } + "member":{ + "admin_state_up":"False" + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/members-update-res.json b/v2.0/samples/loadbalancer/members-update-res.json index cdb7906..ab7fd34 100644 --- a/v2.0/samples/loadbalancer/members-update-res.json +++ b/v2.0/samples/loadbalancer/members-update-res.json @@ -1,12 +1,13 @@ { - "member": { - "status": "PENDING_UPDATE", - "weight": 5, - "admin_state_up": false, - "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", - "pool_id": "72741b06-df4d-4715-b142-276b6bce75ab", - "address": "10.0.0.5", - "protocol_port": 8080, - "id": "b9a7012a-1097-45b2-a973-6572973619bc" - } + "member":{ + "status":"PENDING_UPDATE", + "protocol_port":8080, + "weight":1, + "admin_state_up":false, + "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "pool_id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", + "address":"10.0.0.5", + "status_description":null, + "id":"48a471ea-64f1-4eb6-9be7-dae6bbe40a0f" + } } \ 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 5bc47c1..7d75651 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": "8032909d-47a1-4715-90af-5153ffe39861", - "lb_method": "ROUND_ROBIN", - "protocol": "TCP", - "name": "NewPool", - "admin_state_up": true - } + "pool":{ + "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", + "lb_method":"SOURCE_IP", + "protocol":"HTTP", + "name":"mypool", + "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 e6054a2..47c9b35 100644 --- a/v2.0/samples/loadbalancer/pools-create-res.json +++ b/v2.0/samples/loadbalancer/pools-create-res.json @@ -1,16 +1,25 @@ { - "pool": { - "status": "PENDING_CREATE", - "lb_method": "STATIC_IP", - "protocol": "TCP", - "description": "", - "health_monitors": [], - "subnet_id": "8032909d-47a1-4715-90af-5153ffe39861", - "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", - "admin_state_up": true, - "name": "NewPool", - "members": [], - "id": "a224402b-794b-4c0c-9d08-d95640a6f5a1", - "vip_id": null - } + "pool":{ + "status":"PENDING_CREATE", + "lb_method":"SOURCE_IP", + "protocol":"HTTP", + "description":"", + "health_monitors":[ + + ], + "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", + "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "admin_state_up":true, + "name":"mypool", + "health_monitors_status":[ + + ], + "members":[ + + ], + "provider":"haproxy", + "status_description":null, + "id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", + "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 0434e7b..566b0ac 100644 --- a/v2.0/samples/loadbalancer/pools-list-res.json +++ b/v2.0/samples/loadbalancer/pools-list-res.json @@ -1,24 +1,27 @@ { - "pools": [ - { - "status": "ACTIVE", - "lb_method": "ROUND_ROBIN", - "protocol": "HTTP", - "description": "", - "health_monitors": [ - "466c8345-28d8-4f84-a246-e04380b0461d", - "5d4b5228-33b0-4e60-b225-9b727c1a20e7" - ], - "subnet_id": "8032909d-47a1-4715-90af-5153ffe39861", - "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", - "admin_state_up": true, - "name": "app_pool", - "members": [ - "701b531b-111a-4f21-ad85-4795b7b12af6", - "beb53b4d-230b-4abd-8118-575b8fa006ef" - ], - "id": "72741b06-df4d-4715-b142-276b6bce75ab", - "vip_id": "4ec89087-d057-4e2c-911f-60a3b47ee304" - } - ] + "pools":[ + { + "status":"PENDING_CREATE", + "lb_method":"SOURCE_IP", + "protocol":"HTTP", + "description":"", + "health_monitors":[ + + ], + "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", + "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "admin_state_up":true, + "name":"mypool", + "health_monitors_status":[ + + ], + "members":[ + + ], + "provider":"haproxy", + "status_description":null, + "id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", + "vip_id":null + } + ] } \ 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 88eac37..47c9b35 100644 --- a/v2.0/samples/loadbalancer/pools-show-res.json +++ b/v2.0/samples/loadbalancer/pools-show-res.json @@ -1,22 +1,25 @@ { - "pool": { - "status": "ACTIVE", - "lb_method": "ROUND_ROBIN", - "protocol": "HTTP", - "description": "", - "health_monitors": [ - "466c8345-28d8-4f84-a246-e04380b0461d", - "5d4b5228-33b0-4e60-b225-9b727c1a20e7" - ], - "subnet_id": "8032909d-47a1-4715-90af-5153ffe39861", - "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", - "admin_state_up": true, - "name": "app_pool", - "members": [ - "701b531b-111a-4f21-ad85-4795b7b12af6", - "beb53b4d-230b-4abd-8118-575b8fa006ef" - ], - "id": "72741b06-df4d-4715-b142-276b6bce75ab", - "vip_id": "4ec89087-d057-4e2c-911f-60a3b47ee304" - } + "pool":{ + "status":"PENDING_CREATE", + "lb_method":"SOURCE_IP", + "protocol":"HTTP", + "description":"", + "health_monitors":[ + + ], + "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", + "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "admin_state_up":true, + "name":"mypool", + "health_monitors_status":[ + + ], + "members":[ + + ], + "provider":"haproxy", + "status_description":null, + "id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", + "vip_id":null + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/pools-update-req.json b/v2.0/samples/loadbalancer/pools-update-req.json index b1843c9..3ff8458 100644 --- a/v2.0/samples/loadbalancer/pools-update-req.json +++ b/v2.0/samples/loadbalancer/pools-update-req.json @@ -1,5 +1,5 @@ { - "pool": { - "name": "SuperPool" - } + "pool":{ + "name":"SuperPool" + } } \ 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 af6ae06..60c13b9 100644 --- a/v2.0/samples/loadbalancer/pools-update-res.json +++ b/v2.0/samples/loadbalancer/pools-update-res.json @@ -1,16 +1,25 @@ { - "pool": { - "status": "PENDING_UPDATE", - "lb_method": "ROUND_ROBIN", - "protocol": "TCP", - "description": "", - "health_monitors": [], - "subnet_id": "8032909d-47a1-4715-90af-5153ffe39861", - "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", - "admin_state_up": true, - "name": "SuperPool", - "members": [], - "id": "61b1f87a-7a21-4ad3-9dda-7f81d249944f", - "vip_id": null - } + "pool":{ + "status":"PENDING_UPDATE", + "lb_method":"SOURCE_IP", + "protocol":"HTTP", + "description":"", + "health_monitors":[ + + ], + "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", + "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "admin_state_up":true, + "name":"SuperPool", + "health_monitors_status":[ + + ], + "members":[ + + ], + "provider":"haproxy", + "status_description":null, + "id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", + "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 892d340..045e431 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": "NewVip", - "admin_state_up": true, - "subnet_id": "8032909d-47a1-4715-90af-5153ffe39861", - "pool_id": "61b1f87a-7a21-4ad3-9dda-7f81d249944f", - "protocol_port": "80" - } + "vip":{ + "protocol":"HTTP", + "name":"myvip", + "admin_state_up":true, + "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", + "pool_id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", + "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 c1d9db5..8c2c2f6 100644 --- a/v2.0/samples/loadbalancer/vips-create-res.json +++ b/v2.0/samples/loadbalancer/vips-create-res.json @@ -1,17 +1,18 @@ { - "vip": { - "status": "PENDING_CREATE", - "protocol": "HTTP", - "description": "", - "admin_state_up": true, - "subnet_id": "8032909d-47a1-4715-90af-5153ffe39861", - "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", - "connection_limit": -1, - "pool_id": "61b1f87a-7a21-4ad3-9dda-7f81d249944f", - "address": "10.0.0.11", - "protocol_port": 80, - "port_id": "f7e6fe6a-b8b5-43a8-8215-73456b32e0f5", - "id": "c987d2be-9a3c-4ac9-a046-e8716b1350e2", - "name": "NewVip" - } + "vip":{ + "status":"PENDING_CREATE", + "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", + "protocol_port":80, + "port_id":"36242e87-0bae-49d7-bc59-a0867476c69a", + "id":"a54bc6e7-2e28-4c55-a676-6146a4c0f8b9", + "name":"myvip" + } } \ 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 413103b..3aebbab 100644 --- a/v2.0/samples/loadbalancer/vips-list-res.json +++ b/v2.0/samples/loadbalancer/vips-list-res.json @@ -1,23 +1,20 @@ { - "vips": [ - { - "status": "ACTIVE", - "protocol": "HTTP", - "description": "", - "admin_state_up": true, - "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": "b5a743d6-056b-468b-862d-fb13a9aa694e", - "id": "4ec89087-d057-4e2c-911f-60a3b47ee304", - "name": "my-vip" - } - ] + "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", + "protocol_port":80, + "port_id":"36242e87-0bae-49d7-bc59-a0867476c69a", + "id":"a54bc6e7-2e28-4c55-a676-6146a4c0f8b9", + "name":"myvip" + } + ] } \ 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 1280fda..04d9deb 100644 --- a/v2.0/samples/loadbalancer/vips-show-res.json +++ b/v2.0/samples/loadbalancer/vips-show-res.json @@ -1,21 +1,18 @@ { - "vip": { - "status": "ACTIVE", - "protocol": "HTTP", - "description": "", - "admin_state_up": true, - "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": "b5a743d6-056b-468b-862d-fb13a9aa694e", - "id": "4ec89087-d057-4e2c-911f-60a3b47ee304", - "name": "my-vip" - } + "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", + "protocol_port":80, + "port_id":"36242e87-0bae-49d7-bc59-a0867476c69a", + "id":"a54bc6e7-2e28-4c55-a676-6146a4c0f8b9", + "name":"myvip" + } } \ No newline at end of file diff --git a/v2.0/samples/loadbalancer/vips-update-req.json b/v2.0/samples/loadbalancer/vips-update-req.json index 87cc6ef..67038dc 100644 --- a/v2.0/samples/loadbalancer/vips-update-req.json +++ b/v2.0/samples/loadbalancer/vips-update-req.json @@ -1,5 +1,5 @@ { - "vip": { - "connection_limit": "1000" - } + "vip":{ + "connection_limit":"1000" + } } \ 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 4884901..9be4cdb 100644 --- a/v2.0/samples/loadbalancer/vips-update-res.json +++ b/v2.0/samples/loadbalancer/vips-update-res.json @@ -1,17 +1,18 @@ { - "vip": { - "status": "PENDING_UPDATE", - "protocol": "HTTP", - "description": "", - "admin_state_up": true, - "subnet_id": "8032909d-47a1-4715-90af-5153ffe39861", - "tenant_id": "83657cfcdfe44cd5920adaf26c48ceea", - "connection_limit": 1000, - "pool_id": "61b1f87a-7a21-4ad3-9dda-7f81d249944f", - "address": "10.0.0.11", - "protocol_port": 80, - "port_id": "f7e6fe6a-b8b5-43a8-8215-73456b32e0f5", - "id": "c987d2be-9a3c-4ac9-a046-e8716b1350e2", - "name": "NewVip" - } + "vip":{ + "status":"PENDING_UPDATE", + "status_description":null, + "protocol":"HTTP", + "description":"", + "admin_state_up":true, + "subnet_id":"54d6f61d-db07-451c-9ab3-b9609b6b6f0b", + "tenant_id":"4fd44f30292945e481c7b8a0c8908869", + "connection_limit":1000, + "pool_id":"7803631d-f181-4500-b3a2-1b68ba2a75fd", + "address":"192.0.0.3", + "protocol_port":80, + "port_id":"36242e87-0bae-49d7-bc59-a0867476c69a", + "id":"a54bc6e7-2e28-4c55-a676-6146a4c0f8b9", + "name":"myvip" + } } \ 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 80d022f..a88974e 100644 --- a/v2.0/section_neutron-loadbalancer-ext.xml +++ b/v2.0/section_neutron-loadbalancer-ext.xml @@ -1,30 +1,10 @@ - - - - - - - GET'> - PUT'> - POST'> - DELETE'> - - - - - - '> - - - - - - '> + +GET'> +PUT'> +POST'> +DELETE'> ]>
- 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: - - - Load balancing client traffic coming from one network to - application services (e.g. VMs) on the same or a - different network. - - - - Supporting load balancing for several protocols (TCP, HTTP) - - - Supporting session persistence - - - 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. - - - - - - - + The LBaaS extension provides OpenStack tenants with a + feature of balancing traffic to their VMs. The capabilities + provided by the LBaaS extension are: + + + Load balancing client traffic coming from one + network to application services, such as VMs, on the same + or a different network. + + + Supporting load balancing for several protocols + (TCP, HTTP). + + + Supporting session persistence. + + + 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. + +
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's - 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. - - - + 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. + +
- - -
High-level flow - - - The high-level task flow for using LBaaS API to configure load - balancing is as follows: - - - - The tenant creates a pool, which is initially empty - - - The tenant creates one or several members in the pool - - - The tenant create one or several health monitors - - - The tenant associates the Health Monitors with the Pool - - - The tenant finally creates a VIP associated with the Pool - - - + The high-level task flow for using LBaaS API to + configure load balancing is as follows: + + + The tenant creates a pool, which is initially + empty + + + The tenant creates one or several members in the + pool + + + The tenant create one or several health + monitors + + + The tenant associates the Health Monitors with + the Pool + + + The tenant finally creates a VIP associated with + the Pool + +
- - -
- VIP Operations - This section discusses operations for managing load balancer VIPs - through the Load balancing as a service extension. - - + VIP operations + This section discusses operations for managing load + balancer VIPs through the LBaaS extension. @@ -226,28 +186,34 @@ - - - + + @@ -266,10 +232,10 @@ - + - + @@ -278,9 +244,8 @@ - + @@ -297,8 +262,9 @@ - - + + @@ -306,7 +272,7 @@ - + @@ -316,7 +282,7 @@ - + @@ -325,7 +291,8 @@ - + @@ -333,8 +300,8 @@ - - + + @@ -342,26 +309,27 @@ - - + + @@ -369,8 +337,9 @@ - - + + @@ -379,7 +348,7 @@ - + @@ -388,13 +357,20 @@ - + + + + + + + + +
VIP Attributes
Attribute Type RequiredCRUD - - + 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. - + + 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 ValueValidation ConstraintsDefault valueValidation constraints Notes
uuid-str Yes CRDerived from Authentication tokenDerived from authentication token. N/AOwner of the vip. Only admin users can specify a - tenant identifier other than its ownOwner of the vip. Only an admin user can specify + a tenant ID other than its own.
nameCRU None N/AHuman readable name for the vip. - Does not have to be unique - Human readable name for the vip. Does not have + to be unique.
descriptionNo CR NoneUUID PatternThe subnet on which to allocate the vip address.UUID pattern.The subnet on which to allocate the vip + address.
addressNo CR NoneIP address or nullIP address or null. The IP address of the vip.
CR None { "TCP" | "HTTP" | "HTTPS" }The protocol of the vip address. .The protocol of the vip address.
protocol_portCR None [0..65535]The port on which to listen to client traffic that is associated with the vip address.The port on which to listen to client traffic + that is associated with the vip address.
pool_idNo CRU NoneUUID PatternThe pool that the vip associated with.UUID pattern.The pool with which to associate the vip.
session_persistenceNo CRU None - composite - - - Session persistence is a dictionary with the following attributes: - - - type - - any of APP_COOKIE, - HTTP_COOKIE or SOURCE_IP - - - cookie_name - - any string, required if type is APP_COOKIE - - - - - Session persistence parameters of the vipcomposite + Session persistence is a dictionary + with the following attributes: + + + type - any of + APP_COOKIE, + HTTP_COOKIE or + SOURCE_IP + + + cookie_name - any + string, required if type is + APP_COOKIE + + + Session persistence parameters of the vip.
connection_limitNo CRU -1NoneThe maximum number of connections allowed for the vip or "-1" if the limit is not setNone.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 vipAdministrative state of the vip.
statusR N/A N/AIndicates whether a vip is currently operational or notIndicates whether or not a vip is currently + operational.
status_descriptionStringN/ACRUnull +
- - -
List VIPs @@ -410,40 +386,34 @@ - &GET; - + &GET; /lb/vips Lists vips. Normal Response Code: - 200 + 200 - Error Response Codes: Unauthorized (401), - Forbidden (403) - - This operation does not require a request body. + Error Response Codes: Unauthorized + (401), Forbidden + (403) + This operation does not require a request + body. This operation returns a response body. - List VIPs: Request - - -GET /v2.0/lb/vips.json HTTP/1.1 + List VIPs: HTTP request + GET /v2.0/lb/vips.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - List VIPs: Response + List VIPs: JSON response
- - -
- Show VIP + Show VIP details @@ -457,38 +427,33 @@ Accept: application/json - &GET; - + &GET; /lb/vips/vip-id - Returns details about a specific vip. + Shows details for a specified VIP. Normal Response Code: - 200 + 200 - Error Response Codes: Unauthorized (401), - Forbidden (403), Not Found (404) - - This operation does not require a request body. + Error Response Codes: Unauthorized + (401), Forbidden + (403), Not Found + (404) + This operation does not require a request + body. This operation returns a response body. - Show VIP: Request - - -GET /v2.0/lb/vips/4ec89087-d057-4e2c-911f-60a3b47ee304.json HTTP/1.1 + Show VIP details: HTTP request + GET /v2.0/lb/vips/a54bc6e7-2e28-4c55-a676-6146a4c0f8b9.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Show VIP: Response + Show VIP details: JSON response
- - -
Create VIP @@ -506,37 +471,30 @@ Accept: application/json &POST; /lb/vips - Create a new load balancer vip. + Creates a load balancer VIP. - Normal Response Code: 201 - - Error Response Codes: Unauthorized (401), - Bad Request (400) + 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 VIP: Request - -POST /v2.0/lb/vips.json HTTP/1.1 + Create VIP: HTTP and JSON request + POST /v2.0/lb/vips.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Create VIP: Response - -HTTP/1.1 201 Created -Content-Type: application/json; charset=UTF-8 - + Create VIP: HTTP and JSON response + HTTP/1.1 201 Created +Content-Type: application/json; charset=UTF-8
- - -
Update VIP @@ -558,30 +516,26 @@ Content-Type: application/json; charset=UTF-8 - Normal Response Code: 200 - Error Response Codes: Unauthorized (401), - Bad Request (400), Not Found (404) + Normal Response Code: + 200 + Error Response Codes: Unauthorized + (401), Bad Request + (400), Not Found + (404) - Update VIP: Request - -PUT /v2.0/lb/vips/c987d2be-9a3c-4ac9-a046-e8716b1350e2.json + Update VIP: HTTP and JSON request + PUT /v2.0/lb/vips/a54bc6e7-2e28-4c55-a676-6146a4c0f8b9.json User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Update VIP: Response - -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 - + Update VIP: HTTP and JSON response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- - -
Delete VIP @@ -603,39 +557,32 @@ Content-Type: application/json; charset=UTF-8 - Normal Response Code: 204 - - Error Response Codes: Unauthorized (401), - Not Found (404), Conflict - (409) - This operation does not require a request body. - This operation does not return a response body. + Normal Response Code: 204 + Error Response Codes: Unauthorized + (401), Not Found + (404), Conflict + (409) + This operation does not require a request + body. + This operation does not return a response + body. - Delete VIP: Request - -DELETE /v2.0/lb/vips/c987d2be-9a3c-4ac9-a046-e8716b1350e2.json HTTP/1.1 -Accept: application/json - + Delete VIP: HTTP request + DELETE /v2.0/lb/vips/a54bc6e7-2e28-4c55-a676-6146a4c0f8b9.json HTTP/1.1 +Accept: application/json - Delete VIP: Response - -HTTP/1.1 204 No Content -Content-Length: 0 - + Delete VIP: HTTP response + HTTP/1.1 204 No Content +Content-Length: 0
- -
- - - +
+
- Pool Operations - This section discusses operations for managing load balancer - pools through the Load balancing as a service extension. - - + Pool operations + This section discusses operations for managing load + balancer pools through the LBaaS extension. @@ -650,24 +597,30 @@ Content-Length: 0 - @@ -690,10 +643,11 @@ Content-Length: 0 - + - + @@ -701,8 +655,8 @@ Content-Length: 0 - - + + @@ -711,9 +665,8 @@ Content-Length: 0 - + @@ -730,7 +683,7 @@ Content-Length: 0 - + @@ -749,7 +702,8 @@ Content-Length: 0 - + @@ -758,7 +712,8 @@ Content-Length: 0 - + @@ -785,15 +740,22 @@ Content-Length: 0 - + + + + + + + + +
Pool Attributes
Attribute Type RequiredCRUD - - + 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. - + + 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 Valueuuid-str Yes CRDerived from Authentication tokenDerived from authentication token. N/AOwner of the pool. Only admin users can specify a - tenant identifier other than its ownOwner of the pool. Only an admin user can + specify a tenant ID other than its + own.
vip_idNo R NoneUUID PatternThe vip that the pool associated with.UUID pattern.The vip with which the pool is associated.
nameCRU None N/AHuman readable name for the pool. - Does not have to be unique - Human readable name for the pool. Does not + have to be unique.
descriptionNo CR NoneUUID PatternUUID pattern. The network that pool members belong to.
CRU None NoneThe algorithm used to distribute load between the members of the pool.The algorithm used to distribute load between + the members of the pool.
health_monitorsCRU None N/AList of health monitors to associate with the poolList of health monitors to associate with the + pool
membersR N/A N/AIndicates whether a pool is currently operational or notIndicates whether a pool is currently + operational or not
status_descriptionStringN/ACRUnull +
- - -
- List Pools + List pools @@ -807,45 +769,36 @@ Content-Length: 0 - &GET; - + &GET; /lb/pools Lists pools. Normal Response Code: - 200 + 200 Error Response Codes: Unauthorized - (401), Forbidden - (403) - - This operation does not require a request body. + (401), Forbidden + (403) + This operation does not require a request + body. This operation returns a response body. - List Pools: Request - - -GET /v2.0/lb/pools.json HTTP/1.1 + List pools: HTTP request + GET /v2.0/lb/pools.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - List Pools: Response - -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 - + List pools: HTTP and JSON response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- - -
- Show Pool + Show pool details @@ -859,189 +812,164 @@ Content-Type: application/json; charset=UTF-8 - &GET; - + &GET; /lb/pools/pool-id - Returns details about a specific pool. + Shows details for a specified pool. Normal Response Code: - 200 + 200 - Error Response Codes: Unauthorized (401), - Forbidden (403), Not Found (404) - - This operation does not require a request body. + Error Response Codes: Unauthorized + (401), Forbidden + (403), Not Found + (404) + This operation does not require a request + body. This operation returns a response body. - Show Pool: Request - - -GET /v2.0/lb/pools/72741b06-df4d-4715-b142-276b6bce75ab.json HTTP/1.1 + Show pool: HTTP request + GET /v2.0/lb/pools/7803631d-f181-4500-b3a2-1b68ba2a75fd.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Show Pool: Response - -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 - + Show pool: HTTP and JSON response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- - -
- Create Pool - - - - - - - Verb - URI - Description - - - - - &POST; - /lb/pools - Create a new load balancer pool. - - - - Normal Response Code: 201 - - Error Response Codes: Unauthorized (401), - Bad Request (400) + Create pool + + + + + + + Verb + URI + Description + + + + + &POST; + /lb/pools + Create a new load balancer pool. + + + + 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: Request - -POST /v2.0/lb/pools.json HTTP/1.1 + Create pool: HTTP and JSON request + POST /v2.0/lb/pools.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Create Pool: Response - -HTTP/1.1 201 Created -Content-Type: application/json; charset=UTF-8 - + Create pool: HTTP and JSON response + HTTP/1.1 201 Created +Content-Type: application/json; charset=UTF-8
- - -
- Update Pool - - - - - - - Verb - URI - Description - - - - - &PUT; - /lb/pools/pool-id - Updates a load balancer pool. - - - - Normal Response Code: 200 - Error Response Codes: Unauthorized (401), - Bad Request (400), Not Found (404) + Update pool + + + + + + + Verb + URI + Description + + + + + &PUT; + /lb/pools/pool-id + Updates a load balancer pool. + + + + Normal Response Code: + 200 + Error Response Codes: Unauthorized + (401), Bad Request + (400), Not Found + (404) - Update Pool: Request - -PUT /v2.0/lb/pools/61b1f87a-7a21-4ad3-9dda-7f81d249944f.json + Update pool: HTTP and JSON request + PUT /v2.0/lb/pools/7803631d-f181-4500-b3a2-1b68ba2a75fd.json User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Update Pool: Response - -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 - + Update pool: HTTP and JSON response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- - -
- Delete Pool - - - - - - - Verb - URI - Description - - - - - &DELETE; - /lb/pools/pool-id - Removes a load balancer pool. - - - - Normal Response Code: 204 - - Error Response Codes: Unauthorized (401), - Not Found (404), Conflict - (409) - This operation does not require a request body. - This operation does not return a response body. + Delete pool + + + + + + + Verb + URI + Description + + + + + &DELETE; + /lb/pools/pool-id + Removes a load balancer pool. + + + + Normal Response Code: 204 + Error Response Codes: Unauthorized + (401), Not Found + (404), Conflict + (409) + This operation does not require a request + body. + This operation does not return a response + body. - Delete Pool: Request - -DELETE /v2.0/lb/pools/a224402b-794b-4c0c-9d08-d95640a6f5a1.json HTTP/1.1 -Accept: application/json - + Delete pool: HTTP request + DELETE /v2.0/lb/pools/7803631d-f181-4500-b3a2-1b68ba2a75fd.json HTTP/1.1 +Accept: application/json - Delete Pool: Response - -HTTP/1.1 204 No Content -Content-Length: 0 - + Delete pool: JSON response + HTTP/1.1 204 No Content +Content-Length: 0
- -
- - - + +
- Member Operations + Member operations This section discusses operations for managing pool - members through the Load balancing as a service extension. - - + members through the LBaaS extension. @@ -1056,28 +984,34 @@ Content-Length: 0 - - - + + @@ -1096,10 +1030,11 @@ Content-Length: 0 - + - + @@ -1107,8 +1042,8 @@ Content-Length: 0 - - + + @@ -1116,7 +1051,7 @@ Content-Length: 0 - + @@ -1126,7 +1061,8 @@ Content-Length: 0 - + @@ -1135,9 +1071,12 @@ Content-Length: 0 - + @@ -1146,7 +1085,7 @@ persistent connections. - + @@ -1155,15 +1094,22 @@ persistent connections. - + + + + + + + + +
Member Attributes
Attribute Type RequiredCRUD - - - - - 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. - - - + 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 ValueValidation ConstraintsDefault valueValidation constraints Notes
uuid-str Yes CRDerived from Authentication tokenDerived from authentication token. N/AOwner of the member. Only admin users can specify a - tenant identifier other than its ownOwner of the member. Only an admin user can + specify a tenant ID other than its + own.
pool_idYes CRU NoneUUID PatternThe pool that the member belongs to.UUID pattern.The pool to which the member belongs.
addressYes CR NoneIP address or nullIP address or null. The IP address of the member.
CR None [0..65535]The port on which the application is hosted.The port on which the application is + hosted.
weightCRU 1 [0..256]The weight of a member determines the portion of requests or connections it services compared to the other members of the pool. A value of 0 -means the member will not participate in load-balancing but will still accept -persistent connections.The weight of a member determines the portion + of requests or connections it services + compared to the other members of the pool. A + value of 0 means the member does not + participate in load-balancing but still + accepts persistent connections.
admin_state_up CRU true {true | false }Administrative state of the memberAdministrative state of the member.
status R N/A N/AIndicates whether a member is currently operational or notIndicates whether or not a member is currently + operational.
status_descriptionStringN/ACRUnull +
- - -
- List Members + List members @@ -1177,45 +1123,36 @@ persistent connections. - &GET; - + &GET; /lb/members Lists members. Normal Response Code: - 200 + 200 Error Response Codes: Unauthorized - (401), Forbidden - (403) - - This operation does not require a request body. + (401), Forbidden + (403) + This operation does not require a request + body. This operation returns a response body. - List Members: Request - - -GET /v2.0/lb/members.json HTTP/1.1 + List members: HTTP request + GET /v2.0/lb/members.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - List Members: Response - -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 - + List members: HTTP and JSON response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- - -
- Show Member + Show member details @@ -1229,189 +1166,165 @@ Content-Type: application/json; charset=UTF-8 - &GET; - + &GET; /lb/members/member-id - Returns details about a specific member. + Shows details for a specified member. Normal Response Code: - 200 + 200 - Error Response Codes: Unauthorized (401), - Forbidden (403), Not Found (404) - - This operation does not require a request body. + Error Response Codes: Unauthorized + (401), Forbidden + (403), Not Found + (404) + This operation does not require a request + body. This operation returns a response body. - Show Member: Request - - -GET /v2.0/lb/members/701b531b-111a-4f21-ad85-4795b7b12af6.json HTTP/1.1 + Show member details: HTTP request + GET /v2.0/lb/members/48a471ea-64f1-4eb6-9be7-dae6bbe40a0f.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Show Member: Response - -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 - + Show member details: HTTP and JSON response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- - -
- Create Member - - - - - - - Verb - URI - Description - - - - - &POST; - /lb/members - Create a new load balancer member. - - - - Normal Response Code: 201 - - Error Response Codes: Unauthorized (401), - Bad Request (400) + Create member + + + + + + + Verb + URI + Description + + + + + &POST; + /lb/members + Creates a load balancer member. + + + + 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 Member: Request - -POST /v2.0/lb/members.json HTTP/1.1 + Create member: HTTP and JSON request + POST /v2.0/lb/members.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Create Member: Response - -HTTP/1.1 201 Created -Content-Type: application/json; charset=UTF-8 - + Create member: HTTP and JSON response + HTTP/1.1 201 Created +Content-Type: application/json; charset=UTF-8
- - -
- Update Member - - - - - - - Verb - URI - Description - - - - - &PUT; - /lb/members/member-id - Updates a load balancer member. - - - - Normal Response Code: 200 - Error Response Codes: Unauthorized (401), - Bad Request (400), Not Found (404) + Update member + + + + + + + Verb + URI + Description + + + + + &PUT; + /lb/members/member-id + Updates a load balancer member. + + + + Normal Response Code: + 200 + Error Response Codes: Unauthorized + (401), Bad Request + (400), Not Found + (404) - Update Member: Request - -PUT /v2.0/lb/members/b9a7012a-1097-45b2-a973-6572973619bc.json + Update member: HTTP and JSON request + PUT /v2.0/lb/members/48a471ea-64f1-4eb6-9be7-dae6bbe40a0f.json User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Update Member: Response - -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 - + Update member: HTTP and JSON response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- - -
- Delete Member - - - - - - - Verb - URI - Description - - - - - &DELETE; - /lb/members/member-id - Removes a load balancer member. - - - - Normal Response Code: 204 - - Error Response Codes: Unauthorized (401), - Not Found (404), Conflict - (409) - This operation does not require a request body. - This operation does not return a response body. + Delete member + + + + + + + Verb + URI + Description + + + + + &DELETE; + /lb/members/member-id + Removes a load balancer member. + + + + Normal Response Code: 204 + Error Response Codes: Unauthorized + (401), Not Found + (404), Conflict + (409) + This operation does not require a request + body. + This operation does not return a response + body. - Delete Member: Request - -DELETE /v2.0/lb/members/b9a7012a-1097-45b2-a973-6572973619bc.json HTTP/1.1 -Accept: application/json - + Delete member: HTTP request + DELETE /v2.0/lb/members/48a471ea-64f1-4eb6-9be7-dae6bbe40a0f.json HTTP/1.1 +Accept: application/json - Delete Member: Response - -HTTP/1.1 204 No Content -Content-Length: 0 - + Delete member: HTTP response + HTTP/1.1 204 No Content +Content-Length: 0
- -
- - - + +
- Health Monitor Operations - This section discusses operations for managing load balancer - health monitors through the Load balancing as a service extension. - - + Health monitor operations + This section discusses operations for managing load + balancer health monitors through the LBaaS + extension. @@ -1426,28 +1339,35 @@ Content-Length: 0 - - - + + @@ -1459,17 +1379,18 @@ Content-Length: 0 - + - + - + @@ -1478,7 +1399,8 @@ Content-Length: 0 - + @@ -1487,7 +1409,8 @@ Content-Length: 0 - + @@ -1496,7 +1419,10 @@ Content-Length: 0 - + @@ -1505,37 +1431,51 @@ Content-Length: 0 - + - + - + - + - - + + - + - - + + @@ -1544,21 +1484,13 @@ Content-Length: 0 - - - - - - - - - - +
Health Monitor Attributes
Attribute Type RequiredCRUD - - - - - 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. - - - + 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 ValueValidation ConstraintsDefault valueValidation constraints Notes
R generated N/AUnique identifier for the health monitor.Unique ID for the health monitor.
tenant_id uuid-str Yes CRDerived from Authentication tokenDerived from authentication token. N/AOwner of the health monitor. Only admin users can specify a - tenant identifier other than its ownOwner of the health monitor. Only an admin user + can specify a tenant ID other than its + own.
typeCR None {"PING" | "TCP" | "HTTP" | "HTTPS"}The type of probe send by load balancer to verify member stateThe type of probe sent by load balancer to + verify member state.
delayCRU None non-negativeThe time in seconds between sending probes to members.The time in seconds between sending probes to + members.
timeoutCRU None non-negativeThe maximum number of seconds for a monitor to wait for a connection to be established before it times out. The value must be less than the delay value.The maximum number of seconds for a monitor to + wait for a connection to be established before + it times out. The value must be less than the + delay value.
max_retriesCRU None [1..10]Number of allowed connection failures before changing the member's status to INACTIVENumber of allowed connection failures before + changing the status of the member to INACTIVE.
http_method StringNo - Required if type is HTTP - or HTTPS - No + Required if type + is HTTP or + HTTPS + CRU GET NoneThe HTTP method used for requests by the monitor.The HTTP method used for requests by the + monitor.
url_path StringNoNo CRU /NoneThe HTTP path of the request sent by the monitor to test a member's health. This must be a string beginning with a / (forward slash).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 + slash).
expected_codes StringNoNo CRU 200single value (e.g. 200), list (e.g. 200, 202) or range (e.g. 200-204)The list of HTTP status codes expected in response from the member to declare it healthy.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.
admin_state_upCRU true {true | false }Administrative state of the health monitor
statusStringN/ARN/AN/AIndicates whether a health monitor is currently operational or notAdministrative state of the health + monitor.
- List Health Monitors + List health monitors @@ -1572,45 +1504,36 @@ Content-Length: 0 - &GET; - + &GET; /lb/health_monitors Lists health monitors. Normal Response Code: - 200 + 200 Error Response Codes: Unauthorized - (401), Forbidden - (403) - - This operation does not require a request body. + (401), Forbidden + (403) + This operation does not require a request + body. This operation returns a response body. - List Health Monitors: Request - - -GET /v2.0/lb/health_monitors.json HTTP/1.1 + List health monitors: HTTP request + GET /v2.0/lb/health_monitors.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - List Health Monitors: 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 + Show health monitor details @@ -1624,137 +1547,122 @@ Content-Type: application/json; charset=UTF-8 - &GET; - + &GET; /lb/health_monitors/health_monitor-id - Returns details about a specific health monitor. + Returns details about a specific health + monitor. Normal Response Code: - 200 + 200 - Error Response Codes: Unauthorized (401), - Forbidden (403), Not Found (404) - - This operation does not require a request body. + Error Response Codes: Unauthorized + (401), Forbidden + (403), Not Found + (404) + This operation does not require a request + body. This operation returns a response body. - Show Health Monitor: Request - - -GET /v2.0/lb/health_monitors/701b531b-111a-4f21-ad85-4795b7b12af6.json HTTP/1.1 + Show health monitor details: HTTP request + GET /v2.0/lb/health_monitors/5d4b5228-33b0-4e60-b225-9b727c1a20e7.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Show Health Monitor: Response - -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 - + Show health monitor details: HTTP and JSON response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- - -
- Create Health Monitor - - - - - - - Verb - URI - Description - - - - - &POST; - /lb/health_monitors - Create a new load balancer health monitor. - - - - Normal Response Code: 201 - - Error Response Codes: Unauthorized (401), - Bad Request (400) + Create health monitor + + + + + + + Verb + URI + Description + + + + + &POST; + /lb/health_monitors + Creates a load balancer health + monitor. + + + + 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: 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: 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
- - -
- Update Health Monitor - - - - - - - Verb - URI - Description - - - - - &PUT; - /lb/health_monitors/health_monitor-id - Updates a load balancer health monitor. - - - - Normal Response Code: 200 - Error Response Codes: Unauthorized (401), - Bad Request (400), Not Found (404) + Update health monitor + + + + + + + Verb + URI + Description + + + + + &PUT; + /lb/health_monitors/health_monitor-id + Updates a load balancer health + monitor. + + + + Normal Response Code: + 200 + Error Response Codes: Unauthorized + (401), Bad Request + (400), Not Found + (404) - Update Health Monitor: Request - -PUT /v2.0/lb/health_monitors/466c8345-28d8-4f84-a246-e04380b0461d.json HTTP/1.1 + Update health monitor: HTTP and JSON request + PUT /v2.0/lb/health_monitors/b624decf-d5d3-4c66-9a3d-f047e7786181.json HTTP/1.1 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Update Health Monitor: Response - -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 - + Update health monitor: JSON response + HTTP/1.1 200 OK +Content-Type: application/json; charset=UTF-8
- - -
- Delete Health Monitor + Delete health monitor @@ -1770,124 +1678,115 @@ Content-Type: application/json; charset=UTF-8 &DELETE; /lb/health_monitors/healthmonitor-id - Delete health monitor. + Deletes a specified health monitor. - Normal Response Code: 204 - - Error Response Codes: Unauthorized (401), - Not Found (404), Conflict - (409) - This operation does not require a request body. - This operation does not return a response body. + Normal Response Code: 204 + Error Response Codes: Unauthorized + (401), Not Found + (404), Conflict + (409) + This operation does not require a request + body. + This operation does not return a response + body. - Delete Health Monitor: Request - -DELETE /v2.0/lb/health_monitors/ada338f0-10d0-4326-b02e-cc123114f240.json HTTP/1.1 -Accept: application/json - + Delete health monitor: HTTP request + DELETE /v2.0/lb/health_monitors/b624decf-d5d3-4c66-9a3d-f047e7786181.json HTTP/1.1 +Accept: application/json - Delete Health Monitor: Response - -HTTP/1.1 204 No Content -Content-Length: 0 - + Delete health monitor: HTTP response + HTTP/1.1 204 No Content +Content-Length: 0
- - -
- Associate Health Monitor with a Pool - - - - - - - Verb - URI - Description - - - - - &POST; - /lb/pools/pool-id/health_monitors - Associate health monitor with the pool. - - - - Normal Response Code: 200 - Error Response Codes: Unauthorized (401), - Bad Request (400), Not Found (404) + Associate health monitor with pool + + + + + + + Verb + URI + Description + + + + + &POST; + /lb/pools/pool-id/health_monitors + Associates a health monitor with a + pool. + + + + Normal Response Code: + 200 + Error Response Codes: Unauthorized + (401), Bad Request + (400), Not Found + (404) - Associate Health Monitor: Request - -POST /v2.0/lb/pools/72741b06-df4d-4715-b142-276b6bce75ab/health_monitors.json HTTP/1.1 + 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 User-Agent: python-neutronclient -Accept: application/json - +Accept: application/json - Associate Health Monitor: Response - -HTTP/1.1 201 Created -Content-Type: application/json; charset=UTF-8 - + Associate health monitor with pool: HTTP and JSON response + HTTP/1.1 201 Created +Content-Type: application/json; charset=UTF-8
- - -
- Disassociate Health Monitor from a Pool - - - - - - - Verb - URI - Description - - - - - &DELETE; - /lb/pools/pool-id/health_monitors/healthmonitor-id - Disassociate health monitor from the pool. - - - - Normal Response Code: 204 - - Error Response Codes: Unauthorized (401), - Not Found (404), Conflict - (409) - This operation does not require a request body. - This operation does not return a response body. + Disassociate health monitor from pool + + + + + + + Verb + URI + Description + + + + + &DELETE; + /lb/pools/pool-id/health_monitors/healthmonitor-id + Disassociates a health monitor from the + pool. + + + + Normal Response Code: 204 + Error Response Codes: Unauthorized + (401), Not Found + (404), Conflict + (409) + This operation does not require a request + body. + This operation does not return a response + body. - Disassociate Health Monitor: 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 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: Response - -HTTP/1.1 204 No Content -Content-Length: 0 - + Disassociate health monitor from pool: HTTP response + HTTP/1.1 204 No Content +Content-Length: 0
- -
- - + + + +