def add(self, name, file_path, validate=False, origin=None): """ Add predefined application from yaml-file into list of predefined applications :param file_path: path to the yaml-file on the master (not on the host!) """ name = utils.escape_command_arg(name) file_path = utils.escape_command_arg(file_path) cmd = "predefined-apps create --name {} -f {}".format(name, file_path) if validate: cmd += " --validate" if origin: cmd += " --origin '{}'".format(origin) self.cluster.kdctl(cmd)
def forget_all(self): for user in self.cluster.users.get_kd_users(): _, pods, _ = self.cluster.kcli('list', out_as_dict=True, user=user) for pod in pods: name = utils.escape_command_arg(pod['name']) self.cluster.kcli(u'forget {}'.format(name), user=user)
def create(self, name, password, email, role="User", active="True", package="Standard package"): name = utils.escape_command_arg(name) password = utils.escape_command_arg(password) email = utils.escape_command_arg(email) user = { 'active': active, 'email': email, 'package': package, 'rolename': role, 'username': name, 'password': password } data = json.dumps(user, ensure_ascii=False) self.cluster.kdctl(u"users create '{}'".format(data))
def _add_domain(cluster): with open("tests_integration/assets/cpanel_credentials.json") as f: creds = json.load(f) for k, v in creds.items(): if k != "domain": cluster.set_system_setting(escape_command_arg(v), name=k) # Wait till DNS Pod is running # It's impossible to import KUBERDOCK_DNS_POD_NAME from kubedock/kapi/nodes # because nodes tries import from flask which isn't installed on the CI host dns_pod = KDPod.get_internal_pod(cluster, "kuberdock-dns") dns_pod.wait_for_status("running") cluster.domains.add(name=creds["domain"], ignore_duplicates=True) # Make sure ingress controller has been created retry(KDPod.get_internal_pod, tries=6, interval=10, cluster=cluster, pod_name=KUBERDOCK_INGRESS_POD_NAME) ingress_pod = KDPod.get_internal_pod(cluster, KUBERDOCK_INGRESS_POD_NAME) ingress_pod.wait_for_status("running")
def clear(self): for user in self.cluster.users.get_kd_users(): for pod in self.cluster.pods.filter_by_owner(user): name = utils.escape_command_arg(pod['name']) self.cluster.kcli(u'delete {}'.format(name), user=user)
def clear(self): for user in self.cluster.users.get_kd_users(): for pv in self.filter(owner=user): name = utils.escape_command_arg(pv['name']) self.cluster.kcli2('pstorage delete --name {}'.format(name), user=user)
def delete(self, name): self.cluster.kdctl("users delete --id {}".format( utils.escape_command_arg(name)))