lionsphil / plumage Goto Github PK
View Code? Open in Web Editor NEWA web frontend for the Web Polygraph proxy testing tool
License: GNU Affero General Public License v3.0
A web frontend for the Web Polygraph proxy testing tool
License: GNU Affero General Public License v3.0
The feedback mechanisms for a run in progress are not yet implemented, beyond running/completed. There are plans for plumage_run
to aggregate the logs and the Client to provide a server-sent events feed to the UI. This is very important when doing test configuration development where Polygraph may be throwing errors, since currently the only way to see them is to SSH onto the Client and dig them out of the state directory. There's also work to be done around this area in properly reporting runs which were aborted.
It should also be easier to see when a Client/Server pair are busy to avoid scheduling another run on top of them.
At the moment, when a web service API call fails, Plumage generally just throws and ends up displaying a 500 error, with some detail in the logs. While semi-appropriate for a public-facing system, this is a technical internal one, and having "contacting the Master component failed", or "Master reports Client failed to spawn plumage_run" or such is more useful.
The existing ./deploy and example configurations are a bit rough to get set up in an environment. Could do with:
Ideally it should be a doddle to make Puppet put (and update) Plumage on things.
Plumage does not recover well from some inconsistent states where runs have failed, because attempts to clean up across all the machines involved become fatal. For example, if there's a problem with the connectivity between the client and server, e.g. the proxy under test is misconfigured or misbehaving, the polygraph server side can time out and shut down.
Delete actions on the master should tolerate the client or server reporting that they are unable to delete the run in question and still continue trying to clean up the run locally.
In the meantime, the workaround is to (in order, since some steps may unblock later steps):
polygraph
processes, and clean out /run/plumage/server/
./run/plumage/client/
. If there were polygraph
processes to kill, be patient; this may unjam the process and start reporting results back to the master./var/lib/plumage/configurations/N/runs/
(where N
is in the URL of the configuration), and delete the directory matching the broken run number.Plumage's early design did not have distinct Master or UI roles, which is why the Client is responsible for managing the polygraph processes involved in a run, including commanding a Server to co-operate.
Now that the Master role exists, it would be cleaner for some of plumage_run's aggregation and control behaviour to be moved to it, leaving Client to act a lot more like Server as a temporary resource acting as a single component of a larger run without needing knowledge of it.
Machine resources could then potentially be offered as pools of multiple clients and servers, to allow multi-machine tests that scale beyond the capabilities of a single machine.
This would also pull host variables, and defining of client-server pairings, back toward the Master, centralizing configuration of them and making them easier to manage.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.