Beispiel #1
0
    def test_activate_and_deactivate_bootloader(self):
        self._create_node()
        self.instance['uuid'] = 'fake-uuid'
        tilera.get_tilera_nfs_path(self.instance)
        tilera.get_image_file_path(self.instance)

        self.mox.ReplayAll()

        # activate and deactivate the bootloader
        # and check the deployment task_state in the database
        row = db.bm_node_get(self.context, 1)
        self.assertIsNone(row['deploy_key'])

        self.driver.activate_bootloader(self.context,
                                        self.node,
                                        self.instance,
                                        network_info=self.test_network_info)
        row = db.bm_node_get(self.context, 1)
        self.assertIsNotNone(row['deploy_key'])

        self.driver.deactivate_bootloader(self.context, self.node,
                                          self.instance)
        row = db.bm_node_get(self.context, 1)
        self.assertIsNone(row['deploy_key'])

        self.mox.VerifyAll()
Beispiel #2
0
    def test_inject_into_image(self):
        self._create_node()
        files = []
        self.instance['hostname'] = 'fake hostname'
        files.append(('/etc/hostname', 'fake hostname'))
        self.instance['key_data'] = 'fake ssh key'
        net_info = utils.get_test_network_info(1)
        net = tilera.build_network_config(net_info)
        admin_password = '******'

        self.mox.StubOutWithMock(disk_api, 'inject_data')
        disk_api.inject_data(
                admin_password=admin_password,
                image=tilera.get_image_file_path(self.instance),
                key='fake ssh key',
                metadata=None,
                partition=None,
                net=net,
                files=files,
            ).AndReturn(True)
        self.mox.ReplayAll()

        self.driver._inject_into_image(
                self.context, self.node, self.instance,
                network_info=net_info,
                admin_password=admin_password,
                injected_files=None)
        self.mox.VerifyAll()
Beispiel #3
0
    def test_inject_into_image(self):
        self._create_node()
        files = []
        self.instance["hostname"] = "fake hostname"
        files.append(("/etc/hostname", "fake hostname"))
        self.instance["key_data"] = "fake ssh key"
        net_info = utils.get_test_network_info(1)
        net = tilera.build_network_config(net_info)
        admin_password = "******"

        self.mox.StubOutWithMock(os.path, "exists")
        os.path.exists(mox.IgnoreArg()).AndReturn(True)

        self.mox.StubOutWithMock(disk_api, "inject_data")
        disk_api.inject_data(
            admin_password=admin_password,
            image=tilera.get_image_file_path(self.instance),
            key="fake ssh key",
            metadata=None,
            partition=None,
            net=net,
            files=files,
        ).AndReturn(True)
        self.mox.ReplayAll()

        self.driver._inject_into_image(
            self.context,
            self.node,
            self.instance,
            network_info=net_info,
            admin_password=admin_password,
            injected_files=None,
        )
        self.mox.VerifyAll()
Beispiel #4
0
    def test_activate_bootloader_passes_details(self):
        self._create_node()
        macs = [nic['address'] for nic in self.nic_info]
        macs.append(self.node_info['prov_mac_address'])
        macs.sort()
        image_info = {
            'kernel': [None, 'cccc'],
        }
        self.instance['uuid'] = 'fake-uuid'
        iqn = "iqn-%s" % self.instance['uuid']
        tilera_config = 'this is a fake tilera config'
        self.instance['uuid'] = 'fake-uuid'
        tilera_path = tilera.get_tilera_nfs_path(self.instance)
        image_path = tilera.get_image_file_path(self.instance)

        self.mox.StubOutWithMock(tilera, 'get_tftp_image_info')
        self.mox.StubOutWithMock(tilera, 'get_partition_sizes')

        tilera.get_tftp_image_info(self.instance).AndReturn(image_info)
        tilera.get_partition_sizes(self.instance).AndReturn((0, 0))

        self.mox.ReplayAll()

        self.driver.activate_bootloader(self.context, self.node, self.instance)

        self.mox.VerifyAll()
Beispiel #5
0
    def test_activate_bootloader_passes_details(self):
        self._create_node()
        image_info = {
            'kernel': [None, 'cccc'],
        }
        self.instance['uuid'] = 'fake-uuid'
        iqn = "iqn-%s" % self.instance['uuid']
        tilera_config = 'this is a fake tilera config'
        self.instance['uuid'] = 'fake-uuid'
        tilera_path = tilera.get_tilera_nfs_path(self.instance)
        image_path = tilera.get_image_file_path(self.instance)

        self.mox.StubOutWithMock(tilera, 'get_tftp_image_info')
        self.mox.StubOutWithMock(tilera, 'get_partition_sizes')

        tilera.get_tftp_image_info(self.instance).AndReturn(image_info)
        tilera.get_partition_sizes(self.instance).AndReturn((0, 0))

        self.mox.ReplayAll()

        self.driver.activate_bootloader(self.context,
                                        self.node,
                                        self.instance,
                                        network_info=self.test_network_info)

        self.mox.VerifyAll()
Beispiel #6
0
    def test_activate_bootloader_passes_details(self):
        self._create_node()
        macs = [nic['address'] for nic in self.nic_info]
        macs.append(self.node_info['prov_mac_address'])
        macs.sort()
        image_info = {
                'kernel': [None, 'cccc'],
            }
        self.instance['uuid'] = 'fake-uuid'
        iqn = "iqn-%s" % self.instance['uuid']
        tilera_config = 'this is a fake tilera config'
        self.instance['uuid'] = 'fake-uuid'
        tilera_path = tilera.get_tilera_nfs_path(self.instance)
        image_path = tilera.get_image_file_path(self.instance)

        self.mox.StubOutWithMock(tilera, 'get_tftp_image_info')
        self.mox.StubOutWithMock(tilera, 'get_partition_sizes')

        tilera.get_tftp_image_info(self.instance).AndReturn(image_info)
        tilera.get_partition_sizes(self.instance).AndReturn((0, 0))

        self.mox.ReplayAll()

        self.driver.activate_bootloader(self.context, self.node, self.instance)

        self.mox.VerifyAll()
Beispiel #7
0
    def test_activate_bootloader_passes_details(self):
        self._create_node()
        image_info = {"kernel": [None, "cccc"]}
        self.instance["uuid"] = "fake-uuid"
        tilera.get_tilera_nfs_path(self.instance)
        tilera.get_image_file_path(self.instance)

        self.mox.StubOutWithMock(tilera, "get_tftp_image_info")
        self.mox.StubOutWithMock(tilera, "get_partition_sizes")

        tilera.get_tftp_image_info(self.instance).AndReturn(image_info)
        tilera.get_partition_sizes(self.instance).AndReturn((0, 0))

        self.mox.ReplayAll()

        self.driver.activate_bootloader(self.context, self.node, self.instance, network_info=self.test_network_info)

        self.mox.VerifyAll()
Beispiel #8
0
    def test_cache_image(self):
        self.mox.StubOutWithMock(os, "makedirs")
        self.mox.StubOutWithMock(os.path, "exists")
        os.makedirs(tilera.get_image_dir_path(self.instance)).AndReturn(True)
        os.path.exists(tilera.get_image_file_path(self.instance)).AndReturn(True)
        self.mox.ReplayAll()

        image_meta = utils.get_test_image_info(self.context, self.instance)
        self.driver._cache_image(self.context, self.instance, image_meta)
        self.mox.VerifyAll()
Beispiel #9
0
    def test_destroy_images(self):
        self._create_node()
        self.mox.StubOutWithMock(bm_utils, "unlink_without_raise")
        self.mox.StubOutWithMock(bm_utils, "rmtree_without_raise")

        bm_utils.unlink_without_raise(tilera.get_image_file_path(self.instance))
        bm_utils.rmtree_without_raise(tilera.get_image_dir_path(self.instance))
        self.mox.ReplayAll()

        self.driver.destroy_images(self.context, self.node, self.instance)
        self.mox.VerifyAll()
Beispiel #10
0
    def test_activate_bootloader_passes_details(self):
        self._create_node()
        image_info = {
                'kernel': [None, 'cccc'],
            }
        self.instance['uuid'] = 'fake-uuid'
        self.instance['uuid'] = 'fake-uuid'
        tilera.get_tilera_nfs_path(self.instance)
        tilera.get_image_file_path(self.instance)

        self.mox.StubOutWithMock(tilera, 'get_tftp_image_info')
        self.mox.StubOutWithMock(tilera, 'get_partition_sizes')

        tilera.get_tftp_image_info(self.instance).AndReturn(image_info)
        tilera.get_partition_sizes(self.instance).AndReturn((0, 0))

        self.mox.ReplayAll()

        self.driver.activate_bootloader(self.context, self.node, self.instance)

        self.mox.VerifyAll()
Beispiel #11
0
    def test_destroy_images(self):
        self._create_node()
        self.mox.StubOutWithMock(bm_utils, 'unlink_without_raise')
        self.mox.StubOutWithMock(bm_utils, 'rmtree_without_raise')

        bm_utils.unlink_without_raise(tilera.get_image_file_path(
                 self.instance))
        bm_utils.rmtree_without_raise(tilera.get_image_dir_path(self.instance))
        self.mox.ReplayAll()

        self.driver.destroy_images(self.context, self.node, self.instance)
        self.mox.VerifyAll()
Beispiel #12
0
    def test_cache_image(self):
        self.mox.StubOutWithMock(os, 'makedirs')
        self.mox.StubOutWithMock(os.path, 'exists')
        os.makedirs(tilera.get_image_dir_path(self.instance)).\
                AndReturn(True)
        os.path.exists(tilera.get_image_file_path(self.instance)).\
                AndReturn(True)
        self.mox.ReplayAll()

        image_meta = utils.get_test_image_info(self.context, self.instance)
        self.driver._cache_image(self.context, self.instance, image_meta)
        self.mox.VerifyAll()
Beispiel #13
0
    def test_activate_and_deactivate_bootloader(self):
        self._create_node()
        self.instance["uuid"] = "fake-uuid"
        tilera.get_tilera_nfs_path(self.instance)
        tilera.get_image_file_path(self.instance)

        self.mox.ReplayAll()

        # activate and deactivate the bootloader
        # and check the deployment task_state in the database
        row = db.bm_node_get(self.context, 1)
        self.assertIsNone(row["deploy_key"])

        self.driver.activate_bootloader(self.context, self.node, self.instance, network_info=self.test_network_info)
        row = db.bm_node_get(self.context, 1)
        self.assertIsNotNone(row["deploy_key"])

        self.driver.deactivate_bootloader(self.context, self.node, self.instance)
        row = db.bm_node_get(self.context, 1)
        self.assertIsNone(row["deploy_key"])

        self.mox.VerifyAll()
Beispiel #14
0
    def test_activate_and_deactivate_bootloader(self):
        self._create_node()
        self.instance['uuid'] = 'fake-uuid'
        tilera.get_tilera_nfs_path(self.instance)
        tilera.get_image_file_path(self.instance)

        self.mox.ReplayAll()

        # activate and deactivate the bootloader
        # and check the deployment task_state in the database
        row = db.bm_node_get(self.context, 1)
        self.assertTrue(row['deploy_key'] is None)

        self.driver.activate_bootloader(self.context, self.node,
                                            self.instance)
        row = db.bm_node_get(self.context, 1)
        self.assertTrue(row['deploy_key'] is not None)

        self.driver.deactivate_bootloader(self.context, self.node,
                                            self.instance)
        row = db.bm_node_get(self.context, 1)
        self.assertTrue(row['deploy_key'] is None)

        self.mox.VerifyAll()
Beispiel #15
0
    def test_cache_image(self):
        self.mox.StubOutWithMock(os, 'makedirs')
        self.mox.StubOutWithMock(os, 'unlink')
        self.mox.StubOutWithMock(os.path, 'exists')
        os.makedirs(tilera.get_image_dir_path(self.instance)).AndReturn(True)
        disk_path = os.path.join(
            tilera.get_image_dir_path(self.instance), 'disk')
        os.path.exists(disk_path).AndReturn(True)
        os.unlink(disk_path).AndReturn(None)
        os.path.exists(tilera.get_image_file_path(self.instance)).\
                AndReturn(True)
        self.mox.ReplayAll()

        image_meta = utils.get_test_image_info(
                self.context, self.instance)
        self.driver._cache_image(
                self.context, self.instance, image_meta)
        self.mox.VerifyAll()
Beispiel #16
0
 def test_image_file_path(self):
     self.assertEqual(
             tilera.get_image_file_path(self.instance),
             os.path.join(
                 CONF.instances_path, 'instance-00000001', 'disk'))