def test_get_unique_lxc_network(self, mock_check_output): mock_check_output.return_value = "" s = get_unique_lxc_network() self.assertEqual(s, "10.0.6.0/24") mock_check_output.side_effect = ['1', ''] s = get_unique_lxc_network() self.assertEqual(s, "10.0.7.0/24") mock_check_output.side_effect = ['1', '2', '3', ''] s = get_unique_lxc_network() self.assertEqual(s, "10.0.9.0/24")
def write_lxc_net_config(self): """Finds and configures a new subnet for the host container, to avoid overlapping with IPs used for Neutron. """ lxc_net_template = utils.load_template('lxc-net') lxc_net_container_filename = os.path.join(self.container_abspath, 'rootfs/etc/default/lxc-net') network = netutils.get_unique_lxc_network() self.config.setopt('lxc_network', network) nw = IPv4Network(network) addr = nw[1] netmask = nw.with_netmask.split('/')[-1] net_low, net_high = netutils.ip_range_max(nw, [addr]) dhcp_range = "{},{}".format(net_low, net_high) render_parts = dict(addr=addr, netmask=netmask, network=network, dhcp_range=dhcp_range) lxc_net = lxc_net_template.render(render_parts) name = self.container_name log.info("Writing lxc-net config for {}".format(name)) utils.spew(lxc_net_container_filename, lxc_net) return network
def write_lxc_net_config(self): """Finds and configures a new subnet for the host container, to avoid overlapping with IPs used for Neutron. """ lxc_net_template = utils.load_template('lxc-net') lxc_net_container_filename = os.path.join( self.container_abspath, 'rootfs/etc/default/lxc-net') network = netutils.get_unique_lxc_network() self.config.setopt('lxc_network', network) nw = IPv4Network(network) addr = nw[1] netmask = nw.with_netmask.split('/')[-1] net_low, net_high = netutils.ip_range_max(nw, [addr]) dhcp_range = "{},{}".format(net_low, net_high) render_parts = dict(addr=addr, netmask=netmask, network=network, dhcp_range=dhcp_range) lxc_net = lxc_net_template.render(render_parts) name = self.container_name log.info("Writing lxc-net config for {}".format(name)) utils.spew(lxc_net_container_filename, lxc_net) return network