def get_cluster(self, cloud_provider=None, config=None, nodes=None): if not cloud_provider: cloud_provider = BotoCloudProvider("https://hobbes.gc3.uzh.ch/", "nova", "a-key", "s-key") if not config: config = Configuration().get_config(self.path) setup = Mock() configurator = Configurator(config) conf_login = configurator.cluster_conf['mycluster']['login'] repository = ClusterRepository(self.storage_path) cluster = Cluster( "mycluster", cloud_provider, setup, repository, conf_login['user_key_name'], conf_login['user_key_public'], conf_login['user_key_private'], ) if not nodes: nodes = {"compute": 2, "frontend": 1} for kind, num in nodes.iteritems(): conf_kind = configurator.cluster_conf['mycluster']['nodes'][kind] cluster.add_nodes(kind, num, conf_kind['image_id'], conf_login['image_user'], conf_kind['flavor'], conf_kind['security_group']) return cluster
def create_repository(self): storage_path = self.general_conf['storage'] repository = ClusterRepository(storage_path) return repository
def setUp(self): self.path = tempfile.mkdtemp() self.storage = ClusterRepository(self.path)