You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@libcloud.apache.org by anthony shaw <an...@gmail.com> on 2016/01/03 11:48:30 UTC

Re: [dev] [DISCUSS] Was: [VOTE] Development options for container support

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 <an...@gmail.com> 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 <er...@apache.org> wrote:
>> +1 to #3
>>
>> On Thu, Dec 17, 2015 at 8:31 AM, <ph...@stfc.ac.uk> 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
>>>
>>>

Re: [dev] [DISCUSS] Was: [VOTE] Development options for container support

Posted by anthony shaw <an...@gmail.com>.
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" <gr...@rackspace.com> 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
>>>>>>>
>>>>>>>
>>>>
>>







Re: [dev] [DISCUSS] Was: [VOTE] Development options for container support

Posted by Greg Hill <gr...@RACKSPACE.COM>.
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" <an...@gmail.com> 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 <ru...@gmail.com>
>wrote:
>>
>>> On Jan 4, 2016, at 11:55 AM, Tomaz Muraus <to...@apache.org> 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" <an...@gmail.com>
>>>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
>>>><an...@gmail.com>
>>>> 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 <er...@apache.org>
>>>> wrote:
>>>>>> +1 to #3
>>>>>>
>>>>>> On Thu, Dec 17, 2015 at 8:31 AM, <ph...@stfc.ac.uk> 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
>>>>>>>
>>>>>>>
>>>>
>>


Re: [dev] [DISCUSS] Was: [VOTE] Development options for container support

Posted by anthony shaw <an...@gmail.com>.
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 <ru...@gmail.com> wrote:
>
>> On Jan 4, 2016, at 11:55 AM, Tomaz Muraus <to...@apache.org> 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" <an...@gmail.com> 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 <an...@gmail.com>
>>> 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 <er...@apache.org>
>>> wrote:
>>>>> +1 to #3
>>>>>
>>>>> On Thu, Dec 17, 2015 at 8:31 AM, <ph...@stfc.ac.uk> 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
>>>>>>
>>>>>>
>>>
>

Re: [dev] [DISCUSS] Was: [VOTE] Development options for container support

Posted by Sebastien Goasguen <ru...@gmail.com>.
> On Jan 4, 2016, at 11:55 AM, Tomaz Muraus <to...@apache.org> 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" <an...@gmail.com> 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 <an...@gmail.com>
>> 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 <er...@apache.org>
>> wrote:
>>>> +1 to #3
>>>> 
>>>> On Thu, Dec 17, 2015 at 8:31 AM, <ph...@stfc.ac.uk> 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
>>>>> 
>>>>> 
>> 


Re: [dev] [DISCUSS] Was: [VOTE] Development options for container support

Posted by Tomaz Muraus <to...@apache.org>.
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 :)
On Jan 3, 2016 6:48 PM, "anthony shaw" <an...@gmail.com> 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 <an...@gmail.com>
> 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 <er...@apache.org>
> wrote:
> >> +1 to #3
> >>
> >> On Thu, Dec 17, 2015 at 8:31 AM, <ph...@stfc.ac.uk> 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
> >>>
> >>>
>