Re: [openstack-dev] FreeBSD host support

2014-11-12 Thread Michał Dubiel
Hi,

As for the Devstack it requires some rebasing work (not necessarily
straightforward) in order to push the changes upstream. As for the neutron,
it should not be difficult to port FreeBSD networking support (we have some
code in our forked repos) from nova-network to neutron plugin.

Regards,
Michal

On 30 October 2014 12:21, Roman Bogorodskiy bogorods...@gmail.com wrote:

   Monty Taylor wrote:

  On 10/27/2014 06:39 AM, Michael Still wrote:
   On Tuesday, October 21, 2014, Roman Bogorodskiy 
 rbogorods...@mirantis.com
   wrote:
  
   On Mon, Oct 20, 2014 at 10:19 PM, Joe Gordon joe.gord...@gmail.com
   javascript:; wrote:
   On Sat, Oct 18, 2014 at 10:04 AM, Roman Bogorodskiy 
   rbogorods...@mirantis.com javascript:; wrote:
  
  
   [snip]
  
  
   High level overview of what needs to be done:
  
- Nova
 * linux_net needs to be re-factored to allow to plug in FreeBSD
   support (that's what the spec linked above is about)
 * nova.virt.disk.mount needs to be extended to support FreeBSD's
   mdconfig(8) in a similar way to Linux's losetup
  
  
   [snip]
  
  
   What about neutron? We are in the process of trying to deprecate
   nova-network, so any new thing needs to support neutron.
  
  
   AFAIK, there's no defined migration plan yet, unless I missed that.
   Anyway, I don't see any blockers regarding an implementation of a
 driver
   similar to linuxbridge that'd work on FreeBSD.
  
   Also, Semihalf guys are working on OpenContail/FreeBSD and
   Neutron/OpenContrial support, so that's an option as well.
  
  
   I have no problem with supporting FreeBSD as a hypervisor operating
 system,
   especially if there is a solid team on the FreeBSD side that will
 commit to
   maintaining the changes required and adding the necessary CI
 (especially
   ensuring that when it breaks it gets fixed).
 
  I believe that the CI related things that would be needed would be:
 
  - solid devstack support
  - someone willing to step up and make sure that nodepool can provide
  freebsd images like ianw recently did with centos

 Semihalf guys implemented FreeBSD support devstack as well (Michał
 CCed):

  https://github.com/Semihalf/openstack-devstack

 I don't know if they did an attempt to push these changes back.

 Creating FreeBSD images is not hard and I could do that.

 Anyway, there are some points regarding the CI that are not quite clear
 to me.

  - Should it be a 3rd party CI or integrated to the main CI?
  - At what point we want to start tempest/devstack testing over FreeBSD?
I think it'll take quite some time to make these pass (maybe several
release cycles).

   However, I see Neutron support as a firm requirement. We've spent a
 large
   amount of time getting closer and closer to deprecating nova-network.
   Despite opening it up for limited development again, I don't think we
   should be making the transition plan harder by introducing new features
   that don't work with Neutron.
 
  I agree with Mikal on this.

 Good. It doesn't look like a problem to me to bring the support into
 Neutron over nova-network. After a brief view the level of effort for
 the Neutron implementation is not much higher comparing to nova-network.

 Roman Bogorodskiy

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-30 Thread Roman Bogorodskiy
  Monty Taylor wrote:

 On 10/27/2014 06:39 AM, Michael Still wrote:
  On Tuesday, October 21, 2014, Roman Bogorodskiy rbogorods...@mirantis.com
  wrote:
  
  On Mon, Oct 20, 2014 at 10:19 PM, Joe Gordon joe.gord...@gmail.com
  javascript:; wrote:
  On Sat, Oct 18, 2014 at 10:04 AM, Roman Bogorodskiy 
  rbogorods...@mirantis.com javascript:; wrote:
 
  
  [snip]
  
  
  High level overview of what needs to be done:
 
   - Nova
* linux_net needs to be re-factored to allow to plug in FreeBSD
  support (that's what the spec linked above is about)
* nova.virt.disk.mount needs to be extended to support FreeBSD's
  mdconfig(8) in a similar way to Linux's losetup
 
  
  [snip]
  
  
  What about neutron? We are in the process of trying to deprecate
  nova-network, so any new thing needs to support neutron.
 
 
  AFAIK, there's no defined migration plan yet, unless I missed that.
  Anyway, I don't see any blockers regarding an implementation of a driver
  similar to linuxbridge that'd work on FreeBSD.
 
  Also, Semihalf guys are working on OpenContail/FreeBSD and
  Neutron/OpenContrial support, so that's an option as well.
  
  
  I have no problem with supporting FreeBSD as a hypervisor operating system,
  especially if there is a solid team on the FreeBSD side that will commit to
  maintaining the changes required and adding the necessary CI (especially
  ensuring that when it breaks it gets fixed).
 
 I believe that the CI related things that would be needed would be:
 
 - solid devstack support
 - someone willing to step up and make sure that nodepool can provide
 freebsd images like ianw recently did with centos

Semihalf guys implemented FreeBSD support devstack as well (Michał
CCed):

 https://github.com/Semihalf/openstack-devstack

I don't know if they did an attempt to push these changes back.

Creating FreeBSD images is not hard and I could do that.

Anyway, there are some points regarding the CI that are not quite clear
to me. 

 - Should it be a 3rd party CI or integrated to the main CI?
 - At what point we want to start tempest/devstack testing over FreeBSD?
   I think it'll take quite some time to make these pass (maybe several
   release cycles).

  However, I see Neutron support as a firm requirement. We've spent a large
  amount of time getting closer and closer to deprecating nova-network.
  Despite opening it up for limited development again, I don't think we
  should be making the transition plan harder by introducing new features
  that don't work with Neutron.
 
 I agree with Mikal on this.

Good. It doesn't look like a problem to me to bring the support into
Neutron over nova-network. After a brief view the level of effort for
the Neutron implementation is not much higher comparing to nova-network.

Roman Bogorodskiy

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-27 Thread Michael Still
On Tuesday, October 21, 2014, Roman Bogorodskiy rbogorods...@mirantis.com
wrote:

 On Mon, Oct 20, 2014 at 10:19 PM, Joe Gordon joe.gord...@gmail.com
 javascript:; wrote:
  On Sat, Oct 18, 2014 at 10:04 AM, Roman Bogorodskiy 
 rbogorods...@mirantis.com javascript:; wrote:


[snip]


  High level overview of what needs to be done:
 
   - Nova
* linux_net needs to be re-factored to allow to plug in FreeBSD
  support (that's what the spec linked above is about)
* nova.virt.disk.mount needs to be extended to support FreeBSD's
  mdconfig(8) in a similar way to Linux's losetup


[snip]


  What about neutron? We are in the process of trying to deprecate
 nova-network, so any new thing needs to support neutron.


 AFAIK, there's no defined migration plan yet, unless I missed that.
 Anyway, I don't see any blockers regarding an implementation of a driver
 similar to linuxbridge that'd work on FreeBSD.

 Also, Semihalf guys are working on OpenContail/FreeBSD and
 Neutron/OpenContrial support, so that's an option as well.


I have no problem with supporting FreeBSD as a hypervisor operating system,
especially if there is a solid team on the FreeBSD side that will commit to
maintaining the changes required and adding the necessary CI (especially
ensuring that when it breaks it gets fixed).

However, I see Neutron support as a firm requirement. We've spent a large
amount of time getting closer and closer to deprecating nova-network.
Despite opening it up for limited development again, I don't think we
should be making the transition plan harder by introducing new features
that don't work with Neutron.

Michael


-- 
Rackspace Australia
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-27 Thread Daniel P. Berrange
On Tue, Oct 28, 2014 at 12:39:40AM +1100, Michael Still wrote:
 On Tuesday, October 21, 2014, Roman Bogorodskiy rbogorods...@mirantis.com
 wrote:
 
  On Mon, Oct 20, 2014 at 10:19 PM, Joe Gordon joe.gord...@gmail.com
  javascript:; wrote:
   On Sat, Oct 18, 2014 at 10:04 AM, Roman Bogorodskiy 
  rbogorods...@mirantis.com javascript:; wrote:
 
 
 [snip]
 
 
   High level overview of what needs to be done:
  
- Nova
 * linux_net needs to be re-factored to allow to plug in FreeBSD
   support (that's what the spec linked above is about)
 * nova.virt.disk.mount needs to be extended to support FreeBSD's
   mdconfig(8) in a similar way to Linux's losetup
 
 
 [snip]
 
 
   What about neutron? We are in the process of trying to deprecate
  nova-network, so any new thing needs to support neutron.
 
 
  AFAIK, there's no defined migration plan yet, unless I missed that.
  Anyway, I don't see any blockers regarding an implementation of a driver
  similar to linuxbridge that'd work on FreeBSD.
 
  Also, Semihalf guys are working on OpenContail/FreeBSD and
  Neutron/OpenContrial support, so that's an option as well.
 
 
 I have no problem with supporting FreeBSD as a hypervisor operating system,
 especially if there is a solid team on the FreeBSD side that will commit to
 maintaining the changes required and adding the necessary CI (especially
 ensuring that when it breaks it gets fixed).
 
 However, I see Neutron support as a firm requirement. We've spent a large
 amount of time getting closer and closer to deprecating nova-network.
 Despite opening it up for limited development again, I don't think we
 should be making the transition plan harder by introducing new features
 that don't work with Neutron.

As far as the Nova side is concerned, any code we add for FreeBSD in the
libvirt driver should just work with Neutron and its linuxbridge plugin,
since there's nothing new/special about FreeBSD network config in the
libvirt XML.

Any work is on the Neutron project side to remove any Linux-isms in the
Neutron linuxbridge plugin (and any others that the FreeBSD team wish
to support) code. So that would obviously require a spec to be submitted
to Neutron for any porting effort wrt FreeBSD.

As long as the Neutron team are willing to accept portability work to
FreeBSD, I don't think we need to block the Nova work on that. We can
let then proceeed in parallel, and we simply don't mark Nova FreeBSD
as an officially supported driver until both pieces of work are complete

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-27 Thread Kyle Mestery
On Mon, Oct 27, 2014 at 8:39 AM, Michael Still mi...@stillhq.com wrote:
 On Tuesday, October 21, 2014, Roman Bogorodskiy rbogorods...@mirantis.com
 wrote:

 On Mon, Oct 20, 2014 at 10:19 PM, Joe Gordon joe.gord...@gmail.com
 wrote:
  On Sat, Oct 18, 2014 at 10:04 AM, Roman Bogorodskiy
  rbogorods...@mirantis.com wrote:


 [snip]


  High level overview of what needs to be done:
 
   - Nova
* linux_net needs to be re-factored to allow to plug in FreeBSD
  support (that's what the spec linked above is about)
* nova.virt.disk.mount needs to be extended to support FreeBSD's
  mdconfig(8) in a similar way to Linux's losetup


 [snip]


  What about neutron? We are in the process of trying to deprecate
  nova-network, so any new thing needs to support neutron.


 AFAIK, there's no defined migration plan yet, unless I missed that.
 Anyway, I don't see any blockers regarding an implementation of a driver
 similar to linuxbridge that'd work on FreeBSD.

 Also, Semihalf guys are working on OpenContail/FreeBSD and
 Neutron/OpenContrial support, so that's an option as well.


 I have no problem with supporting FreeBSD as a hypervisor operating system,
 especially if there is a solid team on the FreeBSD side that will commit to
 maintaining the changes required and adding the necessary CI (especially
 ensuring that when it breaks it gets fixed).

 However, I see Neutron support as a firm requirement. We've spent a large
 amount of time getting closer and closer to deprecating nova-network.
 Despite opening it up for limited development again, I don't think we should
 be making the transition plan harder by introducing new features that don't
 work with Neutron.

+1000

During Juno we closed a huge amount of the gap, I agree with Michael's
sentiment above.

Thanks,
Kyle

 Michael


 --
 Rackspace Australia

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-27 Thread Monty Taylor
On 10/27/2014 06:39 AM, Michael Still wrote:
 On Tuesday, October 21, 2014, Roman Bogorodskiy rbogorods...@mirantis.com
 wrote:
 
 On Mon, Oct 20, 2014 at 10:19 PM, Joe Gordon joe.gord...@gmail.com
 javascript:; wrote:
 On Sat, Oct 18, 2014 at 10:04 AM, Roman Bogorodskiy 
 rbogorods...@mirantis.com javascript:; wrote:

 
 [snip]
 
 
 High level overview of what needs to be done:

  - Nova
   * linux_net needs to be re-factored to allow to plug in FreeBSD
 support (that's what the spec linked above is about)
   * nova.virt.disk.mount needs to be extended to support FreeBSD's
 mdconfig(8) in a similar way to Linux's losetup

 
 [snip]
 
 
 What about neutron? We are in the process of trying to deprecate
 nova-network, so any new thing needs to support neutron.


 AFAIK, there's no defined migration plan yet, unless I missed that.
 Anyway, I don't see any blockers regarding an implementation of a driver
 similar to linuxbridge that'd work on FreeBSD.

 Also, Semihalf guys are working on OpenContail/FreeBSD and
 Neutron/OpenContrial support, so that's an option as well.
 
 
 I have no problem with supporting FreeBSD as a hypervisor operating system,
 especially if there is a solid team on the FreeBSD side that will commit to
 maintaining the changes required and adding the necessary CI (especially
 ensuring that when it breaks it gets fixed).

I believe that the CI related things that would be needed would be:

- solid devstack support
- someone willing to step up and make sure that nodepool can provide
freebsd images like ianw recently did with centos

 However, I see Neutron support as a firm requirement. We've spent a large
 amount of time getting closer and closer to deprecating nova-network.
 Despite opening it up for limited development again, I don't think we
 should be making the transition plan harder by introducing new features
 that don't work with Neutron.

I agree with Mikal on this.

 
 
 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-27 Thread Drew Fisher


On 10/27/14 9:35 AM, Monty Taylor wrote:

snip

 I have no problem with supporting FreeBSD as a hypervisor operating system,
 especially if there is a solid team on the FreeBSD side that will commit to
 maintaining the changes required and adding the necessary CI (especially
 ensuring that when it breaks it gets fixed).
 
 I believe that the CI related things that would be needed would be:
 
 - solid devstack support

I do not want to hijack this thread with Solaris specific questions, but
this point is a major sticking point for us too.  To my knowledge,
modifying devstack for anything not RHEL/Ubuntu is out of the question
(they're not interested in supporting other OSes).  We desperately WANT
to push our Solaris driver upstream and we're in the process of getting
our CI infrastructure in place to do so, but devstack has been out of
the question so far.

If devstack itself (not CI, but devstack) is a hard requirement for
integration we need to probably start up a different thread on what the
best way for other OSes like FreeBSD and Solaris to work around this
issue.  What should we be looking at?  A compatible devstack clone that
configures Solaris as a single-host development OpenStack rig?

-Drew


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-27 Thread Stefano Maffulli
On 10/27/2014 08:51 AM, Drew Fisher wrote:
 If devstack itself (not CI, but devstack) is a hard requirement for
 integration we need to probably start up a different thread on what the
 best way for other OSes like FreeBSD and Solaris to work around this
 issue.  What should we be looking at?  A compatible devstack clone that
 configures Solaris as a single-host development OpenStack rig?

I doubt devstack itself is a hard requirement for CI since
Windows/Hyper-V testing is done without devstack. I think what mordred
meant was that you need to provide a way like devstack for Infra team to
test things.

To put the thread back in topic, I would assume that the *BSD folks and
Oracle/Solaris would have good amount of overlap in this area.

How about you team up to either provide good patches to devstack to
support the non-linux options (if this is suitable) or develop a new
tool similar in scope to devstack for all BSD-family? Maybe that would
be good for OS X, too :)

Chat in Paris?

/stef

-- 
Ask and answer questions on https://ask.openstack.org

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-27 Thread Drew Fisher


On 10/27/14, 5:57 PM, Stefano Maffulli wrote:
 On 10/27/2014 08:51 AM, Drew Fisher wrote:
 If devstack itself (not CI, but devstack) is a hard requirement for
 integration we need to probably start up a different thread on what the
 best way for other OSes like FreeBSD and Solaris to work around this
 issue.  What should we be looking at?  A compatible devstack clone that
 configures Solaris as a single-host development OpenStack rig?
 
 I doubt devstack itself is a hard requirement for CI since
 Windows/Hyper-V testing is done without devstack. I think what mordred
 meant was that you need to provide a way like devstack for Infra team to
 test things.

Sounds good.

 
 To put the thread back in topic, I would assume that the *BSD folks and
 Oracle/Solaris would have good amount of overlap in this area.
 
 How about you team up to either provide good patches to devstack to
 support the non-linux options (if this is suitable) or develop a new
 tool similar in scope to devstack for all BSD-family? Maybe that would
 be good for OS X, too :)
 
 Chat in Paris?

I would love to.  Please ping me when you get a moment.

-Drew

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-27 Thread Ian Wienand

I do not want to hijack this thread with Solaris specific questions,
but this point is a major sticking point for us too.  To my
knowledge, modifying devstack for anything not RHEL/Ubuntu is out of
the question (they're not interested in supporting other OSes).


I think if the question is does devstack want a review that adds the
bash equivalent of #ifdef SOLARIS over everything and happened to
sort-of work for someone once, with no CI and a guarantee of
instantaneous bit-rot the answer is predictable.

If the question is more does devstack want cleaner abstractions
between platform and deployment backed up by CI and active
involvement I can not see that would be a bad thing.

For mine, integrating with CI would be the *first* step.

Until infrastructure was ready and able to run the devstack-gate
scripts on Solaris/FreeBSD/... nodes and devstack had a non-voting job
I personally would be very negative about merging changes for support.
Frankly I'm not going to be building and maintaining my own
FreeBSD/Solaris systems and hand-testing patches for them, so seeing
something happening in CI is the only way I could be sure any proposed
changes actually work before I spend time reviewing them.

Even if devstack is not the right vehicle, integrating these platforms
to the point that git review can run some sort of test -- anything
really -- is going to be much more compelling for someone to +2

-i

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-24 Thread Roman Bogorodskiy
  Roman Bogorodskiy wrote:

 On Mon, Oct 20, 2014 at 10:19 PM, Joe Gordon joe.gord...@gmail.com wrote:
 
 
 
  On Sat, Oct 18, 2014 at 10:04 AM, Roman Bogorodskiy 
  rbogorods...@mirantis.com wrote:
 

ping?

Roman Bogorodskiy


pgpz_SKT6P9Gy.pgp
Description: PGP signature
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-21 Thread Roman Bogorodskiy
On Mon, Oct 20, 2014 at 10:19 PM, Joe Gordon joe.gord...@gmail.com wrote:



 On Sat, Oct 18, 2014 at 10:04 AM, Roman Bogorodskiy 
 rbogorods...@mirantis.com wrote:

 Hi,

 In discussion of this spec proposal:
 https://review.openstack.org/#/c/127827/ it was suggested by Joe Gordon
 to start a discussion on the mailing list.

 So I'll share my thoughts and a long term plan on adding FreeBSD host
 support for OpenStack.

 An ultimate goal is to allow using libvirt/bhyve as a compute driver.
 However, I think it would be reasonable to start with libvirt/qemu
 support first as it will allow to prepare the ground.


 Before diving into the technical details below, I have one question. Why, 
 What is the benefit of this, besides the obvious 'we not support FreeBSD'?  
 Adding support for a new kernel introduces yet another column in our support 
 matrix, and will require a long term commitment to testing and maintaining 
 OpenStack on FreeBSD.

There a number of FreeBSD users that are interested in virtualization
and an effective
management of the virtualized resources. Using OpenStack would be much
more convenient
than using some custom scripts / home grown solutions people usually use now.



 High level overview of what needs to be done:

  - Nova
   * linux_net needs to be re-factored to allow to plug in FreeBSD
 support (that's what the spec linked above is about)
   * nova.virt.disk.mount needs to be extended to support FreeBSD's
 mdconfig(8) in a similar way to Linux's losetup
  - Glance and Keystone
 These components are fairly free of system specifics. Most likely
 they will require some small fixes like e.g. I made for Glance
 https://review.openstack.org/#/c/94100/
  - Cinder
 I didn't look close at Cinder from a porting perspective, tbh.
 Obviously, it'll need some backend driver that would work on
 FreeBSD, e.g. ZFS. I've seen some patches floating around for ZFS
 though. Also, I think it'll need an implementation of iSCSI stack
 on FreeBSD, because it has its own stack, not stgt. On the other
 hand, Cinder is not required for a minimal installation and that
 could be done after adding support of the other components.


 What about neutron? We are in the process of trying to deprecate 
 nova-network, so any new thing needs to support neutron.


AFAIK, there's no defined migration plan yet, unless I missed that.
Anyway, I don't see any blockers regarding an implementation of a driver
similar to linuxbridge that'd work on FreeBSD.

Also, Semihalf guys are working on OpenContail/FreeBSD and
Neutron/OpenContrial support, so that's an option as well.




 Also, it's worth to mention that a discussion on this topic already
 happened on this maillist:

 http://lists.openstack.org/pipermail/openstack-dev/2014-March/031431.html

 Some of the limitations were resolved since then, specifically,
 libvirt/bhyve has no limitation on count of disk and ethernet devices
 anymore.

 Roman Bogorodskiy



___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-20 Thread Daniel P. Berrange
On Sat, Oct 18, 2014 at 09:04:20PM +0400, Roman Bogorodskiy wrote:
 Hi,
 
 In discussion of this spec proposal:
 https://review.openstack.org/#/c/127827/ it was suggested by Joe Gordon
 to start a discussion on the mailing list.
 
 So I'll share my thoughts and a long term plan on adding FreeBSD host
 support for OpenStack. 
 
 An ultimate goal is to allow using libvirt/bhyve as a compute driver.
 However, I think it would be reasonable to start with libvirt/qemu
 support first as it will allow to prepare the ground.

Agreed, I'd avoid the temptation to try to do everything at once. Taking
an iterative approach of attacking small chunks of work at a time is much
more practical.  So by targetting libvirt+qemu you are able to focus on
just identifying the Linux specific bits of the existing libvirt+qemu
support. Once complete, then you can focus on the separate task of porting
to the libvirt+bhyve driver.

 High level overview of what needs to be done:
 
  - Nova
   * linux_net needs to be re-factored to allow to plug in FreeBSD
 support (that's what the spec linked above is about)

Yep, this is biggest piece of Linux specific code in Nova codepaths
for VM startup at least. So makes sense to deal with this.

   * nova.virt.disk.mount needs to be extended to support FreeBSD's
 mdconfig(8) in a similar way to Linux's losetup

Broken file injection isn't a show-stopper for booting VMs
but is obviously nice to have and shouldn't be too difficult
as we already have a decent abstraction layer here.

  - Glance and Keystone
 These components are fairly free of system specifics. Most likely
 they will require some small fixes like e.g. I made for Glance
 https://review.openstack.org/#/c/94100/

Glance  Keystone are obviously core things to get working in order
to be able to boot a VM. 

  - Cinder
 I didn't look close at Cinder from a porting perspective, tbh.
 Obviously, it'll need some backend driver that would work on
 FreeBSD, e.g. ZFS. I've seen some patches floating around for ZFS
 though. Also, I think it'll need an implementation of iSCSI stack
 on FreeBSD, because it has its own stack, not stgt. On the other
 hand, Cinder is not required for a minimal installation and that
 could be done after adding support of the other components.

I wouldn't worry about doing anything in Cinder until you have the
rest of Nova almost fully functional on FreeBSD.

There are bound to be a number of other things that we can't think of
right now that will appear as you do the work  get to test more and
more functional areas.  I wouldn't bother trying to imagine what these
are right now nor create specs for them. Instead I'd very much recommend
taking an iterative approach to specs + bugs. ie when you come across
new problems wrt porting, just file new specs (for big problems needing
refactoring) or bugs (for minor problems easily fixed) to deal with the
issues as you see fit at the time.

IOW I'd just encourage you to jump right into the networking refactor
work. That mess badly needs cleaning up even if we don't do FreeBSD
work, so is a very worthwhile thing to work on for Kilo regardless.

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] FreeBSD host support

2014-10-20 Thread Joe Gordon
On Sat, Oct 18, 2014 at 10:04 AM, Roman Bogorodskiy 
rbogorods...@mirantis.com wrote:

 Hi,

 In discussion of this spec proposal:
 https://review.openstack.org/#/c/127827/ it was suggested by Joe Gordon
 to start a discussion on the mailing list.

 So I'll share my thoughts and a long term plan on adding FreeBSD host
 support for OpenStack.

 An ultimate goal is to allow using libvirt/bhyve as a compute driver.
 However, I think it would be reasonable to start with libvirt/qemu
 support first as it will allow to prepare the ground.


Before diving into the technical details below, I have one question. Why,
What is the benefit of this, besides the obvious 'we not support FreeBSD'?
Adding support for a new kernel introduces yet another column in our
support matrix, and will require a long term commitment to testing and
maintaining OpenStack on FreeBSD.




 High level overview of what needs to be done:

  - Nova
   * linux_net needs to be re-factored to allow to plug in FreeBSD
 support (that's what the spec linked above is about)
   * nova.virt.disk.mount needs to be extended to support FreeBSD's
 mdconfig(8) in a similar way to Linux's losetup
  - Glance and Keystone
 These components are fairly free of system specifics. Most likely
 they will require some small fixes like e.g. I made for Glance
 https://review.openstack.org/#/c/94100/
  - Cinder
 I didn't look close at Cinder from a porting perspective, tbh.
 Obviously, it'll need some backend driver that would work on
 FreeBSD, e.g. ZFS. I've seen some patches floating around for ZFS
 though. Also, I think it'll need an implementation of iSCSI stack
 on FreeBSD, because it has its own stack, not stgt. On the other
 hand, Cinder is not required for a minimal installation and that
 could be done after adding support of the other components.


What about neutron? We are in the process of trying to deprecate
nova-network, so any new thing needs to support neutron.



 Also, it's worth to mention that a discussion on this topic already
 happened on this maillist:

 http://lists.openstack.org/pipermail/openstack-dev/2014-March/031431.html

 Some of the limitations were resolved since then, specifically,
 libvirt/bhyve has no limitation on count of disk and ethernet devices
 anymore.

 Roman Bogorodskiy

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev