示例#1
0
    def test_find_domain(self):
        domain = {
            'status': 1,
            'name': 'instance-00000001',
            'memory_kb': 16777216,
            'kernel_id': '1896115634',
            'ramdisk_id': '',
            'image_id': '1552326678',
            'vcpus': 1,
            'node_id': 6,
            'mac_address': '02:16:3e:01:4e:c9',
            'ip_address': '10.5.1.2'
        }

        # Create the mock objects
        self.mox.StubOutWithMock(dom, 'read_domains')
        self.mox.StubOutWithMock(dom, 'write_domains')

        # Expected calls
        dom.read_domains('/tftpboot/'
                         'test_fake_dom_file').AndReturn(fake_domains)
        dom.write_domains('/tftpboot/test_fake_dom_file', fake_domains)

        self.mox.ReplayAll()

        # Code under test
        bmdom = dom.BareMetalDom()

        # Expected values
        self.assertEquals(bmdom.find_domain('instance-00000001'), domain)
示例#2
0
    def test_init_remove_non_running_domain(self):
        """Check to see that all entries in the domain list are removed
        except for the one that is in the running state"""

        domains = [dict(node_id=1, name='i-00000001',
                        status=power_state.NOSTATE),
              dict(node_id=2, name='i-00000002', status=power_state.RUNNING),
              dict(node_id=3, name='i-00000003', status=power_state.PAUSED),
              dict(node_id=5, name='i-00000004', status=power_state.SHUTDOWN),
              dict(node_id=7, name='i-00000005', status=power_state.CRASHED),
              dict(node_id=8, name='i-00000006', status=power_state.SUSPENDED),
              dict(node_id=9, name='i-00000007', status=power_state.NOSTATE)]

        # Create the mock objects
        self.mox.StubOutWithMock(dom, 'read_domains')
        self.mox.StubOutWithMock(dom, 'write_domains')
        dom.read_domains('/tftpboot/test_fake_dom_file').AndReturn(domains)
        dom.write_domains('/tftpboot/test_fake_dom_file', domains)

        self.mox.ReplayAll()

        # Code under test
        bmdom = dom.BareMetalDom()

        self.assertEqual(bmdom.domains, [{'node_id': 2,
                                          'name': 'i-00000002',
                                          'status': power_state.RUNNING}])
        self.assertEqual(bmdom.fake_dom_nums, 1)
示例#3
0
    def test_init_remove_non_running_domain(self):
        """Check to see that all entries in the domain list are removed
        except for the one that is in the running state"""

        fake_file = StringIO.StringIO()

        domains = [
            dict(node_id=1, name='i-00000001', status=power_state.NOSTATE),
            dict(node_id=2, name='i-00000002', status=power_state.RUNNING),
            dict(node_id=3, name='i-00000003', status=power_state.BLOCKED),
            dict(node_id=4, name='i-00000004', status=power_state.PAUSED),
            dict(node_id=5, name='i-00000005', status=power_state.SHUTDOWN),
            dict(node_id=6, name='i-00000006', status=power_state.SHUTOFF),
            dict(node_id=7, name='i-00000007', status=power_state.CRASHED),
            dict(node_id=8, name='i-00000008', status=power_state.SUSPENDED),
            dict(node_id=9, name='i-00000009', status=power_state.FAILED)
        ]

        # Create the mock objects
        self.mox.StubOutWithMock(dom, 'read_domains')
        self.mox.StubOutWithMock(dom, 'write_domains')
        dom.read_domains('/tftpboot/test_fake_dom_file').AndReturn(domains)
        dom.write_domains('/tftpboot/test_fake_dom_file', domains)

        self.mox.ReplayAll()

        # Code under test
        bmdom = dom.BareMetalDom()

        self.assertEqual(bmdom.domains, [{
            'node_id': 2,
            'name': 'i-00000002',
            'status': power_state.RUNNING
        }])
        self.assertEqual(bmdom.fake_dom_nums, 1)
示例#4
0
    def test_read_domain_only_once(self):
        """Confirm that the domain is read from a file only once,
        even if the object is instantiated multiple times"""
        self.mox.StubOutWithMock(dom, 'read_domains')
        self.mox.StubOutWithMock(dom, 'write_domains')

        dom.read_domains('/tftpboot/test_fake_dom_file').AndReturn([])
        dom.write_domains('/tftpboot/test_fake_dom_file', [])

        self.mox.ReplayAll()

        # Instantiate multiple instances
        x = dom.BareMetalDom()
        x = dom.BareMetalDom()
        x = dom.BareMetalDom()
示例#5
0
    def test_read_domain_only_once(self):
        """Confirm that the domain is read from a file only once,
        even if the object is instantiated multiple times"""
        self.mox.StubOutWithMock(dom, 'read_domains')
        self.mox.StubOutWithMock(dom, 'write_domains')

        dom.read_domains('/tftpboot/test_fake_dom_file').AndReturn([])
        dom.write_domains('/tftpboot/test_fake_dom_file', [])

        self.mox.ReplayAll()

        # Instantiate multiple instances
        x = dom.BareMetalDom()
        x = dom.BareMetalDom()
        x = dom.BareMetalDom()
示例#6
0
    def test_init_no_domains(self):

        # Create the mock objects
        self.mox.StubOutWithMock(dom, 'read_domains')
        self.mox.StubOutWithMock(dom, 'write_domains')

        dom.read_domains('/tftpboot/test_fake_dom_file').AndReturn([])
        dom.write_domains('/tftpboot/test_fake_dom_file', [])

        self.mox.ReplayAll()

        # Code under test
        bmdom = dom.BareMetalDom()

        # Expectd values
        self.assertEqual(bmdom.fake_dom_nums, 0)
示例#7
0
    def test_init_no_domains(self):

        # Create the mock objects
        self.mox.StubOutWithMock(dom, 'read_domains')
        self.mox.StubOutWithMock(dom, 'write_domains')

        dom.read_domains('/tftpboot/test_fake_dom_file').AndReturn([])
        dom.write_domains('/tftpboot/test_fake_dom_file', [])

        self.mox.ReplayAll()

        # Code under test
        bmdom = dom.BareMetalDom()

        # Expectd values
        self.assertEqual(bmdom.fake_dom_nums, 0)
示例#8
0
    def test_read_domain_with_empty_list(self):
        """Read a file that contains no domains"""

        self.mox.StubOutWithMock(__builtin__, 'open')
        fake_file = StringIO.StringIO('[]')
        open('/tftpboot/test_fake_dom_file', 'r').AndReturn(fake_file)

        self.mox.ReplayAll()

        domains = dom.read_domains('/tftpboot/test_fake_dom_file')

        self.assertEqual(domains, [])
示例#9
0
    def test_read_domain_with_empty_list(self):
        """Read a file that contains no domains"""

        self.mox.StubOutWithMock(__builtin__, 'open')
        fake_file = StringIO.StringIO('[]')
        open('/tftpboot/test_fake_dom_file', 'r').AndReturn(fake_file)

        self.mox.ReplayAll()

        domains = dom.read_domains('/tftpboot/test_fake_dom_file')

        self.assertEqual(domains, [])
示例#10
0
    def test_get_info(self):
        # Create the mock objects
        self.mox.StubOutWithMock(dom, 'read_domains')
        self.mox.StubOutWithMock(dom, 'write_domains')

        # Expected calls
        dom.read_domains('/tftpboot/test_fake_dom_file')\
            .AndReturn(fake_domains)
        dom.write_domains('/tftpboot/test_fake_dom_file', fake_domains)

        self.mox.ReplayAll()

        # Code under test
        conn = proxy.get_connection(True)
        info = conn.get_info('instance-00000001')

        # Expected values
        self.assertEquals(info['mem'], 16777216)
        self.assertEquals(info['state'], 1)
        self.assertEquals(info['num_cpu'], 1)
        self.assertEquals(info['cpu_time'], 100)
        self.assertEquals(info['max_mem'], 16777216)
示例#11
0
    def test_get_info(self):
        # Create the mock objects
        self.mox.StubOutWithMock(dom, 'read_domains')
        self.mox.StubOutWithMock(dom, 'write_domains')

        # Expected calls
        dom.read_domains('/tftpboot/'
                         'test_fake_dom_file').AndReturn(fake_domains)
        dom.write_domains('/tftpboot/test_fake_dom_file', fake_domains)

        self.mox.ReplayAll()

        # Code under test
        conn = proxy.get_connection(True)
        # TODO(mikalstill): this is not a very good fake instance
        info = conn.get_info({'name': 'instance-00000001'})

        # Expected values
        self.assertEquals(info['mem'], 16777216)
        self.assertEquals(info['state'], 1)
        self.assertEquals(info['num_cpu'], 1)
        self.assertEquals(info['cpu_time'], 100)
        self.assertEquals(info['max_mem'], 16777216)
示例#12
0
    def test_get_info(self):
        # Create the mock objects
        self.mox.StubOutWithMock(dom, 'read_domains')
        self.mox.StubOutWithMock(dom, 'write_domains')

        # Expected calls
        dom.read_domains('/tftpboot/'
                         'test_fake_dom_file').AndReturn(fake_domains)
        dom.write_domains('/tftpboot/test_fake_dom_file', fake_domains)

        self.mox.ReplayAll()

        # Code under test
        conn = proxy.ProxyConnection(True)
        # TODO(mikalstill): this is not a very good fake instance
        info = conn.get_info({'name': 'instance-00000001'})

        # Expected values
        self.assertEquals(info['mem'], 16777216)
        self.assertEquals(info['state'], 1)
        self.assertEquals(info['num_cpu'], 1)
        self.assertEquals(info['cpu_time'], 100)
        self.assertEquals(info['max_mem'], 16777216)
示例#13
0
    def test_find_domain(self):
        domain = {'status': 1, 'name': 'instance-00000001',
                    'memory_kb': 16777216, 'kernel_id': '1896115634',
                    'ramdisk_id': '', 'image_id': '1552326678',
                    'vcpus': 1, 'node_id': 6,
                    'mac_address': '02:16:3e:01:4e:c9',
                    'ip_address': '10.5.1.2'}

        # Create the mock objects
        self.mox.StubOutWithMock(dom, 'read_domains')
        self.mox.StubOutWithMock(dom, 'write_domains')

        # Expected calls
        dom.read_domains('/tftpboot/'
                         'test_fake_dom_file').AndReturn(fake_domains)
        dom.write_domains('/tftpboot/test_fake_dom_file', fake_domains)

        self.mox.ReplayAll()

        # Code under test
        bmdom = dom.BareMetalDom()

        # Expected values
        self.assertEquals(bmdom.find_domain('instance-00000001'), domain)
示例#14
0
    def test_read_domain(self):
        """Read a file that contains at least one domain"""
        fake_file = StringIO.StringIO('''[{"status": 1,
         "image_id": "1552326678", "vcpus": 1, "node_id": 6,
         "name": "instance-00000001", "memory_kb": 16777216,
         "mac_address": "02:16:3e:01:4e:c9", "kernel_id": "1896115634",
         "ramdisk_id": "", "ip_address": "10.5.1.2"}]''')

        self.mox.StubOutWithMock(__builtin__, 'open')
        open('/tftpboot/test_fake_dom_file', 'r').AndReturn(fake_file)

        self.mox.ReplayAll()

        domains = dom.read_domains('/tftpboot/test_fake_dom_file')

        self.assertEqual(domains, fake_domains)
示例#15
0
    def test_read_domain(self):
        """Read a file that contains at least one domain"""
        fake_file = StringIO.StringIO('''[{"status": 1,
         "image_id": "1552326678", "vcpus": 1, "node_id": 6,
         "name": "instance-00000001", "memory_kb": 16777216,
         "mac_address": "02:16:3e:01:4e:c9", "kernel_id": "1896115634",
         "ramdisk_id": "", "ip_address": "10.5.1.2"}]''')

        self.mox.StubOutWithMock(__builtin__, 'open')
        open('/tftpboot/test_fake_dom_file', 'r').AndReturn(fake_file)

        self.mox.ReplayAll()

        domains = dom.read_domains('/tftpboot/test_fake_dom_file')

        self.assertEqual(domains, fake_domains)