Definitely. The model I'm seeing arise is having docker automation on physical hosts and being able to orchestrate those. Some providers (Google, Amazon) went a step further and allowed tasks to be created, like Marathon. They can be configured in clusters and ELB automatically assigned. As such, the driver has 2 groups of methods, base methods for containers, then images. Then a class level attribute 'supports_clusters' with accompanying methods for creating, listing and destroying clusters. The ECS driver is the first instance of that. I checked the design against Google but I'm having trouble understanding their API docs. There is an ECS example on the docs for clusters. An example of a purely docker based provider is the Joyent Triton one. Which inherits from the Docker API and configures the API host and overloads the constructor to fit their auth mechanism. I updated the docs yesterday with a bit more explanation. http://libcloud-fork.readthedocs.org/en/libcloud-781_containers/container/index.html I'm trying not to couple the design too tightly to docker convention. Although that is becoming the standard. Also, of note for any of the AWS experts, I had to implement authorisation signing for the HMAC algorithm to support POST payloads. The current class only supported GET. Sent from Outlook Mobile
On Tue, Jan 5, 2016 at 6:37 AM -0800, "Greg Hill" <[email protected]> wrote: If you want, I can reach out to the Carina team here at Rackspace for feedback. I think it fits the mold here. It's only in beta right now, but they might have some useful feedback for this sort of API and might want to add support for their product. https://getcarina.com/ Greg On 1/5/16, 2:35 AM, "anthony shaw" wrote: >I've reached out to the docker team, spoken to the GM of cloud for >Amazon and passed on the feedback (as well as asking a bunch of >questions on the API). I'm also talking to the head of product for >Joyent tonight and get some feedback on the Triton API. > >as well as posting on the docker reddit channel (+upvote please) >https://www.reddit.com/r/docker > >Ant > >On Tue, Jan 5, 2016 at 7:28 PM, Sebastien Goasguen >wrote: >> >>> On Jan 4, 2016, at 11:55 AM, Tomaz Muraus wrote: >>> >>> I think it would also be good to get some feedback from the docker and >>>rkt >>> community. >>> >>> We should send an email with background information and all the context >>> needed and ask them for feedback :) >> >> sent couple tweets to get some feedback >> >>> On Jan 3, 2016 6:48 PM, "anthony shaw" >>>wrote: >>> >>>> Hi Everyone, >>>> >>>> I've had some time to work on this over the holidays. So this PR is >>>> now "code complete", please spend some time reviewing: >>>> >>>> https://github.com/apache/libcloud/pull/666 >>>> >>>> note I have included sample drivers for Docker, Joyent Triton and >>>>Amazon >>>> ECS. >>>> >>>> I would like us to ship this in the next release as an 'experimental' >>>> driver and get some feedback from the community. >>>> >>>> Regards, >>>> Anthony >>>> >>>> On Wed, Dec 23, 2015 at 11:05 AM, anthony shaw >>>> >>>> wrote: >>>>> Since the consensus was #3. I've started work on a container driver >>>>> type, refactoring the original docker Node driver into a Container >>>>> driver. >>>>> >>>>> https://github.com/apache/libcloud/pull/666 >>>>> >>>>> Please review and comment as necessary. >>>>> >>>>> Ant >>>>> >>>>> On Fri, Dec 18, 2015 at 3:37 AM, Eric Johnson >>>> wrote: >>>>>> +1 to #3 >>>>>> >>>>>> On Thu, Dec 17, 2015 at 8:31 AM, wrote: >>>>>> >>>>>>> Hi Sebastien, all, >>>>>>> >>>>>>> This would be a great development - good to see :) >>>>>>> >>>>>>> I agree option 3) looks the best. >>>>>>> >>>>>>>> >>>>>>>> It makes sense if we think that various API are going to emerge >>>>>>>>for >>>>>>> containers. In libcloud philosophy, we would provide a single >>>>>>>common >>>> API >>>>>>> for various container runtime. >>>>>>>> >>>>>>>> We would need to check the OCI to see if an API is being discussed >>>>>>> there. Docker has is, and it seems rkt is now providing one: >>>>>>>> https://github.com/coreos/rkt/blob/master/api/v1alpha/api.proto >>>>>>>> >>>>>>>> LXD has a different one: >>>>>>>> https://github.com/lxc/lxd/blob/master/specs/rest-api.md >>>>>>>> >>>>>>>> Providing a wrapper for these might be interesting and coherent >>>>>>>>with >>>>>>> what libcloud has provided so far. >>>>>>>> >>>>>>> Have you considered wrappers to Kubernetes, Swarm or Marathon? >>>>>>> >>>>>>> Cheers, >>>>>>> Phil >>>>>>> >>>>>>> >>>> >>
