small fixes to default vpc implementation

Change-Id: I9c827ceec0ab6a2df0b221bc989a3c211c000200
This commit is contained in:
tikitavi 2017-02-27 13:53:38 +03:00
parent 5d45aea122
commit 0ee47eb58e
4 changed files with 7 additions and 10 deletions

View File

@ -21,7 +21,6 @@ from oslo_utils import netutils
from ec2api.api import common
from ec2api.api import ec2utils
from ec2api import clients
from ec2api.db import api as db_api
from ec2api import exception
@ -209,11 +208,9 @@ class AccountAttributeEngineNeutron(object):
def get_default_vpc(self, context):
if CONF.disable_ec2_classic:
ec2utils.check_and_create_default_vpc(context)
vpc = next((vpc for vpc in db_api.get_items(context, 'vpc')
if vpc.get('is_default')), None)
if vpc:
return vpc['id']
default_vpc = ec2utils.check_and_create_default_vpc(context)
if default_vpc:
return default_vpc['id']
return 'none'

View File

@ -500,6 +500,7 @@ def get_default_vpc(context):
raise exception.VPCIdNotSpecified()
return default_vpc
# NOTE(ft): following functions are copied from various parts of Nova
_ephemeral = re.compile('^ephemeral(\d|[1-9]\d+)$')

View File

@ -164,7 +164,7 @@ def _create_vpc(context, cidr_block, is_default=False):
def _check_and_create_default_vpc(context):
if (CONF.disable_ec2_classic):
if CONF.disable_ec2_classic:
for vpc in db_api.get_items(context, 'vpc'):
if vpc.get('is_default'):
return vpc
@ -176,6 +176,7 @@ def _check_and_create_default_vpc(context):
LOG.exception('Failed to create default vpc')
return None
ec2utils.set_check_and_create_default_vpc(_check_and_create_default_vpc)

View File

@ -120,9 +120,7 @@ class AvailabilityZoneCase(base.ApiTestCase):
availability_zone.account_attribute_engine = (
availability_zone.AccountAttributeEngineNeutron())
def mock_check_and_create(context):
self.set_mock_db_items(fakes.DB_VPC_DEFAULT)
check_and_create.side_effect = mock_check_and_create
check_and_create.return_value = fakes.DB_VPC_DEFAULT
resp = self.execute('DescribeAccountAttributes', {})
self.assertThat(resp['accountAttributeSet'],