2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-01-12 19:12:37 +00:00
Commit Graph

2366 Commits

Author SHA1 Message Date
Jarrod Johnson
587ccd13cc More work toward asyncio
aiohttp now covers a lot of httpapi GET, and some of websocket.
2024-04-03 16:58:40 -04:00
Jarrod Johnson
198ffb8be6 Advance asyncio port
Purge sockapi of remaining eventlet call

Extend asyncio into the credserver to finish out sockapi.

Have client and sockapi complete TLS connection including password checking

Fix confetty ability to 'create'.
2024-04-01 16:38:10 -04:00
Jarrod Johnson
c1d680d8d8 Merge branch 'master' into async 2024-04-01 12:15:47 -04:00
Jarrod Johnson
34804b2d5f Provide components for cert management with modern XCC
Refresh getcsr and installcert to handle latest firmware.

Also add ability to have pre-existing CSR, and trust the SAN on the way through.

If this becomes more properly a feature, then would likely impose a SAN
on certs, similar to the SSH principals, rather than deferring to the CSR
to get it right.
2024-04-01 12:13:21 -04:00
Jarrod Johnson
1fbaee6149 Further move toward asyncio and reduce PyOpenSSL dep
Since we are rebasing to at least Python 3.6, and with
some extra ctypes wranging of the ssl context, we can likely
remove PyOpenSSL. Take first steps by removing it from 'sockapi'.

Have confluent executable become the 'top level' for eventlet, to allow
work on 'de-eventleting' on 'main.py'.

Rework tlvdata to deal with either a socket or a reader, writer tuple.
Using TLS with asyncio is easiest with the 'open_connection'
semantics, which force either a Protocol handler (callback based) or
dual streams.  While protocol approach ends with a more socket-like
'transport', the 'protocol' half is a bit unwieldy. So reader and writer
streams instead.
2024-03-29 16:23:45 -04:00
Jarrod Johnson
668c5af261 Bugfix and rework consoleserver a bit
Fix incorrect syntax in ssh.py, and correct direct asyncio
call of sock_recv when it must be called on the loop.
2024-03-25 15:18:05 -04:00
Jarrod Johnson
b1cd7bcd98 Wire up 'configuration/system/all' in async way
This allows the fundamental API call to pass through
2024-03-25 15:16:56 -04:00
Jarrod Johnson
508adc8d03 Merge master into asyncio 2024-03-22 15:52:04 -04:00
Jarrod Johnson
c60bf68cbc Logout prior to renaming user
Some firmware cannot tolerate a web session being
active during a rename.  Make sure logout has been done, and
give a retry if needed to let the session close out after
logging out.
2024-03-22 12:56:09 -04:00
Jarrod Johnson
6ad0e773de Actually have the vformat override return
Performing the super() is hardly helpful if it
doesn't actually copy the return behavior.
2024-03-21 16:28:49 -04:00
Jarrod Johnson
5a7d98c6b8 Enhance error reporting
For one, when using confluent expressions, induce {} to be an error to
trigger an error for someone trying to xargs something.

Another is to add warnings when clear does something deliberately, but
is something that might surprise a user, steering them toward
what they possibly might want to do instead.
2024-03-21 16:09:37 -04:00
Jarrod Johnson
13fc5d9f37 Capture better error data on failed syncfiles
syncfiles can often hang up in unexpected ways,
provide a catch-all.
2024-03-20 09:49:25 -04:00
Jarrod Johnson
7a6b03097b Fixup Ubuntu 22 ARM support 2024-03-18 12:24:25 -04:00
Jarrod Johnson
46edd8a49a Add a stub backdoor replacement 2024-03-15 17:11:12 -04:00
Jarrod Johnson
0570996c36 Merge branch 'master' into async 2024-03-15 15:51:08 -04:00
Jarrod Johnson
b157e55f00 Fallback to unverified noderange on candidate manager check in PXE
When doing pxe and the noderange of the candidate managers fails,
try again without validation in case the user omitted collective members
from nodelist, but still used ',' to enumerate them.
2024-03-15 15:50:58 -04:00
Jarrod Johnson
ce3d4d7256 Merge branch 'master' into async 2024-03-15 13:04:01 -04:00
Jarrod Johnson
60fe306890 Numerous fixes
Normalize cloning by wipefs prior to image2disk

Have imgutil filter out zram mounts.

Fix syncfiles error handling.
2024-03-15 13:03:46 -04:00
Jarrod Johnson
da63543a70 Advance the state of asyncio port 2024-03-15 12:50:04 -04:00
Jarrod Johnson
1d4505ff3c SSH test by IP, to reflect actual usage and catch issues
One issue is modified ssh_known_hosts wildcard customization
failing to cover IP address.
2024-03-14 11:21:41 -04:00
Jarrod Johnson
4ca82948ba SSH test by IP, to reflect actual usage and catch issues
One issue is modified ssh_known_hosts wildcard customization
failing to cover IP address.
2024-03-14 11:20:36 -04:00
Jarrod Johnson
399c1467c1 Remove redundant kill on the agent pid
Extraneous kill on the agent pid is removed.
2024-03-14 10:53:13 -04:00
Jarrod Johnson
876b59c1f0 Remove redundant kill on the agent pid
Extraneous kill on the agent pid is removed.
2024-03-14 10:52:52 -04:00
Jarrod Johnson
58d9bc1816 Updates to confluent_selfcheck
Reap ssh-agent to avoid stale agents lying around.

Remove nuisance warnings about virbr0 when present.

Do a full runthrough as the confluent user to ssh to a node when user
requests with '-a', marking known_hosts and automation key issues.
2024-03-14 10:50:26 -04:00
Jarrod Johnson
dcb6a1c759 Updates to confluent_selfcheck
Reap ssh-agent to avoid stale agents lying around.

Remove nuisance warnings about virbr0 when present.

Do a full runthrough as the confluent user to ssh to a node when user
requests with '-a', marking known_hosts and automation key issues.
2024-03-14 10:50:01 -04:00
Jarrod Johnson
0d720baf25 Fix lldp when peername is null
Some neighbors result in a null name, handle that.
2024-03-12 09:37:36 -04:00
Jarrod Johnson
f4f5fcdb6d Fix lldp when peername is null
Some neighbors result in a null name, handle that.
2024-03-12 09:36:40 -04:00
Jarrod Johnson
cdefb400f9 Expose fingerprinting and better error handling to osdeploy
This allows custom name and pre-import checking.
2024-03-11 13:33:15 -04:00
Jarrod Johnson
4f92e3413a Expose fingerprinting and better error handling to osdeploy
This allows custom name and pre-import checking.
2024-03-11 13:32:45 -04:00
Jarrod Johnson
d42e8e0921 Further asyncio port of confluent
Advance state of basic clients to advance testing and soon start doing
deeper activity.
2024-03-06 16:50:34 -05:00
Jarrod Johnson
5ae3f4c62a Properly address runansible error relay 2024-03-06 09:28:24 -05:00
Jarrod Johnson
496e7b4ef3 Properly address runansible error relay 2024-03-06 09:27:53 -05:00
Jarrod Johnson
2f8dfac9bc Dump stderr to client if ansible had an utterly disastrous condition 2024-03-06 09:27:31 -05:00
Jarrod Johnson
3d33e33ea2 Dump stderr to client if ansible had an utterly disastrous condition 2024-03-06 08:45:23 -05:00
Jarrod Johnson
0a8ec96cdf Further progress toward asyncio
Basic operations can now happen with some async flows.
2024-03-04 16:18:55 -05:00
Jarrod Johnson
d6bff637db Commence work on async 2024-02-23 11:56:07 -05:00
Jarrod Johnson
fa5b1c671e Remove disused bufferlock
We no longer use a lock on buffer communication, eliminate
the stale variable.
2024-02-22 15:07:51 -05:00
Jarrod Johnson
72e26caf36 Change to unix domain for vtbuffer communication
The semaphore arbitrated single channel sharing
was proving to be too slow.  Make the communication
lockless by having dedicated sockets per request.
2024-02-22 15:07:42 -05:00
Jarrod Johnson
91e0aa938c Remove disused bufferlock
We no longer use a lock on buffer communication, eliminate
the stale variable.
2024-02-22 15:07:12 -05:00
Jarrod Johnson
ed54bfa11a Change to unix domain for vtbuffer communication
The semaphore arbitrated single channel sharing
was proving to be too slow.  Make the communication
lockless by having dedicated sockets per request.
2024-02-22 15:05:56 -05:00
Jarrod Johnson
21f691cbd8 Correct the equality message in better messagesw 2024-02-13 16:00:50 -05:00
Jarrod Johnson
d07e6f86c0 Provide more useful error messages on mistakes within [] 2024-02-13 15:58:08 -05:00
Jarrod Johnson
3a0172cccc Make indirect PDU operations concurrent
Similar to the enclosure reseat work, have indirect
PDU operations be made concurrent across PDUs, though
still serial within a PDU.
2024-02-02 10:35:47 -05:00
Jarrod Johnson
59a31d38a2 Make reseat concurrent
Spawn reseat activity concurrently between chassis.  This should
reduce time to nodes per chassis rather than total nodes.
2024-02-02 08:51:12 -05:00
Jarrod Johnson
a17695ad06 Extend confluent PXE support
For relay agent options, preserve and echo back the option,
needed for certain environments.

Also, it turns out that for whatever reason on some platforms, iPXE's
proxyDHCP logic can't seem to get a reply.  In this scenario,
provide the filename in the DHCP offer without waiting for proxyDHCP.

This change may be worth evaluating more broadly, but may carry risk of not working
right with unmanaged DHCP servers.
2024-02-01 16:38:04 -05:00
Jarrod Johnson
7377c44e0f Fix problem where one multicast/broadcast attempt could tank other interfaces
Carrying over change from ssdp, ignore failures on transmit, particularly if
firewall
2024-02-01 08:50:44 -05:00
Jarrod Johnson
72cace5a50 More thoroughly wire up custom name
Have custom name go through to actual import and influence profile names
2024-01-30 11:11:27 -05:00
Jarrod Johnson
d0373977b3 Fix FFDC preflight checks
The code was comparing two string constants, instead of
a variable to a constant.  Correct the problem to enable
the preflight checks to work as intended.
2024-01-30 09:08:28 -05:00
tkucherera
fcb3d917db use socket.getaddrinfo 2024-01-26 17:14:04 -05:00
tkucherera
16ad4e776f opening web ui using default ip 2024-01-26 12:39:25 -05:00