diff --git a/v2.0/neutron-scheduler-ext.xml b/v2.0/neutron-scheduler-ext.xml index 0f2f49d..d361341 100644 --- a/v2.0/neutron-scheduler-ext.xml +++ b/v2.0/neutron-scheduler-ext.xml @@ -26,6 +26,7 @@ '> ]> +
- The Agent Schedulers Extension - The agent schedulers extension schedules resources among agents on top of + Agent Schedulers + The agent scheduler extensions schedule resources among agents on top of the agent management extension. - In Grizzly, it can schedule networks among DHCP agents and routers among L3 agents. - - - DHCP agent scheduler API + + The agent scheduler feature consist of several agent scheduler extensions. + In Havana, the following extensions are available. + + DHCP Agent Scheduler (dhcp_agent_scheduler) + L3 Agent Scheduler (l3_agent_scheduler) + Load Balancer Agent Scheduler (lbaas_agent_scheduler) + + + In Grizzly, the DHCP Agent Scheduler and the L3 Agent Scheduler features are provided + by a single extension named the Agent Scheduler (agent_scheduler). + In Havana, this extension is split into the DHCP Agent Scheduler and + the L3 Agent Scheduler extensions. + The Load Balancer Agent Scheduler extension is added in Havana. + +
+ DHCP Agent Scheduler (<literal>dhcp_agent_scheduler</literal>) + The DHCP Agent Scheduler extension allows administrators to assign DHCP servers + for Neutron networks to given Neutron DHCP agents, and retrieve mappings between Neutron + networks and DHCP agents. + This feature is implemented on top of Agent Management extension. + @@ -75,48 +94,6 @@ - - - L3 agent scheduler API - - - - - - - Verb - URI - Description - - - - - &GET; - /agents/agent_id/l3-routers - List routers the given L3 agent is hosting. - - - &GET; - /routers/router_id/l3-agents - List L3 agents hosting the given router. - - - &POST; - /agents/agent_id/l3-routers - Schedule the router to the given L3 agent. - - - &DELETE; - /agents/agent_id/l3-routers/router_id - Remove the router from the given L3 agent. - - - - - - -
- DHCP Agent Scheduler
List Networks hosted by one DHCP agent @@ -148,23 +125,20 @@ This operation returns a response body. List Networks on DHCP agent: JSON Request - -GET /v2.0/agents/d5724d7e-389d-4ba0-8d00-fc673a147bfa/dhcp-networks HTTP/1.1 + GET /v2.0/agents/d5724d7e-389d-4ba0-8d00-fc673a147bfa/dhcp-networks HTTP/1.1 Host: localhost:9696 User-Agent: python-neutronclient Content-Type: application/json Accept: application/json X-Auth-Token: 797f94caf0a8481c893a232cc0c1dfca - + List Networks on DHCP agent: JSON Response
- -
List DHCP agents hosting network @@ -198,13 +172,13 @@ X-Auth-Token: 797f94caf0a8481c893a232cc0c1dfca List DHCP agents hosting network: JSON Request - -GET /v2.0/networks/2d627131-c841-4e3a-ace6-f2dd75773b6d/dhcp-agents HTTP/1.1 + GET /v2.0/networks/2d627131-c841-4e3a-ace6-f2dd75773b6d/dhcp-agents HTTP/1.1 Host: localhost:9696 User-Agent: python-neutronclient Content-Type: application/json Accept: application/json X-Auth-Token: cc0f378bdf1545fb8dea2120c89eb532 + @@ -214,7 +188,6 @@ X-Auth-Token: cc0f378bdf1545fb8dea2120c89eb532
-
Schedule network to DHCP agent @@ -244,15 +217,14 @@ X-Auth-Token: cc0f378bdf1545fb8dea2120c89eb532 (403), Conflict (409) if the network is already hosted by the given DHCP agent, - NotFound(404) when the specified agnet is + NotFound(404) when the specified agent is not a valid DHCP agent. This operation requires a request body. This operation returns a null body. Schedule Network: JSON Request - -POST /v2.0/agents/d5724d7e-389d-4ba0-8d00-fc673a147bfa/dhcp-networks.json HTTP/1.1 + POST /v2.0/agents/d5724d7e-389d-4ba0-8d00-fc673a147bfa/dhcp-networks.json HTTP/1.1 Host: localhost:9696 User-Agent: python-neutronclient Content-Type: application/json @@ -267,7 +239,6 @@ Content-Length: 54
-
Remove Network From DHCP agent @@ -305,20 +276,57 @@ Content-Length: 54 Remove Network From DHCP agent: JSON Request - -DELETE /v2.0/agents/d5724d7e-389d-4ba0-8d00-fc673a147bfa/dhcp-networks/1ae075ca-708b-4e66-b4a7-b7698632f05f.json HTTP/1.1 + DELETE /v2.0/agents/d5724d7e-389d-4ba0-8d00-fc673a147bfa/dhcp-networks/1ae075ca-708b-4e66-b4a7-b7698632f05f.json HTTP/1.1 Host: localhost:9696 User-Agent: python-neutronclient Content-Type: application/json Accept: application/json X-Auth-Token: 7ae91cde8f504031be5a2cd5b99d4fe9 - + +
-
- L3 Agent Scheduler + L3 Agent Scheduler (<literal>l3_agent_scheduler</literal>) + The L3 Agent Scheduler extension allows administrators to assign Neutron routers + to Neutron L3 agents, and retrieve mappings between Neutron routers and L3 agents. + This feature is implemented on top of Agent Management extension. + + + + + + + + Verb + URI + Description + + + + + &GET; + /agents/agent_id/l3-routers + List routers the given L3 agent is hosting. + + + &GET; + /routers/router_id/l3-agents + List L3 agents hosting the given router. + + + &POST; + /agents/agent_id/l3-routers + Schedule the router to the given L3 agent. + + + &DELETE; + /agents/agent_id/l3-routers/router_id + Remove the router from the given L3 agent. + + +
List Routers hosted by one L3 agent @@ -350,15 +358,14 @@ X-Auth-Token: 7ae91cde8f504031be5a2cd5b99d4fe9 This operation returns a response body. List Routers on L3 agent: JSON Request - -GET /v2.0/agents/fa24e88e-3d2f-4fc2-b038-5fb5be294c03/l3-routers.json HTTP/1.1 + GET /v2.0/agents/fa24e88e-3d2f-4fc2-b038-5fb5be294c03/l3-routers.json HTTP/1.1 Host: localhost:9696 User-Agent: python-neutronclient Content-Type: application/json Accept: application/json X-Auth-Token: 6eeea6e73b68415f85d8368902a32c11 - + List Routers on L3 agent: JSON Response @@ -366,7 +373,6 @@ X-Auth-Token: 6eeea6e73b68415f85d8368902a32c11
-
List L3 agents hosting router @@ -400,8 +406,7 @@ X-Auth-Token: 6eeea6e73b68415f85d8368902a32c11 List L3 agents hosting router: JSON Request - -GET /v2.0/routers/8eef2388-f27d-4a17-986e-9319a77ccd9d/l3-agents.json HTTP/1.1 + GET /v2.0/routers/8eef2388-f27d-4a17-986e-9319a77ccd9d/l3-agents.json HTTP/1.1 Host: localhost:9696 User-Agent: python-neutronclient Content-Type: application/json @@ -417,7 +422,6 @@ X-Auth-Token: bce63afb1e794c70972a19a7c2d6dcab
-
Schedule router to L3 agent @@ -454,8 +458,7 @@ X-Auth-Token: bce63afb1e794c70972a19a7c2d6dcab This operation returns a null body. Schedule Router: JSON Request - -GET /v2.0/agents/fa24e88e-3d2f-4fc2-b038-5fb5be294c03/l3-routers.json HTTP/1.1 + GET /v2.0/agents/fa24e88e-3d2f-4fc2-b038-5fb5be294c03/l3-routers.json HTTP/1.1 Host: localhost:9696 User-Agent: python-neutronclient Content-Type: application/json @@ -470,7 +473,6 @@ Content-Length: 54
-
Remove Router From L3 agent @@ -507,15 +509,142 @@ Content-Length: 54 Remove Router From L3 agent: JSON Request - -DELETE /v2.0/agents/b7d7ba43-1a05-4b09-ba07-67242d4a98f4/l3-routers/8eef2388-f27d-4a17-986e-9319a77ccd9d.json HTTP/1.1 + DELETE /v2.0/agents/b7d7ba43-1a05-4b09-ba07-67242d4a98f4/l3-routers/8eef2388-f27d-4a17-986e-9319a77ccd9d.json HTTP/1.1 Host: localhost:9696 User-Agent: python-neutronclient Content-Type: application/json Accept: application/json X-Auth-Token: 2147ef6fe4444f0299b1c0b6b529ff47 - + + + +
+
+
+ Load Balancer Agent Scheduler (<literal>lbaas_agent_scheduler</literal>) + The LBaaS Agent Scheduler extension allows administrators to retrieve + mappings between load balancer pools to LBaaS agents. + In Havana, this extension does not provide an ability to assign load balancer pool + to specific LBaaS agent. Pools are scheduled automatically when created. + This feature is implemented on top of Agent Management extension. + The Load Balancer Agent Scheduler extension is added in Havana. + + + + + + + + Verb + URI + Description + + + + + &GET; + /agents/agent_id/loadbalancer-pools + List pools the given LBaaS agent is hosting. + + + &GET; + /lb/pools/pool_id/loadbalancer-agent + Show a LBaaS agent hosting the given pool. + + + +
+ List Pools hosted by one LBaaS agent + + + + + + + Verb + URI + Description + + + + + &GET; + /agents/agent_id/loadbalancer-pools + List pools the given LBaaS agent is hosting. + + + + Normal Response Code: + 200 + + Error Response Codes: Unauthorized + (401), Forbidden + (403) + This operation does not require a request body. + This operation returns a response body. + + List Pools on LBaaS agent: JSON Request + GET /v2.0/agents/6ee1df7f-bae4-4ee9-910a-d33b000773b0/loadbalancer-pools.json HTTP/1.1 +Host: localhost:9696 +User-Agent: python-neutronclient +Content-Type: application/json +Accept: application/json +X-Auth-Token: 6eeea6e73b68415f85d8368902a32c11 + + + + + List Pools on LBaaS agent: JSON Response +
+ +
+ Show LBaaS agent hosting pool + + + + + + + Verb + URI + Description + + + + + &GET; + /lb/pools/pool_id/loadbalancer-agent + Show a LBaaS agent hosting the given pool. + + + + Normal Response Code: + 200 + + Error Response Codes: Unauthorized + (401), Forbidden + (403) + This operation does not require a request body. + This operation returns a response body. + + Show LBaaS agent hosting pool: JSON Request + + GET /v2.0/lb/pools/28296abb-e675-4288-9cd0-6c112c720db0/loadbalancer-agent.json HTTP/1.1 +Host: localhost:9696 +User-Agent: python-neutronclient +Content-Type: application/json +Accept: application/json +X-Auth-Token: bce63afb1e794c70972a19a7c2d6dcab + + + + + + Show LBaaS agent hosting pool: JSON Response + +
+
diff --git a/v2.0/samples/sche-lbaas-agent-list-res.json b/v2.0/samples/sche-lbaas-agent-list-res.json new file mode 100644 index 0000000..fdb8332 --- /dev/null +++ b/v2.0/samples/sche-lbaas-agent-list-res.json @@ -0,0 +1,20 @@ +{ + "agent": { + "admin_state_up": true, + "agent_type": "Loadbalancer agent", + "alive": true, + "binary": "neutron-loadbalancer-agent", + "configurations": { + "device_driver": "neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver", + "devices": 0, + "interface_driver": "neutron.agent.linux.interface.OVSInterfaceDriver" + }, + "created_at": "2013-10-01 12:50:13", + "description": null, + "heartbeat_timestamp": "2013-10-01 12:56:29", + "host": "ostack02", + "id": "6ee1df7f-bae4-4ee9-910a-d33b000773b0", + "started_at": "2013-10-01 12:50:13", + "topic": "lbaas_process_on_host_agent" + } +} diff --git a/v2.0/samples/sche-pool-list-res.json b/v2.0/samples/sche-pool-list-res.json new file mode 100644 index 0000000..07d5596 --- /dev/null +++ b/v2.0/samples/sche-pool-list-res.json @@ -0,0 +1,21 @@ +{ + "pools": [ + { + "admin_state_up": true, + "description": "", + "health_monitors": [], + "health_monitors_status": [], + "id": "28296abb-e675-4288-9cd0-6c112c720db0", + "lb_method": "ROUND_ROBIN", + "members": [], + "name": "pool1", + "protocol": "HTTP", + "provider": "haproxy", + "status": "PENDING_CREATE", + "status_description": null, + "subnet_id": "f8fd83d3-2080-4ab9-9814-391fe7b8a7a4", + "tenant_id": "54d7b6253c8c4e64862fbd08b3fc08cd", + "vip_id": null + } + ] +}