Handle novaclient ec2 cert support removal

In Queens, ec2 cert support was removed from python-novaclient.
This causes horizon to be unable to get the keystone values of
ec2 credentials.

This patch removes the code that handles ec2 certs from nova.
Since the ec2 cert code in nova was removed in Mitaka. There is
no real risk of breaking backwards compatibility.

Change-Id: I470761d67004f6e6b188d3afc4b7f081b7bc708f
Closes-Bug: #1729175
This commit is contained in:
David Lyle 2018-01-24 15:05:17 -07:00
parent 0a51ce628d
commit f25748293e
4 changed files with 0 additions and 28 deletions

View File

@ -787,16 +787,6 @@ def usage_list(request, start, end):
return [NovaUsage(u) for u in usage_list]
@profiler.trace
def get_x509_credentials(request):
return novaclient(request).certs.create()
@profiler.trace
def get_x509_root_certificate(request):
return novaclient(request).certs.get()
@profiler.trace
def get_password(request, instance_id, private_key=None):
return novaclient(request).servers.get_password(instance_id, private_key)

View File

@ -38,18 +38,12 @@ RECREATE_CREDS_URL = reverse(API_URL + ":recreate_credentials")
class APIAccessTests(test.TestCase):
def test_ec2_download_view(self):
creds = self.ec2.first()
cert = self.certs.first()
self.mox.StubOutWithMock(api.keystone, "list_ec2_credentials")
self.mox.StubOutWithMock(api.nova, "get_x509_credentials")
self.mox.StubOutWithMock(api.nova, "get_x509_root_certificate")
self.mox.StubOutWithMock(api.keystone, "create_ec2_credentials")
api.keystone.list_ec2_credentials(IsA(HttpRequest), self.user.id) \
.AndReturn([])
api.nova.get_x509_credentials(IsA(HttpRequest)).AndReturn(cert)
api.nova.get_x509_root_certificate(IsA(HttpRequest)) \
.AndReturn(cert)
api.keystone.create_ec2_credentials(IsA(HttpRequest),
self.user.id,
self.tenant.id).AndReturn(creds)

View File

@ -90,8 +90,6 @@ def download_ec2_bundle(request):
# Gather or create our EC2 credentials
try:
credentials = api.nova.get_x509_credentials(request)
cacert = api.nova.get_x509_root_certificate(request)
context = _get_ec2_credentials(request)
except Exception:
exceptions.handle(request,
@ -103,9 +101,6 @@ def download_ec2_bundle(request):
try:
temp_zip = tempfile.NamedTemporaryFile(delete=True)
with closing(zipfile.ZipFile(temp_zip.name, mode='w')) as archive:
archive.writestr('pk.pem', credentials.private_key)
archive.writestr('cert.pem', credentials.data)
archive.writestr('cacert.pem', cacert.data)
archive.writestr('ec2rc.sh', render_to_string(template, context))
except Exception:
exceptions.handle(request,

View File

@ -16,7 +16,6 @@ import json
from novaclient.v2 import aggregates
from novaclient.v2 import availability_zones
from novaclient.v2 import certs
from novaclient.v2 import flavor_access
from novaclient.v2 import flavors
from novaclient.v2 import hosts
@ -164,7 +163,6 @@ def data(TEST):
TEST.quotas = utils.TestDataContainer()
TEST.quota_usages = utils.TestDataContainer()
TEST.usages = utils.TestDataContainer()
TEST.certs = utils.TestDataContainer()
TEST.availability_zones = utils.TestDataContainer()
TEST.hypervisors = utils.TestDataContainer()
TEST.services = utils.TestDataContainer()
@ -433,11 +431,6 @@ def data(TEST):
json.loads(USAGE_DATA % usage_2_vals))
TEST.usages.add(usage_obj_2)
cert_data = {'private_key': 'private',
'data': 'certificate_data'}
certificate = certs.Certificate(certs.CertificateManager(None), cert_data)
TEST.certs.add(certificate)
# Availability Zones
TEST.availability_zones.add(availability_zones.AvailabilityZone(
availability_zones.AvailabilityZoneManager(None),