Change V3 access_ips extension into v2.1

This patch changes v3 access_ips API to v2.1 and makes v2
unit tests share between v2 and v2.1.
The differences between v2 and v3 are described on the wiki page
https://wiki.openstack.org/wiki/NovaAPIv2tov3 .

Partially implements blueprint v2-on-v3-api

Change-Id: Id464cbe4a8b7a7749c4f14e4531e4494dd315857
This commit is contained in:
He Jie Xu 2014-08-14 10:54:41 +08:00
parent 7d4dcfb2a9
commit 0063d17d74
23 changed files with 51 additions and 51 deletions

View File

@ -46,8 +46,8 @@
"My Server Name": "Apache1"
},
"name": "new-server-test",
"os-access-ips:access_ip_v4": "",
"os-access-ips:access_ip_v6": "",
"accessIPv4": "",
"accessIPv6": "",
"config_drive": "",
"os-extended-availability-zone:availability_zone": "nova",
"os-extended-server-attributes:host": "b8b357f7100d4391828f2177c922ef93",

View File

@ -12,8 +12,8 @@
"rel": "bookmark"
}
],
"os-access-ips:access_ip_v4": "",
"os-access-ips:access_ip_v6": "",
"accessIPv4": "",
"accessIPv6": "",
"os-security-groups:security_groups": [
{
"name": "default"

View File

@ -47,8 +47,8 @@
"My Server Name": "Apache1"
},
"name": "new-server-test",
"os-access-ips:access_ip_v4": "",
"os-access-ips:access_ip_v6": "",
"accessIPv4": "",
"accessIPv6": "",
"config_drive": "",
"os-extended-availability-zone:availability_zone": "nova",
"os-extended-server-attributes:host": "c3f14e9812ad496baf92ccfb3c61e15f",

View File

@ -46,8 +46,8 @@
"meta_var": "meta_val"
},
"name": "new-server-test",
"os-access-ips:access_ip_v4": "4.3.2.1",
"os-access-ips:access_ip_v6": "80fe::",
"accessIPv4": "4.3.2.1",
"accessIPv6": "80fe::",
"progress": 0,
"status": "ACTIVE",
"tenant_id": "openstack",

View File

@ -1,7 +1,7 @@
{
"rebuild" : {
"os-access-ips:access_ip_v4": "4.3.2.1",
"os-access-ips:access_ip_v6": "80fe::",
"accessIPv4": "4.3.2.1",
"accessIPv6": "80fe::",
"imageRef" : "http://glance.openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b",
"name" : "new-server-test",
"metadata" : {
@ -14,4 +14,4 @@
}
]
}
}
}

View File

@ -45,8 +45,8 @@
"My Server Name": "Apache1"
},
"name": "new-server-test",
"os-access-ips:access_ip_v4": "1.2.3.4",
"os-access-ips:access_ip_v6": "fe80::",
"accessIPv4": "1.2.3.4",
"accessIPv6": "fe80::",
"progress": 0,
"status": "ACTIVE",
"tenant_id": "openstack",

View File

@ -1,7 +1,7 @@
{
"server" : {
"os-access-ips:access_ip_v4": "1.2.3.4",
"os-access-ips:access_ip_v6": "fe80::",
"accessIPv4": "1.2.3.4",
"accessIPv6": "fe80::",
"name" : "new-server-test",
"imageRef" : "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
"flavorRef" : "http://openstack.example.com/openstack/flavors/1",

View File

@ -12,7 +12,7 @@
"rel": "bookmark"
}
],
"os-access-ips:access_ip_v4": "1.2.3.4",
"os-access-ips:access_ip_v6": "fe80::"
"accessIPv4": "1.2.3.4",
"accessIPv6": "fe80::"
}
}

View File

@ -1,6 +1,6 @@
{
"server": {
"os-access-ips:access_ip_v4": "4.3.2.1",
"os-access-ips:access_ip_v6": "80fe::"
"accessIPv4": "4.3.2.1",
"accessIPv6": "80fe::"
}
}

View File

@ -45,8 +45,8 @@
"My Server Name": "Apache1"
},
"name": "new-server-test",
"os-access-ips:access_ip_v4": "4.3.2.1",
"os-access-ips:access_ip_v6": "80fe::",
"accessIPv4": "4.3.2.1",
"accessIPv6": "80fe::",
"progress": 0,
"status": "ACTIVE",
"tenant_id": "openstack",

View File

@ -46,8 +46,8 @@
"My Server Name": "Apache1"
},
"name": "new-server-test",
"os-access-ips:access_ip_v4": "1.2.3.4",
"os-access-ips:access_ip_v6": "fe80::",
"accessIPv4": "1.2.3.4",
"accessIPv6": "fe80::",
"progress": 0,
"status": "ACTIVE",
"tenant_id": "openstack",

View File

@ -28,9 +28,9 @@ class AccessIPsController(wsgi.Controller):
db_instance = req.get_db_instance(server['id'])
ip_v4 = db_instance.get('access_ip_v4')
ip_v6 = db_instance.get('access_ip_v6')
server['%s:access_ip_v4' % ALIAS] = (
server['accessIPv4'] = (
str(ip_v4) if ip_v4 is not None else '')
server['%s:access_ip_v6' % ALIAS] = (
server['accessIPv6'] = (
str(ip_v6) if ip_v6 is not None else '')
@wsgi.extends
@ -76,8 +76,8 @@ class AccessIPs(extensions.V3APIExtensionBase):
name = "AccessIPs"
alias = ALIAS
version = 1
v4_key = '%s:access_ip_v4' % ALIAS
v6_key = '%s:access_ip_v6' % ALIAS
v4_key = 'accessIPv4'
v6_key = 'accessIPv6'
def get_controller_extensions(self):
controller = AccessIPsController()
@ -115,10 +115,10 @@ class AccessIPs(extensions.V3APIExtensionBase):
def _validate_access_ipv4(self, address):
if not utils.is_valid_ipv4(address):
expl = _('access_ip_v4 is not proper IPv4 format')
expl = _('%s is not proper IPv4 format') % AccessIPs.v4_key
raise exc.HTTPBadRequest(explanation=expl)
def _validate_access_ipv6(self, address):
if not utils.is_valid_ipv6(address):
expl = _('access_ip_v6 is not proper IPv6 format')
expl = _('%s is not proper IPv6 format') % AccessIPs.v6_key
raise exc.HTTPBadRequest(explanation=expl)

View File

@ -1,7 +1,7 @@
{
"server": {
"os-access-ips:access_ip_v4": "",
"os-access-ips:access_ip_v6": "",
"accessIPv4": "",
"accessIPv6": "",
"addresses": {
"private": [
{

View File

@ -17,7 +17,7 @@
"name": "default"
}
],
"os-access-ips:access_ip_v4": "",
"os-access-ips:access_ip_v6": ""
"accessIPv4": "",
"accessIPv6": ""
}
}

View File

@ -1,8 +1,8 @@
{
"servers": [
{
"os-access-ips:access_ip_v4": "",
"os-access-ips:access_ip_v6": "",
"accessIPv4": "",
"accessIPv6": "",
"addresses": {
"private": [
{

View File

@ -51,7 +51,7 @@
"tenant_id": "openstack",
"updated": "%(isotime)s",
"user_id": "fake",
"os-access-ips:access_ip_v4": "%(access_ip_v4)s",
"os-access-ips:access_ip_v6": "%(access_ip_v6)s"
"accessIPv4": "%(access_ip_v4)s",
"accessIPv6": "%(access_ip_v6)s"
}
}

View File

@ -1,7 +1,7 @@
{
"rebuild" : {
"os-access-ips:access_ip_v4": "%(access_ip_v4)s",
"os-access-ips:access_ip_v6": "%(access_ip_v6)s",
"accessIPv4": "%(access_ip_v4)s",
"accessIPv6": "%(access_ip_v6)s",
"imageRef" : "%(glance_host)s/images/%(image_id)s",
"name" : "new-server-test",
"metadata" : {

View File

@ -1,7 +1,7 @@
{
"server": {
"os-access-ips:access_ip_v4": "%(access_ip_v4)s",
"os-access-ips:access_ip_v6": "%(access_ip_v6)s",
"accessIPv4": "%(access_ip_v4)s",
"accessIPv6": "%(access_ip_v6)s",
"addresses": {
"private": [
{

View File

@ -1,7 +1,7 @@
{
"server" : {
"os-access-ips:access_ip_v4": "%(access_ip_v4)s",
"os-access-ips:access_ip_v6": "%(access_ip_v6)s",
"accessIPv4": "%(access_ip_v4)s",
"accessIPv6": "%(access_ip_v6)s",
"name" : "new-server-test",
"imageRef" : "%(host)s/openstack/images/%(image_id)s",
"flavorRef" : "%(host)s/openstack/flavors/1",

View File

@ -1,7 +1,7 @@
{
"server": {
"os-access-ips:access_ip_v4": "%(access_ip_v4)s",
"os-access-ips:access_ip_v6": "%(access_ip_v6)s",
"accessIPv4": "%(access_ip_v4)s",
"accessIPv6": "%(access_ip_v6)s",
"adminPass": "%(password)s",
"id": "%(id)s",
"links": [

View File

@ -1,6 +1,6 @@
{
"server": {
"os-access-ips:access_ip_v4": "%(access_ip_v4)s",
"os-access-ips:access_ip_v6": "%(access_ip_v6)s"
"accessIPv4": "%(access_ip_v4)s",
"accessIPv6": "%(access_ip_v6)s"
}
}

View File

@ -1,7 +1,7 @@
{
"server": {
"os-access-ips:access_ip_v4": "%(access_ip_v4)s",
"os-access-ips:access_ip_v6": "%(access_ip_v6)s",
"accessIPv4": "%(access_ip_v4)s",
"accessIPv6": "%(access_ip_v6)s",
"addresses": {
"private": [
{

View File

@ -1,8 +1,8 @@
{
"servers": [
{
"os-access-ips:access_ip_v4": "%(access_ip_v4)s",
"os-access-ips:access_ip_v6": "%(access_ip_v6)s",
"accessIPv4": "%(access_ip_v4)s",
"accessIPv6": "%(access_ip_v6)s",
"addresses": {
"private": [
{