If I read your question correctly maybe https://github.com/Shopify/toxiproxy
can help?

On Tue, Mar 1, 2022 at 3:30 PM Aleksandar Lazic <[email protected]> wrote:

>
> Hi Shawn.
>
> On 01.03.22 23:09, Shawn Heisey wrote:
> > I was thinking about ways to help pinpoint problems a client is having
> connecting to services.  And a thought
> > occurred to me.
> >
> > Is there any kind of software available that can stand up a broken HTTP
> server, such that it is broken in very
> > specific and configurable ways?
> >
> > Imagine a bit of software that can listen on a port and exhibit
> configurable failure scenarios.  Including but
> > certainly not limited to these:
> >
> > * SSL negotiation issues
> > * Simulate dropped packets by ignoring incoming packets or failing to
> send outgoing packets.
> > * Timeouts, delays, no response, or incorrect behavior at various phases:
> > ** TCP
> > ** SSL
> > ** GET/HEAD/POST
> >
> > Does anything like this already exist?  It would be an awesome
> troubleshooting tool.  Configure it to fail in some
> > way, have a client try connecting to it with their software, and if they
> get the same error that they do when trying
> > it with the real server, then you've possibly pinpointed what the
> problem on the real server is, without diving into
> > logs or packet captures.  And the client may not know anything about the
> software they're using other than "it works
> > fine connecting to XXX", making them an exceedingly unreliable source of
> information.
> >
> > So I'm not interested in something that can analyze network traffic or
> logs.  I can already do that. I am imagining
> > a server that can intentionally misbehave.
> >
> > And here's why I am asking my question on the haproxy mailing list:  I
> think haproxy itself would serve as the
> > perfect starting point for this idea.  Imagine having configuration
> directives for haproxy that tell it to
> > intentionally misbehave, either on the frontend or the backend.  It
> could run side by side with a production
> > instance, on another port or on another machine, with a nearly identical
> config to production that has misbehave
> > configuration directives.
> >
> > Side note: I think haproxy would be a perfect fit at $DAY_JOB to replace
> a couple of problematic pieces of software,
> > but I until I understand better how that software is configured, I can't
> mention it as a possible solution. I really
> > like haproxy. Please keep up the good work.  I'm looking for ways I can
> contribute to the project's success.
>
> I don't know such a tool but this sounds like a interesting project Idea.
>
> Maybe some parts could be done via LUA but as HAProxy internally handle a
> lot of errors it could be tricky to force
> HAProxy do behave "weird" and not standard compliant.
> http://www.arpalert.org/src/haproxy-lua-api/2.5/index.html
>
> As you can see in the repo from Tim https://github.com/TimWolla/h-app-roxy
> that HAProxy and lua can be a quite powerful
> combination.
>
> > Thanks,
> > Shawn
>
> Regards
> Alex
>
>

Reply via email to