Exemple #1
0
    def create_networks(self, name, l2_device_config, address_pools):

        # TODO(ddmitriev): use 'address_pool' attribute to get the address_pool
        # for 'l2_device' as an object

        # Get address_pool from 'address_pools' object
        if 'address_pool' in l2_device_config:
            address_pool = address_pools[l2_device_config['address_pool']]

            networks, prefix = address_pool['net'].split(':')
            ip_networks = [IPNetwork(x) for x in networks.split(',')]
            new_prefix = int(prefix)
            pool = Network.create_network_pool(networks=ip_networks,
                                               prefix=new_prefix)
        else:
            pool = None

        if 'forward' in l2_device_config:
            forward = l2_device_config['forward']['mode']
        else:
            forward = None

        has_dhcp_server = (l2_device_config.get('dhcp', 'false') == 'true')

        net = Network.network_create(
            name=name,
            environment=self,
            pool=pool,
            forward=forward,
            has_dhcp_server=has_dhcp_server)
        net.define()
        return net
Exemple #2
0
 def create_networks(self, name):
     ip_networks = [
         IPNetwork(x) for x in settings.POOLS.get(name)[0].split(',')
     ]
     new_prefix = int(settings.POOLS.get(name)[1])
     pool = Network.create_network_pool(networks=ip_networks,
                                        prefix=int(new_prefix))
     return Network.network_create(name=name,
                                   environment=self,
                                   pool=pool,
                                   forward=settings.FORWARDING.get(name),
                                   has_dhcp_server=settings.DHCP.get(name))
Exemple #3
0
 def create_networks(self, name):
     ip_networks = [
         IPNetwork(x) for x in settings.POOLS.get(name)[0].split(',')]
     new_prefix = int(settings.POOLS.get(name)[1])
     pool = Network.create_network_pool(networks=ip_networks,
                                        prefix=int(new_prefix))
     return Network.network_create(
         name=name,
         environment=self,
         pool=pool,
         forward=settings.FORWARDING.get(name),
         has_dhcp_server=settings.DHCP.get(name))
Exemple #4
0
 def do_create(self):
     env_name = self.params.name
     for env in Environment.list_all():
         if env.name == env_name:
             print("Please, set another environment name")
             raise SystemExit()
     self.env = Environment.create(env_name)
     networks, prefix = self.params.net_pool.split(":")
     Network.default_pool = Network.create_network_pool(networks=[ipaddr.IPNetwork(networks)], prefix=int(prefix))
     networks = Network.create_networks(environment=self.env)
     admin_node = self.admin_add(networks=networks)
     self.do_slave_add(force_define=False)
     self.env.define()
     admin_node.disk_devices.get(device="cdrom").volume.upload(self.params.iso_path)
     for net in self.env.get_networks():
         net.start()
Exemple #5
0
 def do_create(self):
     env_name = self.params.name
     for env in Environment.list_all():
         if env.name == env_name:
             print("Please, set another environment name")
             raise SystemExit()
     self.env = Environment.create(env_name)
     networks, prefix = self.params.net_pool.split(':')
     Network.default_pool = Network.create_network_pool(
         networks=[ipaddr.IPNetwork(networks)], prefix=int(prefix))
     networks = Network.create_networks(environment=self.env)
     admin_node = self.admin_add(networks=networks)
     self.do_slave_add(force_define=False)
     self.env.define()
     admin_node.disk_devices.get(device='cdrom').volume.upload(
         self.params.iso_path)
     for net in self.env.get_networks():
         net.start()