Jarrod Johnson
203dabfb0b
Place nameservers on every NIC in netplan
...
netplan, like others, makes the questionable choice to designate DNS
as a NIC specific setting, despite not mapping well
to a NIC.
Since we model DNS like NTP, a global, just repeat the DNS config for
every interface. This redundancy is fine in testing multiple
interfaces.
2023-09-08 16:56:58 -04:00
Jarrod Johnson
fa60a9dc9f
Add IPv6 support to confignet
2023-09-01 16:34:30 -04:00
Jarrod Johnson
1f32ef2310
Implement basic netplan support
...
Start with single links, ipv4 only for ubuntu.
2023-09-01 10:07:51 -04:00
Simon Thompson
b27542ec00
Confignet does not set autoconnect with network manager so disk installed images do not bring up interface on reboot
2023-08-17 10:30:36 +02:00
Jarrod Johnson
75add230b6
Skip API key init on checkonly runs
...
Checkonly does not require API key, and makes apiclient more dependent
on material that is unlikely to exist early in a deployment.
2023-08-09 11:13:09 -04:00
Jarrod Johnson
41437c511b
Fix when networkmanager breaks one of our connections
...
This usually happens with ipv6 link local used
in initramfs stage, after networkmanager may
mutilate the ipv6 connectivity.
2023-06-12 08:49:13 -04:00
Jarrod Johnson
5e72d40c03
Fix compatibility issue with python2
2023-06-01 13:31:32 -04:00
Jarrod Johnson
e476c7b9e6
Avoid deprecationwarning in python 3.10+
...
Newer python is not backwards compatible with
a constant. Attempt to use new
constant and fallback to teh old one
if unavilable.
2023-05-18 09:20:52 -04:00
Jarrod Johnson
2237e0e173
Add a retry mechanism for connecting socket
...
Timing is sensitive during the handshake, catch and retry
if it should fail.
2023-05-10 11:12:29 -04:00
Jarrod Johnson
430b24081c
Have apiclient timeout if IO hangs up
2023-05-09 16:04:24 -04:00
Jarrod Johnson
5418d9ea97
Place a common script for setupssh
2023-03-10 16:05:29 -05:00
Jarrod Johnson
733b6853dd
Up newly added interfaces as a matter of course
2023-02-28 12:04:20 -05:00
Jarrod Johnson
9c1e7a7142
Allow interfaces to supersede default
...
In some scenarios, the 'default'
interface is overlapped by another connection, either
identical or as a superset in a bond.
Whittle down the default
interface if superseded
to mitigate duplicate interface setup.
2023-02-14 14:53:40 -05:00
Jarrod Johnson
2b01d9fbfa
Properly store all candidate host ip addresses
...
This is needed to ensure that mis-detected primary ip
falls through to another viable ip
2023-01-30 12:40:40 -05:00
Jarrod Johnson
02e242ec4e
Restore link local cert in apiclient
2023-01-27 09:13:47 -05:00
Jarrod Johnson
d14d28caf8
Confirm TLS connectivity when scanning hosts
...
In certain environments, Confluent may have an IP address that
is fake, but then there is elsewhere with that same IP for real.
To mitigate this, follow up basic connectivity with proof of having
an associated certificate.
2023-01-24 08:22:00 -05:00
Jarrod Johnson
fb98cbaa4a
Restore fallback to plain MANAGER specification
...
This is used in the media based deployment
2022-12-08 09:28:32 -05:00
Jarrod Johnson
3afd6ecb5d
Temporarily enable IPv6
...
NetworkManage may go further out of it's way disabling ipv6, disable using proc to
overcome that
2022-10-28 12:10:03 -04:00
Jarrod Johnson
fcf342165c
Fix apiclient detection of default interface
...
It was failing to record the default interface in its checks.
2022-09-29 13:15:37 -04:00
Jarrod Johnson
484dbd9f74
Fix default interface detection
2022-09-23 16:10:55 -04:00
Jarrod Johnson
801e43936c
Revise ESXi routed deployment
...
-Have apiclient set timeout on getting credential to avoid hang
-Change dcuiweasel to start shell earlier for better debug
-Do not expire the ident token if deployment is armed continuous anyway
2022-08-19 16:06:46 -04:00
Jarrod Johnson
2aed973a8b
Have apiclient check all hosts for connectivity
...
Further allow it to output the result and feed that to esxi startup.
2022-08-08 11:18:35 -04:00
Jarrod Johnson
9987cb5c03
Advance state of routed esxi deployment
2022-07-27 07:51:41 -04:00
Jarrod Johnson
e8d2f550b8
Draft work on ESXi identity image deployment
...
Prepare for routed deployment of ESXi
2022-07-25 17:05:30 -04:00
Jarrod Johnson
0b20e0b634
Fix confuent scan for python 3.9
...
Python 3.9 removes the scope from the string
address, put it back if missing since it's required
to actually be usable.
2022-06-07 10:55:56 -04:00
Jarrod Johnson
b830a317f6
Change suse from team to bonding
...
Suse more naturally supports team, and the industry push to team
has evaporated
2022-03-24 09:10:42 -04:00
Jarrod Johnson
4e4fe03b62
Properly honor explicit interface_names
...
A mistake resulted in plural interface_names being treated as singular.
2022-03-24 07:44:13 -04:00
Jarrod Johnson
003196bc9e
Allow -o with data file
...
This makes things like ssh key signing easier.
2022-03-03 08:25:04 -05:00
Jarrod Johnson
50da83b4f5
Fix api token message not being pushed
2022-02-24 15:56:29 -05:00
Jarrod Johnson
15f4cc085d
Aggressively flush out error output
2022-02-24 15:46:38 -05:00
Jarrod Johnson
1a5f5aea3a
Try an alternative approach to autoconsole errors
2022-02-24 12:18:41 -05:00
Jarrod Johnson
fb1f6b70bb
Improve error handling on bad TLS cert
...
Bad TLS cert is a common problem, provide better feedback.
2022-02-24 09:27:40 -05:00
Jarrod Johnson
638a1b3587
Fix confignet for python2
2022-02-03 11:50:34 -05:00
Jarrod Johnson
e94d0a5236
Fix for EL7 compatibility
...
Some python 3 exclusive assumptions were made.
Unfortunately, EL7 is python2
centric.
2022-02-03 10:09:28 -05:00
Jarrod Johnson
554e25d6cb
Assume libcrypt.so.1 if not 2 in more generic way
2022-02-02 11:17:08 -05:00
Jarrod Johnson
f346cae683
Use more widely known paths for libcrypt
2022-02-02 10:53:46 -05:00
Jarrod Johnson
1431f9ce13
Change to python 2/3 agnostic syntax
2022-02-02 08:37:22 -05:00
Jarrod Johnson
456b43eeb7
Correctly align rtattr and nlmsg
...
When advancing through messages,
must pad to nearest multiple of
4. This resolves erroneously landing on incorrect offsets.
2022-01-19 13:21:59 -05:00
Jarrod Johnson
abec8c498c
Break netlink address fetch on invalid rta_len
...
It is considered valid for kernel to return a null rta_len
in the midst of data and expect the caller to terminate.
2021-12-20 12:28:35 -05:00
Jarrod Johnson
8df1c5b8e4
Make confignet available as a 'common' script
2021-11-08 16:23:56 -05:00
Jarrod Johnson
4e9020c3a7
Add SUSE support for confignet
2021-11-02 14:04:11 -04:00
Jarrod Johnson
db7cb6450b
Temporarily stop firewalld and add pause to try to wait for address assignment
2021-11-02 09:43:42 -04:00
Jarrod Johnson
ea310e472a
Improve preservation of existing connections/settings
...
When teaming up nics, salvage
things like dns settings from members.
When a connection already seems to exist, modify it rather than delete and replace,
for less disruption.
Running repeatedly should now be safer.
2021-11-01 12:34:37 -04:00
Jarrod Johnson
6df8170401
Draft confignet implementation
...
This will team and set up additional interfaces,
but, for one, no dns. Need to merge with deploycfg info, since
networkmanager is intent on making dns a
connection oriented thing.
2021-10-29 17:16:16 -04:00
Jarrod Johnson
78163f1d09
Correct issue in parameter rename for apiclient
2021-10-29 07:23:26 -04:00
Jarrod Johnson
8ef70d463f
Draft client for net configuration
...
Common code to struction networks into structure for configuration.
This organizes and autodetects
overlap, in prep for auto-teaming.
2021-10-28 17:09:09 -04:00
Jarrod Johnson
aff0c82b0b
Fix apiclient with explicit host
2021-10-28 16:15:21 -04:00
Jarrod Johnson
925ea3e95a
Refactor apiclient and allow specific host
...
For getnetcfg, will need to select
spsecific interfaces. While
tocuhing that anyway, simplify the
v4/v6 paths to be more agnostic.
2021-10-28 15:48:58 -04:00
Jarrod Johnson
6f967a3afa
Bind apiclient search to make for viable firewall rule
2021-10-28 12:55:42 -04:00
Jarrod Johnson
6550d584a2
Give scan callers a context for tracking local interface
...
When trying to leverage autodetect strategy for net config,
will need to keep track of receiving interface. For now
only use ipv6 for this capability, as getting the incoming nic
for ipv4 would be more work.
2021-10-20 14:10:59 -04:00