def setUp(self):
        """
        Instantiates the CreateImage object that is responsible for downloading and creating an OS image file
        within OpenStack
        """
        # Create Image
        self.os_image_settings = openstack_tests.get_image_test_settings()
        self.image_creator = create_image.OpenStackImage(
            self.os_creds, self.os_image_settings.image_user,
            self.os_image_settings.format, self.os_image_settings.url,
            self.os_image_settings.name,
            self.os_image_settings.download_file_path)
        self.image_creator.create()

        # Create Network
        self.network_creator = create_network.OpenStackNetwork(
            self.os_creds, pub_net_config.network_settings,
            pub_net_config.subnet_settings, pub_net_config.router_settings)
        self.network_creator.create()

        self.keypair_creator = create_keypairs.OpenStackKeypair(
            self.os_creds,
            create_keypairs.KeypairSettings(
                name=keypair_name,
                public_filepath=keypair_pub_filepath,
                private_filepath=keypair_priv_filepath))
        self.keypair_creator.create()

        self.inst_creator = None
 def setUp(self):
     """
     Instantiates the CreateImage object that is responsible for downloading and creating an OS image file
     within OpenStack
     """
     self.os_image = create_image.OpenStackImage(
         self.os_creds, os_image_settings.image_user,
         os_image_settings.format, os_image_settings.url,
         os_image_settings.name, os_image_settings.download_file_path)
 def testBadImageUrl(self):
     """
     Expect an exception when the image download url is bad
     """
     self.createImage = create_image.OpenStackImage(
         self.os_creds, os_image_settings.image_user,
         os_image_settings.format, 'http://bad.url.com/bad.iso',
         os_image_settings.name, os_image_settings.download_file_path)
     with self.assertRaises(Exception):
         self.createImage.create()
 def testNoneImageName(self):
     """
     Expect an exception when the image name is None
     """
     self.createImage = create_image.OpenStackImage(
         self.os_creds, os_image_settings.image_user,
         os_image_settings.format, os_image_settings.url, None,
         os_image_settings.download_file_path)
     with self.assertRaises(Exception):
         self.createImage.create()
 def testInvalidDirectory(self):
     """
     Expect an exception when the download destination path cannot be created
     """
     self.createImage = create_image.OpenStackImage(
         self.os_creds, os_image_settings.image_user,
         os_image_settings.format, os_image_settings.url,
         os_image_settings.name, '/foo')
     with self.assertRaises(Exception):
         self.createImage.create()
    def setUp(self):
        """
        Instantiates the CreateImage object that is responsible for downloading and creating an OS image file
        within OpenStack
        """
        # Create Image
        self.os_image_settings = openstack_tests.get_instance_image_settings()
        self.image_creator = create_image.OpenStackImage(self.os_creds, self.os_image_settings.image_user,
                                                         self.os_image_settings.format,
                                                         self.os_image_settings.url,
                                                         self.os_image_settings.name,
                                                         self.os_image_settings.download_file_path)
        self.image_creator.create()

        # Create Network
        self.network_creators = list()
        # First network is public
        self.network_creators.append(create_network.OpenStackNetwork(self.os_creds, pub_net_config.network_settings,
                                                                     pub_net_config.subnet_settings,
                                                                     pub_net_config.router_settings))
        # Second network is private
        self.network_creators.append(create_network.OpenStackNetwork(self.os_creds, priv_net_config.network_settings,
                                                                     priv_net_config.subnet_settings,
                                                                     priv_net_config.router_settings))
        for network_creator in self.network_creators:
            network_creator.create()

        self.keypair_creator = create_keypairs.OpenStackKeypair(self.os_creds,
                                                                create_keypairs.KeypairSettings(name=keypair_name,
                                                                                public_filepath=keypair_pub_filepath,
                                                                                private_filepath=keypair_priv_filepath))
        self.keypair_creator.create()

        floating_ip_conf = dict()

        ports = []
        for network_creator in self.network_creators:
            idx = self.network_creators.index(network_creator)
            # port_name = 'test-port-' + `idx`
            port_name = 'test-port-' + repr(idx)
            if idx == 0:
                floating_ip_conf = {'port_name': port_name, 'ext_net': pub_net_config.router_settings.external_gateway}

            port_settings = create_network.PortSettings(name=port_name)
            ports.append(neutron_utils.create_port(network_creator.neutron, port_settings, network_creator.network))

        # Create instance
        self.inst_creator = create_instance.OpenStackVmInstance(self.os_creds, vm_inst_name, flavor,
                                                                self.image_creator, ports,
                                                                self.os_image_settings.image_user,
                                                                keypair_creator=self.keypair_creator,
                                                                floating_ip_conf=floating_ip_conf)
        self.inst_creator.create()

        self.test_file_local_path = '/tmp/hello.txt'
 def testNoneUser(self):
     """
     Expect an exception when the tenant name is None
     """
     with self.assertRaises(Exception):
         self.createImage = create_image.OpenStackImage(
             os_credentials.OSCreds(None, self.os_creds.password,
                                    self.os_creds.os_auth_url,
                                    self.os_creds.tenant_name),
             os_image_settings.image_user, os_image_settings.format,
             os_image_settings.url, os_image_settings.name,
             os_image_settings.download_file_path)
 def testCreateSameImage(self):
     """
     Tests the creation of an OpenStack image when the image already exists.
     """
     # Create Image
     image1 = self.os_image.create()
     # Should be retrieving the instance data
     os_image_2 = create_image.OpenStackImage(
         self.os_creds, os_image_settings.image_user,
         os_image_settings.format, os_image_settings.url,
         os_image_settings.name, os_image_settings.download_file_path)
     image2 = os_image_2.create()
     self.assertEquals(image1['id'], image2['id'])