rackerlabs / mimic

An API mock service
Other
168 stars 57 forks source link

User should be able to POST feeds to Cloud Feeds Control plane and read the same feeds #310

Open lekhajee opened 9 years ago

sam-falvo commented 9 years ago

Clarification request -- does this mean that we POST to a control-plane endpoint, and a feed endpoint becomes available? E.g., this is expressly not for posting events?

glyph commented 9 years ago

I'm not quite clear on why clients need to be posting either feeds or events. Shouldn't these feeds be synthesized by the other mocks in the same way that real services would produce cloud feeds, both at the level of the feed and the event?

sam-falvo commented 9 years ago

In speaking with Manish about this, yes, we want to see events posted from other plugins; however, we also want the ability to post to feeds manually too. Unless you want to write a mimic plug in for Autoscale, which doesn't seem logical at this stage, the only way for autoscale to get an autoscale feed product endpoint is to POST to create it itself.

glyph commented 9 years ago

That suggests that autoscale will want a real cloud feeds API - albeit perhaps not a customer-facing one. We've been using the term "control plane" to mean "thing that mimic supports which is not part of any real API"; I'm guessing that's not what we mean in this case, then?

sam-falvo commented 9 years ago

We need both. Use the control plane to instantiate the autoscale product if it doesn't already exist (it's a No-Op if it does). Use the data-plane API to target the autoscale endpoint. Maybe I'm misunderstanding your concerns?

glyph commented 9 years ago

Isn't there an internal API for provisioning the autoscale product, though?

glyph commented 9 years ago

If not, then I totally understand the need for the control plane.

sam-falvo commented 9 years ago

I spoke with @lekhajee on this, and she brought up a good point. Even if we go with my original idea, who or what ensures that the endpoint will exist before Autoscale tries to post? Answer: nothing. Which completely defeats my original idea.

Thankfully, I can salvage most of my design effort and statically instantiate product feeds with my design, and just omit the control plane interface.

So, kindly disregard my previous discussion points. :)

lekhajee commented 9 years ago

@glyph: The idea behind the control plane is for a product depending on other products feeds to come through to be able to POST the expected feed to the AH control plane and be able to poll that same data. This was requested by @malini-kamalambal and the autoscale team as an immediate solution instead of implementing the cross plugin integration.