def save_snapshots(self, file_base, bucket): """Save snapshots on all servers""" if not self.input.servers or not bucket: self.log.error("invalid server list or bucket name") return False ClusterOperationHelper.stop_cluster(self.input.servers) for server in self.input.servers: self._save_snapshot(server, bucket, file_base) ClusterOperationHelper.start_cluster(self.input.servers) return True
def load_snapshots(self, file_base, bucket): """Load snapshots on all servers""" if not self.input.servers or not bucket: print "[perf: load_snapshot] invalid server list or bucket name" return False ClusterOperationHelper.stop_cluster(self.input.servers) for server in self.input.servers: if not self._load_snapshot(server, bucket, file_base): ClusterOperationHelper.start_cluster(self.input.servers) return False ClusterOperationHelper.start_cluster(self.input.servers) return True
def set_up_dgm(self): """Download fragmented, DGM dataset onto each cluster node, if not already locally available. The number of vbuckets and database schema must match the target cluster. Shutdown all cluster nodes. Do a cluster-restore. Restart all cluster nodes.""" bucket = self.param("bucket", "default") ClusterOperationHelper.stop_cluster(self.input.servers) for server in self.input.servers: remote = RemoteMachineShellConnection(server) #TODO: Better way to pass num_nodes and db_size? self.get_data_files(remote, bucket, 1, 10) remote.disconnect() ClusterOperationHelper.start_cluster(self.input.servers)