neutron-lib/api-ref/source/v2/lbaas-v1.inc

929 lines
20 KiB
ReStructuredText

.. -*- rst -*-
.. needs:method_verification
.. needs:parameter_verification
.. needs:example_verification
.. needs:body_verification
======================
LBaaS 1.0 (DEPRECATED)
======================
The Load-Balancer-as-a-Service (LBaaS) v1.0 extension pairs with
the Networking v2.0 API to enable OpenStack projects to manage load
balancers for their VMs. With this extension, you can load-balance
client traffic from one network to application services, such as
VMs, on the same network.
Use this extension to create and manage virtual IP addresses
(VIPs), pools, members of a pool, health monitors, and view status
of a resource.
.. note::
LBaaS 1.0 support was removed in Newton release. It's no longer available
in any installations starting from this release.
**Load balancer statuses**
+----------------+--------------------------------------------------------------------+
| Status | Description |
+----------------+--------------------------------------------------------------------+
| ACTIVE | The resource is ready and active. |
+----------------+--------------------------------------------------------------------+
| PENDING_CREATE | The resource is being created. |
+----------------+--------------------------------------------------------------------+
| PENDING_UPDATE | The resource is being updated. |
+----------------+--------------------------------------------------------------------+
| PENDING_DELETE | The resource is pending deletion. |
+----------------+--------------------------------------------------------------------+
| INACTIVE | The resource is not active. |
+----------------+--------------------------------------------------------------------+
| ERROR | An object within the service is not working. The ``error_details`` |
| | attribute provides an explanation for the error, its cause, and |
| | possibly a solution. |
+----------------+--------------------------------------------------------------------+
.. ============================================================
List pools
==========
.. rest_method:: GET /v2.0/lb/pools
Lists pools.
Normal response codes: 200
Error response codes:400,401,413,503,500,
Request
-------
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- lb_algorithm: lb_algorithm
- status: pool-status
- protocol: protocol
- description: description
- health_monitors: health_monitors
- subnet_id: subnet_id
- tenant_id: project_id
- project_id: project_id
- admin_state_up: admin_state_up
- vip_id: vip_id
- health_monitors_status: health_monitors_status
- members: members
- provider: provider
- pools: pools
- status_description: status_description
- id: id
- name: name
Response Example
----------------
.. literalinclude:: samples/lbaas/pools-list-response.json
:language: javascript
Create a load balancer pool
===========================
.. rest_method:: POST /v2.0/lb/pools
Creates a load balancer pool.
Error response codes:201,400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- lb_method: lb_method
- protocol: protocol
- description: description
- admin_state_up: admin_state_up
- subnet_id: subnet_id
- tenant_id: project_id
- project_id: project_id
- pool: pool
- name: name
Request Example
---------------
.. literalinclude:: samples/lbaas/pool-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- lb_algorithm: lb_algorithm
- status: pool-status
- protocol: protocol
- description: description
- health_monitors: health_monitors
- subnet_id: subnet_id
- tenant_id: project_id
- project_id: project_id
- admin_state_up: admin_state_up
- vip_id: vip_id
- health_monitors_status: health_monitors_status
- members: members
- provider: provider
- status_description: status_description
- id: id
- pool: pool
- name: name
Show pool details
=================
.. rest_method:: GET /v2.0/lb/pools/{pool_id}
Shows details for a pool.
Normal response codes: 200
Error response codes:400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- pool_id: pool_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- lb_algorithm: lb_algorithm
- status: pool-status
- protocol: protocol
- description: description
- health_monitors: health_monitors
- subnet_id: subnet_id
- tenant_id: project_id
- project_id: project_id
- admin_state_up: admin_state_up
- vip_id: vip_id
- health_monitors_status: health_monitors_status
- members: members
- provider: provider
- status_description: status_description
- id: id
- pool: pool
- name: name
Response Example
----------------
.. literalinclude:: samples/lbaas/pool-show-response.json
:language: javascript
Update pool
===========
.. rest_method:: PUT /v2.0/lb/pools/{pool_id}
Updates a load balancer pool.
Normal response codes: 200
Error response codes:400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- pool: pool
- lb_method: lb_method
- description: description
- name: name
- admin_state_up: admin_state_up
- pool_id: pool_id
Request Example
---------------
.. literalinclude:: samples/lbaas/pool-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- lb_algorithm: lb_algorithm
- status: pool-status
- protocol: protocol
- description: description
- health_monitors: health_monitors
- subnet_id: subnet_id
- tenant_id: project_id
- project_id: project_id
- admin_state_up: admin_state_up
- vip_id: vip_id
- health_monitors_status: health_monitors_status
- members: members
- provider: provider
- status_description: status_description
- id: id
- pool: pool
- name: name
Response Example
----------------
.. literalinclude:: samples/lbaas/pool-update-response.json
:language: javascript
Delete pool
===========
.. rest_method:: DELETE /v2.0/lb/pools/{pool_id}
Deletes a load balancer pool.
Error response codes:204,400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- pool_id: pool_id
.. ============================================================
List VIPs
=========
.. rest_method:: GET /v2.0/lb/vips
Lists VIPs.
The list might be empty.
Normal response codes: 200
Error response codes:500,401,503,
Request
-------
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: vip-status
- status_description: status_description
- protocol: protocol
- description: description
- admin_state_up: admin_state_up
- subnet_id: subnet_id
- tenant_id: project_id
- project_id: project_id
- connection_limit: connection_limit
- pool_id: pool_id
- session_persistence: session_persistence
- address: address
- vips: vips
- protocol_port: protocol_port
- port_id: port_id
- id: id
- name: name
Response Example
----------------
.. literalinclude:: samples/lbaas/vips-list-response.json
:language: javascript
Create a load balancer VIP
==========================
.. rest_method:: POST /v2.0/lb/vips
Creates a load balancer VIP.
Error response codes:201,400,404,500,401,413,503,409,
Request
-------
.. rest_parameters:: parameters.yaml
- protocol: protocol
- description: description
- admin_state_up: admin_state_up
- subnet_id: subnet_id
- tenant_id: project_id
- project_id: project_id
- connection_limit: connection_limit
- pool_id: pool_id
- session_persistence: session_persistence
- vip: vip
- address: address
- protocol_port: protocol_port
- name: name
Request Example
---------------
.. literalinclude:: samples/lbaas/vip-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: vip-status
- status_description: status_description
- protocol: protocol
- description: description
- admin_state_up: admin_state_up
- subnet_id: subnet_id
- tenant_id: project_id
- project_id: project_id
- connection_limit: connection_limit
- pool_id: pool_id
- session_persistence: session_persistence
- vip: vip
- address: address
- protocol_port: protocol_port
- port_id: port_id
- id: id
- name: name
Show VIP details
================
.. rest_method:: GET /v2.0/lb/vips/{vip_id}
Shows details for a VIP.
Normal response codes: 200
Error response codes:404,403,500,401,413,503,409,
Request
-------
.. rest_parameters:: parameters.yaml
- vip_id: vip_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: vip-status
- status_description: status_description
- protocol: protocol
- description: description
- admin_state_up: admin_state_up
- subnet_id: subnet_id
- tenant_id: project_id
- project_id: project_id
- connection_limit: connection_limit
- pool_id: pool_id
- session_persistence: session_persistence
- vip: vip
- address: address
- protocol_port: protocol_port
- port_id: port_id
- id: id
- name: name
Response Example
----------------
.. literalinclude:: samples/lbaas/vip-show-response.json
:language: javascript
Update VIP
==========
.. rest_method:: PUT /v2.0/lb/vips/{vip_id}
Updates a load balancer VIP.
Normal response codes: 200
Error response codes:400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- description: description
- admin_state_up: admin_state_up
- connection_limit: connection_limit
- pool_id: pool_id
- session_persistence: session_persistence
- vip: vip
- name: name
- vip_id: vip_id
Request Example
---------------
.. literalinclude:: samples/lbaas/vip-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: vip-status
- status_description: status_description
- protocol: protocol
- description: description
- admin_state_up: admin_state_up
- subnet_id: subnet_id
- tenant_id: project_id
- project_id: project_id
- connection_limit: connection_limit
- pool_id: pool_id
- session_persistence: session_persistence
- vip: vip
- address: address
- protocol_port: protocol_port
- port_id: port_id
- id: id
- name: name
Response Example
----------------
.. literalinclude:: samples/lbaas/vip-update-response.json
:language: javascript
Delete VIP
==========
.. rest_method:: DELETE /v2.0/lb/vips/{vip_id}
Deletes a load balancer VIP.
Error response codes:204,400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- vip_id: vip_id
.. ============================================================
List members
============
.. rest_method:: GET /v2.0/lb/members
Lists members.
Normal response codes: 200
Error response codes:400,401,413,503,500,
Request
-------
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: member-status
- status_description: status_description
- weight: weight
- admin_state_up: admin_state_up
- tenant_id: project_id
- project_id: project_id
- pool_id: pool_id
- members: members
- address: address
- protocol_port: protocol_port
- id: id
Response Example
----------------
.. literalinclude:: samples/lbaas/members-list-response.json
:language: javascript
Create a load balancer member
=============================
.. rest_method:: POST /v2.0/lb/members
Creates a load balancer member.
Error response codes:201,400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- weight: weight
- admin_state_up: admin_state_up
- tenant_id: project_id
- project_id: project_id
- pool_id: pool_id
- member: member
- address: address
- protocol_port: protocol_port
Request Example
---------------
.. literalinclude:: samples/lbaas/member-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: member-status
- status_description: status_description
- weight: weight
- admin_state_up: admin_state_up
- tenant_id: project_id
- project_id: project_id
- pool_id: pool_id
- member: member
- address: address
- protocol_port: protocol_port
- id: id
Show member details
===================
.. rest_method:: GET /v2.0/lb/members/{member_id}
Shows details for a member.
Normal response codes: 200
Error response codes:400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- member_id: member_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: member-status
- status_description: status_description
- weight: weight
- admin_state_up: admin_state_up
- tenant_id: project_id
- project_id: project_id
- pool_id: pool_id
- member: member
- address: address
- protocol_port: protocol_port
- id: id
Response Example
----------------
.. literalinclude:: samples/lbaas/member-show-response.json
:language: javascript
Update member
=============
.. rest_method:: PUT /v2.0/lb/members/{member_id}
Updates a load balancer member.
Normal response codes: 200
Error response codes:400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- member: member
- pool_id: pool_id
- weight: weight
- admin_state_up: admin_state_up
- member_id: member_id
Request Example
---------------
.. literalinclude:: samples/lbaas/member-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: member-status
- status_description: status_description
- weight: weight
- admin_state_up: admin_state_up
- tenant_id: project_id
- project_id: project_id
- pool_id: pool_id
- member: member
- address: address
- protocol_port: protocol_port
- id: id
Response Example
----------------
.. literalinclude:: samples/lbaas/member-update-response.json
:language: javascript
Delete member
=============
.. rest_method:: DELETE /v2.0/lb/members/{member_id}
Deletes a load balancer member.
Error response codes:204,400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- member_id: member_id
.. ============================================================
List health monitors
====================
.. rest_method:: GET /v2.0/lb/health_monitors
Lists health monitors.
Normal response codes: 200
Error response codes:400,401,413,503,500,
Request
-------
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- health_monitors: health_monitors
- tenant_id: project_id
- project_id: project_id
- admin_state_up: admin_state_up
- delay: delay
- expected_codes: expected_codes
- max_retries: max_retries
- http_method: http_method
- timeout: timeout
- pools: pools
- url_path: url_path
- type: type
- id: id
Response Example
----------------
.. literalinclude:: samples/lbaas/healthmonitors-list-response.json
:language: javascript
Create a load balancer health monitor
=====================================
.. rest_method:: POST /v2.0/lb/health_monitors
Creates a load balancer health monitor.
Error response codes:201,400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- health_monitor: health_monitor
- tenant_id: project_id
- project_id: project_id
- admin_state_up: admin_state_up
- delay: delay
- expected_codes: expected_codes
- max_retries: max_retries
- http_method: http_method
- timeout: timeout
- url_path: url_path
- type: type
Request Example
---------------
.. literalinclude:: samples/lbaas/healthmonitor-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- health_monitor: health_monitor
- tenant_id: project_id
- project_id: project_id
- admin_state_up: admin_state_up
- delay: delay
- expected_codes: expected_codes
- max_retries: max_retries
- http_method: http_method
- timeout: timeout
- pools: pools
- url_path: url_path
- type: type
- id: id
Show health monitor details
===========================
.. rest_method:: GET /v2.0/lb/health_monitors/{health_monitor_id}
Shows details for a health monitor.
Normal response codes: 200
Error response codes:400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- health_monitor_id: health_monitor_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- health_monitor: health_monitor
- tenant_id: project_id
- project_id: project_id
- admin_state_up: admin_state_up
- delay: delay
- expected_codes: expected_codes
- max_retries: max_retries
- http_method: http_method
- timeout: timeout
- pools: pools
- url_path: url_path
- type: type
- id: id
Response Example
----------------
.. literalinclude:: samples/lbaas/healthmonitor-show-response.json
:language: javascript
Update health monitor
=====================
.. rest_method:: PUT /v2.0/lb/health_monitors/{health_monitor_id}
Updates a load balancer health monitor.
Normal response codes: 200
Error response codes:400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- health_monitor: health_monitor
- admin_state_up: admin_state_up
- delay: delay
- expected_codes: expected_codes
- max_retries: max_retries
- http_method: http_method
- timeout: timeout
- url_path: url_path
- health_monitor_id: health_monitor_id
Request Example
---------------
.. literalinclude:: samples/lbaas/healthmonitor-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- health_monitor: health_monitor
- tenant_id: project_id
- project_id: project_id
- admin_state_up: admin_state_up
- delay: delay
- expected_codes: expected_codes
- max_retries: max_retries
- http_method: http_method
- timeout: timeout
- pools: pools
- url_path: url_path
- type: type
- id: id
Response Example
----------------
.. literalinclude:: samples/lbaas/healthmonitor-update-response.json
:language: javascript
Delete health monitor
=====================
.. rest_method:: DELETE /v2.0/lb/health_monitors/{health_monitor_id}
Deletes a load balancer health monitor.
Error response codes:204,400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- health_monitor_id: health_monitor_id
Associate health monitor with pool
==================================
.. rest_method:: POST /v2.0/lb/pools/{pool_id}/health_monitors
Associates a health monitor with a pool.
Error response codes:201,400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- id: id
- health_monitor: health_monitor
- pool_id: pool_id
Request Example
---------------
.. literalinclude:: samples/lbaas/healthmonitor-associate-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- health_monitor: health_monitor
Disassociate health monitor from pool
=====================================
.. rest_method:: DELETE /v2.0/lb/pools/{pool_id}/health_monitors/{health_monitor_id}
Disassociates a health monitor from a pool.
Error response codes:204,400,401,413,503,500,
Request
-------
.. rest_parameters:: parameters.yaml
- health_monitor_id: health_monitor_id
- pool_id: pool_id