settingsLogin | Registersettings

[openstack-dev] Proposal of nova-hyper driver

0 votes

Hi, all,
I would like to propose nova-hyper driver: https://blueprints.launchpad.net/nova/+spec/nova-hyper . * What is Hyper?
Put simply, Hyper is a hypervisor-agnostic Docker runtime. It is similar to
Intel’s ClearContainer, allowing to run a Docker image with any hypervisor.

  • Why Hyper driver?
    Given its hypervisor nature, Hyper makes it easy to integrate with OpenStack
    ecosystem, e.g. Nova, Cinder, Neutron

  • How to implement?
    Similar to nova-docker driver. Hyper has a daemon “hyperd” running on each
    physical box. hyperd exposed a set of REST APIs. Integrating Nova with the
    APIs would do the job.

  • Roadmap
    Integrate with Magnum & Ironic.

Appreciate for comments and inputs!
Thanks,Peng

----------------------------------------------------- Hyper - Make VM run like Container__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

asked Jun 19, 2015 in openstack-dev by Peng_Zhao (1,060 points)   1

6 Responses

0 votes

On Fri, Jun 19, 2015 at 12:55 PM, Peng Zhao peng@hyper.sh wrote:

Hi, all,

I would like to propose nova-hyper driver:
https://blueprints.launchpad.net/nova/+spec/nova-hyper.

  • What is Hyper?
    Put simply, Hyper is a hypervisor-agnostic Docker runtime. It is
    similar to Intel’s ClearContainer, allowing to run a Docker image with any
    hypervisor.

  • Why Hyper driver?
    Given its hypervisor nature, Hyper makes it easy to integrate with
    OpenStack ecosystem, e.g. Nova, Cinder, Neutron

  • How to implement?
    Similar to nova-docker driver. Hyper has a daemon “hyperd” running on
    each physical box. hyperd exposed a set of REST APIs. Integrating Nova with
    the APIs would do the job.

  • Roadmap
    Integrate with Magnum & Ironic.

This sounds like a better fit for something on top of Nova such as Magnum
then as a Nova driver.

Nova only supports things that look like 'VMs'. That includes bare metal,
and containers, but it only includes a subset of container features.

Looking at the hyper CLI [0], there are many commands that nova would not
suppprt, such as:

  • The pod notion
  • exec
  • pull

[0] https://docs.hyper.sh/reference/cli.html

Appreciate for comments and inputs!
Thanks,Peng


Hyper - Make VM run like Container


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Jun 21, 2015 by Joe_Gordon (24,620 points)   2 5 8
0 votes

On Sun, Jun 21, 2015 at 07:18:10PM +0300, Joe Gordon wrote:
On Fri, Jun 19, 2015 at 12:55 PM, Peng Zhao peng@hyper.sh wrote:

Hi, all,

I would like to propose nova-hyper driver:
https://blueprints.launchpad.net/nova/+spec/nova-hyper.

  • What is Hyper?
    Put simply, Hyper is a hypervisor-agnostic Docker runtime. It is
    similar to Intel’s ClearContainer, allowing to run a Docker image with any
    hypervisor.

  • Why Hyper driver?
    Given its hypervisor nature, Hyper makes it easy to integrate with
    OpenStack ecosystem, e.g. Nova, Cinder, Neutron

  • How to implement?
    Similar to nova-docker driver. Hyper has a daemon “hyperd” running on
    each physical box. hyperd exposed a set of REST APIs. Integrating Nova with
    the APIs would do the job.

  • Roadmap
    Integrate with Magnum & Ironic.

This sounds like a better fit for something on top of Nova such as Magnum
then as a Nova driver.

Nova only supports things that look like 'VMs'. That includes bare metal,
and containers, but it only includes a subset of container features.

Looking at the hyper CLI [0], there are many commands that nova would not
suppprt, such as:

  • The pod notion
  • exec
  • pull

Then I guess you need to see if Hyper can implement mandatory features
for Nova [1], [2].

[1] http://docs.openstack.org/developer/nova/support-matrix.html
[2] https://wiki.openstack.org/wiki/HypervisorSupportMatrix

[0] https://docs.hyper.sh/reference/cli.html

Appreciate for comments and inputs!
Thanks,Peng


Hyper - Make VM run like Container


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Jun 22, 2015 by Sahid_Orentino_Ferdj (1,740 points)   1
0 votes

On 22 June 2015 at 09:18, Sahid Orentino Ferdjaoui
sahid.ferdjaoui@redhat.com wrote:
On Sun, Jun 21, 2015 at 07:18:10PM +0300, Joe Gordon wrote:

On Fri, Jun 19, 2015 at 12:55 PM, Peng Zhao peng@hyper.sh wrote:

Hi, all,

I would like to propose nova-hyper driver:
https://blueprints.launchpad.net/nova/+spec/nova-hyper.

  • What is Hyper?
    Put simply, Hyper is a hypervisor-agnostic Docker runtime. It is
    similar to Intel’s ClearContainer, allowing to run a Docker image with any
    hypervisor.

  • Why Hyper driver?
    Given its hypervisor nature, Hyper makes it easy to integrate with
    OpenStack ecosystem, e.g. Nova, Cinder, Neutron

  • How to implement?
    Similar to nova-docker driver. Hyper has a daemon “hyperd” running on
    each physical box. hyperd exposed a set of REST APIs. Integrating Nova with
    the APIs would do the job.

For clarity, we are yet to accept the nova-docker driver into the Nova
project, due to various concerns about its potential future direction.
Hopefully we should get a more final answer on that soon.

  • Roadmap
    Integrate with Magnum & Ironic.

This sounds like a better fit for something on top of Nova such as Magnum
then as a Nova driver.

+1

On the surface, it feels like a possible Magnum driver.
Although I am far from certain that its an exact match.
But I think that would be a better starting point than Nova.

Nova only supports things that look like 'VMs'. That includes bare metal,
and containers, but it only includes a subset of container features.

+1

In your blueprint you mention:
"The difference between LXC and VM makes the driver hard to maintain a
unified model in Nova."

To be clear Nova has no intention of providing a unified model, in
part due to the truth behind your statement above. We provide things
that look like "servers". Please see:
http://docs.openstack.org/developer/nova/project_scope.html#containers

I would recommending talking the container subgroup, in one of their
meetings, about how best to integrate with OpenStack:
https://wiki.openstack.org/wiki/Meetings/Containers

Looking at the hyper CLI [0], there are many commands that nova would not
suppprt, such as:

  • The pod notion
  • exec
  • pull

Then I guess you need to see if Hyper can implement mandatory features
for Nova [1], [2].

[1] http://docs.openstack.org/developer/nova/support-matrix.html
[2] https://wiki.openstack.org/wiki/HypervisorSupportMatrix

We have no intention of expanding the scope of the Nova API to include
container operation. And the reverse is also true, we would want to
see an intention to support all the important existing APIs before
inclusion, and proving that be having tempest tests reliably passing.

Many thanks,
John


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Jun 22, 2015 by John_Garbutt (15,460 points)   3 4 5
0 votes

Hyper is using hypervisor to run Docker image, therefore it can support most
features in the matrix, both mandatory and optional/choice.
----------------------------------------------------- Hyper - Make VM run like Container

On Mon, Jun 22, 2015 at 4:18 PM, Sahid Orentino Ferdjaoui < sahid.ferdjaoui@redhat.com > wrote:
On Sun, Jun 21, 2015 at 07:18:10PM +0300, Joe Gordon wrote:
On Fri, Jun 19, 2015 at 12:55 PM, Peng Zhao peng@hyper.sh wrote:

Hi, all,

I would like to propose nova-hyper driver:
https://blueprints.launchpad. net/nova/+spec/nova-hyper .

  • What is Hyper?
    Put simply, Hyper is a hypervisor-agnostic Docker runtime. It is
    similar to Intel’s ClearContainer, allowing to run a Docker image with any
    hypervisor.

  • Why Hyper driver?
    Given its hypervisor nature, Hyper makes it easy to integrate with
    OpenStack ecosystem, e.g. Nova, Cinder, Neutron

  • How to implement?
    Similar to nova-docker driver. Hyper has a daemon “hyperd” running on
    each physical box. hyperd exposed a set of REST APIs. Integrating Nova with
    the APIs would do the job.

  • Roadmap
    Integrate with Magnum & Ironic.

This sounds like a better fit for something on top of Nova such as Magnum
then as a Nova driver.

Nova only supports things that look like 'VMs'. That includes bare metal,
and containers, but it only includes a subset of container features.

Looking at the hyper CLI [0], there are many commands that nova would not
suppprt, such as:

  • The pod notion
  • exec
  • pull

Then I guess you need to see if Hyper can implement mandatory features
for Nova [1], [2].

[1] http://docs.openstack.org/ developer/nova/support-matrix. html
[2] https://wiki.openstack.org/ wiki/HypervisorSupportMatrix

[0] https://docs.hyper.sh/ reference/cli.html

Appreciate for comments and inputs!
Thanks,Peng


Hyper - Make VM run like Container


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists. openstack.org?subject: unsubscribe
http://lists.openstack.org/ cgi-bin/mailman/listinfo/ openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists. openstack.org?subject: unsubscribe
http://lists.openstack.org/ cgi-bin/mailman/listinfo/ openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists. openstack.org?subject: unsubscribe
http://lists.openstack.org/ cgi-bin/mailman/listinfo/ openstack-dev__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Jun 22, 2015 by Peng_Zhao (1,060 points)   1
0 votes

Thanks John.
I’m also not sure what the future would be, but I’d say that it would be nice to
have a hybrid OpenStack cluster of both VM/App-Container flavor. And yes, it is
more about a unified model between Nova and Magnum.
Best, Peng
----------------------------------------------------- Hyper - Make VM run like Container

On Mon, Jun 22, 2015 at 5:10 PM, John Garbutt < john@johngarbutt.com > wrote:
On 22 June 2015 at 09:18, Sahid Orentino Ferdjaoui
< sahid.ferdjaoui@redhat.com > wrote:
On Sun, Jun 21, 2015 at 07:18:10PM +0300, Joe Gordon wrote:

On Fri, Jun 19, 2015 at 12:55 PM, Peng Zhao peng@hyper.sh wrote:

Hi, all,

I would like to propose nova-hyper driver:
https://blueprints.launchpad. net/nova/+spec/nova-hyper .

  • What is Hyper?
    Put simply, Hyper is a hypervisor-agnostic Docker runtime. It is
    similar to Intel’s ClearContainer, allowing to run a Docker image with any
    hypervisor.

  • Why Hyper driver?
    Given its hypervisor nature, Hyper makes it easy to integrate with
    OpenStack ecosystem, e.g. Nova, Cinder, Neutron

  • How to implement?
    Similar to nova-docker driver. Hyper has a daemon “hyperd” running on
    each physical box. hyperd exposed a set of REST APIs. Integrating Nova with
    the APIs would do the job.

For clarity, we are yet to accept the nova-docker driver into the Nova
project, due to various concerns about its potential future direction.
Hopefully we should get a more final answer on that soon.

  • Roadmap
    Integrate with Magnum & Ironic.

This sounds like a better fit for something on top of Nova such as Magnum
then as a Nova driver.

+1

On the surface, it feels like a possible Magnum driver.
Although I am far from certain that its an exact match.
But I think that would be a better starting point than Nova.

Nova only supports things that look like 'VMs'. That includes bare metal,
and containers, but it only includes a subset of container features.

+1

In your blueprint you mention:
"The difference between LXC and VM makes the driver hard to maintain a
unified model in Nova."

To be clear Nova has no intention of providing a unified model, in
part due to the truth behind your statement above. We provide things
that look like "servers". Please see:
http://docs.openstack.org/ developer/nova/project_scope. html#containers

I would recommending talking the container subgroup, in one of their
meetings, about how best to integrate with OpenStack:
https://wiki.openstack.org/ wiki/Meetings/Containers

Looking at the hyper CLI [0], there are many commands that nova would not
suppprt, such as:

  • The pod notion
  • exec
  • pull

Then I guess you need to see if Hyper can implement mandatory features
for Nova [1], [2].

[1] http://docs.openstack.org/ developer/nova/support-matrix. html
[2] https://wiki.openstack.org/ wiki/HypervisorSupportMatrix

We have no intention of expanding the scope of the Nova API to include
container operation. And the reverse is also true, we would want to
see an intention to support all the important existing APIs before
inclusion, and proving that be having tempest tests reliably passing.

Many thanks,
John


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists. openstack.org?subject: unsubscribe
http://lists.openstack.org/ cgi-bin/mailman/listinfo/ openstack-dev__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Jun 22, 2015 by Peng_Zhao (1,060 points)   1
0 votes

On 22 June 2015 at 16:52, Peng Zhao peng@hyper.sh wrote:

Thanks John.

I’m also not sure what the future would be, but I’d say that it would be
nice to have a hybrid OpenStack cluster of both VM/App-Container flavor.
And yes, it is more about a unified model between Nova and Magnum.

In my head, I always considered heat as a good place to model using both
kinds of resources.

But I can't say I have thought through all the details as yet.

Thanks,
John

Best,
Peng


Hyper - Make VM run like Container

On Mon, Jun 22, 2015 at 5:10 PM, John Garbutt john@johngarbutt.com
wrote:

On 22 June 2015 at 09:18, Sahid Orentino Ferdjaoui
sahid.ferdjaoui@redhat.com wrote:

On Sun, Jun 21, 2015 at 07:18:10PM +0300, Joe Gordon wrote:

On Fri, Jun 19, 2015 at 12:55 PM, Peng Zhao peng@hyper.sh wrote:

Hi, all,

I would like to propose nova-hyper driver:
https://blueprints.launchpad.net/nova/+spec/nova-hyper.

  • What is Hyper?
    Put simply, Hyper is a hypervisor-agnostic Docker runtime. It is
    similar to Intel’s ClearContainer, allowing to run a Docker image
    with any
    hypervisor.

  • Why Hyper driver?
    Given its hypervisor nature, Hyper makes it easy to integrate with
    OpenStack ecosystem, e.g. Nova, Cinder, Neutron

  • How to implement?
    Similar to nova-docker driver. Hyper has a daemon “hyperd”
    running on
    each physical box. hyperd exposed a set of REST APIs. Integrating
    Nova with
    the APIs would do the job.

For clarity, we are yet to accept the nova-docker driver into the Nova
project, due to various concerns about its potential future direction.
Hopefully we should get a more final answer on that soon.

  • Roadmap
    Integrate with Magnum & Ironic.

This sounds like a better fit for something on top of Nova such as
Magnum
then as a Nova driver.

+1

On the surface, it feels like a possible Magnum driver.
Although I am far from certain that its an exact match.
But I think that would be a better starting point than Nova.

Nova only supports things that look like 'VMs'. That includes bare
metal,
and containers, but it only includes a subset of container features.

+1

In your blueprint you mention:
"The difference between LXC and VM makes the driver hard to maintain a
unified model in Nova."

To be clear Nova has no intention of providing a unified model, in
part due to the truth behind your statement above. We provide things
that look like "servers". Please see:
http://docs.openstack.org/developer/nova/project_scope.html#containers

I would recommending talking the container subgroup, in one of their
meetings, about how best to integrate with OpenStack:
https://wiki.openstack.org/wiki/Meetings/Containers

Looking at the hyper CLI [0], there are many commands that nova would
not
suppprt, such as:

  • The pod notion
  • exec
  • pull

Then I guess you need to see if Hyper can implement mandatory features
for Nova [1], [2].

[1] http://docs.openstack.org/developer/nova/support-matrix.html
[2] https://wiki.openstack.org/wiki/HypervisorSupportMatrix

We have no intention of expanding the scope of the Nova API to include
container operation. And the reverse is also true, we would want to
see an intention to support all the important existing APIs before
inclusion, and proving that be having tempest tests reliably passing.

Many thanks,
John


OpenStack Development Mailing List (not for usage questions)
Unsubscribe:
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Jun 23, 2015 by John_Garbutt (15,460 points)   3 4 5
...