Once this happens, we need to re-enable the test. The move over
should also allow us to upgrade the version of salt-testing that
is applied to the test VMs. Once this is complete, we can apply
the `@flaky` decorator to this test. (salt-testing must be a
version newer than the September release.)
It would appear that if an attribute error is raised when trying to detect a class atter,
that the test suite does not run the class teardown method but continues regardless. This
fixes the class attr error which then allows the teardown to run. Prior to this, if the
teardown did not run, the entire suite would hang out shutdown because it was blocked
on waiting for a ioloop to terminate.
Basic IPC server works!
Lint
Skeleton of client
IPC bind test
Make stand-alone
Adding factories for push and pull channels
Allowing opts passing for consistency
Tests now (mostly) work
Lint
Method documentation
General cleanup. Migrate to inheritence.
Log cleanup
Migrate framing to stand-along module
Migrate ipc.py to new framer
Working except for serialization bug
Debugging
Debugging
It works!!
Remove ZeroMQ from TCP transport :]
General cleanup
Linting
General cleanup
Align socket name with what client expects
Remove unused buffer size flag
exception handling for stream close
Calls to parent class inits
Docs
Remove debugging
Remove unused function
Remove unnecessary pre/post fork on msgclient
Remove unecessary timeout flag
Better stream/socket shutdown in server
Remove unused handler
Removing more unused
More function cleanup
Removing more unneeded cruft
Lint
Round out documentation
More docs
Misc hacks to fix up @cachedout's IPC
This was using a mix of blocking and non-blocking calls, which was making a bit of a mess. connect and write are both non-blocking calls on IOStreams, so we either need to handle all the callbacks or do them in the coroutine fashion (much easier to manage). This meant that in the tests your "write" wouldn't make it out since we didn't wait on the connect.
IMO we should refactor this IPC stuff to have proper async interfaces and wrap if absolutely necessary, but I think its reasonable to ask that as part of this we make some more of the core coroutines :)
for #23236
Lint
Remove init of io_loop because we require start()
Various fixes
Remove uneeded functionality
Remove dup
Cleanup and remove unused functions
Moving toward coroutines
More lint
handle_connection changed to spawn
Singletons for ipcclient
Lint disable
Remove redundent check in close()
Remove duplicates in init
Improved exception handling
Test framework
Require sock path to be passed in
Better testing approach
Remove unecessary __init__
Misc cleanup of unecessary methods
Major rework of the IPC channels to make them work :)
Remove TODO, since the feature was implemented
Add more tests for IPC
Add support for reconnecting clients, as well as a return from the IPCServer
misc cleanup
Lint test case
Lint transport
pyzmq 13.0.x was the first version to support *any* tornado in pyzmq, and since 14.0.x they have changed the API (IMO into a more sensible one). This conditionally changes the name to match the new API's naming
This means we can make more and more of the core async (using coroutines) without having to change the transport modules-- as they all already expect futures.
In addition this makes the singleton instance mapping use weakrefs-- so if the io_loop goes away (or we don't reference the object anywhere) we will remove the auth instance. This allows for us to "unload" an auth without having to exit the interpreter or forcibly delete it