2
0
mirror of https://github.com/xcat2/confluent.git synced 2024-11-29 04:50:21 +00:00
Commit Graph

50 Commits

Author SHA1 Message Date
Jarrod Johnon
f7fb9d6af2 Fixes around the confluent shutdown facility 2014-10-28 13:42:21 -04:00
Jarrod Johnon
57d0997d62 Have init script use previously added confluent capability 2014-10-07 11:19:13 -04:00
Jarrod Johnon
5012c9e401 For skipauth clients, allow a 'shutdown' verb
To facilitate a clean coordinated shutdown, create a verb so that a termination can be done
and know when it is completed.  Only allow for the 'special' case of 'skipauth', where unix domain
socket connection is in hand and only root or the service owner can access.
2014-10-07 11:14:22 -04:00
Jarrod Johnon
4443d67da6 Implement timestamp reporting
Have confetty include the vintage of incoming data so that user may know how likely the
data is relevant to now.
2014-10-06 15:13:09 -04:00
Jarrod Johnon
afb6f4296c Bump 'VERSION' file.
As it heads into RC, will start using the tags and
overly simplifying things in the same way xCAT
revs versions even without changes for the sake
of consistency
2014-09-30 11:35:33 -04:00
Jarrod Johnon
d4b8294ec9 Correct syntax error
Somehow a stray colon from an attempt to try locking persisted.  Remove that colon.
2014-09-30 11:35:11 -04:00
Jarrod Johnon
37549481b6 Fix double connect on logging change
When logging was changed from none to full, it would always
start and immediately abort connecting to start again.
Change this by deciding which connection liveness strategy
to use based on how many settings changed.  If just logging
changes, then connect only if not connected or connecting.
If more changes, then skip that kinder strategy and go straight
to reconnecting.
2014-09-30 11:21:01 -04:00
Jarrod Johnon
8728007d1e Fix DB corruption potential
Make sure that the dbm object is closed before another thread might come along.  Out of an overabundance of caution,
also join() existing cfgwriter thread to make sure that only one thread touches it at a time.  In theory, it should only possibly
be after the db is closed, but take no chances.
2014-09-23 12:08:13 -04:00
Jarrod Johnon
89ca5b412b Fix race condition on configuration writeback
If the sync thread had moved beyond the point of checking _writepending, but had not quite managed to trigger
isAlive() to be false, the sync cfg to file would transition to never work.  Address this by adding one lock and one boolean.
Inside the lock, the two booleans are manipulated to atomically mark the end of thread sync activity linked with
check for pending data to write.
2014-09-19 08:57:17 -04:00
Jarrod Johnson
e9ac1617a8 Add a 'reopen' capability to client
If client wants to force a reconnection, they can send ctrl-e, c, o, just as in conserver.
2014-08-28 13:58:31 -04:00
Jarrod Johnson
276ba4abd7 Correct behavior of various paths when node does not exist 2014-08-26 14:03:15 -04:00
Jarrod Johnson
6fc75d8394 Implement dump of cfg to JSON
Restoring data is not yet implemented, after restore backend implemented than a
utility can be furnished.
2014-08-19 15:06:28 -04:00
Jarrod Johnson
a0ae523768 Fix timeout on persistent IPMI session
If there is a persistent IPMI session and the first to notice was a user request
it would fail with unexpected error.  Correct the situation to expect the error
and report more precisely as to the cause.
2014-07-29 09:49:52 -04:00
Jarrod Johnson
230397c2a3 Fix unexpected error on bad authentication
When bad credentials were caught by pyghmi, the ipmi plugin was not specifically
characterizing it.  Address this shortcoming.
2014-07-29 09:24:02 -04:00
Jarrod Johnson
9b7d1d6c5b Change from 'passphrase' to 'password'. 2014-07-27 19:23:32 -04:00
Jarrod Johnson
291e90afcf Fix 500 instead of 401 on bad HTTP authentication
Code optimistically assumed that authentication would fill out data to
pass to authorization, which does not get filled out if authentication fails.
2014-07-25 15:40:26 -04:00
Jarrod Johnson
1fb8b33c06 Correct some incorrectly renamed entries 2014-07-25 14:45:02 -04:00
Jarrod Johnson
19451d69fb Fix some overlooked 'groups' lines in configmanager 2014-07-25 14:38:44 -04:00
Jarrod Johnson
c0c6332a97 Add VERSION to repository 2014-07-25 14:32:43 -04:00
Jarrod Johnson
360bcc395c Rename 'groups' to 'nodegroups'
As usergroups come to exist, make it obvious whether a group is user or node
bound. The attribute names stay the same (since the 'groups' of a 'node' is
clearly 'nodegroup')
2014-07-25 14:32:04 -04:00
Jarrod Johnson
12f939a533 Extend HTTP token to work correctly with PAM authentication 2014-07-14 15:03:34 -04:00
Jarrod Johnson
c70f365cd2 Add support for RPM builds
add supportfor pam authentication
2014-07-14 14:54:12 -04:00
Jarrod Johnson
1d635add9e Fix traces when trailing slashes are omitted from node resource collections
When a url that could have been a valid resource collection with a trailing
slash hits the daemon without a trailing slash, it would fail.  Correct by
recognizing this scenario and properly handling it.
2014-06-16 16:44:05 -04:00
Jarrod Johnson
87700d6d3d Fix filehandles leaking on shell modules
When shell module plugins failed and exited,
confluent was failing to release the filehandle.  This
would ultimately lead to unreasonable exhaustion of
filehandles.
2014-06-12 14:42:09 -04:00
Jarrod Johnson
b01934d2e9 Roll up new version number 2014-06-02 10:33:54 -04:00
Jarrod Johnson
dccf2bae7d Fix problem where changes made during a bg cfg sync could be lost
If a bg sync thread is in progress, a key could be marked dirty before the desired change is actually made.
This causes the running thread to pick up the change to 'dirty' keys and save off the as-yet unchanged key.
Reorganize things to have the keys marked dirty only after they have been assigned so that an in-progress
commit to disk only picks up a key after the relevant values have changed.
2014-06-02 10:32:28 -04:00
Jarrod Johnson
c938a280f9 Update version to reflect changes 2014-05-29 11:04:02 -04:00
Jarrod Johnson
68c7e5b77e Improve performance of creating new configmanager objects
Previously, the null tenant always synced to disk on every request in pracitice.
Correct that mistake to avoid commit to disk when no changes are being made.
2014-05-29 10:53:32 -04:00
Jarrod Johnson
a7398198d4 Fix shell execution on node removal 2014-05-29 10:28:04 -04:00
Jarrod Johnson
6e2808f63e Have HTTP interface bind to ipv6 for dual stack support 2014-05-28 13:48:23 -04:00
Jarrod Johnson
b92487da24 Fix handling of children in shellmodule plugins
Exit of a shell plugin was not handled correctly.  Fix that
2014-05-28 12:25:13 -04:00
Jarrod Johnson
f525f054ba Add support for shell based plugins
A plugin that ends in '.sh' is currently assumed to be a console plugin and is executed once.
2014-05-27 15:02:53 -04:00
Jarrod Johnson
38f07252f8 Defer ssl wrap until after accept()
ssl wrap prior to accept causes accept() to be too complicated to stay in the
persistent thread and makes key changes require restart to pickup.  Call
the wrap_socket within the dedicated client thread so that it gets up to date
at the right time and picks up certificate changes in a timely fashion.
2014-05-20 09:41:55 -04:00
Jarrod Johnson
b78830c403 Fix tlvdata socket infinite loop condition
A client could spin the confluent server endlessly by bailing out of connection
at wrong time.
2014-05-19 16:53:55 -04:00
Jarrod Johnson
3a456ca45d Bump client and server versions 2014-05-19 15:52:39 -04:00
Jarrod Johnson
950ca5e4c9 Add IPv6 support
Python defaults to IPv4-only, but IPv6 is cooler
2014-05-19 15:41:38 -04:00
Jarrod Johnson
51442e0180 Move to port 13001 for the TLS socket
While 6001 was not taken, it is well within reach of likely VNC ports
2014-05-19 15:23:52 -04:00
Jarrod Johnson
0dea8e0772 Move to port 6001 for the TLS socket
4001 is taken, so move to 6001 which is not taken by the registry.
2014-05-19 14:43:38 -04:00
Jarrod Johnson
724557b998 Bump version so that next build will be possible. 2014-05-15 16:22:56 -04:00
Jarrod Johnson
5bcde84e14 Fix cpu churn when web sessions open and idle
It turns out that eventlet.green.threading.Event() doesn't behave very efficiently in this context for whatever reason.
Use eventlet.event.Event() instead.  It was not used before due to lack of timeout and clear, but that is overcome by
disposing of it rather than reusing and using with eventlet.Timeout() to add timeout to wait that doesn't have built in timeout.
2014-05-15 16:22:28 -04:00
Jarrod Johnson
4911de81e6 Have confluent automatically set up /var/run/confluent if permitted
If wanting to run as non-root, mkdir -p /var/run/confluent /var/log/confluent /etc/confluent
and chown those to be owned by confluent user.  That is probably path for deb and rpm packaging.
2014-05-13 10:59:41 -04:00
Jarrod Johnson
5acf49c9fe Correct change that broke the html explorer
In reorganizing the code, I made a mistake with the
indentation, resulting in the http interface not
working at all.
2014-05-10 11:59:47 -04:00
Jarrod Johnson
4c0b6c29dd Bump version numbers for client and server packages 2014-05-09 17:19:11 -04:00
Jarrod Johnson
2d0fde3f42 Provide more detail in invalidargument
invalidargument was not particularly helpful by itself
improve things by adding more helpful information in the error strings.
2014-05-09 17:18:17 -04:00
Jarrod Johnson
9c441df050 Refresh package data to assure better pyghmi and confetty 2014-05-09 16:43:44 -04:00
Jarrod Johnson
542da958db Have 'bad request' errors be more informative 2014-05-09 16:38:55 -04:00
Jarrod Johnson
2863c58264 Fix core to return invalidargument exception on bad input data 2014-05-08 14:39:44 -04:00
Jarrod Johnson
6c7aaf8bc3 Refine packaging issues 2014-05-06 16:45:51 -04:00
Jarrod Johnson
2f5dede1b4 Add bits and pieces to facilitate pypi packaging 2014-05-06 15:01:35 -04:00
Jarrod Johnson
c5cb5649d5 Begin reorganizing content for packaging 2014-05-06 13:37:31 -04:00