Difference between revisions of "Blueprint-ipam-extensions-for-neutron"
Rudrarugge (talk | contribs) (Created page with "===IPAM Resource=== 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 alloc...") |
Rudrarugge (talk | contribs) (→IPAM Resource) |
||
(20 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | == | + | == <span>IPAM Overview </span>== |
Information common to a set of subnets on a network will be present in this resource. Following information will be stored in the resource: | Information common to a set of subnets on a network will be present in this resource. Following information will be stored in the resource: | ||
Line 6: | Line 6: | ||
*CIDR to be used by the network (in which all subnet definitions should belong) | *CIDR to be used by the network (in which all subnet definitions should belong) | ||
*List of DHCP option, value tuples | *List of DHCP option, value tuples | ||
+ | |||
+ | == <span>IPAM Resource </span>== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! 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== | ||
+ | <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> | ||
+ | |||
+ | == REST APIs== | ||
+ | === IPAM REST APIs=== | ||
+ | <pre><nowiki> | ||
+ | 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 | ||
+ | </nowiki></pre> | ||
+ | |||
+ | ===IpamCreate=== | ||
+ | ====JSON Request==== | ||
+ | <pre><nowiki> | ||
+ | { | ||
+ | "ipam": { | ||
+ | "tenant_id": "310df60f-2a10-4ee5-9554-98393092194c", | ||
+ | "name": "test_ipam", | ||
+ | } | ||
+ | } | ||
+ | </nowiki></pre> | ||
+ | |||
+ | ====JSON Response==== | ||
+ | <pre><nowiki> | ||
+ | { | ||
+ | "ipam": { | ||
+ | "id": "02b1fef7-16f5-4917-bf19-c40a9af805ed", | ||
+ | "tenant-id": "310df60f-2a10-4ee5-9554-98393092194c", | ||
+ | "name": "test_ipam", | ||
+ | } | ||
+ | } | ||
+ | </nowiki></pre> | ||
+ | |||
+ | == IPAM Workflow== | ||
+ | * IPAM create with relevant DHCP, DNS and CIDR | ||
+ | * Neutron Network APIs to attach one or more IPAMS |
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