2
0
mirror of https://github.com/xcat2/confluent.git synced 2024-11-22 17:43:14 +00:00
Commit Graph

2437 Commits

Author SHA1 Message Date
Jarrod Johnson
362f6ae6d5 Merge branch 'master' into async 2024-07-02 15:13:26 -04:00
Jarrod Johnson
9d979256eb Revert "Add MegaRAC discovery support for recent MegaRAC"
This reverts commit 07005d83ca.

Premature addition to master branch
2024-06-27 11:36:41 -04:00
Jarrod Johnson
07005d83ca Add MegaRAC discovery support for recent MegaRAC
Create a generic redfish discovery and a MegaRAC specific
variant.

This should open the door for more generic common base redfish discovery
for vaguely compatible implementations.  For now, MegaRAC only
overrides the default username and password (which is undefined
in the redfish spec).

Also, have SSDP recognize the variant, and tolerate odd nonsense
like SSDP replies coming from all manner of odd port numbers (no
way to make a sane firewall rule to capture that odd behavior,
but at application level we have a chance).
2024-06-27 11:25:33 -04:00
Jarrod Johnson
411b2fae49 Merge remote-tracking branch 'lenovo/master' 2024-06-25 16:26:55 -04:00
Jarrod Johnson
762a8ee73f Correct proxyDHCP buffer use
It was possible for proxyDHCP to look past the network designated end of packet.
Fix this by consistently using the memoryview that was trimmed to size.
2024-06-25 16:25:19 -04:00
Simon Thompson
166e4599b9 add enos management plugin 2024-06-21 18:35:10 +02:00
Simon Thompson
d231326dfb add class to run cmd by ssh 2024-06-21 18:34:47 +02:00
Jarrod Johnson
9b8ec1e493 Merge branch 'master' into async 2024-06-14 11:16:34 -04:00
Jarrod Johnson
9394e83c81 Avoid pam blocking main thread execution
Use processpool to execute pam authentication,
avoiding a hang while waiting for child process.
2024-06-14 10:47:02 -04:00
Jarrod Johnson
f42812b836 Fix console over shared websocket
This fixes console behavior in the webui
2024-06-13 16:57:20 -04:00
Jarrod Johnson
b6a0250e5c Advance state of asyncio
Add a mechanism to close a session the right way
in tlvdata

Fix confluentdbutil/configmanager to restore/dump db to directory

Move auth to asyncio away from eventlet

Fix some issues with httpapi, enable reading body via aiohttp

Fix health from ipmi plugin

Fix user creation across a collective.
2024-06-13 16:32:02 -04:00
Jarrod Johnson
d06be55568 Add dependencies for Ubuntu Noble 2024-06-11 15:51:02 -04:00
Jarrod Johnson
8db6382629 Change autoversion scheme for dev builds
We need to be compliant with python versioning for the
tools to keep working
2024-06-11 09:25:57 -04:00
Jarrod Johnson
5d416cb1b1 Remove disused dependency list 2024-06-06 11:23:28 -04:00
Jarrod Johnson
6564f8de72 Update license material 2024-06-05 08:39:37 -04:00
Jarrod Johnson
bdb7f064d6 Rework a number of subprecess calls and osdeploy
Some subprocess calls were reworked to use asyncio friendly
variants.

Also, osdeploy initialize was checked, and reworked the ssh and tls
handling.

osdeploy import was also reworked to functional with async only.
2024-05-31 17:22:26 -04:00
Jarrod Johnson
85c8268ad8 Fix proxy console through collective in async 2024-05-30 16:14:39 -04:00
Jarrod Johnson
00eff4a002 Migrate IPMI SOL to asyncio 2024-05-30 15:37:06 -04:00
Jarrod Johnson
cbb52739d3 Fix a number of issues with async rework
Have util retain tasks that are 'fire and forget', to avoid
garbage collection trying to delete the background tasks.

Move some utilities explicitly over to asynclient/asynctlvdata that
had previously been reworked.

Implement terminal resize in new asyncssh backend.
2024-05-30 13:59:14 -04:00
Jarrod Johnson
4ba82b7ef4 Merge branch 'master' into async 2024-05-30 09:29:24 -04:00
Jarrod Johnson
bb414524ad Add fallback if timedatectl can't run. 2024-05-30 08:14:58 -04:00
Jarrod Johnson
c5405f832c Advance state of async shellserver
Can successfully run ssh sessions through
confluent with async now
2024-05-29 20:18:07 -04:00
Jarrod Johnson
4c3f93765f Have async and traditional client
Since a lot of the traditional client did not need async,
make life easier by just having them in parallel for now.

The server must use the async client, but the client applications can
stick with the somewhat more straightforward synchronous client.
2024-05-29 12:23:05 -04:00
Jarrod Johnson
b4ae6012c5 Remove eventlet from PXE support 2024-05-20 16:27:11 -04:00
Jarrod Johnson
782991aea3 Switch to asyncio usage of pysnmnp
This requires pysnm 6, the edition that should become the official one,
maintained by lextudio
2024-05-20 11:48:53 -04:00
Jarrod Johnson
6e751c811e Begin rework of macmap.py
Redo offload to asyncio subprocess, and
replace eventlet Events with futures for
messaging.
2024-05-17 17:07:18 -04:00
Jarrod Johnson
c03aa728cc Properly detect killed leader
If leader closes connection, then have get_next_msg return None
as it did before.
2024-05-17 16:03:37 -04:00
Jarrod Johnson
207cc3471e Fix closing sockets in various contexts
With asyncio, we must close the writer half of a pair

Also rework the get_next_msg to work better.

Still need to allow stop_following to interrupt get_next_msg
2024-05-16 15:40:43 -04:00
Jarrod Johnson
c0bcc3791d Fix handling some eatonpdu return values 2024-05-15 12:30:36 -04:00
Jarrod Johnson
5a9f608451 Fix handling some eatonpdu return values 2024-05-15 12:30:13 -04:00
Jarrod Johnson
90b90ade9c Remove disused iovec
iovec is no longer used due to migration from relevant
recvmsg ctypes call.
2024-05-09 09:49:56 -04:00
Jarrod Johnson
2e30f7fb86 Prune unneeded ctypes material from pxe
Moving to .recvmsg from python socket eliminates
most of the ctypes requirement. Still using it for sendto.
2024-05-09 09:46:01 -04:00
Jarrod Johnson
e1e3244af6 Port PXE to asyncio and re-enable 2024-05-09 09:40:03 -04:00
Jarrod Johnson
5fd0cf2b0b Begin conversion of pxe to asyncio
Also convert to 'natural' recvmsg now that we are requiring
python high enough to have it.
2024-05-08 17:18:07 -04:00
Jarrod Johnson
bd2f08d3ad Reactive SSDP in discovery core
Also, fix a getaddrinfo call to be async.
2024-05-08 13:18:38 -04:00
Jarrod Johnson
b9a2c9a3ae Convert more XCC handling to asyncio 2024-05-08 13:18:05 -04:00
Jarrod Johnson
42b7cbe421 Implement SSDP asyncio
This covers SSDP devices as well as confluent deployment
discovery.
2024-05-08 13:17:43 -04:00
Jarrod Johnson
62be16442c Fix passive detection of SLP devices (e.g. SMM)
A mistake in the python3 port caused passive SLP
detection to break. Remedy that mistake.
2024-05-08 11:51:00 -04:00
Jarrod Johnson
a3506cf0bf Correct misrouting in slp
IPv4 scan responses were lost as
the reader was passed IPv6 socket
no matter what.

Also, remove some needless verbosity.
2024-05-08 11:48:46 -04:00
Jarrod Johnson
25d4d13a96 Finish conversion of slp to asyncio.
Make process_peer async, with socket connection being async,
and dependency.

Have getaddrinfo use the asyncio version.

Rework the snoop to be more effective.

Rework the scan to be less convoluted.
2024-05-08 11:35:33 -04:00
Jarrod Johnson
23658680a5 Have slp mostly work
Advance the SLP discovery code and core discovery
to mostly work.
2024-05-07 17:02:51 -04:00
Jarrod Johnson
2089f5e7e6 Deal with normal generator from a plugin 2024-05-07 17:01:04 -04:00
Jarrod Johnson
b3e0117944 Fix getpeername invocation in async 2024-05-07 17:00:43 -04:00
Jarrod Johnson
5e222041bf Merge branch 'master' into async 2024-05-03 10:27:31 -04:00
Jarrod Johnson
b7a5101a34 Provide extra warning about redoing SSH materials 2024-05-03 10:27:01 -04:00
Jarrod Johnson
ee6f869cea Port utilities to asyncio, selfcheck and osdeploy
confluent_selfcheck removes eventlet dependency,

osdeploy reworked to use async methods to work with new client.
2024-04-30 14:30:01 -04:00
Jarrod Johnson
b967c552fd Migrate intra-collective requests to asyncio
Update dispatch to be asyncio based, remove eventlet from core

Clean up some overly verbose print statements.
2024-04-30 13:56:00 -04:00
Jarrod Johnson
553916340e Advanced asyncio port progress
Offer a function in core to normalize plugin return.

A plugin might return an async generator, a traditional generator,
or might even return an awaitable wrapping a traditional generator.

Replace eventlet spawn with util spawn in discover core

Have node attribute update await the set_node_attributes appropriately
2024-04-30 10:44:43 -04:00
Jarrod Johnson
a5dc10debf Fix attribute synchronization
Specify a finite read to actually return from the buffer.

Convert some functions to async/await as appropriate.
2024-04-29 10:54:30 -04:00
Jarrod Johnson
d2edcb62c6 Begin implementation of asyncio collective
The config synchronization is in progress.
2024-04-26 15:48:14 -04:00