Skip to content

Commit 81d007f

Browse files
authored
Merge pull request #1954 from lsst-it/IT-3059/dhcp1.ls
(node/dhcp1.ls) fwv
2 parents 103ade4 + 0645776 commit 81d007f

File tree

3 files changed

+281
-2
lines changed

3 files changed

+281
-2
lines changed

hiera.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ hierarchy:
66
- name: "private hiera yaml"
77
datadir: "/etc/puppetlabs/code/hieradata/private/%{environment}"
88
paths: &paths
9-
- "node/%{fqdn}.yaml"
9+
- "node/%{facts.networking.fqdn}.yaml"
1010
- "site/%{site}/cluster/%{cluster}/variant/%{variant}/subvariant/%{subvariant}/%{facts.os.family}/major/%{facts.os.release.major}.yaml"
1111
- "site/%{site}/cluster/%{cluster}/variant/%{variant}/subvariant/%{subvariant}.yaml"
1212
- "site/%{site}/cluster/%{cluster}/variant/%{variant}/%{facts.os.family}/major/%{facts.os.release.major}.yaml"
@@ -44,7 +44,7 @@ hierarchy:
4444
lookup_key: "eyaml_lookup_key" # eyaml backend
4545
datadir: "/etc/puppetlabs/code/hieradata/private/%{environment}"
4646
paths:
47-
- "node/%{fqdn}.eyaml"
47+
- "node/%{facts.networking.fqdn}.yaml"
4848
- "site/%{site}/cluster/%{cluster}/variant/%{variant}/subvariant/%{subvariant}/%{facts.os.family}/major/%{facts.os.release.major}.eyaml"
4949
- "site/%{site}/cluster/%{cluster}/variant/%{variant}/subvariant/%{subvariant}.eyaml"
5050
- "site/%{site}/cluster/%{cluster}/variant/%{variant}/%{facts.os.family}/major/%{facts.os.release.major}.eyaml"
Lines changed: 234 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
---
2+
nm::connections:
3+
enp1s0:
4+
content:
5+
connection:
6+
id: "enp1s0"
7+
uuid: "601c3460-dbef-4c7a-95ec-5c63b028237d"
8+
type: "ethernet"
9+
interface-name: "enp1s0"
10+
ethernet: {}
11+
ipv4:
12+
address1: "139.229.135.1/24,139.229.135.254"
13+
dns: "139.229.135.53;139.229.135.54;139.229.135.55;"
14+
dns-search: "ls.lsst.org;"
15+
method: "manual"
16+
ipv6:
17+
method: "disabled"
18+
proxy: {}
19+
20+
dhcp::interfaces:
21+
- "enp1s0bogus"
22+
23+
dhcp::authoritative: true
24+
dhcp::pxeserver: "139.229.135.5" # foreman.ls.lsst.org
25+
# theforeman/dhcp 5.0.1 only supports `option domain-search` per pool
26+
dhcp::options:
27+
- "voip-tftp-server code 150 = { ip-address }"
28+
- "space cisco"
29+
- "cisco.wlc code 241 = array of ip-address"
30+
- "local-encapsulation code 43 = encapsulate cisco"
31+
dhcp::pools:
32+
IT-Services: # https://jira.lsstcorp.org/browse/IT-1676
33+
network: "139.229.135.0"
34+
mask: "255.255.255.0"
35+
gateway: "139.229.135.254"
36+
range:
37+
- "139.229.135.192 139.229.135.249"
38+
search_domains: "%{alias('dhcp::dnsdomain')}"
39+
RubinObs-LHN:
40+
network: "139.229.137.0"
41+
mask: "255.255.255.0"
42+
gateway: "139.229.137.254"
43+
range:
44+
- "139.229.137.1 139.229.137.200"
45+
search_domains: "%{alias('dhcp::dnsdomain')}"
46+
Rubin-DMZ:
47+
network: "139.229.138.0"
48+
mask: "255.255.255.0"
49+
gateway: "139.229.138.254"
50+
range:
51+
- "139.229.138.200 139.229.138.250"
52+
search_domains: "%{alias('dhcp::dnsdomain')}"
53+
nameservers:
54+
- "1.0.0.1"
55+
- "1.1.1.1"
56+
- "8.8.8.8"
57+
Archive-LHN:
58+
network: "139.229.140.0"
59+
mask: "255.255.255.224"
60+
gateway: "139.229.140.1"
61+
range:
62+
- "139.229.140.24 139.229.140.30" # ~ /30
63+
search_domains: "%{alias('dhcp::dnsdomain')}"
64+
IT-CORE-SERVICES: # vlan2103
65+
network: "139.229.141.0"
66+
mask: "255.255.255.224"
67+
gateway: "139.229.141.30"
68+
range:
69+
- "139.229.141.20 139.229.141.26"
70+
search_domains: "%{alias('dhcp::dnsdomain')}"
71+
IT-HYPERVISOR: # vlan2104
72+
network: "139.229.141.32"
73+
mask: "255.255.255.240"
74+
gateway: "139.229.141.46"
75+
range:
76+
- "139.229.141.40 139.229.141.42"
77+
search_domains: "%{alias('dhcp::dnsdomain')}"
78+
IT-BMC: # vlan2105
79+
network: "139.229.142.0"
80+
mask: "255.255.255.0"
81+
gateway: "139.229.142.254"
82+
range:
83+
- "139.229.142.230 139.229.142.250"
84+
search_domains: "%{alias('dhcp::dnsdomain')}"
85+
BDC-Teststand-DDS: # vlan2301
86+
network: "139.229.145.0"
87+
mask: "255.255.255.0"
88+
gateway: "139.229.145.254"
89+
range:
90+
- "139.229.145.225 139.229.145.249" # ~ /27
91+
search_domains: "%{alias('dhcp::dnsdomain')}"
92+
Commissioning-Cluster: # https://jira.lsstcorp.org/browse/IT-1679
93+
network: "139.229.146.0"
94+
mask: "255.255.255.0"
95+
gateway: "139.229.146.254"
96+
range:
97+
- "139.229.146.225 139.229.146.249" # ~ /27
98+
search_domains: "%{alias('dhcp::dnsdomain')}"
99+
DDS-Base: # https://jira.lsstcorp.org/browse/IT-1679
100+
network: "139.229.147.0"
101+
mask: "255.255.255.0"
102+
gateway: "139.229.147.254"
103+
range:
104+
- "139.229.147.225 139.229.147.249" # ~ /27
105+
search_domains: "%{alias('dhcp::dnsdomain')}"
106+
CDS-NAS:
107+
network: "139.229.148.0"
108+
mask: "255.255.255.0"
109+
gateway: "139.229.148.254"
110+
range:
111+
- "139.229.148.225 139.229.148.249" # ~ /27
112+
search_domains: "%{alias('dhcp::dnsdomain')}"
113+
Base-Archive:
114+
network: "139.229.149.0"
115+
mask: "255.255.255.0"
116+
gateway: "139.229.149.254"
117+
range:
118+
- "139.229.149.225 139.229.149.249" # ~ /27
119+
search_domains: "%{alias('dhcp::dnsdomain')}"
120+
Comcam-CCS:
121+
network: "139.229.150.0"
122+
mask: "255.255.255.128"
123+
gateway: "139.229.150.126"
124+
range:
125+
- "139.229.150.112 139.229.150.125" # ~ /28
126+
search_domains: "%{alias('dhcp::dnsdomain')}"
127+
BTS_MANKE:
128+
network: "139.229.151.0"
129+
mask: "255.255.255.0"
130+
gateway: "139.229.151.254"
131+
range:
132+
- "139.229.151.201 139.229.151.249" # ~ /27
133+
DDS-BTS:
134+
network: "139.229.152.0"
135+
mask: "255.255.255.128"
136+
range:
137+
- "139.229.152.70 139.229.152.120"
138+
BTS_AUXTEL: # vlan2503
139+
network: "139.229.152.128"
140+
mask: "255.255.255.192"
141+
gateway: "139.229.152.190"
142+
range:
143+
- "139.229.152.171 139.229.152.180"
144+
BTS_MISC:
145+
network: "139.229.152.192"
146+
mask: "255.255.255.192"
147+
gateway: "139.229.152.254"
148+
range:
149+
- "139.229.152.210 139.229.152.250"
150+
BTS_LHN:
151+
network: "139.229.153.0"
152+
mask: "255.255.255.0"
153+
gateway: "139.229.153.254"
154+
range:
155+
- "139.229.153.201 139.229.153.249"
156+
search_domains: "%{alias('dhcp::dnsdomain')}"
157+
static_routes:
158+
- {network: "134.79.20", mask: "23", gateway: "139.229.153.254"}
159+
- {network: "134.79.23", mask: "24", gateway: "139.229.153.254"}
160+
- {network: "134.79.235.224", mask: "28", gateway: "139.229.153.254"}
161+
- {network: "134.79.235.240", mask: "28", gateway: "139.229.153.254"}
162+
BTS_LSSTCAM: # vlan2507
163+
network: "139.229.154.0"
164+
mask: "255.255.255.192"
165+
gateway: "139.229.154.62"
166+
range:
167+
- "139.229.154.49 139.229.154.58"
168+
RubinObs-WiFi-Guest:
169+
network: "139.229.159.128"
170+
mask: "255.255.255.128"
171+
gateway: "139.229.159.254"
172+
range:
173+
- "139.229.159.129 139.229.159.230" # ~ /101
174+
search_domains: "%{alias('dhcp::dnsdomain')}"
175+
BDC-BMC: # https://jira.lsstcorp.org/browse/IT-1679
176+
network: "10.50.3.0"
177+
mask: "255.255.255.0"
178+
gateway: "10.50.3.254"
179+
range:
180+
- "10.50.3.1 10.50.3.249"
181+
search_domains: "%{alias('dhcp::dnsdomain')}"
182+
BDC-APS:
183+
network: "10.49.3.0"
184+
mask: "255.255.255.0"
185+
gateway: "10.49.3.254"
186+
range:
187+
- "10.49.3.1 10.49.3.249"
188+
options:
189+
- "cisco.wlc 139.229.134.100"
190+
search_domains: "%{alias('dhcp::dnsdomain')}"
191+
BDC-VoIP:
192+
network: "10.49.1.0"
193+
mask: "255.255.255.0"
194+
gateway: "10.49.1.254"
195+
range:
196+
- "10.49.1.1 10.49.1.249"
197+
options:
198+
- "voip-tftp-server 139.229.134.102"
199+
search_domains: "%{alias('dhcp::dnsdomain')}"
200+
BDC-PDU:
201+
network: "10.50.1.0"
202+
mask: "255.255.255.0"
203+
gateway: "10.50.1.254"
204+
range:
205+
- "10.50.1.200 10.50.1.249"
206+
search_domains: "%{alias('dhcp::dnsdomain')}"
207+
BDC-CCTV:
208+
network: "10.49.7.0"
209+
mask: "255.255.255.0"
210+
gateway: "10.49.7.254"
211+
range:
212+
- "10.49.7.1 10.49.7.249"
213+
search_domains: "%{alias('dhcp::dnsdomain')}"
214+
ANTU-FQDN:
215+
network: "139.229.154.96"
216+
mask: "255.255.255.240"
217+
gateway: "139.229.154.110"
218+
range:
219+
- "139.229.154.102 139.229.154.107"
220+
search_domains: "%{alias('dhcp::dnsdomain')}"
221+
BDC-BMC-PUBLIC:
222+
network: "139.229.139.0"
223+
mask: "255.255.255.0"
224+
gateway: "139.229.139.254"
225+
range:
226+
- "139.229.139.230 139.229.139.250"
227+
search_domains: "%{alias('dhcp::dnsdomain')}"
228+
ANTU-METALLB:
229+
network: "139.229.154.64"
230+
mask: "255.255.255.224"
231+
gateway: "139.229.154.94"
232+
range:
233+
- "139.229.154.88 139.229.154.91"
234+
search_domains: "%{alias('dhcp::dnsdomain')}"
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# frozen_string_literal: true
2+
3+
require 'spec_helper'
4+
5+
describe 'dhcp1.ls.lsst.org', :sitepp do
6+
on_supported_os.each do |os, os_facts|
7+
next unless os =~ %r{almalinux-9-x86_64}
8+
9+
context "on #{os}" do
10+
let(:facts) do
11+
lsst_override_facts(os_facts,
12+
is_virtual: true,
13+
virtual: 'kvm',
14+
dmi: {
15+
'product' => {
16+
'name' => 'KVM',
17+
},
18+
})
19+
end
20+
let(:node_params) do
21+
{
22+
role: 'dhcp',
23+
site: 'ls',
24+
}
25+
end
26+
27+
it { is_expected.to compile.with_all_deps }
28+
29+
include_examples 'vm'
30+
include_context 'with nm interface'
31+
it { is_expected.to have_nm__connection_resource_count(1) }
32+
33+
context 'with enp1s0' do
34+
let(:interface) { 'enp1s0' }
35+
36+
it_behaves_like 'nm enabled interface'
37+
it_behaves_like 'nm ethernet interface'
38+
it_behaves_like 'nm manual interface'
39+
it { expect(nm_keyfile['ipv4']['address1']).to eq('139.229.135.1/24,139.229.135.254') }
40+
it { expect(nm_keyfile['ipv4']['dns']).to eq('139.229.135.53;139.229.135.54;139.229.135.55;') }
41+
it { expect(nm_keyfile['ipv4']['dns-search']).to eq('ls.lsst.org;') }
42+
end
43+
end # on os
44+
end # on_supported_os
45+
end

0 commit comments

Comments
 (0)