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()
__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):