mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 15:03:28 +00:00
nixos/keepalived: add test
This commit is contained in:
parent
725f85e271
commit
aadfcc0900
@ -132,6 +132,7 @@ in
|
||||
jellyfin = handleTest ./jellyfin.nix {};
|
||||
jenkins = handleTest ./jenkins.nix {};
|
||||
kafka = handleTest ./kafka.nix {};
|
||||
keepalived = handleTest ./keepalived.nix {};
|
||||
kerberos = handleTest ./kerberos/default.nix {};
|
||||
kernel-latest = handleTest ./kernel-latest.nix {};
|
||||
kernel-lts = handleTest ./kernel-lts.nix {};
|
||||
|
42
nixos/tests/keepalived.nix
Normal file
42
nixos/tests/keepalived.nix
Normal file
@ -0,0 +1,42 @@
|
||||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "keepalived";
|
||||
|
||||
nodes = {
|
||||
node1 = { pkgs, ... }: {
|
||||
networking.firewall.extraCommands = "iptables -A INPUT -p vrrp -j ACCEPT";
|
||||
services.keepalived.enable = true;
|
||||
services.keepalived.vrrpInstances.test = {
|
||||
interface = "eth1";
|
||||
state = "MASTER";
|
||||
priority = 50;
|
||||
virtualIps = [{ addr = "192.168.1.200"; }];
|
||||
virtualRouterId = 1;
|
||||
};
|
||||
environment.systemPackages = [ pkgs.tcpdump ];
|
||||
};
|
||||
node2 = { pkgs, ... }: {
|
||||
networking.firewall.extraCommands = "iptables -A INPUT -p vrrp -j ACCEPT";
|
||||
services.keepalived.enable = true;
|
||||
services.keepalived.vrrpInstances.test = {
|
||||
interface = "eth1";
|
||||
state = "MASTER";
|
||||
priority = 100;
|
||||
virtualIps = [{ addr = "192.168.1.200"; }];
|
||||
virtualRouterId = 1;
|
||||
};
|
||||
environment.systemPackages = [ pkgs.tcpdump ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
# wait for boot time delay to pass
|
||||
for node in [node1, node2]:
|
||||
node.wait_until_succeeds(
|
||||
"systemctl show -p LastTriggerUSecMonotonic keepalived-boot-delay.timer | grep -vq 'LastTriggerUSecMonotonic=0'"
|
||||
)
|
||||
node.wait_for_unit("keepalived")
|
||||
node2.wait_until_succeeds("ip addr show dev eth1 | grep -q 192.168.1.200")
|
||||
node1.fail("ip addr show dev eth1 | grep -q 192.168.1.200")
|
||||
node1.succeed("ping -c1 192.168.1.200")
|
||||
'';
|
||||
})
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub
|
||||
{ stdenv, fetchFromGitHub, nixosTests
|
||||
, libnfnetlink, libnl, net-snmp, openssl
|
||||
, pkgconfig, autoreconfHook }:
|
||||
|
||||
@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
|
||||
openssl
|
||||
];
|
||||
|
||||
passthru.tests.keepalived = nixosTests.keepalived;
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
|
||||
configureFlags = [
|
||||
|
Loading…
Reference in New Issue
Block a user