Sfoglia il codice sorgente

Do not setup Internet connectivity for the default network on AWS

Enis Afgan 7 anni fa
parent
commit
fdad73d12a
1 ha cambiato i file con 22 aggiunte e 13 eliminazioni
  1. 22 13
      cloudbridge/cloud/providers/aws/services.py

+ 22 - 13
cloudbridge/cloud/providers/aws/services.py

@@ -811,34 +811,43 @@ class AWSSubnetService(BaseSubnetService):
             else:
                 return default_net.subnets[0]  # Pick a (first) subnet
         else:
-            log.info("Creating a CloudBridge-default network labeled {0}",
+            log.info("Creating a CloudBridge-default network labeled %s",
                      AWSNetwork.CB_DEFAULT_NETWORK_LABEL)
             default_net = self.provider.networking.networks.create(
                 label=AWSNetwork.CB_DEFAULT_NETWORK_LABEL,
                 cidr_block='10.0.0.0/16')
+
         # Get/create an internet gateway for the default network and a
         # corresponding router if it does not already exist.
-        default_gtw = default_net.gateways.get_or_create_inet_gateway()
-        router_label = "{0}-router".format(AWSNetwork.CB_DEFAULT_NETWORK_LABEL)
-        default_routers = self.provider.networking.routers.find(
-            label=router_label)
-        if len(default_routers) == 0:
-            default_router = self.provider.networking.routers.create(
-                router_label, default_net)
-            default_router.attach_gateway(default_gtw)
-        else:
-            default_router = default_routers[0]
+        # NOTE: Comment this out because the docs instruct users to setup
+        # network connectivity manually. There's a bit of discrepancy here
+        # though because the provider-default network will have Internet
+        # connectivity (unlike the CloudBridge-default network with this
+        # being commented) and is hence left in the codebase.
+        # default_gtw = default_net.gateways.get_or_create_inet_gateway()
+        # router_label = "{0}-router".format(
+        #   AWSNetwork.CB_DEFAULT_NETWORK_LABEL)
+        # default_routers = self.provider.networking.routers.find(
+        #     label=router_label)
+        # if len(default_routers) == 0:
+        #     default_router = self.provider.networking.routers.create(
+        #         router_label, default_net)
+        #     default_router.attach_gateway(default_gtw)
+        # else:
+        #     default_router = default_routers[0]
+
         # Create a subnet in each of the region's zones
         region = self.provider.compute.regions.get(self.provider.region_name)
         default_sn = None
         for i, z in enumerate(region.zones):
             sn_label = "{0}-{1}".format(AWSSubnet.CB_DEFAULT_SUBNET_LABEL,
                                         z.id[-1])
-            log.info("Creating default CloudBridge subnet {0}", sn_label)
+            log.info("Creating default CloudBridge subnet %s", sn_label)
             sn = self.create(
                 sn_label, default_net, '10.0.{0}.0/24'.format(i), z)
             # Create a route table entry between the SN and the inet gateway
-            default_router.attach_subnet(sn)
+            # See note above about why this is commented
+            # default_router.attach_subnet(sn)
             if zone and zone == z.name:
                 default_sn = sn
         # No specific zone was supplied; return the last created subnet