summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/nova/policy.json1
-rw-r--r--nova/api/openstack/compute/plugins/v3/certificates.py25
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_certificates.py6
-rw-r--r--nova/tests/fake_policy.py1
-rw-r--r--setup.cfg1
5 files changed, 19 insertions, 15 deletions
diff --git a/etc/nova/policy.json b/etc/nova/policy.json
index a9a584237..056a36b3b 100644
--- a/etc/nova/policy.json
+++ b/etc/nova/policy.json
@@ -34,6 +34,7 @@
"compute_extension:baremetal_nodes": "rule:admin_api",
"compute_extension:cells": "rule:admin_api",
"compute_extension:certificates": "",
+ "compute_extension:v3:os-certificates": "",
"compute_extension:cloudpipe": "rule:admin_api",
"compute_extension:cloudpipe_update": "rule:admin_api",
"compute_extension:console_output": "",
diff --git a/nova/api/openstack/compute/plugins/v3/certificates.py b/nova/api/openstack/compute/plugins/v3/certificates.py
index 64a6e26fe..4af679ebe 100644
--- a/nova/api/openstack/compute/plugins/v3/certificates.py
+++ b/nova/api/openstack/compute/plugins/v3/certificates.py
@@ -22,7 +22,8 @@ from nova.api.openstack import xmlutil
import nova.cert.rpcapi
from nova import network
-authorize = extensions.extension_authorizer('compute', 'certificates')
+ALIAS = "os-certificates"
+authorize = extensions.extension_authorizer('compute', 'v3:' + ALIAS)
def make_certificate(elem):
@@ -85,21 +86,21 @@ class CertificatesController(object):
return {'certificate': _translate_certificate_view(cert, pk)}
-class Certificates(extensions.ExtensionDescriptor):
+class Certificates(extensions.V3APIExtensionBase):
"""Certificates support."""
name = "Certificates"
- alias = "os-certificates"
+ alias = ALIAS
namespace = ("http://docs.openstack.org/compute/ext/"
- "certificates/api/v1.1")
- updated = "2012-01-19T00:00:00+00:00"
+ "certificates/api/v3")
+ version = 1
def get_resources(self):
- resources = []
-
- res = extensions.ResourceExtension('os-certificates',
- CertificatesController(),
- member_actions={})
- resources.append(res)
-
+ resources = [
+ extensions.ResourceExtension('os-certificates',
+ CertificatesController(),
+ member_actions={})]
return resources
+
+ def get_controller_extensions(self):
+ return []
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_certificates.py b/nova/tests/api/openstack/compute/plugins/v3/test_certificates.py
index df5a7e9a1..222087872 100644
--- a/nova/tests/api/openstack/compute/plugins/v3/test_certificates.py
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_certificates.py
@@ -15,7 +15,7 @@
from lxml import etree
-from nova.api.openstack.compute.contrib import certificates
+from nova.api.openstack.compute.plugins.v3 import certificates
from nova import context
from nova.openstack.common import rpc
from nova import test
@@ -44,7 +44,7 @@ class CertificatesTest(test.TestCase):
def test_certificates_show_root(self):
self.stubs.Set(rpc, 'call', fake_get_root_cert)
- req = fakes.HTTPRequest.blank('/v2/fake/os-certificates/root')
+ req = fakes.HTTPRequestV3.blank('/os-certificates/root')
res_dict = self.controller.show(req, 'root')
cert = fake_get_root_cert(self.context)
@@ -53,7 +53,7 @@ class CertificatesTest(test.TestCase):
def test_certificates_create_certificate(self):
self.stubs.Set(rpc, 'call', fake_create_cert)
- req = fakes.HTTPRequest.blank('/v2/fake/os-certificates/')
+ req = fakes.HTTPRequestV3.blank('/os-certificates/')
res_dict = self.controller.create(req)
pk, cert = fake_create_cert(self.context)
diff --git a/nova/tests/fake_policy.py b/nova/tests/fake_policy.py
index ed8cc7424..70f84499a 100644
--- a/nova/tests/fake_policy.py
+++ b/nova/tests/fake_policy.py
@@ -112,6 +112,7 @@ policy_data = """
"compute_extension:baremetal_nodes": "",
"compute_extension:cells": "",
"compute_extension:certificates": "",
+ "compute_extension:v3:os-certificates": "",
"compute_extension:cloudpipe": "",
"compute_extension:cloudpipe_update": "",
"compute_extension:config_drive": "",
diff --git a/setup.cfg b/setup.cfg
index 1baa22940..5b850f622 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -54,6 +54,7 @@ console_scripts =
nova-xvpvncproxy = nova.cmd.xvpvncproxy:main
nova.api.v3.extensions =
+ certificates = nova.api.openstack.compute.plugins.v3.certificates:Certificates
consoles = nova.api.openstack.compute.plugins.v3.consoles:Consoles
extension_info = nova.api.openstack.compute.plugins.v3.extension_info:ExtensionInfo
fixed_ips = nova.api.openstack.compute.plugins.v3.fixed_ips:FixedIPs