2
0
mirror of https://github.com/xcat2/confluent.git synced 2025-01-15 20:27:50 +00:00

2118 Commits

Author SHA1 Message Date
Jarrod Johnson
730af73069 Correct open string in the attributes edit 2022-10-13 14:58:41 -04:00
Jarrod Johnson
84407e3d2b Correct syntax error in pxe handler 2022-10-13 14:49:09 -04:00
Jarrod Johnson
88b741e026 Add 'firmwarenone' ip method
Add a seting to allow user to suppress all DHCP offer during
PXE/HTTP activity.  This enables configurations
where users want to externally manage filename explicitly in their own dhcp configuration.
2022-10-13 12:11:46 -04:00
Jarrod Johnson
8de7402b56 Add ability to get booturl redirect
In some environments, there's a desire to manually manage DHCP configuration.
In such a case, provide a url
that can be given to the dhcp server
to allow confluent to control the profile
without updating such a DHCP service.

With this change, a node can be told to boot:
http://confluentserver/confluent-api/booturl/by-node/n123/boot.ipxe

To be redirected to the currently applicable os profile.
2022-10-13 10:54:11 -04:00
Jarrod Johnson
d5d0852890 Tighten redfish check timeout
The default timeout is overkill in the nodediscover scenario.
Notably, we can receive replies from unreachable IP addresses,
and those will extend rescan to the full timeout.  The devices should
comfortably reply within 3 seconds, making scans exit in
a timely fashion.
2022-10-07 09:22:37 -04:00
Jarrod Johnson
4fed609050 Avoid enumerating members of a bond
Various parts of confluent that go to try to use
all the interfaces will now skip bond members.

One example problem is that joining the SSDP multicast
group for SSDP would cause the kernel to IGMPv6 out
on bond members as well as the bond itself.  This change
ensures that the bond interface is only used and never
bypassed.
2022-10-07 08:52:02 -04:00
Jarrod Johnson
a77f211b8e Fix json restore of users and groups
Defaults were erroneously used
do to oversight and mistake in teh json restore code.
2022-10-06 09:23:43 -04:00
Jarrod Johnson
3c29a5aa7f Enable non-admin users for web gui 2022-10-06 08:49:00 -04:00
Jarrod Johnson
6eb4bf28e5 Another iteration to try to have IP adaptive syncfiles
It is likely that a client connects from fe80::, which
is explicitly omitted from ssh principals.

This time, have the client provide all currently set IP addresses
and the server will make a determination.

There remains the possibility it misconfigures a nic and tries to use that,
inducing failure.  One strategy would be to filter the addresses and
only provide from the 'current' interface.  Another is to just take
the hit as the node is likely going to suffer a lot from such a
misconfiguration anyway.
2022-10-05 12:23:47 -04:00
Jarrod Johnson
c612129d64 Have syncfiles attempt to use client ip, if feasible
When a node installs, it may not have it's node mapped address up,
or may not have one at all. Try to use the ip if it would be in the
same set that produced it's ssh certificate.

There remains a gap if a system has no static addressing *and* doesn't
map nodename to IP, but we have an impasse as the situation is too fuzzy
to grant a prinicpal in an SSH cert, and without that we can't securely
attempt rsync.  For now, this scenario would still fail and I will
just hope that doesn't come up.
2022-10-05 08:31:37 -04:00
Jarrod Johnson
75484db014 Fix macok incorrect value on finding the mac 2022-10-03 10:33:21 -04:00
Jarrod Johnson
763b157802 Fix syntax error 2022-09-30 12:36:12 -04:00
Jarrod Johnson
6e803e9fca Add insecure protocol check 2022-09-30 12:22:39 -04:00
Jarrod Johnson
9ecd3e3ac7 Add API check
Particularly SELinux is a frequently missed configuration
facet, alert when the selinux is blocking.
2022-09-30 12:17:31 -04:00
Jarrod Johnson
ee3aef0a4c Mark COPYRIGHT as legal in rpm 2022-09-30 11:02:55 -04:00
Jarrod Johnson
b7dfe20286 Add legal artifacts to confluent_server 2022-09-30 10:43:18 -04:00
Jarrod Johnson
c647dec069 Add message on successful node attribute run 2022-09-29 15:45:07 -04:00
Jarrod Johnson
903de26dd8 Add node attribute checks to selfcheck 2022-09-29 15:27:12 -04:00
Jarrod Johnson
cf000d6872 Add node name resolution check
A common scenario for closed networks
is a misconfigured DNS situation.

Detect and report, as this can wreak havoc on a confluent instance.
2022-09-29 09:57:43 -04:00
Jarrod Johnson
5a62307d1e Restore config by name
The change to allow CIDR syntax
broke for configurations that use name for
bmc 'address'.

Fix by letting getaddrinfo have a chance to process the ip before
trying to pton it.
2022-09-27 17:05:13 -04:00
Jarrod Johnson
0c08d8f6d3 Provide helpful error on bad user/password in delta pdu 2022-09-21 16:19:13 -04:00
Jarrod Johnson
5a935d99fc Have SMM devices register cleanly
In remote discovery registration, the
SMM path was not fully implemented
2022-09-13 13:29:42 -04:00
Jarrod Johnson
7cbd105ae3 Workaround TSM issue with redfish configuration 2022-09-09 12:04:38 -04:00
Jarrod Johnson
2bc2736da4 Fix neighutil invocation of ipn_is_local 2022-09-08 16:07:04 -04:00
Jarrod Johnson
4a8af0ad85 Fix assumptions about ip going into netutil 2022-09-08 14:35:16 -04:00
Jarrod Johnson
7b98b7dc00 Fix wrong uid after duplicate identity check 2022-09-08 09:51:21 -04:00
Jarrod Johnson
cde18bcd3a Cap the number of deferred packets
Prevent deferred packets from growing endlessly
if activity is keeping the loop running.
2022-09-07 08:04:47 -04:00
Jarrod Johnson
60cfa1d3c5 Skip peer probe on remote
When remote ip is detected,
communicate by returning False
instead of None.

Use this indication to let ssdp
skip a transmit and growing
pending list in such a case.
2022-09-06 16:40:34 -04:00
Jarrod Johnson
596fcb0f4c Implement mitigations for ovewhelming SSDP
First, for a given contiguous set of snoop activity, start ignoring a given peer during that contiguous chenk after it has been considered once.

Further, make get_hwaddr cheaper for attempts against
remote IPs.

To facilitate the above, create an efficient 'ip_is_local' to be
a relatively cheap function, with
potential to cache result in future
if it needs to be even cheaper.
2022-09-06 16:08:31 -04:00
Jarrod Johnson
7980534bad Fix confluentdbgcli.py for python3 2022-09-02 15:11:30 -04:00
Jarrod Johnson
6c1f87aeb7 Add mechanism for copernicus to request any confluent
This can be used for network debug in a generic way, to identify vlan adjacency without regard to nodedoploy state or uuid matching.
2022-09-02 13:32:05 -04:00
Jarrod Johnson
1c811dbf3e Fix python path automatically in confluent_selfcheck 2022-09-02 10:11:12 -04:00
Jarrod Johnson
503746131c Add selfcheck to packaging 2022-09-02 09:53:06 -04:00
Jarrod Johnson
a0037a305c Add confluent_selfcheck to server package 2022-09-02 09:44:13 -04:00
Jarrod Johnson
d1d15f29c1 Add facility to fix confluent uuid problem 2022-09-01 13:26:25 -04:00
Jarrod Johnson
67f0c8a81b Add IPv6 and insecure boot checking 2022-09-01 13:17:17 -04:00
Jarrod Johnson
ed91e0f2f3 Have askpass delete itself
This causes ssh-add to give up, instead of endlessly rerunning
the askpass script.
2022-08-31 17:17:33 -04:00
Jarrod Johnson
908e51221c Correct minor formatting mistake in warning 2022-08-29 12:22:14 -04:00
Jarrod Johnson
8277701af6 Rewrite site ssh even if
the /etc copy already exists.

IT may be that /var/lib/confluent is being repaired, in which
case just copy existng over while giving warning.
2022-08-29 12:16:35 -04:00
Jarrod Johnson
570611f22b Have osdeploy initialize skip SSH regen
When generating new key materials, most people say 'yes' and cause problems
where they cycle valid keys without
realizing the significance.

Replace prompting with an emphasized warning instead.
2022-08-29 11:10:45 -04:00
Jarrod Johnson
2a3e6cd6f1 Change websocket dependency name in EL7 2022-08-26 08:16:22 -04:00
Jarrod Johnson
352da94005 Implement rebase feature ofr osdeploy
Permit user to opt into a rebase of a
profile, to pick up potential updates
from the confluent packaged stock
profiles for files the user has not yet
customized.
2022-08-25 15:21:49 -04:00
Jarrod Johnson
93b7547c58 Enable IPMI for user if IPMI has been enabled globally elsewhere
Scenarios have come up with trying to repair partially
configured configuration, break
the global and per-account check
into separate concerns.
2022-08-24 10:13:53 -04:00
Jarrod Johnson
31b3d6ea06 Move manifest data into dedicated file 2022-08-24 09:29:48 -04:00
Jarrod Johnson
d97c508d86 Add hash manifest of new os profiles
When importing an image and taking stock copy, mark the files to allow detection of stock
versus customized profile content.

This will be used by a rebase command to know when
to overwrite or when to leave a file alone.
2022-08-23 15:25:17 -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
a445107c7f Fix setting privilege level alone for ipmi
The logic incorrectly had it depend on password also being present.
2022-08-19 09:10:52 -04:00
Jarrod Johnson
dde66c53c9 Dynamically ascertain name scheme for Delta pdu
Some delta pdus have different name schemes
than others, take the hit of
awkward parsing to autodetect.
2022-08-17 10:20:26 -04:00
Jarrod Johnson
57fcc8a243 Start SSH agent even on older ssh
The unusual path to automation key for syncfiles and ansbile
is most easily handled by ssh-agent, even if no passphrase
will be used
2022-08-16 15:06:26 -04:00
Jarrod Johnson
047cd6302a Add wait for IP connectivity
After config, there may be a delay
before the configuration takes effect.

This delay can break nodeconfig.

Try to wait for the delay to pass.
2022-08-09 08:50:19 -04:00