Esempio n. 1
0
    def create_migration(self, migration_name, migration_family,
                         target_format_name, image, publish_image):
        migration_created = uforge.Migration()
        migration_created.name = migration_name

        migration_created.stages = pyxb.BIND()
        migration_created.stages._ExpandedName = pyxb.namespace.ExpandedName(
            uforge.Namespace, 'Stages')

        scan_stage = uforge.ScanStage()
        scan_stage.family = migration_family
        scan_stage.family._ExpandedName = pyxb.namespace.ExpandedName(
            uforge.Namespace, 'family')
        migration_created.stages.append(scan_stage)

        target_format = uforge.TargetFormat()
        target_format.name = target_format_name

        generation_stage = uforge.GenerationStage()
        image.targetFormat = target_format
        generation_stage.image = image
        migration_created.stages.append(generation_stage)

        publication_stage = uforge.PublicationStage()
        publish_image.targetFormat = target_format
        publication_stage.publishImage = publish_image
        migration_created.stages.append(publication_stage)

        return migration_created
Esempio n. 2
0
def create_image():
    image_format = uforge.ImageFormat()
    image_format.name = "aws"

    target_format = uforge.TargetFormat()
    target_format.name = "aws"
    target_format.format = image_format

    image = uforge.Image()
    image.targetFormat = target_format

    image.name = "test image"
    image.dbId = 1
    image.version = "1"
    image.revision = "2"
    image.uri = "users/14/appliances/102/images/1"
    image.fileSize = 1000
    image.compress = True
    image.created = datetime.datetime.now()

    status = uforge.OpStatus()
    status.message = "message"
    status.complete = True
    image.status = status

    return image
Esempio n. 3
0
    def test_retrieve_image_raise_exception_when_format_name_not_found(
            self, mock_remove_special_chars):
        # given
        api = Api("url",
                  username="******",
                  password="******",
                  headers=None,
                  disable_ssl_certificate_validation=False,
                  timeout=constants.HTTP_TIMEOUT)
        target_format = uforge.TargetFormat()
        image_format = uforge.ImageFormat()
        image_format.name = "vcenter"
        target_format.format = image_format

        builder = {"hardwareSettings": {"memory": 512, "hwType": 4}}

        mock_remove_special_chars.return_value = "vcenternotfound"

        # when
        with self.assertRaises(Exception) as e:
            migration_utils.retrieve_image(builder, target_format, api,
                                           "login")

        # then
        self.assertTrue(
            "TargetFormat type is unsupported: vcenter" in e.exception)
Esempio n. 4
0
    def test_retrieve_publish_image_return_the_publish_image_created(self):
        # given
        target_format = uforge.TargetFormat()
        image_format = uforge.ImageFormat()
        image_format.name = "vcenter"
        target_format.format = image_format

        builder = {
            "displayName": "vcenter-vm-name",
            "esxHost": "esxhost_vcenter",
            "datastore": "datastore_vcenter",
            "network": "network_vcenter"
        }

        # when
        publish_image_retrieved = migration_utils.retrieve_publish_image(
            builder, target_format)

        # then
        self.assertEqual(publish_image_retrieved.displayName,
                         builder["displayName"])
        self.assertEqual(publish_image_retrieved.esxHost, builder["esxHost"])
        self.assertEqual(publish_image_retrieved.datastore,
                         builder["datastore"])
        self.assertEqual(publish_image_retrieved.network, builder["network"])
Esempio n. 5
0
    def create_target_format(self, image_format_name):
        image_format = uforge.ImageFormat()
        image_format.name = image_format_name

        target_format = uforge.TargetFormat()
        target_format.format = image_format

        return target_format
Esempio n. 6
0
    def create_image(self, target_format_name):
        image_format = uforge.ImageFormat()
        image_format.name = target_format_name

        target_format = uforge.TargetFormat()
        target_format.name = target_format_name
        target_format.format = image_format

        image = uforge.Image()
        image.targetFormat = target_format
        return image
Esempio n. 7
0
    def test_retrieve_target_format_return_the_target_format_found(self, mock_get_target_format_object):
        # given
        api = Api("url", username="******", password="******", headers=None,
                  disable_ssl_certificate_validation=False, timeout=constants.HTTP_TIMEOUT)
        target_format = uforge.TargetFormat()
        mock_get_target_format_object.return_value = target_format


        # when
        target_format_retrieved = migration_utils.retrieve_target_format(api, "login", "targetFormatName")

        # then
        self.assertEqual(target_format_retrieved, target_format)
Esempio n. 8
0
    def test_retrieve_publish_image_raise_exception_when_format_name_not_found(self, mock_remove_special_chars):
        # given
        target_format = uforge.TargetFormat()
        image_format = uforge.ImageFormat()
        image_format.name = "vcenter"
        target_format.format = image_format

        builder = {
            "displayName": "vcenter-vm-name",
            "esxHost": "esxhost_vcenter",
            "datastore": "datastore_vcenter",
            "network": "network_vcenter"
        }

        mock_remove_special_chars.return_value = "vcenternotfound"

        # when
        with self.assertRaises(Exception) as e:
            migration_utils.retrieve_publish_image(builder, target_format)

        # then
        self.assertTrue("TargetFormat type is unsupported: vcenter" in e.exception)
Esempio n. 9
0
    def test_retrieve_image_return_the_image_created(self):
        # given
        api = Api("url",
                  username="******",
                  password="******",
                  headers=None,
                  disable_ssl_certificate_validation=False,
                  timeout=constants.HTTP_TIMEOUT)
        target_format = uforge.TargetFormat()
        image_format = uforge.ImageFormat()
        image_format.name = "vcenter"
        target_format.format = image_format

        builder = {"hardwareSettings": {"memory": 512, "hwType": 4}}

        # when
        image_retrieved = migration_utils.retrieve_image(
            builder, target_format, api, "login")

        # then
        self.assertEqual(image_retrieved.installProfile.memorySize, 512)
        self.assertEqual(image_retrieved.installProfile.hwType, "4")
        self.assertFalse(image_retrieved.compress)
Esempio n. 10
0
 def create_targetFormat(self, name):
     target_format = uforge.TargetFormat()
     target_format.name = name
     return target_format