Exemple #1
0
    def setUp(self):
        super(NetworkNetNodeTestCase, self).setUp()

        fake_config = SFConfig(NODE_IP="1.1.1.2", NETWORK_NODE_IP="1.1.1.2")
        self.config = mock.patch('shakenfist.config.config', fake_config)
        self.mock_config = self.config.start()
        self.addCleanup(self.config.stop)
Exemple #2
0
    def test_hostname(self, mock_hostname, mock_fqdn):
        conf = SFConfig()

        mock_fqdn.assert_called()
        mock_hostname.assert_called()

        self.assertEqual('a.b.com', str(conf.NODE_NAME))
        self.assertEqual('1.1.1.1', str(conf.NODE_IP))
Exemple #3
0
 def setUp(self):
     super(NetworkNormalNodeTestCase, self).setUp()
     fake_config = SFConfig(NODE_EGRESS_IP='1.1.1.2',
                            NODE_MESH_IP='1.1.1.2',
                            NETWORK_NODE_IP='1.1.1.2')
     self.config = mock.patch('shakenfist.net.config', fake_config)
     self.mock_config = self.config.start()
     self.addCleanup(self.config.stop)
    def setUp(self):
        super(VirtMetaTestCase, self).setUp()
        fake_config = SFConfig(
            STORAGE_PATH="/a/b/c",
            DISK_BUS="virtio",
            ZONE="sfzone",
            NODE_NAME="node01",
        )

        self.config = mock.patch('shakenfist.instance.config', fake_config)
        self.mock_config = self.config.start()
        self.addCleanup(self.config.stop)
Exemple #5
0
class NetworkNormalNodeTestCase(NetworkTestCase):
    def setUp(self):
        super(NetworkNormalNodeTestCase, self).setUp()
        fake_config = SFConfig(NODE_IP="1.1.1.2", NETWORK_NODE_IP="1.1.1.2")
        self.config = mock.patch('shakenfist.config.config', fake_config)
        self.mock_config = self.config.start()
        self.addCleanup(self.config.stop)

    #
    #  is_okay()
    #
    @mock.patch('shakenfist.net.Network.is_created', return_value=True)
    @mock.patch('shakenfist.net.Network.is_dnsmasq_running', return_value=True)
    def test_is_okay_yes(self, mock_is_dnsmasq, mock_is_created):
        n = net.Network({
            'uuid': 'actualuuid',
            'vxid': 42,
            'provide_dhcp': True,
            'provide_nat': True,
            'physical_nic': 'eth0',
            'netblock': '192.168.1.0/24'
        })
        self.assertTrue(n.is_okay())

    @mock.patch('shakenfist.net.Network.is_created', return_value=False)
    @mock.patch('shakenfist.net.Network.is_dnsmasq_running', return_value=True)
    def test_is_okay_not_created(self, mock_is_dnsmasq, mock_is_created):
        n = net.Network({
            'uuid': 'actualuuid',
            'vxid': 42,
            'provide_dhcp': True,
            'provide_nat': True,
            'physical_nic': 'eth0',
            'netblock': '192.168.1.0/24'
        })
        self.assertFalse(n.is_okay())

    @mock.patch('shakenfist.net.Network.is_created', return_value=True)
    @mock.patch('shakenfist.net.Network.is_dnsmasq_running',
                return_value=False)
    @mock.patch('shakenfist.util.config',
                SFConfig(NODE_IP="1.1.1.1", NETWORK_NODE_IP="1.1.1.2"))
    def test_is_okay_no_dns(self, mock_is_dnsmasq, mock_is_created):
        n = net.Network({
            'uuid': 'actualuuid',
            'vxid': 42,
            'provide_dhcp': True,
            'provide_nat': True,
            'physical_nic': 'eth0',
            'netblock': '192.168.1.0/24'
        })
        self.assertTrue(n.is_okay())
    def setUp(self):
        super(InstanceTestCase, self).setUp()
        fake_config = SFConfig(
            STORAGE_PATH="/a/b/c",
            DISK_BUS="virtio",
            ZONE="sfzone",
            NODE_NAME="node01",
        )

        self.config = mock.patch('shakenfist.instance.config', fake_config)
        self.mock_config = self.config.start()
        self.addCleanup(self.config.stop)

        # self.libvirt = mock.patch('libvirt')
        # self.mock_libvirt = self.libvirt.start()

        self.put = mock.patch('shakenfist.etcd.put')
        self.mock_put = self.put.start()
        self.addCleanup(self.put.stop)
Exemple #7
0
 def test_float_override(self):
     conf = SFConfig()
     self.assertTrue(isinstance(conf.RAM_SYSTEM_RESERVATION, float))
     self.assertEqual(4.0, conf.RAM_SYSTEM_RESERVATION)
Exemple #8
0
 def test_int_override(self):
     conf = SFConfig()
     self.assertTrue(isinstance(conf.CPU_OVERCOMMIT_RATIO, float))
     self.assertEqual(1, conf.CPU_OVERCOMMIT_RATIO)
Exemple #9
0
 def test_string_override(self):
     conf = SFConfig()
     self.assertTrue(isinstance(conf.STORAGE_PATH, str))
     self.assertEqual('foo', conf.STORAGE_PATH)
        return ret

    def get_instance_interfaces(self, inst_uuid):
        return self.interfaces[inst_uuid]

    def get_metrics(self, node_name):
        if node_name not in self.metrics:
            raise exceptions.ReadException
        return self.metrics[node_name]


fake_config = SFConfig(
    NODE_NAME='node01',
    SCHEDULER_CACHE_TIMEOUT=30,
    CPU_OVERCOMMIT_RATIO=16.0,
    RAM_OVERCOMMIT_RATIO=1.5,
    RAM_SYSTEM_RESERVATION=5.0,
    NETWORK_NODE_IP='10.0.0.1',
    LOG_METHOD_TRACE=1,
)


class SchedulerTestCase(test_shakenfist.ShakenFistTestCase):
    def setUp(self):
        super(SchedulerTestCase, self).setUp()

        self.recorded_op = mock.patch(
            'shakenfist.util.RecordedOperation')
        self.recorded_op.start()
        self.addCleanup(self.recorded_op.stop)
Exemple #11
0
class NetworkNormalNodeTestCase(NetworkTestCase):
    def setUp(self):
        super(NetworkNormalNodeTestCase, self).setUp()
        fake_config = SFConfig(NODE_EGRESS_IP='1.1.1.2',
                               NODE_MESH_IP='1.1.1.2',
                               NETWORK_NODE_IP='1.1.1.2')
        self.config = mock.patch('shakenfist.net.config', fake_config)
        self.mock_config = self.config.start()
        self.addCleanup(self.config.stop)

    #
    #  is_okay()
    #
    @mock.patch('shakenfist.net.Network.is_created', return_value=True)
    @mock.patch('shakenfist.net.Network.is_dnsmasq_running', return_value=True)
    def test_is_okay_yes(self, mock_is_dnsmasq, mock_is_created):
        n = net.Network({
            'uuid': 'actualuuid',
            'vxid': 42,
            'name': 'bobnet',
            'namespace': 'finitespace',
            'provide_dhcp': True,
            'provide_nat': True,
            'egress_nic': 'eth0',
            'mesh_nic': 'eth0',
            'netblock': '192.168.1.0/24'
        })
        self.assertTrue(n.is_okay())

    @mock.patch('shakenfist.net.Network.is_created', return_value=False)
    @mock.patch('shakenfist.net.Network.is_dnsmasq_running', return_value=True)
    def test_is_okay_not_created(self, mock_is_dnsmasq, mock_is_created):
        n = net.Network({
            'uuid': 'actualuuid',
            'vxid': 42,
            'name': 'bobnet',
            'namespace': 'finitespace',
            'provide_dhcp': True,
            'provide_nat': True,
            'egress_nic': 'eth0',
            'mesh_nic': 'eth0',
            'netblock': '192.168.1.0/24'
        })
        self.assertFalse(n.is_okay())

    @mock.patch('shakenfist.net.Network.is_created', return_value=True)
    @mock.patch('shakenfist.net.Network.is_dnsmasq_running', return_value=False)
    @mock.patch('shakenfist.net.config', SFConfig(NODE_EGRESS_IP='1.1.1.1',
                                                  NODE_MESH_IP='1.1.1.2',
                                                  NETWORK_NODE_IP='1.1.1.2',
                                                  NODE_IS_NETWORK_NODE=True))
    def test_is_okay_no_dns(self, mock_is_dnsmasq, mock_is_created):
        n = net.Network({
            'uuid': 'actualuuid',
            'vxid': 42,
            'name': 'bobnet',
            'namespace': 'finitespace',
            'provide_dhcp': True,
            'provide_nat': True,
            'egress_nic': 'eth0',
            'mesh_nic': 'eth0',
            'netblock': '192.168.1.0/24'
        })
        self.assertFalse(n.is_okay())
Exemple #12
0
import mock

from shakenfist.config import SFConfig
from shakenfist import util
from shakenfist.tests import test_shakenfist

net_node_conf = SFConfig(NODE_IP='1.1.1.1', NETWORK_NODE_IP='1.1.1.1')
not_net_node_conf = SFConfig(NODE_IP='1.1.1.1', NETWORK_NODE_IP='1.1.1.2')


class UtilTestCase(test_shakenfist.ShakenFistTestCase):
    @mock.patch('shakenfist.util.config', net_node_conf)
    def test_is_network_node_yes(self):
        self.assertTrue(util.is_network_node())

    @mock.patch('shakenfist.util.config', not_net_node_conf)
    def test_is_network_node_no(self):
        self.assertFalse(util.is_network_node())

    @mock.patch('shakenfist.util.execute',
                return_value=(None, 'Device "banana0" does not exist.'))
    def test_check_for_interface_missing_interface(self, mock_execute):
        found = util.check_for_interface('banana0')
        self.assertEqual(False, found)
        mock_execute.assert_called_with(None,
                                        'ip link show banana0',
                                        check_exit_code=[0, 1])

    @mock.patch(
        'shakenfist.util.execute',
        return_value=(