Difference between revisions of "Blueprint-ipam-extensions-for-neutron"
Rudrarugge (talk | contribs) (→Network Policy and FWaaS) |
Rudrarugge (talk | contribs) (→IPAM Resource) |
||
(10 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
== <span>IPAM Resource </span>== | == <span>IPAM Resource </span>== | ||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 26: | Line 25: | ||
| ipam_dns_method||string||no||CRU||None||N/A||default, tenant or virtual dns server | | ipam_dns_method||string||no||CRU||None||N/A||default, tenant or virtual dns server | ||
|- | |- | ||
− | | ipam_dns_addr||string||no||CRU||None||N/A||dns server address or name | + | | ipam_dns_addr||list[string]||no||CRU||None||N/A||list of dns server address or name |
|- | |- | ||
− | | dhcp_options||list[string-string]||no||CRU||None||list or key-val pairs||list of | + | | dhcp_options||list[string-string]||no||CRU||None||list or key-val pairs||list of dhcp key-value pairs |
|- | |- | ||
| cidr_block||list[string]||no||CRU||None||list of cidrs||list of cidr blocks | | cidr_block||list[string]||no||CRU||None||list of cidrs||list of cidr blocks | ||
|} | |} | ||
− | + | == CLI for IPAM== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == CLI for | ||
<pre><nowiki> | <pre><nowiki> | ||
− | + | ipam-create Create an IPAM for a given tenant. | |
− | + | ipam-delete Delete a given IPAM. | |
− | + | ipam-list List IPAM information that belongs to a given tenant. | |
− | + | ipam-show Show information of a given IPAM. | |
− | + | ipam-update Update a given IPAM. | |
− | |||
− | |||
− | |||
− | |||
− | |||
</nowiki></pre> | </nowiki></pre> | ||
== REST APIs== | == REST APIs== | ||
− | === | + | === IPAM REST APIs=== |
<pre><nowiki> | <pre><nowiki> | ||
GET | GET | ||
− | /v1.0/ | + | /v1.0/ipams/ |
GET | GET | ||
− | /v1.0/ | + | /v1.0/ipams/ipam-id |
POST | POST | ||
− | /v1.0/ | + | /v1.0/ipams |
UPDATE | UPDATE | ||
− | /v1.0/ | + | /v1.0/ipams/ipam-id |
DELETE | DELETE | ||
− | /v1.0/ | + | /v1.0/ipams/ipam-id |
</nowiki></pre> | </nowiki></pre> | ||
− | === | + | ===IpamCreate=== |
====JSON Request==== | ====JSON Request==== | ||
<pre><nowiki> | <pre><nowiki> | ||
{ | { | ||
− | " | + | "ipam": { |
"tenant_id": "310df60f-2a10-4ee5-9554-98393092194c", | "tenant_id": "310df60f-2a10-4ee5-9554-98393092194c", | ||
− | "name": " | + | "name": "test_ipam", |
} | } | ||
} | } | ||
Line 90: | Line 70: | ||
<pre><nowiki> | <pre><nowiki> | ||
{ | { | ||
− | " | + | "ipam": { |
"id": "02b1fef7-16f5-4917-bf19-c40a9af805ed", | "id": "02b1fef7-16f5-4917-bf19-c40a9af805ed", | ||
"tenant-id": "310df60f-2a10-4ee5-9554-98393092194c", | "tenant-id": "310df60f-2a10-4ee5-9554-98393092194c", | ||
− | "name": " | + | "name": "test_ipam", |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
} | } | ||
</nowiki></pre> | </nowiki></pre> | ||
− | == | + | == IPAM Workflow== |
− | * | + | * IPAM create with relevant DHCP, DNS and CIDR |
− | + | * Neutron Network APIs to attach one or more IPAMS | |
− | * Neutron Network APIs to attach one or more |
Latest revision as of 17:50, 8 October 2013
Contents
IPAM Overview
Information common to a set of subnets on a network will be present in this resource. Following information will be stored in the resource:
- Address allocation scheme (DHCP or unmanaged)
- DNS server information
- CIDR to be used by the network (in which all subnet definitions should belong)
- List of DHCP option, value tuples
IPAM Resource
Attribute | Type | Required | CRUD | DefaultValue | Validation Constraint | Notes |
---|---|---|---|---|---|---|
id | uuid-str | N/A | R | generated | N/A | UUID for ipam object |
tenant_id | uuid-str | Yes | CR | None | valid tenant_id | UUID of the tenant for ipam |
name | string | no | CRU | None | N/A | name of the ipam resource |
fq_name | string | no | CRU | None | N/A | fully qualified name of the ipam object |
ipam_method | string | no | CRU | None | N/A | dhcp or fixed assignment |
ipam_dns_method | string | no | CRU | None | N/A | default, tenant or virtual dns server |
ipam_dns_addr | list[string] | no | CRU | None | N/A | list of dns server address or name |
dhcp_options | list[string-string] | no | CRU | None | list or key-val pairs | list of dhcp key-value pairs |
cidr_block | list[string] | no | CRU | None | list of cidrs | list of cidr blocks |
CLI for IPAM
ipam-create Create an IPAM for a given tenant. ipam-delete Delete a given IPAM. ipam-list List IPAM information that belongs to a given tenant. ipam-show Show information of a given IPAM. ipam-update Update a given IPAM.
REST APIs
IPAM REST APIs
GET /v1.0/ipams/ GET /v1.0/ipams/ipam-id POST /v1.0/ipams UPDATE /v1.0/ipams/ipam-id DELETE /v1.0/ipams/ipam-id
IpamCreate
JSON Request
{ "ipam": { "tenant_id": "310df60f-2a10-4ee5-9554-98393092194c", "name": "test_ipam", } }
JSON Response
{ "ipam": { "id": "02b1fef7-16f5-4917-bf19-c40a9af805ed", "tenant-id": "310df60f-2a10-4ee5-9554-98393092194c", "name": "test_ipam", } }
IPAM Workflow
- IPAM create with relevant DHCP, DNS and CIDR
- Neutron Network APIs to attach one or more IPAMS