2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-05-13 01:44:20 +00:00
Commit Graph

74 Commits

Author SHA1 Message Date
Jarrod Johnson fc7d426d06 Address some problems caused by refactor 2013-11-02 17:21:34 -04:00
Jarrod Johnson c242f32e73 Refactor configuration code into a distinct location 2013-11-02 16:58:38 -04:00
Jarrod Johnson bb8c65fc34 Add definitions for standard messages to pass through pulig api 2013-11-02 14:52:32 -04:00
Jarrod Johnson ec58c47bff Restore console functionality 2013-11-02 13:40:53 -04:00
Jarrod Johnson 67fe18fe3f Fix problem with an unhandled command without a default. 2013-11-02 13:30:29 -04:00
Jarrod Johnson a8d0ec4c3c Renome current console to consoleserver and refactor 2013-11-02 13:25:56 -04:00
Jarrod Johnson 3a3dbf9f41 Progress toward more strictly defined objects
messages and consoles get classes to guide developers toward consistency.
2013-11-02 13:06:48 -04:00
Jarrod Johnson 21ea762b46 Further progress state of tlvdata
Correct read to recv and add some more info that will be required.
2013-11-02 13:05:58 -04:00
Jarrod Johnson 35a5e9cbf0 Continue trying to flesh out socket api 2013-10-23 13:38:54 -04:00
Jarrod Johnson adf52517fd More cleanly handle unrecognized urls 2013-10-15 21:13:48 -04:00
Jarrod Johnson 126030b9db Begin work to do authentication and authorization on socket api 2013-10-14 11:28:07 -04:00
Jarrod Johnson 8d21674ced Implement unix domain socket in socket api 2013-10-14 09:21:55 -04:00
Jarrod Johnson 3d1e398977 Convert wsgi function to be generator
Since wsgi function returns iterable, it turns out to be easy to do it this way.

For now, hardcode json dumps, two things:
1: call out to module supporting HTML and JSON interpretation
2: in both cases, a header and footer must sandwich the responses in http

In socketapi, responses will come back without a container, but http
does not afford us such luxury.  Create a containing json structure.
On first iteration, do not prepend with ,.  prepend with , all other times.
2013-10-13 20:51:30 -04:00
Jarrod Johnson 17603a59fd Revert the strategy to manually track sessions for pyghmi
Since pyghmi now handles this automatically and in fact removes
the facility used to manually track this and it is much more
robust than this strategy.
2013-10-13 19:59:30 -04:00
Jarrod Johnson 49b3aed3e3 Add a tlvdata module 2013-10-12 21:19:15 -04:00
Jarrod Johnson 6a79a30fc0 Remove single byte TLV concept from socket protocol.
For local socket, it isn't enough to matter.  In network protocols, encryption
will generally cause things to be rounded up to the next 16 bytes anyway.

Make things simpler implementation wise by sticking to 4 byte tl bytes,
but still reserve TL with hi bit set, just in case.
2013-10-12 21:15:52 -04:00
Jarrod Johnson 53ce6f054c Add concept of defaulting plugin 2013-10-12 21:13:22 -04:00
Jarrod Johnson 97d3eebff6 Actually have httpapi able to start calling into the plugin api 2013-10-12 18:04:27 -04:00
Jarrod Johnson 8a35f9a9e0 Actually make ipmi work for console and get_power
Note that currently, console must go first, then command.  Otherwise
panic ensues.
2013-10-12 18:03:51 -04:00
Jarrod Johnson 5e80407bc5 Refactor plugin code to better assure all things happen in one greenthread
Additionally, begin work to make ipmi.py start doing non-console things
2013-10-12 15:13:34 -04:00
Jarrod Johnson 1c2341e1eb Cleaner exit on remote termination 2013-10-12 15:04:26 -04:00
Jarrod Johnson 52913a1d55 Document the socketprotocol design 2013-10-12 11:12:47 -04:00
Jarrod Johnson ed0373ade4 Advance confetty example to the point where it can do at least some conserver escape sequences, notably
including disconnect.
2013-10-12 10:44:46 -04:00
Jarrod Johnson 52f8a6dda4 Note for future of socket api 2013-10-10 20:04:59 -04:00
Jarrod Johnson f5e02bba4e Make confetty work to actually do socket console work 2013-10-10 19:23:06 -04:00
Jarrod Johnson 4880de94e8 -Have master console multiplexer not crash because a handler would have crashed
-Have sockapi remove console session handler on client disconnect
2013-10-10 14:17:08 -04:00
Jarrod Johnson 8fa9c10784 Make ipmi plugin resiliant to traffic bursts to avoid a hang 2013-10-10 14:06:02 -04:00
Jarrod Johnson 9855f17d58 Fix socket test case to work multiple times 2013-10-09 20:14:34 -04:00
Jarrod Johnson 7f572fd164 Implement session cookie for optional use by clients to guard against attempts to slow session
Implement http and console session reaping in httpapi layer
2013-10-09 16:17:37 -04:00
Jarrod Johnson dd111ffef5 Flesh out auth to the point where set and check of password is plausible 2013-10-08 18:25:59 -04:00
Jarrod Johnson b0855f7c88 Flesh out user password management 2013-10-08 17:49:38 -04:00
Jarrod Johnson 96ca623520 Replace PBKDF2 function with PyCrypto's version
Overlooked the existence of the servicable PBKDF2 function in PyCrypto.
Rectify that oversight (might break existing config db, but this
isn't even alpha code yet)
2013-10-08 14:03:04 -04:00
Jarrod Johnson 97a52ed775 Attempt to relocate convention for 'super tenant' to more definitively segregate the two concepts 2013-10-08 11:51:13 -04:00
Jarrod Johnson 4c68da0d3b Change to eventlet.wsgi instead of patched flup scgi 2013-10-03 17:05:40 -04:00
Jarrod Johnson c9762cb536 Rework commented out code a tad 2013-09-24 13:51:03 -04:00
Jarrod Johnson 44c8098906 Add commented code to allow easily getting at the debug socket, needs eventlet fix to work 2013-09-20 17:14:16 -04:00
Jarrod Johnson 982b438279 Have console sessions delete themselves after http client has gone away... probable 2013-09-20 14:36:55 -04:00
Jarrod Johnson 1d76dcf13d Revert "Attempt to mitigate memory consumption"
This reverts commit e746d0dd3b.
2013-09-16 16:57:27 -04:00
Jarrod Johnson e746d0dd3b Attempt to mitigate memory consumption 2013-09-16 16:56:59 -04:00
Jarrod Johnson 807b5366ee Begin some buffering tricks.
Here we start with buffering and using the buffer to
send a few bytes of history to new connections,
paying particular attention to the last 'clearscreen' event
2013-09-15 13:22:50 -04:00
Jarrod Johnson 782c1f9b9a Have httpapi json dump try utf-8 first, but if the output is not utf-8, try cp1252
as it is a reasonable guess for firmware.  In short, OSes are presumed to trend toward utf-8, and firmware toward cp1252

If both fail, then inject DECODEERROR for now.
2013-09-15 11:19:04 -04:00
Jarrod Johnson eafdef413c Fix problem where wait for next data would only work every other time
Also fix busy wait behavior
2013-09-15 11:06:34 -04:00
Jarrod Johnson 3f46ffd25d Fix syntax error in httpapi rework 2013-09-14 21:37:23 -04:00
Jarrod Johnson 9ecc1aae44 Move all ipmi activity into it's dedicated eventlet greenthread.
There is still a problem where only every other output comes over the httpapi
but in general, it behaves much much better.
2013-09-14 21:32:52 -04:00
Jarrod Johnson 4fee4082b9 Have sockapi properly run alongside httpapi
Have sockapi force TLSv1
2013-09-14 20:21:58 -04:00
Jarrod Johnson 2644801929 Create a test socket api layer 2013-09-14 11:08:48 -04:00
Jarrod Johnson e9c6c549cb Remove exploration output 2013-09-14 10:27:13 -04:00
Jarrod Johnson d7db7041b2 Changes to get SOL console kind of working 2013-09-13 16:07:39 -04:00
Jarrod Johnson fb8d042f48 Add monotic time util function 2013-09-13 14:33:03 -04:00
Jarrod Johnson 83db40da51 Implement urlencoded form data for the data into the console interface 2013-09-13 14:16:29 -04:00