def test_new_clouds(): settings['CLOUD'] = 'aws' instance = Instance.new(settings=settings) assert isinstance(instance, AWSInstance) settings['CLOUD'] = 'gcp' instance = Instance.new(settings=settings) assert isinstance(instance, GCPInstance)
def test_new_bare_ip_with_port(): instance = Instance.new(settings=settings, uid='myid', ip='1.1.1.1:2022') assert isinstance(instance, BareInstance) assert instance.ip == '1.1.1.1' assert instance.port == 2022 assert instance.username == default_username assert instance.keypair == default_keypair
def create_bare(self): """ Create instances for the Bare provider """ self.instances = [] for ip in self.settings['NODES']: new_instance = Instance.new(settings=self.settings, cluster=self) new_instance.ip = ip self.instances.append(new_instance)
def test_new_bare(): instance = Instance.new(settings=settings) assert isinstance(instance, BareInstance) instance = Instance.new(settings=settings, uid='myid') assert instance.uid == 'myid' assert instance.port == 22 assert instance.username == default_username assert instance.keypair == default_keypair instance = Instance.new(settings=settings, uid='myid', ip='1.1.1.1', port=33, username='******', keypair='mykey') assert instance.ip == '1.1.1.1' assert instance.port == 33 assert instance.username == 'me' assert instance.keypair == 'mykey' assert instance.to_dict() == {'ip': '1.1.1.1', 'port': 33, 'uid': 'myid'}
def from_list(cls, values, settings): """ From a list of dicts (each dict is an `Instance.to_dict`) """ logger.debug('Creating Cluster from list') self = cls() self.settings = settings self.instances = [] for instance in values: uid, ip, port = instance['uid'], instance['ip'], instance['port'] new_instance = Instance.new(settings=settings, cluster=self, uid=uid, ip=ip, port=port) self.instances.append(new_instance) return self
def create_cloud(self): instances = [] for i in range(self.settings['NUMBER_NODES']): new_instance = Instance.new(settings=self.settings, cluster=self) instances.append(new_instance) create_nodes = [instance.create(suffix=i) for i, instance in enumerate(instances)] fetch_nodes = [instance.node for instance in instances] self.driver.wait_until_running(fetch_nodes) node_ids = [node.id for node in fetch_nodes] all_nodes = self.driver.list_nodes() new_nodes = [node for node in all_nodes if node.id in node_ids] for instance, node in zip(instances, new_nodes): instance.node = node self.instances = instances
def create_cloud(self): """ Create instances for the cloud providers """ instances = [] for i in range(self.settings['NUMBER_NODES']): new_instance = Instance.new(settings=self.settings, cluster=self) instances.append(new_instance) create_nodes = [instance.create(suffix=i) for i, instance in enumerate(instances)] fetch_nodes = [instance.node for instance in instances] self.driver.wait_until_running(fetch_nodes) node_ids = [node.id for node in fetch_nodes] all_nodes = self.driver.list_nodes() new_nodes = [node for node in all_nodes if node.id in node_ids] for instance, node in zip(instances, new_nodes): instance.node = node self.instances = instances
def test_bare_new(): instance = Instance.new(settings=settings) assert isinstance(instance, BareInstance)
def create_bare(self): self.instances = [] for ip in self.settings['NODES']: new_instance = Instance.new(settings=self.settings, cluster=self) new_instance.ip = ip self.instances.append(new_instance)