Jarrod Johnson
f2f25fe912
Implement ready tracking
...
When going through the
dramatic scenario of initializing collective,
take _ready down
so that other code can
pause operation appropriately.
2023-09-15 15:25:26 -04:00
Jarrod Johnson
c0629fcce5
Fix invocation of json restore change
2023-09-15 11:41:12 -04:00
Jarrod Johnson
4952e87309
Undo collective manager changes
...
Abort attempt to avoid duplicate startups, it was incorrect.
2023-09-15 10:52:13 -04:00
Jarrod Johnson
533244458d
Do not count as 'initting' until collective starts.
2023-09-15 10:37:51 -04:00
Jarrod Johnson
20f02b5ef7
Avoid searching switches for foreign nodes
...
Consult collective.manager
to decide to skip
consideration of a node, if
that node shouldn't be managed anyway.
This should avoid "cross-island" behavior for such
environments.
2023-09-15 10:07:14 -04:00
Jarrod Johnson
df47c6d0fd
Disable attribute notify during json restore
...
This is guaranteed to be a lot of churn very quickly, disable it for
now.
2023-09-13 17:03:05 -04:00
Jarrod Johnson
97ee8e2372
Cerrect the logic of duplicate discovery protection
2023-09-13 10:50:21 -04:00
Jarrod Johnson
74c6848a0b
Avoid redundant setting of known data
...
Setting attributes can be a touch expensive, since
there's a high risk
of this being old news,
check that discovery hasn't already set values
before trying to set them again.
2023-09-13 09:59:03 -04:00
Jarrod Johnson
b75979f3ec
Insulate confluent from fatal errors from discovery subscription errors
2023-09-12 16:59:53 -04:00
Jarrod Johnson
00eb9e3c9d
Fix full_net_config with missing address info
2023-09-12 16:49:15 -04:00
Jarrod Johnson
9441221150
Have cooltera plugin adapt
...
As new sensors appear, be more adaptive
to continue tracking existing sensors.
2023-09-08 11:30:57 -04:00
Jarrod Johnson
691d92f735
Avoid calling implicit nic config if nowhere to put it
...
If 'None' attributes are in use,
we'd have no where to
stick implicit configuration anyway.
2023-09-07 14:41:16 -04:00
Jarrod Johnson
8ca1f80ef6
Fix implicit nic in confignet
...
If the implicit IP
is not in any of the
attribute groups of net,
then auto-vivify from the normal place.
2023-09-07 14:36:56 -04:00
Jarrod Johnson
22cb2bdc40
Handle Ubuntu hardcoded grub cfg
...
Ubuntu hardcodes grub.cfg to
another location.
Make a stub file as a flag to guide osimage
to know where grub.cfg goes.
2023-08-29 10:57:25 -04:00
Jarrod Johnson
b14b34bdbd
Add limited sensor support for Eaton PDUs
2023-08-22 12:28:07 -04:00
Jarrod Johnson
189ba525d3
Merge pull request #91 from sjtstg/ansible-play-fix
...
fix ansible support when multi stage plays are in playbook
2023-08-15 08:38:56 -04:00
Jarrod Johnson
9a1c9eb43f
Improve ssh concurrency on websocket
...
ssh module was pausing input for the
entire websocket while doing the simple 'write' operation.
Change to background the actual
logon processing,
rather than blocking what should be a fairly trivial write operation.
2023-08-03 09:56:36 -04:00
Jarrod Johnson
89bd798f8b
Increasing time again, outlet count didn't factor
2023-08-02 15:20:29 -04:00
Jarrod Johnson
bf10e58f00
Bump version
...
With recent collective changes, bump the version to block connection with
older collective members until upgraded.
2023-08-02 13:43:41 -04:00
Jarrod Johnson
cbf2cdcdc5
Scale timeout with number of outlets
...
Delta PDUs seem to serialize outlet operation.
2023-08-01 16:08:51 -04:00
Jarrod Johnson
987587aaf8
Allow custom auth file to define valid roles
2023-07-26 16:37:55 -04:00
Jarrod Johnson
ad25c31d3f
Correct error in check_for_yaml function in auth
2023-07-26 16:15:36 -04:00
Jarrod Johnson
b1018d648e
Hook loading of /etc/confluent/authorization.yaml
...
This should permit custom roles to be defined.
2023-07-26 16:05:29 -04:00
Jarrod Johnson
957b979dde
Reorder imports in configmanager to mitigate circular import
2023-07-24 13:38:44 -04:00
Jarrod Johnson
48c4a2e062
Have reconnects use new TCP connections
...
Current code was trying to reuse connections that would be useless,
explicitly go to new TCP connections for reconnection.
2023-07-24 12:31:32 -04:00
Jarrod Johnson
285a159ba5
Implement a number of improvements for collective
...
For one, remove 'non-voting' members from being leaders.
Large number of leader candidates create long delays for
converging on a valid organization. Further, some treat 'non-voting'
more roughly, inducing the worst case convergence scenario of unclean
shutdown of leader.
Convergence now happens fairly quickly for collectives with large
number of non-voting members.
During initial DB transfer, the leader would be tied up unreasonably
long handling the jsonification of a large configuration. Offload to a worker
process to allow the leader to continue operation while this intensive, rare
operation occurs.
Reliably run a reassimilation procedure for the lifetime of the leader.
This allows orphaned members to be prompted to join the correct leader.
Serialize the onboarding of a connecting member, and have redundancy more gracefully
paused. This avoids excessive waiting in lock and more deterministic timing
with respect to timeout expectations by the connecting system.
2023-07-24 11:11:39 -04:00
Jarrod Johnson
8ea2ba046e
Sort the IP addresses in nodediscover for consistent UI
2023-07-19 16:16:27 -04:00
Jarrod Johnson
f16daa44dd
Handle older python with addrinfo
...
While newer python omits '%',
older python includes. Change to handle
either form.
2023-07-19 16:04:25 -04:00
Jarrod Johnson
03fce4f762
Adjust sys.path logic in macmap and osimage
...
Ensure the sys.path logic
is before attempting
the relevant imports.
2023-07-19 12:15:01 -04:00
Jarrod Johnson
a875f0d3e1
Correct syntax error in selfservice
2023-07-06 14:04:49 -04:00
Simon Thompson
6ee9f96e08
fix ansible support when multi stage plays are in playbook
2023-07-06 09:34:38 +02:00
Jarrod Johnson
fcc62b7cb7
Improve confluent scanning on newer python
...
Newer python changed the format of peer[0], adapt to the change
to use the socket info if not available in the peer[0] string.
2023-07-05 16:34:37 -04:00
Jarrod Johnson
11cb47c03e
Use natural sort on some self service calls
2023-07-05 16:18:49 -04:00
Simon Thompson
45f22c3e31
when host is not in hosts file, group_vars is not loaded, change logic to emulate host being in hosts file with no groups to ensure group_vars is loaded which permits use of dynamic grouping in plays
2023-07-05 21:25:25 +02:00
Simon Thompson
d0f978548e
sort directory listing to make ansible plays and script order deterministic
2023-07-05 21:23:55 +02:00
Jarrod Johnson
052d16aa49
Avoid modifying PYTHONPATH
...
Since there's a possibility of cross-python invocation,
avoid modifying PYTHONPATH
2023-07-05 11:40:00 -04:00
Jarrod Johnson
7ddd2c2e6e
Correct mistakes in shebang adaptive behavior
2023-07-05 11:14:32 -04:00
Jarrod Johnson
9186c8142c
Fix incorrect reference in the smm validation by certificate
2023-06-28 13:13:26 -04:00
Jarrod Johnson
c07248d58e
Fix outlet control on Geist PDUs.
2023-06-27 08:04:16 -04:00
Jarrod Johnson
013de4f881
Adapt to ansible python runtime
...
Unfortunately, python being python, ansible may elect to install under a
different python runtime than confluent.
In such a case, hope that the ansible python can work.
Remove eventlet as a hard requirement, as
that is unlikely to be in ansible python.
This leaves msgpack, which is unavoidable, for now. But if it's in ansible python,
it's fine.
2023-06-26 15:41:44 -04:00
Jarrod Johnson
795b4c513d
Rework for connected temperature sensors
...
PDUs behave differently when a sensor module is
connected. Handle
that difference and
provide the relevant data.
2023-06-26 12:32:45 -04:00
Jarrod Johnson
4056264991
Correct keyname from previous fix
2023-06-23 17:01:50 -04:00
Jarrod Johnson
77c8e93a8d
Fix terminal actions on shared websocket
...
The full complement of functionality was not
interpreted in shared context
2023-06-23 16:33:30 -04:00
Jarrod Johnson
75f0aaeee9
Allow session id through header
...
This permits a client to exert finer grained control
over the session id
than provided by cookie.
2023-06-08 11:30:32 -04:00
Jarrod Johnson
68f9688292
Drop SLP packets with error
...
Some implementations send
error for services they do not provide.
2023-06-08 08:02:59 -04:00
Jarrod Johnson
67204f79a1
Fix bug where dispatching a request could block all other activity
2023-06-02 11:06:44 -04:00
Jarrod Johnson
8f1be7c905
Fix Python2 compatibility issue with port forwarder
2023-06-01 16:50:06 -04:00
Jarrod Johnson
0db7d4f9d2
Stall readback of PDU after outlet control
...
There is some lag after requesting an outlet change and
the outlet state actually changing.
2023-05-26 10:43:04 -04:00
Jarrod Johnson
5d1315098f
Enhance and extend check of node relations
2023-05-25 11:14:58 -04:00
Jarrod Johnson
8f4982e850
Fix build mistake in the cooltera plugin
2023-05-15 08:30:44 -04:00