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
Jarrod Johnson
1cbc16b22e
Actually implement enough to get some console traffic going.
...
This implements a protocol that should be compatible with shellinabox's
javascript client code.
2013-09-12 17:14:09 -04:00
Jarrod Johnson
a359ae5063
Add missing console core
2013-09-12 16:01:39 -04:00
Jarrod Johnson
39cd741845
Correct various issues and IPMI console session actually go through now
2013-09-12 15:52:34 -04:00
Jarrod Johnson
996e19752b
Remove kwargs to provide forward compatibility, it doesn't seem to be workable in python
2013-09-09 15:42:00 -04:00
Jarrod Johnson
91c0f01b61
Correct typo in ipmi plugin causing parse error
2013-09-09 15:30:24 -04:00
Jarrod Johnson
100c06e5a5
Fix problem where plugin api failed to access the node specific dict
2013-09-09 13:52:34 -04:00
Jarrod Johnson
b185d50f87
Add ipmi plugin to repository
2013-09-09 13:29:36 -04:00
Jarrod Johnson
f23e67618b
Correct problem where path element was not parsed correctly
2013-09-09 13:34:22 -04:00
Jarrod Johnson
5451fa65e5
Refine the authorization bit a tad
2013-09-06 16:40:40 -04:00
Jarrod Johnson
596692a033
Put missing file under git tracking
2013-09-06 15:47:39 -04:00
Jarrod Johnson
39c17330f3
Add user functions to config db
2013-09-06 15:49:04 -04:00
Jarrod Johnson
cad7db237c
Refactor plugin api code into its own module
2013-09-04 15:44:28 -04:00
Jarrod Johnson
db0596d17b
Change config backend writeback to threading from eventlet. Threading should be used sparingly, but in this case eventlet is pretty terrible at doing what
...
needs to be done... this may bode ill for the rest of using eventlet...
Rename ConfigData to ConfigManager
Add some hooks for tenant and user management in config
Begin actually consulting user/tenant info in http api
2013-09-04 15:40:35 -04:00
Jarrod Johnson
42b23fb8f8
Further advance state of project
2013-08-23 11:09:44 -04:00
Jarrod Johnson
d82c8519bc
Rework attribute scheme
2013-08-21 15:41:27 -04:00
Jarrod Johnson
f62c6b0c85
Move disk write to a greenthread as a PoC, need to go
...
to a real thread as result of testing, further optimization
on the table, notably organizing into dbm style files and touching
only changed content
2013-08-19 21:28:08 -04:00
Jarrod Johnson
d6caf73160
Advance configuration engine as follows:
...
-encryption and decryption now work
-expressions are evaluated and refreshed at attribute set time
-node group list updates updates a converse mapping
2013-08-19 16:08:49 -04:00
Jarrod Johnson
27d5dbae08
Rework a few things, get the config module to the point of basic functionality
2013-08-18 19:11:49 -04:00
Jarrod Johnson
dc8c9d091c
Split out crypt stuff into it's own file
2013-08-16 17:01:18 -04:00
Jarrod Johnson
71e1607b57
Continue making progress
2013-08-16 16:37:19 -04:00
Jarrod Johnson
79259a9c32
Get to the point where it almost starts to work
...
eventlet spawns the scgi server which is able to create a new console session.
So far, not actually hooked in any way to a backend.
The plan will be to hook up read and write of ConsoleSession instance handle method.
That handle will in turn be hooked into the logging/watching scheme which in turn is
hooked into the likes of pyghmi.ipmi.console and/or ssh execution
2013-08-09 16:59:08 -04:00
Jarrod Johnson
ac8e0df051
Arrange things so that the startup py is in bin
2013-07-19 10:31:02 -04:00
Jarrod Johnson
f31d7d1ac6
Relocate to a module, bootstrap will be significantly smaller
2013-07-19 10:11:14 -04:00
Jarrod Johnson
1bb457168a
Begin exploration of confluent concept
...
First order of business will be a console server. Will see where things
go from there.
2013-07-18 22:27:45 -04:00