Example #1
0
    def basic(self):
        data = self.init()

        if env.host != env.hosts[0]:
            return

        keystone = Keystone()
        keystone.create_user(data["user"], data["password"], [["admin", "admin"]], False)

        glance = Glance()
        image_id = glance.create_image(data["image"]["name"], data["image"]["src_url"])

        net_id = utils.oscmd(
            "neutron net-list | grep ' {0} ' | awk '{{print $2}}'".format(env.cluster["neutron"]["test_net"])
        )

        nova = Nova()
        nova.create_flavor("test-flavor", 62, 2, 1)

        test_stack = {"image_id": image_id, "net_id": net_id, "flavor": "test-flavor"}

        filer.template("/tmp/stack-nova.yml", src="stack/stack-nova.yml", data=test_stack)
        filer.template("/tmp/autoscale.yml", src="stack/autoscale.yml", data=test_stack)

        with api.warn_only():
            result = utils.oscmd("heat stack-list | grep stack-nova")
            if result.return_code == 0:
                utils.oscmd("heat stack-delete -y stack-nova")
                time.sleep(3)
            utils.oscmd("heat stack-create -f /tmp/stack-nova.yml stack-nova")
Example #2
0
    def register_image(self):
        """
        trove images for ubuntu
        http://tarballs.openstack.org/trove/images/ubuntu/

        building guest images
        http://docs.openstack.org/developer/trove/dev/building_guest_images.html

        ```
        git clone https://github.com/openstack/trove-integration
        git clone https://github.com/openstack/tripleo-image-elements.git

        export PATH_TRIPLEO_ELEMENTS=$PWD/tripleo-image-elements
        export REDSTACK_SCRIPTS=$PWD/trove-integration/scripts
        export DIB_CLOUD_INIT_DATASOURCES="ConfigDrive"
        export ELEMENTS_PATH=$REDSTACK_SCRIPTS/files/elements:$PATH_TRIPLEO_ELEMENTS/elements

        disk-image-create -a amd64 -o ./ubuntu-percona.qemu ubuntu vm heat-cfntools \
            cloud-init-datasources ubuntu-guest ubuntu-mysql
        ```
        """
        glance = Glance()
        image_id = glance.create_image(
            'trove_mysql',
            'http://tarballs.openstack.org/trove/images/ubuntu/mysql.qcow2')

        sudo("/opt/trove/bin/trove-manage --config-file /etc/trove/trove.conf datastore_update mysql ''")  # noqa
        sudo("/opt/trove/bin/trove-manage --config-file /etc/trove/trove.conf datastore_version_update mysql mysql-5.6 mysql {0} '' 1".format(image_id))  # noqa
			print str(self.endPointObj)
			print "Patzaks: change"
		except OperationError, e :
			sys.stderr.write( "\n" + str(e.err))
			exit(e.err)

def Uploadmain ():
	try :
		drive = Upload()
	except InvalidArgumentsException ,e:
		sys.stderr.write("\narguments error\n")
		return e.value
	glanceObj = Glance(drive.logObj)
	
	try :
		createdImageUrl = glanceObj.create_image(drive.logObj, drive.imageName, drive.endPointObj, drive.containerFormat, drive.diskFormat)
		print "Created Image Url: " + createdImageUrl # TBD : debugging message 
	except OperationError, e:
		sys.stderr.write( "\n" + str (e.err))
		return  (e.err)
	
	try:
		glanceObj.upload_image(drive.logObj, drive.imagePath)
	except OperationError, e:
		sys.stderr.write("\n" + str(e.err))
		return (e.err)
	return (0)

if "__main__" ==  __name__ :
	exit(Uploadmain())