Preflight Checks

A battery of automated preflight checks are available as part of the provisioning process to ensure that nodes and the environment are compatible and configured as per minimum requirements. The following preflight test are currently performed:

# Description and Type of Preflight Checks
1 Is the node running a compatible OS and Version?
2 Does the node have minimum CPU Resources?
3 Does the node have minimum Memory Resources ?
4 Does the node have outbound Internet Connectivity?
5 Is the node able to connect to the Controller?
6 Is the node able to perform a DNS Lookup of Controller?
7 Is the node able to establish a MTLS connection to the Controller ?
8 Is the node's time Synchronized with NTP?
9 Does the node have minimum and compatible storage?
10 Is docker already installed on the node?
11 Is Kubernetes already installed on the node?
12 Does hostname used an underscore? (not compatible with k8s naming convention)
13 Is port 53 already in use? (Consul is operated as a local DNS server for service discovery)

An illustrative example is shown below where the "preflight checks" detected an incompatible node for provisioning.

tar -xjf conjurer-linux-amd64.tar.bz2 && sudo ./conjurer -edge-name="onpremcluster" -passphrase-file="onpremcluster-passphrase.txt" -creds-file="onpremcluster-credentials.pem" -t

[+] Performing pre-tests
    [+] Operating System check
    [+] CPU check
    [+] Memory check
    [+] Internet connectivity check
    [+] Connectivity check to controller registry
    [+] DNS Lookup to the controller
    [+] Connectivity check to the Controller
    !INFO: Attempting mTLS connection to salt.core.stage.rafay-edge.net:443
    [+] Multiple default routes check
    [+] Time Sync check
    [+] Storage check
    !WARNING: No raw unformatted volume detected with more than 50GB. Cannot configure node as a master or storage node.

[+] Detected following errors during the above checks
        !WARNING: System Memory 28GB is less than the required 32GB.
        Checking for Fatal errors
[+] Detected following fatal errors during the above checks
        !ERROR: Detected a previously installed version of Docker on this node. Please remove the prior Docker package and retry.
        !ERROR: Detected a previously installed version of Kubernetes on this node. Please remove the prior Kubernetes packages (kubectl, kubeadm, kubelet,kubernetes-cni, etc.) and retry.