2
0
mirror of https://github.com/xcat2/confluent.git synced 2024-11-22 09:32:21 +00:00
Commit Graph

288 Commits

Author SHA1 Message Date
jbjohnso
d854383be5 Provide a clear_group_attributes so that code may 'unset' attributes on a group 2014-04-22 16:17:47 -04:00
jbjohnso
00e3ec07ac Provi 2014-04-22 16:01:42 -04:00
jbjohnso
e2395be10a Log disconnection when a console session is closed 2014-04-22 11:23:17 -04:00
jbjohnso
3e6d405abf Fix node collection notification code 2014-04-22 10:52:52 -04:00
jbjohnso
640a6ece45 Correct configmanager registration failures with no tenants 2014-04-21 17:01:25 -04:00
jbjohnso
e0f6bfeec2 Actually invoke the attempt at console autostart 2014-04-21 16:42:01 -04:00
jbjohnso
2a9c58ca72 Correct mistake in cleanup activity 2014-04-21 16:40:14 -04:00
jbjohnso
4706a4283d First pass at implementing console auto start 2014-04-21 16:37:33 -04:00
jbjohnso
a93c14df4c Add some notes about security related design 2014-04-21 16:01:14 -04:00
jbjohnso
49074bec74 General code cleanup 2014-04-21 10:48:18 -04:00
jbjohnso
a1ca028029 Cleanup the confetty client code 2014-04-21 10:17:13 -04:00
jbjohnso
5e79db5ca4 More style tweaks for PEP8 2014-04-18 17:22:08 -04:00
jbjohnso
1fc7a0716a Address a number of style and other issues 2014-04-18 17:13:50 -04:00
jbjohnso
b3bc558bbe Clean up warnings on messages 2014-04-18 16:11:18 -04:00
jbjohnso
2b086b9424 Style cleanup on several files 2014-04-18 15:52:29 -04:00
Jarrod Johnson
5152759270 Provide correct response when a node does not exist 2014-04-18 14:50:43 -04:00
Jarrod Johnson
b9f4e14170 Fix list_* functions to correctly handle non-existent collections 2014-04-18 14:42:35 -04:00
Jarrod Johnson
cf4e8713ff Daemonize and honor pid file lock for exclusive execution 2014-04-18 14:34:16 -04:00
Jarrod Johnson
f509bc5db9 Rework most of the logging so that the output is no longer interesting 2014-04-18 10:36:51 -04:00
Jarrod Johnson
f3bd9569fd Log when a console connection is established and lost 2014-04-16 15:45:05 -04:00
Jarrod Johnson
db456dd9e5 Have consoles meaningfully retried to see if the target is reconfigured
Previously, if a username or password was bad, retry would not occur.
Correct this such that every so often or right when someone connects,
the target is checked to see if the user/password is now considered good.
2014-04-16 10:18:59 -04:00
Jarrod Johnson
e4d0cb8207 Implement persistent IPMI structures
This reduces the health check from 2 seconds to 500 milliseconds
2014-04-15 15:24:32 -04:00
Jarrod Johnson
ca2a4ed775 Add health/hardware resource to nodes and wire up for IPMI 2014-04-15 14:59:36 -04:00
Jarrod Johnson
6aaee681e7 Have a user url without a valid user return a more useful message 2014-04-11 11:30:17 -04:00
Jarrod Johnson
1ff7283dbb Jot down notes about things to work in the future 2014-04-11 10:03:02 -04:00
Jarrod Johnson
e9422e3c4d Implement the ability to delete users 2014-04-11 10:07:35 -04:00
Jarrod Johnson
1b7a18c108 Implement a first attempt at '/users/' to manage authorization and authentication 2014-04-10 17:05:57 -04:00
Jarrod Johnson
4ad8c6ff40 For resource paths short enough, assume a collection name rather than resource name 2014-04-10 13:49:59 -04:00
Jarrod Johnson
0ab31694d5 Implement create and delete from CLI 2014-04-10 13:48:29 -04:00
Jarrod Johnson
9d72be287e Implement send break support in confluent consoles 2014-04-09 15:37:35 -04:00
Jarrod Johnson
d72f3addae Fix missing __init__.py from git repository 2014-04-08 16:27:37 -04:00
Jarrod Johnson
92512da79f Apply IBM 2014 copyright and Apache 2 license to project 2014-04-07 16:43:39 -04:00
Jarrod Johnson
092983caf5 Fix mistake in configmanager around deleting a group 2014-04-07 16:28:45 -04:00
Jarrod Johnson
be552cc446 Fix the session reconfiguration automatic response
Previously, it would register 2**x attribute watchers by mistake.  Exponential
growth of threads trying to talk to one BMC is evidently a bad thing.  Fix
this by correctly tracking and cancelling previous attribute watchers.
Additionally, mask a harmless exception brought on by the death of orphaned
pyghmi console objects by having them yell into the endless void rather
than trip on an exception.
2014-04-04 20:45:48 -04:00
Jarrod Johnson
4f2b15dc8e First pass at automatic reconfiguration enablement
The ipmi plugin, at least, is not yet quite right.  Need to
continue debugging having a console session open, then changing
the bmc to a bad address, then changing it back.  I fixed some of
the easier exceptions, but it is clearly still getting quite confused
to the point where 3 or 4 cycles guarantees the console can not easily heal.
2014-04-04 18:40:45 -04:00
Jarrod Johnson
32ffa4587e Render console method specification more straightforward
Require user indicate 'console.method' rather than trying to guess.
Notably, console.method might not be desired in a configuration
that wishes only to use remote video.
2014-04-04 12:36:46 -04:00
Jarrod Johnson
530cb64402 Fix the 'everything' group behavior 2014-04-04 09:28:09 -04:00
Jarrod Johnson
0d668e3f55 Fix ipmi plugin use of new attribute names 2014-04-04 09:15:20 -04:00
Jarrod Johnson
c89a165c6a Simplify IPMI credential management
The strategy was going to allow for a distinct IPMI account for automation
from other protocols.  However, this is pretty complicated to explain to
people.  The thought before was that the HTTPS/SSH type access could use
a passphrase that is easy to remember whilst ipmi accounts would tend
to be randomized.  Instead, have the software managed authentication
info be used across all protocols and avail endpoint of user management
to add human-friendly accounts if needed (disabling IPMI/SNMP by default
in such cases).
2014-04-04 09:09:00 -04:00
Jarrod Johnson
aadbfdb29a Remove aliases for 'nodes' for now
The aliases can be added when/if the time comes to distinguish types of nodes from one another
2014-04-04 08:58:39 -04:00
Jarrod Johnson
3ec6db4fe9 Configmanager fix up
Implement 'everything' group behavior
precheck group and node settings
do not create groups or nodes by default
Have httpapi preserve original query in case the plugin modifies it for accurate API
explorer output
2014-04-04 08:52:40 -04:00
Jarrod Johnson
96c04d21e2 Remove dead clause for 'keys'
With the departure from shellinabox javascript code, remove the clause that serviced it.
2014-04-03 17:05:08 -04:00
Jarrod Johnson
d859615e45 Change http console replies to not always put things under 'data'.
To resemble more strongly the socket api, have the HTTP response resemble
a normal reply more closely.
2014-04-03 16:55:23 -04:00
Jarrod Johnson
e2e2d884b7 Remove 'null' workaround to UEFI not resetting appmode
Firmware fixes obsolete the need.  The bad behavior on older firmware
is sufficiently tolerable that code to workaround that could have bad
side effects can reasonably be abolished.
2014-04-03 15:01:51 -04:00
Jarrod Johnson
8fa8951896 Put comments in to hint a decent strategy to profile runtime performance
To do performance optimization in this sort of application, this is
about as well as I have been able to manage in python.  I will say perl with
NYTProf seems to be significantly better for data, but this is servicable.

I tried yappi, but it goes wildly inaccurate with this codebase.  Because of
the eventlet plumbing, cProfile is still pretty misleading.  Best strategy
seems to be review cumulative time with a healthy grain of salt around the
top items until you get down to info that makes sense.  For example, trampoline
unfairly gets a great deal of the 'blame' by taking on nearly all the activity.

internal time seems to miss a great deal of important information.
2014-04-03 09:54:46 -04:00
Jarrod Johnson
e7eab2bb20 Have confetty put notable state information into title of terminal 2014-04-02 16:18:30 -04:00
Jarrod Johnson
f57060a314 Send clients notifications about changing numbers of clients connecting 2014-04-02 15:48:31 -04:00
Jarrod Johnson
15fefe6d1e Convert states from a number to a string
Remote clients are presented the data as-is rather than trying to coordinate
the meaning of abstract numbers.
2014-04-02 15:14:56 -04:00
Jarrod Johnson
fcf8a36659 Begin tracking disconnected/connecting/connected state in console server
This also has failed connection attempts causing a 30-60 second retry.  Said retry
is done early if a user session attaches in the meantime.
2014-04-02 13:29:04 -04:00
Jarrod Johnson
a2f540d3b9 Fix issue where ipmi plugin left configmanager decrypting more than needed 2014-04-02 08:59:40 -04:00