Beispiel #1
0
    def test_upgrade_volatile_running_config(self):
        with namedTemporaryDir() as pdir, namedTemporaryDir() as vdir:
            with mock.patch.object(netconf, 'CONF_RUN_DIR', pdir),\
                    mock.patch.object(netconf, 'CONF_VOLATILE_RUN_DIR', vdir):

                vol_rconfig = netconf.RunningConfig(volatile=True)
                vol_rconfig.save()

                netupgrade.upgrade()

                pers_rconfig = netconf.RunningConfig()
                self.assertFalse(vol_rconfig.config_exists())
                self.assertTrue(pers_rconfig.config_exists())
Beispiel #2
0
def _process_domxml(tree):
    root = tree.getroot()
    devices = root.find('devices')
    running_config = netconfpersistence.RunningConfig()
    for interface in devices.findall('interface'):
        if interface.get('type') == 'bridge':

            elem_virtualport = interface.find('virtualport')
            elem_source = interface.find('source')

            # 'source bridge' element must exist
            source_bridge = elem_source.get('bridge')
            source_bridge = _find_non_vlan_network(running_config,
                                                   source_bridge)

            net_attrs = running_config.networks.get(source_bridge)
            if net_attrs is None:
                print('Network', source_bridge, 'does not exist',
                      file=sys.stderr)
                sys.exit(1)

            if ovs_utils.is_ovs_network(net_attrs):
                _bind_iface_to_ovs(elem_source, elem_virtualport, interface,
                                   net_attrs)
            else:
                _bind_iface_to_linux_bridge(elem_source, elem_virtualport,
                                            interface, net_attrs,
                                            source_bridge)
Beispiel #3
0
def create_running_config(volatile):
    conf_dir_to_mock = 'CONF_VOLATILE_RUN_DIR' if volatile else 'CONF_RUN_DIR'
    tempdir = tempfile.mkdtemp()
    with mock.patch.object(netconf, conf_dir_to_mock, tempdir):
        try:
            rconfig = netconf.RunningConfig(volatile)
            yield rconfig
        finally:
            rconfig.delete()
            assert not os.path.exists(tempdir)
Beispiel #4
0
def persist_numvfs(device_name, numvfs):
    running_config = netconfpersistence.RunningConfig()
    running_config.set_device(device_name, {'sriov': {'numvfs': numvfs}})
    running_config.save()