Esempio n. 1
0
    def setup_minicloud():
        database = None
        try:
            output('Setting up MiniCloud ...')
            database = MiniCloudMgnt.obtain_db_credentials('MINICLOUD_DB_HOST', 'MINICLOUD_DB_USERNAME',
                                                           'MINICLOUD_DB_PASSWORD', 'MINICLOUD_DB_NAME')
            mc = MiniCloud(database)
            print
            if mc.system.get_setting('first_use') is None:
                mc.system.set_setting('first_use', datetime.datetime.now().strftime('%d-%m-%Y'))
                output('This is the first use of MiniCloud!')
            else:
                output('The first use of MiniCloud was %s!', mc.system.get_setting('first_use'))
            return mc

        except DatabaseException as e:
            output(e)
            output('Please make sure you have a MySql server running,\n'
                   'the MiniCloud database is present and users are provisioned.\n\n'
                   'Install mysql-server\n\n'
                   'give: mysql -u root -p\n'
                   '<password>\n\n'
                   'mysql> CREATE DATABASE %s;', database.database)
            if database.username != 'root':
                output('mysql> CREATE USER \'%s\'@\'%s\' IDENTIFIED BY \'%s\';',
                       database.username, database.host, database.password)
                output('mysql> GRANT ALL PRIVILEGES ON %s.* to %s@%s;',
                       database.database, database.username, database.host)
                output('mysql> FLUSH PRIVILEGES;')
            output('mysql> exit;')
            fatal_error()
Esempio n. 2
0
__author__ = 'Kris Sterckx'

try:
    from paramiko import SSHClient, AutoAddPolicy
except ImportError as import_e:
    class SSHClient:
        def __init__(self):
            pass

    class AutoAddPolicy:
        def __init__(self):
            pass

    error('Can\'t import a critical module %s.', import_e.message)
    error('Please give: pip install paramiko')
    fatal_error()


class InstanceManager(CloudResourceManager):
    def __init__(self, minicloud):
        super(InstanceManager, self).__init__(minicloud)
        self.network_manager = self.minicloud.network_manager
        self.flavor_manager = self.minicloud.flavor_manager
        self.image_manager = self.minicloud.image_manager
        self.nova_sg_manager = self.minicloud.nova_sg_manager

    @staticmethod
    def entity_name():
        return 'instance'

    def entity(self, cloud_manager, ctx, cloud_instance):