def validation_pre()

in deployment/clusterObjectModel/mainParser/kubernetes.py [0:0]


    def validation_pre(self):
        k8s_cfg = self.kubernetes_configuration["kubernetes"]

        if "cluster-dns" not in k8s_cfg:
            return False, "cluster-dns is miss in kubernetes-configuration -> kubernetes. You can get this value with the command [cat /etc/resolv.conf]"
        if pai_k8s_common.ipv4_address_validation(k8s_cfg["cluster-dns"]) is False:
            return False, "cluster-dns in kubernetes-configuration is not a valid ipv4 address."

        if "load-balance-ip" not in k8s_cfg:
            return False, "load-balance-ip is miss in kubernetes-configuration -> kubernetes."
        if pai_k8s_common.ipv4_address_validation(k8s_cfg["load-balance-ip"]) is False:
            return False, "load-balance-ip in kubernetes-configuration is not a valid ipv4 address"

        if "service-cluster-ip-range" not in k8s_cfg:
            return False, "service-cluster-ip-range is miss in kubernetes-configuration -> kubernetes."
        if pai_k8s_common.cidr_validation(k8s_cfg["service-cluster-ip-range"]) is False:
            return False, "service-cluster-ip-range in kubernetes-configuration is not a valid CIDR."

        if "storage-backend" not in k8s_cfg:
            return False, "storage-backend is miss in kubernetes-configuration -> kubernetes."
        if k8s_cfg["storage-backend"] != "etcd3" and k8s_cfg["storage-backend"] != "etcd2":
            return False, "storage-backend in kubernetes-configuration is not valid, please set corresponding value [etcd2 or etcd3] according to your etcd version."

        if "docker-registry" not in k8s_cfg:
            return False, "docker-registry is miss in kubernetes-configuration -> kubernetes."

        if "hyperkube-version" not in k8s_cfg:
            return False, "hyperkube-version is miss in kubernetes-configuration -> kubernetes."

        if "etcd-version" not in k8s_cfg:
            return False, "etcd-version is miss in kubernetes-configuration -> kubernetes."

        if "apiserver-version" not in k8s_cfg:
            return False, "apiserver-version is miss in kuberentes-configuration -> kubernetes."

        if "kube-scheduler-version" not in k8s_cfg:
            return False, "kube-scheduler-version is miss in kubernetes-configuration -> kubernetes."

        if "kube-controller-manager-version" not in k8s_cfg:
            return False, "kube-controller-manager-version is miss in kubernetes-configuration -> kubernetes."

        if "dashboard-version" not in k8s_cfg:
            return False, "dashboard-version is miss in kuberentes-configuration -> kubernetes."

        return True, None