Jarrod Johnson
4f40d9635a
Fix nic config with mismatched gateway family
...
When a gateway exists on a family the node
does not exist for, handle the gateway better.
2021-10-12 15:32:30 -04:00
Jarrod Johnson
deb5c2eed8
Fix potential delay in ssh-agent start
...
Be consistent with other check_output
calls to allow eventlet to properly
background the process.
2021-10-08 10:24:35 -04:00
Jarrod Johnson
7ccaa245b6
Provide both string and numeric for owner/group
...
To provide a fallback for unrecognized user/group,
provide an id for syncfileclient to resort for.
2021-10-08 10:02:13 -04:00
Jarrod Johnson
52a7921676
Correct mistakes in syncfile option passing
2021-10-07 18:23:57 -04:00
Jarrod Johnson
3f7a7d09dd
Correct mistake in referencing option string
2021-10-07 18:02:56 -04:00
Jarrod Johnson
c0287e93ed
Roll back rsync ownership
...
Unfortunately, it will try to change parent directories on the way to
the files actually being written.
2021-10-07 16:34:37 -04:00
Jarrod Johnson
a676eb0b83
Syncfile option passing to client
...
Provide a mechanism for a syncfiles to indicate options to the client.
This will be used for owner=, group=, and permissions=
options.
2021-10-07 15:54:53 -04:00
Jarrod Johnson
a0ca3d3122
Extend snmp timeout
...
Default is 1 second, bump to 2 seconds for some
extraordinarily slow switches. This changes
overall to about 10 seconds as there are, by default,
5 retries.
2021-10-07 13:03:05 -04:00
Jarrod Johnson
e52a9ff70f
Have syncfiles attempt to preserve more
...
We cannot preserve symlinks (since we need them intact),
but we can use other rsync features to make synchronization work
better by default.
2021-10-07 13:01:48 -04:00
Jarrod Johnson
26c6f1407b
Add syntax for noderange filtering
...
/etc/passwd -> compute,-n11:/etc/passwd
Will cause the line to be used only when the node matches the
compute,-n11 noderange.
2021-10-07 11:26:13 -04:00
Jarrod Johnson
172008f942
Attempt to cover centos stream 9 by el8
...
At first glance, there should be similarities,
apart from python differences and need for
different clortho build due to library mismatch.
2021-10-06 16:59:47 -04:00
Jarrod Johnson
d666050ef7
Consolidate neigh wait time in slp
...
Rather than incurring it on each iteration (causing a scan to take
15 seconds in test), defer to
handle them all later (reducing to 5 seconds to scan).
2021-10-05 10:59:17 -04:00
Jarrod Johnson
3c72f9f18f
Refactor slp neigh warm-up
...
Rather than pulling it out at active_scan level, intervene deeply.
This fixes the problem where an ip gets used as a key rather than mac.
2021-10-05 10:50:51 -04:00
Jarrod Johnson
f50abd662a
Provide analogus improvements to ssdp from slp
...
Recent changes to try to make neigh table fresh and viable in slp
can also apply to ssdp.
Bring those changes forward.
2021-10-05 10:03:28 -04:00
Jarrod Johnson
1fda0e50d8
Fix stub from refactor
...
foobar was a stand-in for continue to
allow refactor, and needed
to be changed to return.
2021-10-05 08:04:58 -04:00
Jarrod Johnson
1a80d9f31a
Extend neigh table refresh to snoop
...
Improve reliability of 'snooping' slp.
2021-10-04 16:36:22 -04:00
Jarrod Johnson
c569826ff1
Improve scan result with missing neigh entries
...
If no neigh table is present for
a given address, send a packet to
induce kernel activity.
Then wait for a bit over 2 seconds to allow for
2 retries (at default settings)
and then proceed assuming all findable neighbor table
entries will be found.
2021-10-04 16:22:12 -04:00
Jarrod Johnson
398c8b3a71
Improve syncfiles permission denied reporting
...
When a non-readable file was
encountered, confluent would
cryptically report rsync failure.
Check for the usual culprit, unreadable files if rsync fails.
Cause this error to manifest with clearer text.
2021-09-30 12:01:29 -04:00
Jarrod Johnson
c93917e4a4
Add a failsafe for errors trying to connect to a new leader
...
Provide better experience in the face of the class of errors such
as the one fixed by previous commit.
2021-09-30 08:18:39 -04:00
Jarrod Johnson
c1113430a2
Pass only the name rather than full sockaddr on retire
...
Followers of a server that is retiring to join the better leader
were being given incorrect format which would fail in the dns lookup.
2021-09-30 08:11:19 -04:00
Jarrod Johnson
99ba4e7765
Handle ip aliases in pxe
...
Use netutil assessment of the
best server ip for pxe responses.
Using 'recvip' is too simplistic for broadcast
packets. recvip just gets the first ipv4 address on the interface,
when an alias may be better.
netutil assesses all the possible aliases, thus has better logic and pxe.py
now uses it.
2021-09-27 11:04:42 -04:00
Jarrod Johnson
929392c746
Fix hangs on check_output
...
Eventlet narrowly targets overriding
select in subprocess, to avoid rewriting adequate functions.
However, subprocess does an 'optimization' to skip
select if there's fewer than 3 pipes to juggle and no timeout specified.
Induce python to always use select
by specifying a very long timeout.
This causes confluent to be able to spawn multiple subprocesses and
not be hung waiting for input.
2021-09-23 10:42:47 -04:00
Jarrod Johnson
5d20ee6cca
Serialize ssh agent interaction
...
Race conditions could occur when multiple
requests came in too close together.
2021-09-23 09:40:10 -04:00
Jarrod Johnson
4ab5cac3eb
Generate random serial number for certificate
...
Hardcoding 0x123 serial number would cause strict clients to reject the
certificate.
While we are still not guaranteeing uniqueness, the chances of a
duplicate are impossibly small.
2021-09-22 07:48:44 -04:00
Jarrod Johnson
1b88e44c59
Ignore broken lldp results
...
Some switches may have broken incomplete records,
skip such records to focus on viable complete records.
2021-09-16 15:49:36 -04:00
Jarrod Johnson
9687ce89b8
Use fe80:: match to find index for getting addresses
...
This fixes a problem where fetching
from fe80:: fails to identify nic.
2021-09-13 17:54:18 -04:00
Jarrod Johnson
52bebe41d1
Provide ipv6 only for deploycfg2
...
Older profiles may trip over new network
lines, spare them 'v6' entries until
they opt into deploycfg2.
2021-09-13 10:26:17 -04:00
Jarrod Johnson
8eb242cba0
Add ipv6 support to genesis
2021-09-09 16:27:59 -04:00
Jarrod Johnson
20f607f49e
Skip calling localectl when possible
...
localectl can sometimes be unworkable,
prefer sourcing the relevant configuration files directly
when possible.
2021-09-08 12:42:43 -04:00
Jarrod Johnson
3762a37243
Provide advertise and reply
...
Since the packets are the same, just need to handle the
request type.
2021-09-07 16:50:55 -04:00
Jarrod Johnson
f3d7a949e6
Fix ipv6 netboot support to get to request
...
A number of mistakes were in
netutil and the advertise needed
to be complete and transmitted.
2021-09-07 16:13:27 -04:00
Jarrod Johnson
10e408559b
Merge branch 'master' into ip6
2021-09-07 11:10:25 -04:00
Jarrod Johnson
aaea5bcaeb
Make sure the netlink socket closes on the way out
2021-08-30 09:01:42 -04:00
Jarrod Johnson
3d4462d788
Fix support for newer XCC firmware
...
Newer XCC firmware requires more parameters for usermodify
2021-08-27 18:29:38 -04:00
Jarrod Johnson
a9044238ba
Further the IPv6 support
2021-08-26 17:44:30 -04:00
Jarrod Johnson
d4a846e786
Merge branch 'master' into ip6
2021-08-26 12:23:29 -04:00
Jarrod Johnson
7c617a160b
Close socket in relay_data
...
Closing the socket outside of relay_data causes relay_data
to stay alive, causing eventlet to think a filehandle is open that is not.
A reasonable question would be why eventlet fails to error that read
when the filehandle is closed, but for now, move the close activity
to the relay_data handler.
This resolves "Second simultaneous read on fileno" conditions introduced
by the fix for leaking filehandles.
2021-08-26 11:52:22 -04:00
Jarrod Johnson
3e21587f22
Update error text for redfish to cover completely unsupported redfish
...
systems
2021-08-26 08:58:02 -04:00
Jarrod Johnson
1b3231377c
Draft work to update pxe and netutil for ipv6 support
2021-08-25 17:58:36 -04:00
Jarrod Johnson
ba7ccaa7f2
Document the netlink data in neighutil
2021-08-25 17:57:52 -04:00
Jarrod Johnson
597db2138f
Begin work on ipv6 netboot support
2021-08-25 09:21:12 -04:00
Jarrod Johnson
6bb6b362ab
Provide support for merging multiple sources to single destination
2021-08-24 17:39:06 -04:00
Jarrod Johnson
0cfd18d84e
Add a little main to experiment with neighutil
2021-08-24 17:18:10 -04:00
Jarrod Johnson
51a73737a7
Fix new neigh behavior
...
It would sometimes miss a lookup.
2021-08-24 17:15:56 -04:00
Jarrod Johnson
4f4d02d68f
Refactor neighutil
...
Stick to bytes in the expensive part, only convert to and from
presentation form on lookup need.
Convert all external calls to a unified lookup logic.
2021-08-24 16:19:41 -04:00
Jarrod Johnson
797465b3eb
Handle some intra-collective errors better
2021-08-24 15:50:03 -04:00
Jarrod Johnson
69b58836f6
Change to built in neigh fetch
...
Rather than outsource, slowly,
to ip neigh for this frequent task,
call netlink directly.
2021-08-24 11:54:33 -04:00
Jarrod Johnson
06cfd408fc
Fix handling of abrupt client close
2021-08-24 07:57:14 -04:00
Jarrod Johnson
f855dda70f
Sort list of distributions and profiles
...
The default sort order of listdir
isn't particularly helpful to anyone.
2021-08-18 15:40:58 -04:00
Jarrod Johnson
b07ca72a8b
Close stray filehandles
...
Proxied terminals and dispsatched
requests would leak filehandles.
2021-08-17 17:18:10 -04:00