Merge pull request #132087 from scvalex/improve-kubernetes-tests

kubernetes: fix flaky test and run tests as group

Changed files
+34 -15
nixos
pkgs
applications
networking
cluster
kubernetes
+3
nixos/modules/services/cluster/kubernetes/addon-manager.nix
···
Restart = "on-failure";
RestartSec = 10;
};
+
unitConfig = {
+
StartLimitIntervalSec = 0;
+
};
};
services.kubernetes.addonManager.bootstrapAddons = mkIf isRBACEnabled
+4
nixos/modules/services/cluster/kubernetes/apiserver.nix
···
Restart = "on-failure";
RestartSec = 5;
};
+
+
unitConfig = {
+
StartLimitIntervalSec = 0;
+
};
};
services.etcd = {
+3
nixos/modules/services/cluster/kubernetes/controller-manager.nix
···
User = "kubernetes";
Group = "kubernetes";
};
+
unitConfig = {
+
StartLimitIntervalSec = 0;
+
};
path = top.path;
};
+3
nixos/modules/services/cluster/kubernetes/kubelet.nix
···
'';
WorkingDirectory = top.dataDir;
};
+
unitConfig = {
+
StartLimitIntervalSec = 0;
+
};
};
# Allways include cni plugins
+3
nixos/modules/services/cluster/kubernetes/proxy.nix
···
Restart = "on-failure";
RestartSec = 5;
};
+
unitConfig = {
+
StartLimitIntervalSec = 0;
+
};
};
services.kubernetes.proxy.hostname = with config.networking; mkDefault hostName;
+3
nixos/modules/services/cluster/kubernetes/scheduler.nix
···
Restart = "on-failure";
RestartSec = 5;
};
+
unitConfig = {
+
StartLimitIntervalSec = 0;
+
};
};
services.kubernetes.pki.certs = {
+1 -4
nixos/tests/all-tests.nix
···
knot = handleTest ./knot.nix {};
krb5 = discoverTests (import ./krb5 {});
ksm = handleTest ./ksm.nix {};
-
kubernetes.dns = handleTestOn ["x86_64-linux"] ./kubernetes/dns.nix {};
-
# kubernetes.e2e should eventually replace kubernetes.rbac when it works
-
#kubernetes.e2e = handleTestOn ["x86_64-linux"] ./kubernetes/e2e.nix {};
-
kubernetes.rbac = handleTestOn ["x86_64-linux"] ./kubernetes/rbac.nix {};
+
kubernetes = handleTestOn ["x86_64-linux"] ./kubernetes {};
latestKernel.hardened = handleTest ./hardened.nix { latestKernel = true; };
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
leaps = handleTest ./leaps.nix {};
+13 -5
nixos/tests/kubernetes/default.nix
···
-
{ system ? builtins.currentSystem }:
+
{ system ? builtins.currentSystem
+
, pkgs ? import <nixpkgs> { inherit system; }
+
}:
+
let
+
dns = import ./dns.nix { inherit system pkgs; };
+
rbac = import ./rbac.nix { inherit system pkgs; };
+
# TODO kubernetes.e2e should eventually replace kubernetes.rbac when it works
+
# e2e = import ./e2e.nix { inherit system pkgs; };
+
in
{
-
dns = import ./dns.nix { inherit system; };
-
# e2e = import ./e2e.nix { inherit system; }; # TODO: make it pass
-
# the following test(s) can be removed when e2e is working:
-
rbac = import ./rbac.nix { inherit system; };
+
dns-single-node = dns.singlenode.test;
+
dns-multi-node = dns.multinode.test;
+
rbac-single-node = rbac.singlenode.test;
+
rbac-multi-node = rbac.multinode.test;
}
+1 -6
pkgs/applications/networking/cluster/kubernetes/default.nix
···
platforms = platforms.unix;
};
-
passthru.tests = with nixosTests.kubernetes; {
-
dns-single-node = dns.singlenode;
-
dns-multi-node = dns.multinode;
-
rbac-single-node = rbac.singlenode;
-
rbac-multi-node = rbac.multinode;
-
};
+
passthru.tests = nixosTests.kubernetes;
}