@@ -60,7 +60,7 @@ import ../make-test-python.nix (
6060
6161 nodes = {
6262 server =
63- { pkgs , ... } :
63+ { nodes , pkgs , ... } :
6464 {
6565 environment . systemPackages = with pkgs ; [
6666 gzip
@@ -83,8 +83,12 @@ import ../make-test-python.nix (
8383 "--disable metrics-server"
8484 "--disable servicelb"
8585 "--disable traefik"
86- "--node-ip 192.168.1.1"
8786 "--pause-image test.local/pause:local"
87+ "--node-ip ${ nodes . server . networking . primaryIPAddress } "
88+ # The interface selection logic of flannel would normally use eth0, as the nixos
89+ # testing driver sets a default route via dev eth0. However, in test setups we
90+ # have to use eth1 for inter-node communication.
91+ "--flannel-iface eth1"
8892 ] ;
8993 } ;
9094 networking . firewall . allowedTCPPorts = [
@@ -93,19 +97,10 @@ import ../make-test-python.nix (
9397 6443
9498 ] ;
9599 networking . firewall . allowedUDPPorts = [ 8472 ] ;
96- networking . firewall . trustedInterfaces = [ "flannel.1" ] ;
97- networking . useDHCP = false ;
98- networking . defaultGateway = "192.168.1.1" ;
99- networking . interfaces . eth1 . ipv4 . addresses = pkgs . lib . mkForce [
100- {
101- address = "192.168.1.1" ;
102- prefixLength = 24 ;
103- }
104- ] ;
105100 } ;
106101
107102 server2 =
108- { pkgs , ... } :
103+ { nodes , pkgs , ... } :
109104 {
110105 environment . systemPackages = with pkgs ; [
111106 gzip
@@ -119,16 +114,17 @@ import ../make-test-python.nix (
119114 enable = true ;
120115 package = k3s ;
121116 images = [ pauseImage ] ;
122- serverAddr = "https://192.168.1.1 :6443" ;
117+ serverAddr = "https://${ nodes . server . networking . primaryIPAddress } :6443" ;
123118 clusterInit = false ;
124119 extraFlags = [
125120 "--disable coredns"
126121 "--disable local-storage"
127122 "--disable metrics-server"
128123 "--disable servicelb"
129124 "--disable traefik"
130- "--node-ip 192.168.1.3"
131125 "--pause-image test.local/pause:local"
126+ "--node-ip ${ nodes . server2 . networking . primaryIPAddress } "
127+ "--flannel-iface eth1"
132128 ] ;
133129 } ;
134130 networking . firewall . allowedTCPPorts = [
@@ -137,19 +133,10 @@ import ../make-test-python.nix (
137133 6443
138134 ] ;
139135 networking . firewall . allowedUDPPorts = [ 8472 ] ;
140- networking . firewall . trustedInterfaces = [ "flannel.1" ] ;
141- networking . useDHCP = false ;
142- networking . defaultGateway = "192.168.1.3" ;
143- networking . interfaces . eth1 . ipv4 . addresses = pkgs . lib . mkForce [
144- {
145- address = "192.168.1.3" ;
146- prefixLength = 24 ;
147- }
148- ] ;
149136 } ;
150137
151138 agent =
152- { pkgs , ... } :
139+ { nodes , pkgs , ... } :
153140 {
154141 virtualisation . memorySize = 1024 ;
155142 virtualisation . diskSize = 2048 ;
@@ -159,23 +146,15 @@ import ../make-test-python.nix (
159146 role = "agent" ;
160147 package = k3s ;
161148 images = [ pauseImage ] ;
162- serverAddr = "https://192.168.1.3 :6443" ;
149+ serverAddr = "https://${ nodes . server2 . networking . primaryIPAddress } :6443" ;
163150 extraFlags = [
164151 "--pause-image test.local/pause:local"
165- "--node-ip 192.168.1.2"
152+ "--node-ip ${ nodes . agent . networking . primaryIPAddress } "
153+ "--flannel-iface eth1"
166154 ] ;
167155 } ;
168156 networking . firewall . allowedTCPPorts = [ 6443 ] ;
169157 networking . firewall . allowedUDPPorts = [ 8472 ] ;
170- networking . firewall . trustedInterfaces = [ "flannel.1" ] ;
171- networking . useDHCP = false ;
172- networking . defaultGateway = "192.168.1.2" ;
173- networking . interfaces . eth1 . ipv4 . addresses = pkgs . lib . mkForce [
174- {
175- address = "192.168.1.2" ;
176- prefixLength = 24 ;
177- }
178- ] ;
179158 } ;
180159 } ;
181160
0 commit comments