예제 #1
0
 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)
예제 #2
0
    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)
예제 #3
0
 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))
예제 #4
0
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")
예제 #5
0
 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)
예제 #6
0
 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)
예제 #7
0
 def delete(self, name):
     self.cluster.kdctl("users delete --id {}".format(
         utils.escape_command_arg(name)))