class ClusterSession: def __init__(self, cluster_ip, user, password, vserver=None): self.server = NaServer(cluster_ip, 1, 100) self.server.set_server_type('FILER') self.server.set_transport_type('HTTP') self.server.set_port(80) self.server.set_style('LOGIN') self.server.set_admin_user(user, password) if vserver is not None: self.server.set_vserver(vserver) def get_vserver(self): return self.server.get_vserver() def run_command(self, api): return self.server.invoke_elem(api) def get_nodes(self): api_call = NaElement('cluster-node-get-iter') output = self.run_command(api_call) if output.results_status() == 'failed': return output.results_status(), output.sprintf() else: cluster_node_info = output.children_get() for cni in cluster_node_info: if cni.has_children() == 1: nodes = cni.children_get() nodes_list = [] for n in nodes: nodes_list.append(n.child_get_string('node-name')) return nodes_list
def connect(): naHost = getConfigOption("NAHost") user = getConfigOption("User") password = getConfigOption("Password") s = NaServer(naHost, 1 , 21) s.set_server_type("FILER") s.set_transport_type("HTTPS") s.set_port(443) s.set_style("LOGIN") s.set_admin_user(user, password) return s
def __create_server(self, testing_active): if testing_active: return None s = NaServer( self.host, self.ontap_major_version, self.ontap_minor_version) s.set_server_type(self.server_type) s.set_transport_type(self.transport_type) s.set_port(self.server_port) s.set_style(self.connect_style) s.set_admin_user(self.user, self.pwd) return s
def connect(): try: _create_unverified_https_context = ssl._create_unverified_context except AttributeError: # Legacy Python that doesn't verify HTTPS certificates by default pass else: # Handle target environment that doesn't support HTTPS verification ssl._create_default_https_context = _create_unverified_https_context naHost = getConfigOption("NAHost") user = getConfigOption("User") password = getConfigOption("Password") s = NaServer(naHost, 1, 21) s.set_server_type("FILER") s.set_transport_type("HTTPS") s.set_port(443) s.set_style("LOGIN") s.set_admin_user(user, password) return s