2
0
Эх сурвалжийг харах

Merge branch 'master' of https://github.com/gvlproject/cloudbridge

Nuwan Goonasekera 9 жил өмнө
parent
commit
09df0b9ff2

+ 10 - 0
cloudbridge/cloud/providers/openstack/services.py

@@ -34,6 +34,7 @@ from cloudbridge.cloud.interfaces.resources import Volume
 from cloudbridge.cloud.providers.openstack import helpers as oshelpers
 
 from novaclient.exceptions import NotFound as NovaNotFound
+
 from neutronclient.common.exceptions import NeutronClientException
 
 from .resources import OpenStackBucket
@@ -785,10 +786,19 @@ class OpenStackSubnetService(BaseSubnetService):
             for sn in self.list():
                 if sn.name == OpenStackSubnet.CB_DEFAULT_SUBNET_NAME:
                     return sn
+            # No default; create one
             net = self.provider.network.create(
                 OpenStackNetwork.CB_DEFAULT_NETWORK_NAME)
             sn = net.create_subnet(cidr_block='10.0.0.0/24',
                                    name=OpenStackSubnet.CB_DEFAULT_SUBNET_NAME)
+            router = self.provider.network.create_router(
+                OpenStackRouter.CB_DEFAULT_ROUTER_NAME)
+            for n in self.provider.network.list():
+                if n.external:
+                    external_net = n
+                    break
+            router.attach_network(external_net.id)
+            router.add_route(sn.id)
             return sn
         except NeutronClientException:
             return None

+ 1 - 1
tox.ini

@@ -8,7 +8,7 @@ envlist = py27, py36, pypy
 
 [testenv]
 commands = {envpython} -m coverage run --branch --source=cloudbridge --omit=cloudbridge/cloud/interfaces/* setup.py test
-passenv = AWS_ACCESS_KEY AWS_SECRET_KEY OS_AUTH_URL OS_PASSWORD OS_PROJECT_NAME OS_USERNAME OS_REGION_NAME OS_USER_DOMAIN_NAME OS_PROJECT_DOMAIN_NAME NOVA_SERVICE_NAME CB_IMAGE_AWS CB_INSTANCE_TYPE_AWS CB_PLACEMENT_AWS CB_IMAGE_OS CB_INSTANCE_TYPE_OS CB_PLACEMENT_OS CB_TEST_PROVIDER CB_USE_MOCK_PROVIDERS
+passenv = AWS_ACCESS_KEY AWS_SECRET_KEY OS_AUTH_URL OS_PASSWORD OS_PROJECT_NAME OS_TENANT_NAME OS_USERNAME OS_REGION_NAME OS_USER_DOMAIN_NAME OS_PROJECT_DOMAIN_NAME NOVA_SERVICE_NAME CB_IMAGE_AWS CB_INSTANCE_TYPE_AWS CB_PLACEMENT_AWS CB_IMAGE_OS CB_INSTANCE_TYPE_OS CB_PLACEMENT_OS CB_TEST_PROVIDER CB_USE_MOCK_PROVIDERS
 deps =
     -rrequirements.txt
     coverage