Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-06 Thread Flavio Percoco

On 05/05/16 19:16 +, Amrith Kumar wrote:

Pete, please clarify … I was going to push the dib elements that we currently
have and you were writing CentOS elements. Is that right?



Seems like there are some crossed wires here.


Pete is out today so chiming in on his behalf for now. At the summit Pete signed
up for amending the current spec, include the DIB bits in there and to pull the
DIB elements out of trove-integration into the repo, which Pete himself agreed
to create as well.

I believe he's already started on this so, I'd prolly let him handle this as
agreed at the summit.

Thanks,
Flavio





-amrith



From: Victoria Martínez de la Cruz [mailto:victo...@vmartinezdelacruz.com]
Sent: Thursday, May 05, 2016 10:30 AM
To: OpenStack Development Mailing List (not for usage questions)

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion
of image building in Trove



We agreed during the summit that we were going to amend the spec to reflect
latest discussions with regards to having DIB as a primary implementation and
adding support for libguestfs in parallel. The spec blueprint is named "Trove
image builder" and it's about building images and not about which tool we are
going to use. Thanks for creating the artifacts we need to push the code, we
take it over from there.



2016-05-05 11:12 GMT-03:00 Amrith Kumar :




   From: Victoria Martínez de la Cruz [mailto:victo...@vmartinezdelacruz.com]
   Sent: Thursday, May 05, 2016 9:00 AM
   To: OpenStack Development Mailing List (not for usage questions) <
   openstack-dev@lists.openstack.org>
   Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila]
   discussion of image building in Trove




   Hi all,




   A few things:




   - I agree that moving from DIB to libguestfs is a bold move and that we
   should try to avoid changing tools unless highly necessary. The downsides
   we found for DIB are detailed in this spec [0] and Ethan (in this same
   thread) also added valid points on the Sahara case. My concern here is,
   should we stick with DIB just because is the standard for image creation?
   Shouldn't we take in consideration that some projects, like Sahara, are
   moving away from it?

   - In the long term it would be ideal that we reach to a common solution for
   image creation for all the projects that need tailored images: Trove,
   Sahara, Octavia, Manila, and IIRC, Kolla and Cue.

   - In the short term, I'm on board or working on having tools based on DIB
   for image creation in Trove.

   - Amrith, Pete is working on the image creation process for Trove. The spec
   is up there [0]. I think is his work to kick-off that repository.

   [amrith] The spec [0] referenced is entitled “Separate trove image build
   project based on libguestfs tools”. I am working on image building using
   the existing DIB elements that are already part of trove-integration. In
   any event, please see line 220 of [0] for a detailed explanation of why I
   am making the repository.




   Best,




   Victoria




   [0] https://review.openstack.org/#/c/295274/




   2016-05-04 23:20 GMT-03:00 Amrith Kumar :

   As we discussed at summit, (and consistent with all of the comments) we
   should move ahead with the project to advance the image builder for
   Trove and make it easier to build guest images for Trove by leveraging
   the DIB elements that we have in trove-integration.




   To that end, the infra [1] and governance [2] changes have been
   submitted for review. The Launchpad tracker [3] has been registered.




   I am working on taking the existing DIB elements in trove-integration
   and putting them in the new repository (openstack/trove-image-builder).
   I am also going to continue to watch this conversation and record any
   shortcomings with the existing DIB elements in Launchpad [3] and work
   on fixing those as well. Pete mentions one in his earlier email and
   I’ve logged that in Launchpad [4].




   Thanks,




   -amrith




   [1] https://review.openstack.org/#/c/312805/

   [2] https://review.openstack.org/#/c/312806/

   [3] https://launchpad.net/trove-image-builder

   [4] https://bugs.launchpad.net/trove-image-builder/+bug/1578454








   From: Mariam John [mailto:mari...@us.ibm.com]
   Sent: Wednesday, May 04, 2016 4:19 PM
   To: OpenStack Development Mailing List (not for usage questions) <
   openstack-dev@lists.openstack.org>

      
       Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila]

   discussion of image building in Trove




   The way I see this, these are the 2 main concerns I have been hearing
   regarding image building in Trove:
   1) making the process simple and easy for users
 

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Fox, Kevin M
Another few related things:

 * We tend to build our images in vm's. so if libguestfs has to spawn in a vm 
nested in that vm, it may have some performance issues. DIB doesn't have that 
problem.
 * We used to build our centos 6 images without grub a while back, but the 
first yum upgrade that upgraded a kernel in them broke things horribly. So grub 
support is very important.
 * Totally untested at this point, but we're going to be supporting uefi based 
VM's soon. We need a tool chain for building those images. I think DIB can 
build them, but last we looked it seems like the code makes some assumptions 
based on what the host is? If so, there is a chicken and an egg issue there?

Thanks,
Kevin

From: Amrith Kumar [amr...@tesora.com]
Sent: Thursday, May 05, 2016 12:54 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove

Thanks Peter, that is very helpful. I’ve added your comments to the etherpad 
(https://etherpad.openstack.org/p/image-generation-in-openstack)

-amrith

From: Nordquist, Peter L [mailto:peter.nordqu...@pnnl.gov]
Sent: Thursday, May 05, 2016 12:29 PM
To: OpenStack Development Mailing List (not for usage questions) 

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove

Hello all, I’m an Operator that has worked with DIB here for the last few 
months to get some working images for our Private Cloud.  The only major issue 
I could come up with at the summit was the way grub 0.97 is treated in the 
bootloader element.  For Centos 6, I had to find an element that could actually 
install grub 0.97 since when yum goes to update the kernel, it tries to update 
the grub config but not the extlinux config and in our cloud we need the VMs to 
stay updated.  I’m sure the elements I have locally could be useful but the 
current thinking in my organization is to deprecate our Centos 6 use as quickly 
as possible.

I’ve also run into an issue reported here [0] that makes installing a 
bootloader in Centos 6 a pain in either extlinux or grub 0.97.  That’s really a 
quirk of the OS packages I’m using to build the image but still an odd 
situation.  I’ve updated my VMs that build images to the Mitaka RDO release and 
with that release came the qemu-kvm-ev packages so I’m hopeful that these new 
packages might fix this bug.  If not I’ll have to keep using Ubuntu to build my 
Centos 6 images.

Security is a concern for sure but in my environment I have Jenkins spawn a VM 
in the cloud to build these images and I give these VMs enough ram to build the 
image in memory instead of copying the image to disk.

I also have a requirement to standardize our images to using XFS for the root 
partition due to our flavors including a large amount of root disk.  The 
reasoning here is that XFS resizes faster than ext4 so I would have a concern 
if libguestfs could not do this.  It seems like I could just use DIB to fix any 
images that were created from your libguestfs scripts though so it might not be 
that much of a concern.

[0]: https://bugs.launchpad.net/diskimage-builder/+bug/1477179

Peter Nordquist

From: Mariam John [mailto:mari...@us.ibm.com]
Sent: Thursday, May 05, 2016 07:43
To: OpenStack Development Mailing List (not for usage questions) 
mailto:openstack-dev@lists.openstack.org>>
Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove


[Inactive hide details for Victoria Martínez de la Cruz ---05/05/2016 08:12:33 
AM---Hi all, A few things:]Victoria Martínez de la Cruz ---05/05/2016 08:12:33 
AM---Hi all, A few things:

From: Victoria Martínez de la Cruz 
mailto:victo...@vmartinezdelacruz.com>>
To: "OpenStack Development Mailing List (not for usage questions)" 
mailto:openstack-dev@lists.openstack.org>>
Date: 05/05/2016 08:12 AM
Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove





Hi all,

A few things:

- I agree that moving from DIB to libguestfs is a bold move and that we should 
try to avoid changing tools unless highly necessary. The downsides we found for 
DIB are detailed in this spec [0] and Ethan (in this same thread) also added 
valid points on the Sahara case. My concern here is, should we stick with DIB 
just because is the standard for image creation? Shouldn't we take in 
consideration that some projects, like Sahara, are moving away from?

I think it would be worth trying to see if DIB can address the concerns raised 
by the different projects around image building and improve upon that. By 
improving DIB, I think all these projects and OpenStack in general can benefit 
from it.

- In the long term it would be ideal that we reach to a common solution for 
image creation for all the projec

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Amrith Kumar
Thanks Peter, that is very helpful. I’ve added your comments to the etherpad 
(https://etherpad.openstack.org/p/image-generation-in-openstack)

-amrith

From: Nordquist, Peter L [mailto:peter.nordqu...@pnnl.gov]
Sent: Thursday, May 05, 2016 12:29 PM
To: OpenStack Development Mailing List (not for usage questions) 

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove

Hello all, I’m an Operator that has worked with DIB here for the last few 
months to get some working images for our Private Cloud.  The only major issue 
I could come up with at the summit was the way grub 0.97 is treated in the 
bootloader element.  For Centos 6, I had to find an element that could actually 
install grub 0.97 since when yum goes to update the kernel, it tries to update 
the grub config but not the extlinux config and in our cloud we need the VMs to 
stay updated.  I’m sure the elements I have locally could be useful but the 
current thinking in my organization is to deprecate our Centos 6 use as quickly 
as possible.

I’ve also run into an issue reported here [0] that makes installing a 
bootloader in Centos 6 a pain in either extlinux or grub 0.97.  That’s really a 
quirk of the OS packages I’m using to build the image but still an odd 
situation.  I’ve updated my VMs that build images to the Mitaka RDO release and 
with that release came the qemu-kvm-ev packages so I’m hopeful that these new 
packages might fix this bug.  If not I’ll have to keep using Ubuntu to build my 
Centos 6 images.

Security is a concern for sure but in my environment I have Jenkins spawn a VM 
in the cloud to build these images and I give these VMs enough ram to build the 
image in memory instead of copying the image to disk.

I also have a requirement to standardize our images to using XFS for the root 
partition due to our flavors including a large amount of root disk.  The 
reasoning here is that XFS resizes faster than ext4 so I would have a concern 
if libguestfs could not do this.  It seems like I could just use DIB to fix any 
images that were created from your libguestfs scripts though so it might not be 
that much of a concern.

[0]: https://bugs.launchpad.net/diskimage-builder/+bug/1477179

Peter Nordquist

From: Mariam John [mailto:mari...@us.ibm.com]
Sent: Thursday, May 05, 2016 07:43
To: OpenStack Development Mailing List (not for usage questions) 
mailto:openstack-dev@lists.openstack.org>>
Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove


[Inactive hide details for Victoria Martínez de la Cruz ---05/05/2016 08:12:33 
AM---Hi all, A few things:]Victoria Martínez de la Cruz ---05/05/2016 08:12:33 
AM---Hi all, A few things:

From: Victoria Martínez de la Cruz 
mailto:victo...@vmartinezdelacruz.com>>
To: "OpenStack Development Mailing List (not for usage questions)" 
mailto:openstack-dev@lists.openstack.org>>
Date: 05/05/2016 08:12 AM
Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove





Hi all,

A few things:

- I agree that moving from DIB to libguestfs is a bold move and that we should 
try to avoid changing tools unless highly necessary. The downsides we found for 
DIB are detailed in this spec [0] and Ethan (in this same thread) also added 
valid points on the Sahara case. My concern here is, should we stick with DIB 
just because is the standard for image creation? Shouldn't we take in 
consideration that some projects, like Sahara, are moving away from?

I think it would be worth trying to see if DIB can address the concerns raised 
by the different projects around image building and improve upon that. By 
improving DIB, I think all these projects and OpenStack in general can benefit 
from it.

- In the long term it would be ideal that we reach to a common solution for 
image creation for all the projects that need tailored images: Trove, Sahara, 
Octavia, Manila, and IIRC, Kolla and Cue.
- In the short term, I'm on board or working on having tools based on DIB for 
image creation in Trove.
- Amrith, Pete is working on the image creation process for Trove. The spec is 
up there [0]. I think is his work to kick-off that repository.

Best,

Victoria

[0] https://review.openstack.org/#/c/295274/

2016-05-04 23:20 GMT-03:00 Amrith Kumar 
mailto:amr...@tesora.com>>:
As we discussed at summit, (and consistent with all of the comments) we should 
move ahead with the project to advance the image builder for Trove and make it 
easier to build guest images for Trove by leveraging the DIB elements that we 
have in trove-integration.



To that end, the infra [1] and governance [2] changes have been submitted for 
review. The Launchpad tracker [3] has been registered.



I am working on taking the existing DIB elements in trove-integration and 
putting them in the new repository (opensta

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Amrith Kumar
Pete, please clarify … I was going to push the dib elements that we currently 
have and you were writing CentOS elements. Is that right?

Seems like there are some crossed wires here.

-amrith

From: Victoria Martínez de la Cruz [mailto:victo...@vmartinezdelacruz.com]
Sent: Thursday, May 05, 2016 10:30 AM
To: OpenStack Development Mailing List (not for usage questions) 

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove

We agreed during the summit that we were going to amend the spec to reflect 
latest discussions with regards to having DIB as a primary implementation and 
adding support for libguestfs in parallel. The spec blueprint is named "Trove 
image builder" and it's about building images and not about which tool we are 
going to use. Thanks for creating the artifacts we need to push the code, we 
take it over from there.

2016-05-05 11:12 GMT-03:00 Amrith Kumar 
mailto:amr...@tesora.com>>:

From: Victoria Martínez de la Cruz 
[mailto:victo...@vmartinezdelacruz.com<mailto:victo...@vmartinezdelacruz.com>]
Sent: Thursday, May 05, 2016 9:00 AM
To: OpenStack Development Mailing List (not for usage questions) 
mailto:openstack-dev@lists.openstack.org>>
Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove

Hi all,

A few things:

- I agree that moving from DIB to libguestfs is a bold move and that we should 
try to avoid changing tools unless highly necessary. The downsides we found for 
DIB are detailed in this spec [0] and Ethan (in this same thread) also added 
valid points on the Sahara case. My concern here is, should we stick with DIB 
just because is the standard for image creation? Shouldn't we take in 
consideration that some projects, like Sahara, are moving away from it?
- In the long term it would be ideal that we reach to a common solution for 
image creation for all the projects that need tailored images: Trove, Sahara, 
Octavia, Manila, and IIRC, Kolla and Cue.
- In the short term, I'm on board or working on having tools based on DIB for 
image creation in Trove.
- Amrith, Pete is working on the image creation process for Trove. The spec is 
up there [0]. I think is his work to kick-off that repository.
[amrith] The spec [0] referenced is entitled “Separate trove image build 
project based on libguestfs tools”. I am working on image building using the 
existing DIB elements that are already part of trove-integration. In any event, 
please see line 220 of [0] for a detailed explanation of why I am making the 
repository.

Best,

Victoria

[0] https://review.openstack.org/#/c/295274/

2016-05-04 23:20 GMT-03:00 Amrith Kumar 
mailto:amr...@tesora.com>>:
As we discussed at summit, (and consistent with all of the comments) we should 
move ahead with the project to advance the image builder for Trove and make it 
easier to build guest images for Trove by leveraging the DIB elements that we 
have in trove-integration.

To that end, the infra [1] and governance [2] changes have been submitted for 
review. The Launchpad tracker [3] has been registered.

I am working on taking the existing DIB elements in trove-integration and 
putting them in the new repository (openstack/trove-image-builder). I am also 
going to continue to watch this conversation and record any shortcomings with 
the existing DIB elements in Launchpad [3] and work on fixing those as well. 
Pete mentions one in his earlier email and I’ve logged that in Launchpad [4].

Thanks,

-amrith

[1] https://review.openstack.org/#/c/312805/
[2] https://review.openstack.org/#/c/312806/
[3] https://launchpad.net/trove-image-builder
[4] https://bugs.launchpad.net/trove-image-builder/+bug/1578454



From: Mariam John [mailto:mari...@us.ibm.com<mailto:mari...@us.ibm.com>]
Sent: Wednesday, May 04, 2016 4:19 PM
To: OpenStack Development Mailing List (not for usage questions) 
mailto:openstack-dev@lists.openstack.org>>

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove


The way I see this, these are the 2 main concerns I have been hearing regarding 
image building in Trove:
1) making the process simple and easy for users
2) addressing the issue of security

I dont think there is any argument regarding the benefits of moving the 
database elements to a seperate repository and packaging and managing them from 
there.

It looks like the case that we make for whether to use libguestfs or DIB for 
image building are in the technical details of how image building happens and 
their nuances - assuming that ease of use & having a simple interface to build 
secure images matters most, I wonder if the end-users would be concerned about 
these details.

By addressing some of the issues like:
- moving the Trove elements to a new repository
- adding support for new distros
- creating a wrapper script for building an image -get

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Amrith Kumar
In a chat on the Infra channel there was a suggestion that we create an 
etherpad to track issues with DIB.

https://etherpad.openstack.org/p/image-generation-in-openstack

I’ve created an etherpad above and populated it with some information that I 
have. I’ll post the etherpad on the infra IRC channel as well.

Thanks,

-amrith

From: Michael Johnson [mailto:johnso...@gmail.com]
Sent: Thursday, May 05, 2016 12:36 PM
To: OpenStack Development Mailing List (not for usage questions) 

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove

Just to chime in from an Octavia perspective as we were added to the subject.

We have not had issues with DIB.  There are things about the elements that 
could be improved, and we have been working on those over time.  Currently we 
build the image with DIB for our scenario test runs and devstack.

For images, we are investigating options to build smaller images, but again, I 
think DIB can support us in that and mostly it is work on elements.

Michael


On Thu, May 5, 2016 at 7:43 AM, Mariam John 
mailto:mari...@us.ibm.com>> wrote:

[Inactive hide details for Victoria Martínez de la Cruz ---05/05/2016 08:12:33 
AM---Hi all, A few things:]Victoria Martínez de la Cruz ---05/05/2016 08:12:33 
AM---Hi all, A few things:

From: Victoria Martínez de la Cruz 
mailto:victo...@vmartinezdelacruz.com>>
To: "OpenStack Development Mailing List (not for usage questions)" 
mailto:openstack-dev@lists.openstack.org>>
Date: 05/05/2016 08:12 AM
Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove





Hi all,

A few things:

- I agree that moving from DIB to libguestfs is a bold move and that we should 
try to avoid changing tools unless highly necessary. The downsides we found for 
DIB are detailed in this spec [0] and Ethan (in this same thread) also added 
valid points on the Sahara case. My concern here is, should we stick with DIB 
just because is the standard for image creation? Shouldn't we take in 
consideration that some projects, like Sahara, are moving away from?

I think it would be worth trying to see if DIB can address the concerns raised 
by the different projects around image building and improve upon that. By 
improving DIB, I think all these projects and OpenStack in general can benefit 
from it.

- In the long term it would be ideal that we reach to a common solution for 
image creation for all the projects that need tailored images: Trove, Sahara, 
Octavia, Manila, and IIRC, Kolla and Cue.
- In the short term, I'm on board or working on having tools based on DIB for 
image creation in Trove.
- Amrith, Pete is working on the image creation process for Trove. The spec is 
up there [0]. I think is his work to kick-off that repository.

Best,

Victoria

[0] https://review.openstack.org/#/c/295274/

2016-05-04 23:20 GMT-03:00 Amrith Kumar 
mailto:amr...@tesora.com>>:
As we discussed at summit, (and consistent with all of the comments) we should 
move ahead with the project to advance the image builder for Trove and make it 
easier to build guest images for Trove by leveraging the DIB elements that we 
have in trove-integration.



To that end, the infra [1] and governance [2] changes have been submitted for 
review. The Launchpad tracker [3] has been registered.



I am working on taking the existing DIB elements in trove-integration and 
putting them in the new repository (openstack/trove-image-builder). I am also 
going to continue to watch this conversation and record any shortcomings with 
the existing DIB elements in Launchpad [3] and work on fixing those as well. 
Pete mentions one in his earlier email and I’ve logged that in Launchpad [4].



Thanks,



-amrith



[1] https://review.openstack.org/#/c/312805/

[2] https://review.openstack.org/#/c/312806/

[3] https://launchpad.net/trove-image-builder

[4] https://bugs.launchpad.net/trove-image-builder/+bug/1578454







From: Mariam John [mailto:mari...@us.ibm.com<mailto:mari...@us.ibm.com>]
Sent: Wednesday, May 04, 2016 4:19 PM
To: OpenStack Development Mailing List (not for usage questions) 
mailto:openstack-dev@lists.openstack.org>>

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove



The way I see this, these are the 2 main concerns I have been hearing regarding 
image building in Trove:
1) making the process simple and easy for users
2) addressing the issue of security

I dont think there is any argument regarding the benefits of moving the 
database elements to a seperate repository and packaging and managing them from 
there.

It looks like the case that we make for whether to use libguestfs or DIB for 
image building are in the technical details of how image building happens and 
their nuances - assuming that ease of use & having a simple interface to 

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Michael Johnson
Just to chime in from an Octavia perspective as we were added to the
subject.

We have not had issues with DIB.  There are things about the elements that
could be improved, and we have been working on those over time.  Currently
we build the image with DIB for our scenario test runs and devstack.

For images, we are investigating options to build smaller images, but
again, I think DIB can support us in that and mostly it is work on elements.

Michael


On Thu, May 5, 2016 at 7:43 AM, Mariam John  wrote:

> [image: Inactive hide details for Victoria Martínez de la Cruz
> ---05/05/2016 08:12:33 AM---Hi all, A few things:]Victoria Martínez de la
> Cruz ---05/05/2016 08:12:33 AM---Hi all, A few things:
>
> From: Victoria Martínez de la Cruz 
> To: "OpenStack Development Mailing List (not for usage questions)" <
> openstack-dev@lists.openstack.org>
> Date: 05/05/2016 08:12 AM
> Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila]
> discussion of image building in Trove
> --
>
>
>
> Hi all,
>
> A few things:
>
> - I agree that moving from DIB to libguestfs is a bold move and that we
> should try to avoid changing tools unless highly necessary. The downsides
> we found for DIB are detailed in this spec [0] and Ethan (in this same
> thread) also added valid points on the Sahara case. My concern here is,
> should we stick with DIB just because is the standard for image creation?
> Shouldn't we take in consideration that some projects, like Sahara, are
> moving away from?
>
> *I think it would be worth trying to see if DIB can address the concerns
> raised by the different projects around image building and improve upon
> that. By improving DIB, I think all these projects and OpenStack in general
> can benefit from it. *
>
> - In the long term it would be ideal that we reach to a common solution
> for image creation for all the projects that need tailored images: Trove,
> Sahara, Octavia, Manila, and IIRC, Kolla and Cue.
> - In the short term, I'm on board or working on having tools based on DIB
> for image creation in Trove.
> - Amrith, Pete is working on the image creation process for Trove. The
> spec is up there [0]. I think is his work to kick-off that repository.
>
> Best,
>
> Victoria
>
> [0] *https://review.openstack.org/#/c/295274/*
> <https://review.openstack.org/#/c/295274/>
>
> 2016-05-04 23:20 GMT-03:00 Amrith Kumar <*amr...@tesora.com*
> >:
>
>As we discussed at summit, (and consistent with all of the comments)
>we should move ahead with the project to advance the image builder for
>Trove and make it easier to build guest images for Trove by leveraging the
>DIB elements that we have in trove-integration.
>
>
>
>To that end, the infra [1] and governance [2] changes have been
>submitted for review. The Launchpad tracker [3] has been registered.
>
>
>
>I am working on taking the existing DIB elements in trove-integration
>and putting them in the new repository (openstack/trove-image-builder). I
>am also going to continue to watch this conversation and record any
>shortcomings with the existing DIB elements in Launchpad [3] and work on
>fixing those as well. Pete mentions one in his earlier email and I’ve
>logged that in Launchpad [4].
>
>
>
>Thanks,
>
>
>
>-amrith
>
>
>
>[1] *https://review.openstack.org/#/c/312805/*
><https://review.openstack.org/#/c/312805/>
>
>[2] *https://review.openstack.org/#/c/312806/*
><https://review.openstack.org/#/c/312806/>
>
>[3] *https://launchpad.net/trove-image-builder*
><https://launchpad.net/trove-image-builder>
>
>[4] *https://bugs.launchpad.net/trove-image-builder/+bug/1578454*
><https://bugs.launchpad.net/trove-image-builder/+bug/1578454>
>
>
>
>
>
>
>
>*From:* Mariam John [mailto:*mari...@us.ibm.com* ]
> * Sent:* Wednesday, May 04, 2016 4:19 PM
> * To:* OpenStack Development Mailing List (not for usage questions) <
>*openstack-dev@lists.openstack.org* 
>>
>
>
> * Subject:* Re: [openstack-dev] [trove][sahara][infra][Octavia][manila]
>discussion of image building in Trove
>
>
>
>The way I see this, these are the 2 main concerns I have been hearing
>regarding image building in Trove:
>1) making the process simple and easy for users
>2) addressing the issue of security
>
>I dont think there is any argument regarding the benefits of moving
>the database elements to a seperate repository and packaging and managing
>them from there.
>
>It looks like the case that we make for whethe

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Nordquist, Peter L
Hello all, I’m an Operator that has worked with DIB here for the last few 
months to get some working images for our Private Cloud.  The only major issue 
I could come up with at the summit was the way grub 0.97 is treated in the 
bootloader element.  For Centos 6, I had to find an element that could actually 
install grub 0.97 since when yum goes to update the kernel, it tries to update 
the grub config but not the extlinux config and in our cloud we need the VMs to 
stay updated.  I’m sure the elements I have locally could be useful but the 
current thinking in my organization is to deprecate our Centos 6 use as quickly 
as possible.

I’ve also run into an issue reported here [0] that makes installing a 
bootloader in Centos 6 a pain in either extlinux or grub 0.97.  That’s really a 
quirk of the OS packages I’m using to build the image but still an odd 
situation.  I’ve updated my VMs that build images to the Mitaka RDO release and 
with that release came the qemu-kvm-ev packages so I’m hopeful that these new 
packages might fix this bug.  If not I’ll have to keep using Ubuntu to build my 
Centos 6 images.

Security is a concern for sure but in my environment I have Jenkins spawn a VM 
in the cloud to build these images and I give these VMs enough ram to build the 
image in memory instead of copying the image to disk.

I also have a requirement to standardize our images to using XFS for the root 
partition due to our flavors including a large amount of root disk.  The 
reasoning here is that XFS resizes faster than ext4 so I would have a concern 
if libguestfs could not do this.  It seems like I could just use DIB to fix any 
images that were created from your libguestfs scripts though so it might not be 
that much of a concern.

[0]: https://bugs.launchpad.net/diskimage-builder/+bug/1477179

Peter Nordquist

From: Mariam John [mailto:mari...@us.ibm.com]
Sent: Thursday, May 05, 2016 07:43
To: OpenStack Development Mailing List (not for usage questions) 

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove


[Inactive hide details for Victoria Martínez de la Cruz ---05/05/2016 08:12:33 
AM---Hi all, A few things:]Victoria Martínez de la Cruz ---05/05/2016 08:12:33 
AM---Hi all, A few things:

From: Victoria Martínez de la Cruz 
mailto:victo...@vmartinezdelacruz.com>>
To: "OpenStack Development Mailing List (not for usage questions)" 
mailto:openstack-dev@lists.openstack.org>>
Date: 05/05/2016 08:12 AM
Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove





Hi all,

A few things:

- I agree that moving from DIB to libguestfs is a bold move and that we should 
try to avoid changing tools unless highly necessary. The downsides we found for 
DIB are detailed in this spec [0] and Ethan (in this same thread) also added 
valid points on the Sahara case. My concern here is, should we stick with DIB 
just because is the standard for image creation? Shouldn't we take in 
consideration that some projects, like Sahara, are moving away from?

I think it would be worth trying to see if DIB can address the concerns raised 
by the different projects around image building and improve upon that. By 
improving DIB, I think all these projects and OpenStack in general can benefit 
from it.

- In the long term it would be ideal that we reach to a common solution for 
image creation for all the projects that need tailored images: Trove, Sahara, 
Octavia, Manila, and IIRC, Kolla and Cue.
- In the short term, I'm on board or working on having tools based on DIB for 
image creation in Trove.
- Amrith, Pete is working on the image creation process for Trove. The spec is 
up there [0]. I think is his work to kick-off that repository.

Best,

Victoria

[0] https://review.openstack.org/#/c/295274/

2016-05-04 23:20 GMT-03:00 Amrith Kumar 
mailto:amr...@tesora.com>>:
As we discussed at summit, (and consistent with all of the comments) we should 
move ahead with the project to advance the image builder for Trove and make it 
easier to build guest images for Trove by leveraging the DIB elements that we 
have in trove-integration.



To that end, the infra [1] and governance [2] changes have been submitted for 
review. The Launchpad tracker [3] has been registered.



I am working on taking the existing DIB elements in trove-integration and 
putting them in the new repository (openstack/trove-image-builder). I am also 
going to continue to watch this conversation and record any shortcomings with 
the existing DIB elements in Launchpad [3] and work on fixing those as well. 
Pete mentions one in his earlier email and I’ve logged that in Launchpad [4].



Thanks,



-amrith



[1] https://review.openstack.org/#/c/312805/

[2] https://review.openstack.org/#/c/312806/

[3] https://launchpad.net/trove-image-builder

[4] https://bugs.launchpad.net/trove-image-bu

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Matthew Van Dijk
In the scenario of Trove supporting both tools what do you expect the
requirements for adding support for new databases will be? Are we
expecting to have to support both tools for approval from the
community?

Cheers,

Matt

On May 5, 2016, at 10:43 AM, Mariam John 
mailto:mari...@us.ibm.com>> wrote:


Victoria Martínez de la Cruz ---05/05/2016 08:12:33 AM---Hi all, A 
few things:

From:  Victoria Martínez de la Cruz 
mailto:victo...@vmartinezdelacruz.com>>
To:  "OpenStack Development Mailing List (not for usage questions)" 
mailto:openstack-dev@lists.openstack.org>>
Date:  05/05/2016 08:12 AM
Subject:  Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] 
discussion of image building in Trove





Hi all,

A few things:

- I agree that moving from DIB to libguestfs is a bold move and that we should 
try to avoid changing tools unless highly necessary. The downsides we found for 
DIB are detailed in this spec [0] and Ethan (in this same thread) also added 
valid points on the Sahara case. My concern here is, should we stick with DIB 
just because is the standard for image creation? Shouldn't we take in 
consideration that some projects, like Sahara, are moving away from?

I think it would be worth trying to see if DIB can address the concerns raised 
by the different projects around image building and improve upon that. By 
improving DIB, I think all these projects and OpenStack in general can benefit 
from it.

- In the long term it would be ideal that we reach to a common solution for 
image creation for all the projects that need tailored images: Trove, Sahara, 
Octavia, Manila, and IIRC, Kolla and Cue.
- In the short term, I'm on board or working on having tools based on DIB for 
image creation in Trove.
- Amrith, Pete is working on the image creation process for Trove. The spec is 
up there [0]. I think is his work to kick-off that repository.

Best,

Victoria

[0] https://review.openstack.org/#/c/295274/

2016-05-04 23:20 GMT-03:00 Amrith Kumar 
mailto:amr...@tesora.com>>:

As we discussed at summit, (and consistent with all of the comments) we should 
move ahead with the project to advance the image builder for Trove and make it 
easier to build guest images for Trove by leveraging the DIB elements that we 
have in trove-integration.


To that end, the infra [1] and governance [2] changes have been submitted for 
review. The Launchpad tracker [3] has been registered.



I am working on taking the existing DIB elements in trove-integration and 
putting them in the new repository (openstack/trove-image-builder). I am also 
going to continue to watch this conversation and record any shortcomings with 
the existing DIB elements in Launchpad [3] and work on fixing those as well. 
Pete mentions one in his earlier email and I’ve logged that in Launchpad [4].



Thanks,



-amrith



[1] https://review.openstack.org/#/c/312805/

[2] https://review.openstack.org/#/c/312806/

[3] https://launchpad.net/trove-image-builder

[4] https://bugs.launchpad.net/trove-image-builder/+bug/1578454





From: Mariam John [mailto:mari...@us.ibm.com<mailto:mari...@us.ibm.com>]
Sent: Wednesday, May 04, 2016 4:19 PM
To: OpenStack Development Mailing List (not for usage questions) 
mailto:openstack-dev@lists.openstack.org>>

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove



The way I see this, these are the 2 main concerns I have been hearing regarding 
image building in Trove:
1) making the process simple and easy for users
2) addressing the issue of security

I dont think there is any argument regarding the benefits of moving the 
database elements to a seperate repository and packaging and managing them from 
there.

It looks like the case that we make for whether to use libguestfs or DIB for 
image building are in the technical details of how image building happens and 
their nuances - assuming that ease of use & having a simple interface to build 
secure images matters most, I wonder if the end-users would be concerned about 
these details.

By addressing some of the issues like:
- moving the Trove elements to a new repository
- adding support for new distros
- creating a wrapper script for building an image -getting the Trove guest 
agent code & configuration files
- managing environment variables better

I believe it will make a huge improvement in terms of simplifying and improving 
the ease of use for end users and hence could be the low hanging fruit that we 
can implement in the mean time. I agree that switching from DIB to any other 
tool is a big step and we need to put alot of thought into it like many others 
have suggested. Like Pete mentioned earlier in one of the links, there are 
couple of other tools available for building images. I am sure we could make 
the case for each of these tools and how it is easier/faster/better than the 
others. 

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Mariam John




From:   Victoria Martínez de la Cruz 
To: "OpenStack Development Mailing List (not for usage questions)"

Date:   05/05/2016 08:12 AM
Subject:    Re: [openstack-dev] [trove][sahara][infra][Octavia][manila]
    discussion of image building in Trove



Hi all,

A few things:

- I agree that moving from DIB to libguestfs is a bold move and that we
should try to avoid changing tools unless highly necessary. The downsides
we found for DIB are detailed in this spec [0] and Ethan (in this same
thread) also added valid points on the Sahara case. My concern here is,
should we stick with DIB just because is the standard for image creation?
Shouldn't we take in consideration that some projects, like Sahara, are
moving away from?

I think it would be worth trying to see if DIB can address the concerns
raised by the different projects around image building and improve upon
that. By improving DIB, I think all these projects and OpenStack in general
can benefit from it.

- In the long term it would be ideal that we reach to a common solution for
image creation for all the projects that need tailored images: Trove,
Sahara, Octavia, Manila, and IIRC, Kolla and Cue.
- In the short term, I'm on board or working on having tools based on DIB
for image creation in Trove.
- Amrith, Pete is working on the image creation process for Trove. The spec
is up there [0]. I think is his work to kick-off that repository.

Best,

Victoria

[0] https://review.openstack.org/#/c/295274/

2016-05-04 23:20 GMT-03:00 Amrith Kumar :
  As we discussed at summit, (and consistent with all of the comments) we
  should move ahead with the project to advance the image builder for Trove
  and make it easier to build guest images for Trove by leveraging the DIB
  elements that we have in trove-integration.





  To that end, the infra [1] and governance [2] changes have been submitted
  for review. The Launchpad tracker [3] has been registered.





  I am working on taking the existing DIB elements in trove-integration and
  putting them in the new repository (openstack/trove-image-builder). I am
  also going to continue to watch this conversation and record any
  shortcomings with the existing DIB elements in Launchpad [3] and work on
  fixing those as well. Pete mentions one in his earlier email and I’ve
  logged that in Launchpad [4].





  Thanks,





  -amrith





  [1] https://review.openstack.org/#/c/312805/


  [2] https://review.openstack.org/#/c/312806/


  [3] https://launchpad.net/trove-image-builder


  [4] https://bugs.launchpad.net/trove-image-builder/+bug/1578454











  From: Mariam John [mailto:mari...@us.ibm.com]
  Sent: Wednesday, May 04, 2016 4:19 PM
  To: OpenStack Development Mailing List (not for usage questions) <
  openstack-dev@lists.openstack.org>



  Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila]
  discussion of image building in Trove





  The way I see this, these are the 2 main concerns I have been hearing
  regarding image building in Trove:
  1) making the process simple and easy for users
  2) addressing the issue of security

  I dont think there is any argument regarding the benefits of moving the
  database elements to a seperate repository and packaging and managing
  them from there.

  It looks like the case that we make for whether to use libguestfs or DIB
  for image building are in the technical details of how image building
  happens and their nuances - assuming that ease of use & having a simple
  interface to build secure images matters most, I wonder if the end-users
  would be concerned about these details.

  By addressing some of the issues like:
  - moving the Trove elements to a new repository
  - adding support for new distros
  - creating a wrapper script for building an image -getting the Trove
  guest agent code & configuration files
  - managing environment variables better

  I believe it will make a huge improvement in terms of simplifying and
  improving the ease of use for end users and hence could be the low
  hanging fruit that we can implement in the mean time. I agree that
  switching from DIB to any other tool is a big step and we need to put
  alot of thought into it like many others have suggested. Like Pete
  mentioned earlier in one of the links, there are couple of other tools
  available for building images. I am sure we could make the case for each
  of these tools and how it is easier/faster/better than the others. If we
  go down this route experimenting with libguestfs, is there anything
  stopping us couple of releases down the lane from wanting to experiment
  with some other tool because libguestfs doesn't perform well? The end
  user could use any tool they want to use to create images if they wish to
  do so but I agree and believe that Trove should support a standard way of
  building images (DIB being an OpenStack project, I would assume that
  would be the standar

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Victoria Martínez de la Cruz
We agreed during the summit that we were going to amend the spec to reflect
latest discussions with regards to having DIB as a primary implementation
and adding support for libguestfs in parallel. The spec blueprint is named
"Trove image builder" and it's about building images and not about which
tool we are going to use. Thanks for creating the artifacts we need to push
the code, we take it over from there.

2016-05-05 11:12 GMT-03:00 Amrith Kumar :

>
>
> *From:* Victoria Martínez de la Cruz [mailto:
> victo...@vmartinezdelacruz.com]
> *Sent:* Thursday, May 05, 2016 9:00 AM
> *To:* OpenStack Development Mailing List (not for usage questions) <
> openstack-dev@lists.openstack.org>
> *Subject:* Re: [openstack-dev] [trove][sahara][infra][Octavia][manila]
> discussion of image building in Trove
>
>
>
> Hi all,
>
>
>
> A few things:
>
>
>
> - I agree that moving from DIB to libguestfs is a bold move and that we
> should try to avoid changing tools unless highly necessary. The downsides
> we found for DIB are detailed in this spec [0] and Ethan (in this same
> thread) also added valid points on the Sahara case. My concern here is,
> should we stick with DIB just because is the standard for image creation?
> Shouldn't we take in consideration that some projects, like Sahara, are
> moving away from it?
>
> - In the long term it would be ideal that we reach to a common solution
> for image creation for all the projects that need tailored images: Trove,
> Sahara, Octavia, Manila, and IIRC, Kolla and Cue.
>
> - In the short term, I'm on board or working on having tools based on DIB
> for image creation in Trove.
>
> - Amrith, Pete is working on the image creation process for Trove. The
> spec is up there [0]. I think is his work to kick-off that repository.
>
> *[amrith] The spec [0] referenced is entitled “Separate trove image build
> project based on libguestfs tools”. I am working on image building using
> the existing DIB elements that are already part of trove-integration. In
> any event, please see line 220 of [0] for a detailed explanation of why I
> am making the repository.*
>
>
>
> Best,
>
>
>
> Victoria
>
>
>
> [0] https://review.openstack.org/#/c/295274/
>
>
>
> 2016-05-04 23:20 GMT-03:00 Amrith Kumar :
>
> As we discussed at summit, (and consistent with all of the comments) we
> should move ahead with the project to advance the image builder for Trove
> and make it easier to build guest images for Trove by leveraging the DIB
> elements that we have in trove-integration.
>
>
>
> To that end, the infra [1] and governance [2] changes have been submitted
> for review. The Launchpad tracker [3] has been registered.
>
>
>
> I am working on taking the existing DIB elements in trove-integration and
> putting them in the new repository (openstack/trove-image-builder). I am
> also going to continue to watch this conversation and record any
> shortcomings with the existing DIB elements in Launchpad [3] and work on
> fixing those as well. Pete mentions one in his earlier email and I’ve
> logged that in Launchpad [4].
>
>
>
> Thanks,
>
>
>
> -amrith
>
>
>
> [1] https://review.openstack.org/#/c/312805/
>
> [2] https://review.openstack.org/#/c/312806/
>
> [3] https://launchpad.net/trove-image-builder
>
> [4] https://bugs.launchpad.net/trove-image-builder/+bug/1578454
>
>
>
>
>
>
>
> *From:* Mariam John [mailto:mari...@us.ibm.com]
> *Sent:* Wednesday, May 04, 2016 4:19 PM
> *To:* OpenStack Development Mailing List (not for usage questions) <
> openstack-dev@lists.openstack.org>
>
>
> *Subject:* Re: [openstack-dev] [trove][sahara][infra][Octavia][manila]
> discussion of image building in Trove
>
>
>
> The way I see this, these are the 2 main concerns I have been hearing
> regarding image building in Trove:
> 1) making the process simple and easy for users
> 2) addressing the issue of security
>
> I dont think there is any argument regarding the benefits of moving the
> database elements to a seperate repository and packaging and managing them
> from there.
>
> It looks like the case that we make for whether to use libguestfs or DIB
> for image building are in the technical details of how image building
> happens and their nuances - assuming that ease of use & having a simple
> interface to build secure images matters most, I wonder if the end-users
> would be concerned about these details.
>
> By addressing some of the issues like:
> - moving the Trove elements to a new repository
> - adding support for new distros
> - creating a wrapper script for building an image -getting the T

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Amrith Kumar

From: Victoria Martínez de la Cruz [mailto:victo...@vmartinezdelacruz.com]
Sent: Thursday, May 05, 2016 9:00 AM
To: OpenStack Development Mailing List (not for usage questions) 

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove

Hi all,

A few things:

- I agree that moving from DIB to libguestfs is a bold move and that we should 
try to avoid changing tools unless highly necessary. The downsides we found for 
DIB are detailed in this spec [0] and Ethan (in this same thread) also added 
valid points on the Sahara case. My concern here is, should we stick with DIB 
just because is the standard for image creation? Shouldn't we take in 
consideration that some projects, like Sahara, are moving away from it?
- In the long term it would be ideal that we reach to a common solution for 
image creation for all the projects that need tailored images: Trove, Sahara, 
Octavia, Manila, and IIRC, Kolla and Cue.
- In the short term, I'm on board or working on having tools based on DIB for 
image creation in Trove.
- Amrith, Pete is working on the image creation process for Trove. The spec is 
up there [0]. I think is his work to kick-off that repository.
[amrith] The spec [0] referenced is entitled “Separate trove image build 
project based on libguestfs tools”. I am working on image building using the 
existing DIB elements that are already part of trove-integration. In any event, 
please see line 220 of [0] for a detailed explanation of why I am making the 
repository.

Best,

Victoria

[0] https://review.openstack.org/#/c/295274/

2016-05-04 23:20 GMT-03:00 Amrith Kumar 
mailto:amr...@tesora.com>>:
As we discussed at summit, (and consistent with all of the comments) we should 
move ahead with the project to advance the image builder for Trove and make it 
easier to build guest images for Trove by leveraging the DIB elements that we 
have in trove-integration.

To that end, the infra [1] and governance [2] changes have been submitted for 
review. The Launchpad tracker [3] has been registered.

I am working on taking the existing DIB elements in trove-integration and 
putting them in the new repository (openstack/trove-image-builder). I am also 
going to continue to watch this conversation and record any shortcomings with 
the existing DIB elements in Launchpad [3] and work on fixing those as well. 
Pete mentions one in his earlier email and I’ve logged that in Launchpad [4].

Thanks,

-amrith

[1] https://review.openstack.org/#/c/312805/
[2] https://review.openstack.org/#/c/312806/
[3] https://launchpad.net/trove-image-builder
[4] https://bugs.launchpad.net/trove-image-builder/+bug/1578454



From: Mariam John [mailto:mari...@us.ibm.com<mailto:mari...@us.ibm.com>]
Sent: Wednesday, May 04, 2016 4:19 PM
To: OpenStack Development Mailing List (not for usage questions) 
mailto:openstack-dev@lists.openstack.org>>

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove


The way I see this, these are the 2 main concerns I have been hearing regarding 
image building in Trove:
1) making the process simple and easy for users
2) addressing the issue of security

I dont think there is any argument regarding the benefits of moving the 
database elements to a seperate repository and packaging and managing them from 
there.

It looks like the case that we make for whether to use libguestfs or DIB for 
image building are in the technical details of how image building happens and 
their nuances - assuming that ease of use & having a simple interface to build 
secure images matters most, I wonder if the end-users would be concerned about 
these details.

By addressing some of the issues like:
- moving the Trove elements to a new repository
- adding support for new distros
- creating a wrapper script for building an image -getting the Trove guest 
agent code & configuration files
- managing environment variables better

I believe it will make a huge improvement in terms of simplifying and improving 
the ease of use for end users and hence could be the low hanging fruit that we 
can implement in the mean time. I agree that switching from DIB to any other 
tool is a big step and we need to put alot of thought into it like many others 
have suggested. Like Pete mentioned earlier in one of the links, there are 
couple of other tools available for building images. I am sure we could make 
the case for each of these tools and how it is easier/faster/better than the 
others. If we go down this route experimenting with libguestfs, is there 
anything stopping us couple of releases down the lane from wanting to 
experiment with some other tool because libguestfs doesn't perform well? The 
end user could use any tool they want to use to create images if they wish to 
do so but I agree and believe that Trove should support a standard way of 
building images (DIB being an OpenStack project, I

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Gregory Haynes

> 
> The approach being proposed by Pete is something that is equally
> applicable to DIB, I think. I believe that he makes a valid observation
> and our current element design may in fact be bad.
>  
> The invocation of DIB[1] is
> 
> ${PATH_DISKIMAGEBUILDER}/bin/disk-image-create -a amd64 -o "${VM}" \
> -x ${QEMU_IMG_OPTIONS} ${DISTRO} ${EXTRA_ELEMENTS} vm
> heat-cfntools \
> cloud-init-datasources ${DISTRO}-guest ${DISTRO}-${SERVICE_TYPE}
> 
> Observe that we include the ${DISTRO} element, and we prefix ${DISTRO}
> into the name of the guest and the database to get, for example,
> 
>   ... ubuntu ubuntu-guest ubuntu-mysql
> 
> The minimal set of bash and data files could be used instead and we won't
> have this matrix of datastore-by-distro proliferation that you speak of.
> That's why I believe that this solution is equally applicable to DIB.
> 
> [1] trove-integration/scripts/files/functions_qemu
> 

Ah, yep - the typical pattern for elements which are not distro elements
is to not make the distro part of the element name and then have the
element itself use the provided tools as much as possible to perform
tasks in a distro-agnostic fashion (see the package-installs element for
an example tool).

Thanks,
Greg

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


Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-05 Thread Victoria Martínez de la Cruz
Hi all,

A few things:

- I agree that moving from DIB to libguestfs is a bold move and that we
should try to avoid changing tools unless highly necessary. The downsides
we found for DIB are detailed in this spec [0] and Ethan (in this same
thread) also added valid points on the Sahara case. My concern here is,
should we stick with DIB just because is the standard for image creation?
Shouldn't we take in consideration that some projects, like Sahara, are
moving away from it?
- In the long term it would be ideal that we reach to a common solution for
image creation for all the projects that need tailored images: Trove,
Sahara, Octavia, Manila, and IIRC, Kolla and Cue.
- In the short term, I'm on board or working on having tools based on DIB
for image creation in Trove.
- Amrith, Pete is working on the image creation process for Trove. The spec
is up there [0]. I think is his work to kick-off that repository.

Best,

Victoria

[0] https://review.openstack.org/#/c/295274/

2016-05-04 23:20 GMT-03:00 Amrith Kumar :

> As we discussed at summit, (and consistent with all of the comments) we
> should move ahead with the project to advance the image builder for Trove
> and make it easier to build guest images for Trove by leveraging the DIB
> elements that we have in trove-integration.
>
>
>
> To that end, the infra [1] and governance [2] changes have been submitted
> for review. The Launchpad tracker [3] has been registered.
>
>
>
> I am working on taking the existing DIB elements in trove-integration and
> putting them in the new repository (openstack/trove-image-builder). I am
> also going to continue to watch this conversation and record any
> shortcomings with the existing DIB elements in Launchpad [3] and work on
> fixing those as well. Pete mentions one in his earlier email and I’ve
> logged that in Launchpad [4].
>
>
>
> Thanks,
>
>
>
> -amrith
>
>
>
> [1] https://review.openstack.org/#/c/312805/
>
> [2] https://review.openstack.org/#/c/312806/
>
> [3] https://launchpad.net/trove-image-builder
>
> [4] https://bugs.launchpad.net/trove-image-builder/+bug/1578454
>
>
>
>
>
>
>
> *From:* Mariam John [mailto:mari...@us.ibm.com]
> *Sent:* Wednesday, May 04, 2016 4:19 PM
> *To:* OpenStack Development Mailing List (not for usage questions) <
> openstack-dev@lists.openstack.org>
>
> *Subject:* Re: [openstack-dev] [trove][sahara][infra][Octavia][manila]
> discussion of image building in Trove
>
>
>
> The way I see this, these are the 2 main concerns I have been hearing
> regarding image building in Trove:
> 1) making the process simple and easy for users
> 2) addressing the issue of security
>
> I dont think there is any argument regarding the benefits of moving the
> database elements to a seperate repository and packaging and managing them
> from there.
>
> It looks like the case that we make for whether to use libguestfs or DIB
> for image building are in the technical details of how image building
> happens and their nuances - assuming that ease of use & having a simple
> interface to build secure images matters most, I wonder if the end-users
> would be concerned about these details.
>
> By addressing some of the issues like:
> - moving the Trove elements to a new repository
> - adding support for new distros
> - creating a wrapper script for building an image -getting the Trove guest
> agent code & configuration files
> - managing environment variables better
>
> I believe it will make a huge improvement in terms of simplifying and
> improving the ease of use for end users and hence could be the low hanging
> fruit that we can implement in the mean time. I agree that switching from
> DIB to any other tool is a big step and we need to put alot of thought into
> it like many others have suggested. Like Pete mentioned earlier in one of
> the links, there are couple of other tools available for building images. I
> am sure we could make the case for each of these tools and how it is
> easier/faster/better than the others. If we go down this route
> experimenting with libguestfs, is there anything stopping us couple of
> releases down the lane from wanting to experiment with some other tool
> because libguestfs doesn't perform well? The end user could use any tool
> they want to use to create images if they wish to do so but I agree and
> believe that Trove should support a standard way of building images (DIB
> being an OpenStack project, I would assume that would be the standard) and
> do it well keeping it simple and easy to use as opposed to what it is
> today.
>
> I think we should split this into 2 tasks
> - one for going forward with seperating image building into a seperate
> repository and putting

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Amrith Kumar
As we discussed at summit, (and consistent with all of the comments) we should 
move ahead with the project to advance the image builder for Trove and make it 
easier to build guest images for Trove by leveraging the DIB elements that we 
have in trove-integration.

To that end, the infra [1] and governance [2] changes have been submitted for 
review. The Launchpad tracker [3] has been registered.

I am working on taking the existing DIB elements in trove-integration and 
putting them in the new repository (openstack/trove-image-builder). I am also 
going to continue to watch this conversation and record any shortcomings with 
the existing DIB elements in Launchpad [3] and work on fixing those as well. 
Pete mentions one in his earlier email and I've logged that in Launchpad [4].

Thanks,

-amrith

[1] https://review.openstack.org/#/c/312805/
[2] https://review.openstack.org/#/c/312806/
[3] https://launchpad.net/trove-image-builder
[4] https://bugs.launchpad.net/trove-image-builder/+bug/1578454



From: Mariam John [mailto:mari...@us.ibm.com]
Sent: Wednesday, May 04, 2016 4:19 PM
To: OpenStack Development Mailing List (not for usage questions) 

Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove


The way I see this, these are the 2 main concerns I have been hearing regarding 
image building in Trove:
1) making the process simple and easy for users
2) addressing the issue of security

I dont think there is any argument regarding the benefits of moving the 
database elements to a seperate repository and packaging and managing them from 
there.

It looks like the case that we make for whether to use libguestfs or DIB for 
image building are in the technical details of how image building happens and 
their nuances - assuming that ease of use & having a simple interface to build 
secure images matters most, I wonder if the end-users would be concerned about 
these details.

By addressing some of the issues like:
- moving the Trove elements to a new repository
- adding support for new distros
- creating a wrapper script for building an image -getting the Trove guest 
agent code & configuration files
- managing environment variables better

I believe it will make a huge improvement in terms of simplifying and improving 
the ease of use for end users and hence could be the low hanging fruit that we 
can implement in the mean time. I agree that switching from DIB to any other 
tool is a big step and we need to put alot of thought into it like many others 
have suggested. Like Pete mentioned earlier in one of the links, there are 
couple of other tools available for building images. I am sure we could make 
the case for each of these tools and how it is easier/faster/better than the 
others. If we go down this route experimenting with libguestfs, is there 
anything stopping us couple of releases down the lane from wanting to 
experiment with some other tool because libguestfs doesn't perform well? The 
end user could use any tool they want to use to create images if they wish to 
do so but I agree and believe that Trove should support a standard way of 
building images (DIB being an OpenStack project, I would assume that would be 
the standard) and do it well keeping it simple and easy to use as opposed to 
what it is today.

I think we should split this into 2 tasks
- one for going forward with seperating image building into a seperate 
repository and putting all efforts into simplifying the current process, and
- second, to have a joint collaboration with the DIB/TripleO team to raise 
concerns regarding DIB and see if we can address them in turn OR if using a 
different tool like libguestfs makes sense at that point.

Thanks,
Mariam.

[Inactive hide details for Peter MacKinnon ---05/04/2016 12:39:15 PM---On 
5/4/16 12:52 PM, Gregory Haynes wrote: > On Wed, May 4]Peter MacKinnon 
---05/04/2016 12:39:15 PM---On 5/4/16 12:52 PM, Gregory Haynes wrote: > On Wed, 
May 4, 2016, at 08:55 AM, Flavio Percoco wrote:

From: Peter MacKinnon mailto:pmack...@redhat.com>>
To: openstack-dev@lists.openstack.org<mailto:openstack-dev@lists.openstack.org>
Date: 05/04/2016 12:39 PM
Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion 
of image building in Trove





On 5/4/16 12:52 PM, Gregory Haynes wrote:
> On Wed, May 4, 2016, at 08:55 AM, Flavio Percoco wrote:
>> On 04/05/16 15:05 +, Amrith Kumar wrote:
>>> I'm emailing the ML on the subject of a review ongoing in the Trove project 
>>> regarding image building[1].
>>>
>>> TL;DR
>>>
>>> One of the most frequent questions that new users of Trove ask is how and 
>>> where to get guest images with which to experiment with Trove, and how to 
>>> build these images for themselves. While documentation about this exists in 
>>> multiple

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Mariam John

The way I see this, these are the 2 main concerns I have been hearing
regarding image building in Trove:
1) making the process simple and easy for users
2) addressing the issue of security

I dont think there is any argument regarding the benefits of moving the
database elements to a seperate repository and packaging and managing them
from there.

It looks like the case that we make for whether to use libguestfs or DIB
for image building are in the technical details of how image building
happens and their nuances - assuming that ease of use & having a simple
interface to build secure images matters most, I wonder if the end-users
would be concerned about these details.

By addressing some of the issues like:
  - moving the Trove elements to a new repository
  - adding support for new distros
  - creating a wrapper script for building an image -getting the Trove
guest agent code & configuration files
  - managing environment variables better

I believe it will make a huge improvement in terms of simplifying and
improving the ease of use for end users and hence could be the low hanging
fruit that we can implement in the mean time. I agree that switching from
DIB to any other tool is a big step and we need to put alot of thought into
it like many others have suggested. Like Pete mentioned earlier in one of
the links, there are couple of other tools available for building images. I
am sure we could make the case for each of these tools and how it is
easier/faster/better than the others. If we go down this route
experimenting with libguestfs, is there anything stopping us couple of
releases down the lane from wanting to experiment with some other tool
because libguestfs doesn't perform well? The end user could use any tool
they want to use to create images if they wish to do so but I agree and
believe that Trove should support a standard way of building images (DIB
being an OpenStack project, I would assume that would be the standard) and
do it well keeping it simple and easy to use as opposed to what it is
today.

I think we should split this into 2 tasks
  - one for going forward with seperating image building into a seperate
repository and putting all efforts into simplifying the current process,
and
  - second, to have a joint collaboration with the DIB/TripleO team to
raise concerns regarding DIB and see if we can address them in turn OR if
using a different tool like libguestfs makes sense at that point.

Thanks,
Mariam.



From:   Peter MacKinnon 
To: openstack-dev@lists.openstack.org
Date:   05/04/2016 12:39 PM
Subject:Re: [openstack-dev] [trove][sahara][infra][Octavia][manila]
    discussion of image building in Trove



On 5/4/16 12:52 PM, Gregory Haynes wrote:
> On Wed, May 4, 2016, at 08:55 AM, Flavio Percoco wrote:
>> On 04/05/16 15:05 +, Amrith Kumar wrote:
>>> I'm emailing the ML on the subject of a review ongoing in the Trove
project regarding image building[1].
>>>
>>> TL;DR
>>>
>>> One of the most frequent questions that new users of Trove ask is how
and where to get guest images with which to experiment with Trove, and how
to build these images for themselves. While documentation about this exists
in multiple places (including [2], [3]) this is still something that can do
with some improvement.
>>>
>>> Trove currently uses diskimage-builder for building images used in
testing the product and these can serve as a good basis for anyone wishing
to build an image for their own use of Trove. The review [1] makes the
argument for the libguestfs based approach to building images and advocates
that Trove should use this instead of diskimage-builder.
>> At the summit we discussed the possibility of providing an
implementation
>> that
>> would allow for both DIB and libguestfs to be used but to give priority
>> to DIB.
>> Since there's no real intention of just switching tools at this point, I
>> believe
>> it'd be good to amend the spec so that it doesn't mention libguestfs
>> should be
>> used instead of DiB.
>>
>> The goal at this stage is to provide both and help these move forward.
>>
>>> I believe that a broader discussion of this is required and I
appreciate Greg Haynes' proposal at the design summit to have this
discussion on the ML. I took the action item to bring this discussion to
the ML.
>>>
>>> Details follow ...
>>>
>>> Before going further, I will state my views on these matters.
>>>
>>> 1. It is important for the Trove project to do things quickly to make
it easier for end users who wish to use Trove and who wish to build their
own images. I am not concerned what tool or tools a person will use to
build these images.
> ++. One of the biggest issues I see users of DIB hit is ease of use for
> 'just make me an

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Amrith Kumar


> -Original Message-
> From: Gregory Haynes [mailto:g...@greghaynes.net]
> Sent: Wednesday, May 04, 2016 3:52 PM
> To: openstack-dev@lists.openstack.org
> Subject: Re: [openstack-dev] [trove][sahara][infra][Octavia][manila]
> discussion of image building in Trove
> 
> On Wed, May 4, 2016, at 10:33 AM, Peter MacKinnon wrote:
> >
> > Well, certainly one downside in the case of Trove (and probably
> > elsewhere) with DIB is the src tree matrix of datastore-by-distro
> > elements required to support various guest image combinations, leading
> > to a proliferation of directories and files. We feel this can be greatly
> > simplified using a libguestfs approach using a minimal set of bash and
> > directly applicable data files (e.g., systemd unit files, conf files,
> > etc.).
> >
> 
> I am confused by this, so maybe I am just misunderstanding. Are you
> saying that DIB requires you to support more distro combinations? What
> combination of distros you support is entirely up to trove as a
> downstream and has absolutely nothing to do with the image build tool,
> or maybe you mean something else?
> 

The approach being proposed by Pete is something that is equally applicable to 
DIB, I think. I believe that he makes a valid observation and our current 
element design may in fact be bad.
 
The invocation of DIB[1] is

${PATH_DISKIMAGEBUILDER}/bin/disk-image-create -a amd64 -o "${VM}" \
-x ${QEMU_IMG_OPTIONS} ${DISTRO} ${EXTRA_ELEMENTS} vm heat-cfntools \
cloud-init-datasources ${DISTRO}-guest ${DISTRO}-${SERVICE_TYPE}

Observe that we include the ${DISTRO} element, and we prefix ${DISTRO} into the 
name of the guest and the database to get, for example,

... ubuntu ubuntu-guest ubuntu-mysql

The minimal set of bash and data files could be used instead and we won't have 
this matrix of datastore-by-distro proliferation that you speak of. That's why 
I believe that this solution is equally applicable to DIB.

[1] trove-integration/scripts/files/functions_qemu



> > >
> > > What seemed very apparent to me in the summit session is that there
> are
> > > a set of issues for Trove relating to image building, mostly relating
> to
> > > reliability and ease of use. There was no one who even mentioned let
> > > alone strongly cared about the issues which actually differentiate the
> > > existing DIB build process from libguestfs (which is isolation). If
> that
> > > has changed for some reason, then my recommendation would be to use a
> > > tool like virt-dib which will allow for a single image building code
> > > base while solving all the raised issues in the spec. I suspect when
> > > this is tried out the downsides to booting a VM will highly outweigh
> the
> > > benefits for almost all users (especially in trove's gate),
> >
> > Anecdotally, it takes the same amount of time for a CentOS7 MySQL build
> > (~ 7 minutes) with either toolchain.
> >
> 
> I suspect this is actually "about the same amount of time with hardware
> virtualization", which the gate does not have. Otherwise, awesome - lets
> just use virt-dib / a libguestfs backend for DIB then.
> 
> > > but if the
> > > libguestfs docs are to be believed this should be trivial to try out.
> >
> > Not quite sure what you mean by "to be believed"?
> >
> 
> Just that it seems trivial to try out and there's no downsides
> mentioned.
> 
> >
> > The various image building frameworks have been noted here
> > http://docs.openstack.org/image-guide/create-images-automatically.html
> > including libguestfs. So it's not like it is an unknown quantity. In the
> > interest of innovation I'm not sure I understand the hearty reluctance
> > to explore this path. We are proposing simply another Trove repo with an
> > alternate (and recognized) image build method. This is not displacing
> > any established tool for Trove; such a tool doesn't exist today. The
> > elements in trove-integration don't really count since they are largely
> > developed for Ubuntu only, inject Trove guestagent src from git only,
> > and, beyond MySQL 5.6, are not tested by the gate.
> >
> 
> The reluctance is that, as you say, the existing set of scripts have
> deficiencies that need to be fixed. Rather than fix them, we are going
> to put effort in to rewriting them to use another tool which does not
> help the existing deficiencies. Distro support is still just as much of
> a trove issue as it is now - its up to the trove scripts to support the
> various distros. It seems a lot more 

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Gregory Haynes
On Wed, May 4, 2016, at 10:33 AM, Peter MacKinnon wrote:
> 
> Well, certainly one downside in the case of Trove (and probably 
> elsewhere) with DIB is the src tree matrix of datastore-by-distro 
> elements required to support various guest image combinations, leading 
> to a proliferation of directories and files. We feel this can be greatly 
> simplified using a libguestfs approach using a minimal set of bash and 
> directly applicable data files (e.g., systemd unit files, conf files, 
> etc.).
> 

I am confused by this, so maybe I am just misunderstanding. Are you
saying that DIB requires you to support more distro combinations? What
combination of distros you support is entirely up to trove as a
downstream and has absolutely nothing to do with the image build tool,
or maybe you mean something else?

> >
> > What seemed very apparent to me in the summit session is that there are
> > a set of issues for Trove relating to image building, mostly relating to
> > reliability and ease of use. There was no one who even mentioned let
> > alone strongly cared about the issues which actually differentiate the
> > existing DIB build process from libguestfs (which is isolation). If that
> > has changed for some reason, then my recommendation would be to use a
> > tool like virt-dib which will allow for a single image building code
> > base while solving all the raised issues in the spec. I suspect when
> > this is tried out the downsides to booting a VM will highly outweigh the
> > benefits for almost all users (especially in trove's gate),
> 
> Anecdotally, it takes the same amount of time for a CentOS7 MySQL build 
> (~ 7 minutes) with either toolchain.
> 

I suspect this is actually "about the same amount of time with hardware
virtualization", which the gate does not have. Otherwise, awesome - lets
just use virt-dib / a libguestfs backend for DIB then.

> > but if the
> > libguestfs docs are to be believed this should be trivial to try out.
> 
> Not quite sure what you mean by "to be believed"?
> 

Just that it seems trivial to try out and there's no downsides
mentioned.

> 
> The various image building frameworks have been noted here 
> http://docs.openstack.org/image-guide/create-images-automatically.html 
> including libguestfs. So it's not like it is an unknown quantity. In the 
> interest of innovation I'm not sure I understand the hearty reluctance 
> to explore this path. We are proposing simply another Trove repo with an 
> alternate (and recognized) image build method. This is not displacing 
> any established tool for Trove; such a tool doesn't exist today. The 
> elements in trove-integration don't really count since they are largely 
> developed for Ubuntu only, inject Trove guestagent src from git only, 
> and, beyond MySQL 5.6, are not tested by the gate.
> 

The reluctance is that, as you say, the existing set of scripts have
deficiencies that need to be fixed. Rather than fix them, we are going
to put effort in to rewriting them to use another tool which does not
help the existing deficiencies. Distro support is still just as much of
a trove issue as it is now - its up to the trove scripts to support the
various distros. It seems a lot more reasonable to fix the problems in
the scripts rather than rewrite to use another tool given that the
problems mentioned have nothing to do with the image building tool.

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


Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Jeremy Stanley
On 2016-05-04 09:52:20 -0700 (-0700), Gregory Haynes wrote:
[...]
> One of the biggest issues I see users of DIB hit is ease of use
> for 'just make me an image, I don't care about twiddling knobs'. A
> wrapper script in trove is one way to help with this
[...]

For example, in openstack-infra/project-config we ship a wrapper
along these lines:

http://git.openstack.org/cgit/openstack-infra/project-config/tree/tools/build-image.sh

-- 
Jeremy Stanley

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


Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Gregory Haynes
 
On Wed, May 4, 2016, at 09:57 AM, Ethan Gafford wrote:
>
> Sahara has support for several image generation-related cases:
> 1) Packing an image pre-cluster spawn in Nova.
> 2) Building clusters from a "clean" OS image post-Nova spawn, by
>downloading and installing Hadoop/Spark/Storm/WhatHaveYou.
> 3) Validating images after Nova spawn (to ensure that they're up to
>spec for the plugin in question.)
> Because of this, we are pulling image generation logic into the
> plugins themselves, from a monolithic sahara-image-elements
> repository. This will aid us in our eventual hope to pull plugins
> out of the Sahara tree entirely; more immediately, it will allow us
> to define logic for all of these cases in one place, written
> eventually in Python. In our Sahara session at summit, which was
> also attended by several members of the Ironic team (thanks all), we
> discussed our current plan to use libguestfs rather than DIB as our
> toolchain; our intent to define a linear, idempotent set of steps to
> pack images for any plugin lends itself much more neatly to
> libguestfs' API than to DIB's.
 
Ok, there is clearly some kind of communication breakdown between DIB
and some of its users that we *really* need to solve. AFAIK the primary
set of DIB developers had no idea this was going on. I am going to push
up a patch to our docs to make it a lot more clear where to find us
(#tripleo or the ML). I'm not really sure what else we could do to make
it easier for users to find us / raise issues with us so we can explore
ways to solve them, but any suggestions would be a huge help.
 
The idea that a linear set of idempotent steps is mutually exclusive
with DIB's API is really interesting. IIUC this is something we
grappled with in TripleO when creating the tool and simply never spent
time looking in to solving for the existing distro elements, although
that is an element issue not an API issue. DIB's API is just a linear
set of commands you opt in to (by way of elements), if you make those
commands idempotent then you have what you want, the problem is that
the upstream element's themselves are not written in that way so you
couldn't depend on them.  I think there are some pretty obvious ways to
solve this, potentially by making an element which provides the same
API as libguestfs virt-customize (this would be very simple to do, I
just haven't heard of anyone wanting it) or by hacking on some of the
in-tree elements. Could you go in to some more detail on how you use
this feature?
 
> Beyond that, the Sahara team has certainly seen profound difficulty in
> the field when customers attempt to generate their own images, and
> even for Sahara cores, building images is occasionally quite
> harrowing. These issues are seldom based on real issues in the scripts
> themselves, but are frequently the result of bleed between the host
> and guest; when these issues occur for a customer, they become
> extremely difficult to diagnose remotely. Still, it's entirely
> possible that DIB has answers to these problems, and it'd be a
> universal good to identify real flaws in DIB, or just to educate the
> uninitiated into how DIB can be made to work more cleanly if the
> features are already there (which they may well be; far be it from me
> to claim exhaustive mastery of DIB.) The technical reasons we like
> libguestfs over DIB are:
 
It would be *extremely* helpful to know about these issues when they
come up. There's definitely some things we can do to prevent this but
again, there hasn't been a lot of feedback that this is an issue people
are running in to. There's a few different ways to prevent these types
of problems ranging from doing something like virt-dib to having dib use
another chroot during the image building process but I would really like
to hear about some specific issues to get a better idea of what the root
cause is. Hopefully we could even get these filed as bugs.
 
> 1) Libguestfs manipulates images in a clean helper VM created by
>libguestfs in a predictable way. As such, no mounts are made on the
>host, no scripts can affect the host system, and no variables on
>the host system are likely to affect the image packing process. See
>http://libguestfs.org/guestfs-security.1.html for information on
>libguestfs security.
 
Yep, isolation is definitely something DIB currently gives up in order
to provide speed/lower resource usage. That being said, there are lots
of things that could be done to either mitigate these issues or remove
them altogether (by compromising on speed/resource requirements). My
biggest concern is that we are creating two sets of code to perform the
same task due to a false dichotomy - the obvious case being that at a
minimum we could still be using something compatible with DIB while
utilizing a vm/libguestfs. This would then have the benefits of having a
common toolset among the community without the raised issues.
 
> 2) In-place image manipulation means that relativ

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Flavio Percoco

On 04/05/16 09:46 -0700, Clark Boylan wrote:

On Wed, May 4, 2016, at 08:55 AM, Flavio Percoco wrote:

On 04/05/16 15:05 +, Amrith Kumar wrote:
>I'm emailing the ML on the subject of a review ongoing in the Trove project 
regarding image building[1].
>
>TL;DR
>
>One of the most frequent questions that new users of Trove ask is how and 
where to get guest images with which to experiment with Trove, and how to build 
these images for themselves. While documentation about this exists in multiple 
places (including [2], [3]) this is still something that can do with some 
improvement.
>
>Trove currently uses diskimage-builder for building images used in testing the 
product and these can serve as a good basis for anyone wishing to build an image 
for their own use of Trove. The review [1] makes the argument for the libguestfs 
based approach to building images and advocates that Trove should use this instead 
of diskimage-builder.

At the summit we discussed the possibility of providing an implementation
that
would allow for both DIB and libguestfs to be used but to give priority
to DIB.
Since there's no real intention of just switching tools at this point, I
believe
it'd be good to amend the spec so that it doesn't mention libguestfs
should be
used instead of DiB.

The goal at this stage is to provide both and help these move forward.


I disagree, as someone that has tried and failed in the past to build
trove images the goal should be to make that process easy for the user.
Maybe we can finally get rid of redstack years after it was supposed to
go away.


Well, that's part of what the spec under discussion is going to address. Pulling
out the DiB bits out of trove-integration aims to provide a way for users to
build their images. The priority is to get this to a state where users can build
images easily and then work in parallel on adding support for an alternative.

This is what was said in the Trove session last week.


>I believe that a broader discussion of this is required and I appreciate Greg 
Haynes' proposal at the design summit to have this discussion on the ML. I took 
the action item to bring this discussion to the ML.
>
>Details follow ...
>
>Before going further, I will state my views on these matters.
>
>1. It is important for the Trove project to do things quickly to make it 
easier for end users who wish to use Trove and who wish to build their own images. 
I am not concerned what tool or tools a person will use to build these images.
>
>2. If we provide multiple alternatives to image building as part of the Trove 
project, we should make sure that images built with all sets of tools are 
equivalent and usable interchangeably. Failing to do this will make it harder for 
users to use Trove because we will be providing them with a false choice (i.e. the 
alternatives aren't really alternatives). This is harder than it sounds given the 
combination of tools, operating systems, and the source(s) from which you can get 
database software.

Maintaining both in the long run will be harder especially because, as
you
mentioned, the output must be usable interchangeably. However, I think
we're at
a point, based on the comments in [1] made by Pino Toscano, Luigi Toscano
and
some other folks that it'd be beneficial for us to have this discussion
and to
also experiment/test other options.

The Sahara team seems to be going in a direction that differs with the
one used
by the infra team and the one we're headed to (although they overlap in
some
areas).


Has Sahara expressed their needs somewhere too? This is the first I am
hearing of them having trouble with image builds (I had thought they
were using DIB successfully).


I believe Ethan has replied to this in another email.


>3. Trove already has elements for all supported databases using DIB in the 
trove-integration project but these elements are not packaged for customer use. 
Making them usable by customers is a relatively small effort including providing a 
wrapper script (derived from redstack[4]) and providing an element to install the 
guest agent software from a fixed location in addition to the development and 
testing version that is better suited to Trove development [5] and [6].
>
>4. My comments on various patch sets in the review[1].
>
>I agree with Monty and Greg Haynes that we should understand the deficiencies if any in 
DIB, and if it is in fact the case that they are "intractable/unsolvable", we 
should switch toolchains. This discussion should include issues faced by the Trove team as 
well as other teams that may have faced problems with DIB (such as the sahara team who 
described some of them in the past).

++

Agreed with the above. I'm think collaboration should be the preferred
way. I
don't think I've enough technical insight on this topic to provide a
detailed
list of things that are good/bad on either of these tools but I wanted to
mention that I believe providing support for both in the short run is
good for
us and it 

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Peter MacKinnon

On 5/4/16 12:52 PM, Gregory Haynes wrote:

On Wed, May 4, 2016, at 08:55 AM, Flavio Percoco wrote:

On 04/05/16 15:05 +, Amrith Kumar wrote:

I'm emailing the ML on the subject of a review ongoing in the Trove project 
regarding image building[1].

TL;DR

One of the most frequent questions that new users of Trove ask is how and where 
to get guest images with which to experiment with Trove, and how to build these 
images for themselves. While documentation about this exists in multiple places 
(including [2], [3]) this is still something that can do with some improvement.

Trove currently uses diskimage-builder for building images used in testing the 
product and these can serve as a good basis for anyone wishing to build an 
image for their own use of Trove. The review [1] makes the argument for the 
libguestfs based approach to building images and advocates that Trove should 
use this instead of diskimage-builder.

At the summit we discussed the possibility of providing an implementation
that
would allow for both DIB and libguestfs to be used but to give priority
to DIB.
Since there's no real intention of just switching tools at this point, I
believe
it'd be good to amend the spec so that it doesn't mention libguestfs
should be
used instead of DiB.

The goal at this stage is to provide both and help these move forward.


I believe that a broader discussion of this is required and I appreciate Greg 
Haynes' proposal at the design summit to have this discussion on the ML. I took 
the action item to bring this discussion to the ML.

Details follow ...

Before going further, I will state my views on these matters.

1. It is important for the Trove project to do things quickly to make it easier 
for end users who wish to use Trove and who wish to build their own images. I 
am not concerned what tool or tools a person will use to build these images.

++. One of the biggest issues I see users of DIB hit is ease of use for
'just make me an image, I don't care about twiddling knobs'. A wrapper
script in trove is one way to help with this, but I am sure there are
other solutions as well... maybe by rethinking some of our fear about
using elements as entry points to an image build, or by simply making
element's with better defaults.


2. If we provide multiple alternatives to image building as part of the Trove 
project, we should make sure that images built with all sets of tools are 
equivalent and usable interchangeably. Failing to do this will make it harder 
for users to use Trove because we will be providing them with a false choice 
(i.e. the alternatives aren't really alternatives). This is harder than it 
sounds given the combination of tools, operating systems, and the source(s) 
from which you can get database software.

Maintaining both in the long run will be harder especially because, as
you
mentioned, the output must be usable interchangeably. However, I think
we're at
a point, based on the comments in [1] made by Pino Toscano, Luigi Toscano
and
some other folks that it'd be beneficial for us to have this discussion
and to
also experiment/test other options.

The Sahara team seems to be going in a direction that differs with the
one used
by the infra team and the one we're headed to (although they overlap in
some
areas).


I would highly recommend against having two sets of image building code
for Trove - given DIB's current design there should not be any need for
this and there's a HUGE downside to maintaining two sets of code to do
the same thing in-tree. Ideally a single set of code would be used while
being able to be run in different environments if there are mutually
exclusive requirements being proposed by users.


Well, certainly one downside in the case of Trove (and probably 
elsewhere) with DIB is the src tree matrix of datastore-by-distro 
elements required to support various guest image combinations, leading 
to a proliferation of directories and files. We feel this can be greatly 
simplified using a libguestfs approach using a minimal set of bash and 
directly applicable data files (e.g., systemd unit files, conf files, 
etc.).




What seemed very apparent to me in the summit session is that there are
a set of issues for Trove relating to image building, mostly relating to
reliability and ease of use. There was no one who even mentioned let
alone strongly cared about the issues which actually differentiate the
existing DIB build process from libguestfs (which is isolation). If that
has changed for some reason, then my recommendation would be to use a
tool like virt-dib which will allow for a single image building code
base while solving all the raised issues in the spec. I suspect when
this is tried out the downsides to booting a VM will highly outweigh the
benefits for almost all users (especially in trove's gate),


Anecdotally, it takes the same amount of time for a CentOS7 MySQL build 
(~ 7 minutes) with either toolchain.



but if the
libguestfs docs are to be believed this s

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Ethan Gafford
On Wed, May 4, 2016 at 11:55 AM, Flavio Percoco  wrote:

> On 04/05/16 15:05 +, Amrith Kumar wrote:
>
>> I'm emailing the ML on the subject of a review ongoing in the Trove
>> project regarding image building[1].
>>
>> TL;DR
>>
>> One of the most frequent questions that new users of Trove ask is how and
>> where to get guest images with which to experiment with Trove, and how to
>> build these images for themselves. While documentation about this exists in
>> multiple places (including [2], [3]) this is still something that can do
>> with some improvement.
>>
>> Trove currently uses diskimage-builder for building images used in
>> testing the product and these can serve as a good basis for anyone wishing
>> to build an image for their own use of Trove. The review [1] makes the
>> argument for the libguestfs based approach to building images and advocates
>> that Trove should use this instead of diskimage-builder.
>>
>
> At the summit we discussed the possibility of providing an implementation
> that
> would allow for both DIB and libguestfs to be used but to give priority to
> DIB.
> Since there's no real intention of just switching tools at this point, I
> believe
> it'd be good to amend the spec so that it doesn't mention libguestfs
> should be
> used instead of DiB.
>
> The goal at this stage is to provide both and help these move forward.
>
> I believe that a broader discussion of this is required and I appreciate
>> Greg Haynes' proposal at the design summit to have this discussion on the
>> ML. I took the action item to bring this discussion to the ML.
>>
>> Details follow ...
>>
>> Before going further, I will state my views on these matters.
>>
>> 1. It is important for the Trove project to do things quickly to make it
>> easier for end users who wish to use Trove and who wish to build their own
>> images. I am not concerned what tool or tools a person will use to build
>> these images.
>>
>> 2. If we provide multiple alternatives to image building as part of the
>> Trove project, we should make sure that images built with all sets of tools
>> are equivalent and usable interchangeably. Failing to do this will make it
>> harder for users to use Trove because we will be providing them with a
>> false choice (i.e. the alternatives aren't really alternatives). This is
>> harder than it sounds given the combination of tools, operating systems,
>> and the source(s) from which you can get database software.
>>
>
> Maintaining both in the long run will be harder especially because, as you
> mentioned, the output must be usable interchangeably. However, I think
> we're at
> a point, based on the comments in [1] made by Pino Toscano, Luigi Toscano
> and
> some other folks that it'd be beneficial for us to have this discussion
> and to
> also experiment/test other options.
>
> The Sahara team seems to be going in a direction that differs with the one
> used
> by the infra team and the one we're headed to (although they overlap in
> some
> areas).
>

Sahara has support for several image generation-related cases:
1) Packing an image pre-cluster spawn in Nova.
2) Building clusters from a "clean" OS image post-Nova spawn, by
downloading and installing Hadoop/Spark/Storm/WhatHaveYou.
3) Validating images after Nova spawn (to ensure that they're up to spec
for the plugin in question.)

Because of this, we are pulling image generation logic into the plugins
themselves, from a monolithic sahara-image-elements repository. This will
aid us in our eventual hope to pull plugins out of the Sahara tree
entirely; more immediately, it will allow us to define logic for all of
these cases in one place, written eventually in Python. In our Sahara
session at summit, which was also attended by several members of the Ironic
team (thanks all), we discussed our current plan to use libguestfs rather
than DIB as our toolchain; our intent to define a linear, idempotent set of
steps to pack images for any plugin lends itself much more neatly to
libguestfs' API than to DIB's.


> 3. Trove already has elements for all supported databases using DIB in the
>> trove-integration project but these elements are not packaged for customer
>> use. Making them usable by customers is a relatively small effort including
>> providing a wrapper script (derived from redstack[4]) and providing an
>> element to install the guest agent software from a fixed location in
>> addition to the development and testing version that is better suited to
>> Trove development [5] and [6].
>>
>> 4. My comments on various patch sets in the review[1].
>>
>> I agree with Monty and Greg Haynes that we should understand the
>> deficiencies if any in DIB, and if it is in fact the case that they are
>> "intractable/unsolvable", we should switch toolchains. This discussion
>> should include issues faced by the Trove team as well as other teams that
>> may have faced problems with DIB (such as the sahara team who described
>> some of them in the past).
>>
>
> ++
>
> Agreed 

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Monty Taylor

On 05/04/2016 11:46 AM, Clark Boylan wrote:

On Wed, May 4, 2016, at 08:55 AM, Flavio Percoco wrote:

On 04/05/16 15:05 +, Amrith Kumar wrote:

I'm emailing the ML on the subject of a review ongoing in the Trove project 
regarding image building[1].

TL;DR

One of the most frequent questions that new users of Trove ask is how and where 
to get guest images with which to experiment with Trove, and how to build these 
images for themselves. While documentation about this exists in multiple places 
(including [2], [3]) this is still something that can do with some improvement.

Trove currently uses diskimage-builder for building images used in testing the 
product and these can serve as a good basis for anyone wishing to build an 
image for their own use of Trove. The review [1] makes the argument for the 
libguestfs based approach to building images and advocates that Trove should 
use this instead of diskimage-builder.


At the summit we discussed the possibility of providing an implementation
that
would allow for both DIB and libguestfs to be used but to give priority
to DIB.
Since there's no real intention of just switching tools at this point, I
believe
it'd be good to amend the spec so that it doesn't mention libguestfs
should be
used instead of DiB.

The goal at this stage is to provide both and help these move forward.


I disagree, as someone that has tried and failed in the past to build
trove images the goal should be to make that process easy for the user.
Maybe we can finally get rid of redstack years after it was supposed to
go away.


I believe that a broader discussion of this is required and I appreciate Greg 
Haynes' proposal at the design summit to have this discussion on the ML. I took 
the action item to bring this discussion to the ML.

Details follow ...

Before going further, I will state my views on these matters.

1. It is important for the Trove project to do things quickly to make it easier 
for end users who wish to use Trove and who wish to build their own images. I 
am not concerned what tool or tools a person will use to build these images.

2. If we provide multiple alternatives to image building as part of the Trove 
project, we should make sure that images built with all sets of tools are 
equivalent and usable interchangeably. Failing to do this will make it harder 
for users to use Trove because we will be providing them with a false choice 
(i.e. the alternatives aren't really alternatives). This is harder than it 
sounds given the combination of tools, operating systems, and the source(s) 
from which you can get database software.


Maintaining both in the long run will be harder especially because, as
you
mentioned, the output must be usable interchangeably. However, I think
we're at
a point, based on the comments in [1] made by Pino Toscano, Luigi Toscano
and
some other folks that it'd be beneficial for us to have this discussion
and to
also experiment/test other options.

The Sahara team seems to be going in a direction that differs with the
one used
by the infra team and the one we're headed to (although they overlap in
some
areas).


Has Sahara expressed their needs somewhere too? This is the first I am
hearing of them having trouble with image builds (I had thought they
were using DIB successfully).


3. Trove already has elements for all supported databases using DIB in the 
trove-integration project but these elements are not packaged for customer use. 
Making them usable by customers is a relatively small effort including 
providing a wrapper script (derived from redstack[4]) and providing an element 
to install the guest agent software from a fixed location in addition to the 
development and testing version that is better suited to Trove development [5] 
and [6].

4. My comments on various patch sets in the review[1].

I agree with Monty and Greg Haynes that we should understand the deficiencies if any in 
DIB, and if it is in fact the case that they are "intractable/unsolvable", we 
should switch toolchains. This discussion should include issues faced by the Trove team 
as well as other teams that may have faced problems with DIB (such as the sahara team who 
described some of them in the past).


++

Agreed with the above. I'm think collaboration should be the preferred
way. I
don't think I've enough technical insight on this topic to provide a
detailed
list of things that are good/bad on either of these tools but I wanted to
mention that I believe providing support for both in the short run is
good for
us and it helps to make a better decision on what tool works best for the
project.

There's someone willing to do the job and spend sometime doing the
research.
This same person will provide feedback in addition to the one already
provided
in [1].

Sorry for not providing much technical details now but I did want to
share the
above. Thanks for starting this thread, I believe this discussion in the
ML will
be beneficial.


This is the problem. We need tec

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Gregory Haynes
On Wed, May 4, 2016, at 08:55 AM, Flavio Percoco wrote:
> On 04/05/16 15:05 +, Amrith Kumar wrote:
> >I'm emailing the ML on the subject of a review ongoing in the Trove project 
> >regarding image building[1].
> >
> >TL;DR
> >
> >One of the most frequent questions that new users of Trove ask is how and 
> >where to get guest images with which to experiment with Trove, and how to 
> >build these images for themselves. While documentation about this exists in 
> >multiple places (including [2], [3]) this is still something that can do 
> >with some improvement.
> >
> >Trove currently uses diskimage-builder for building images used in testing 
> >the product and these can serve as a good basis for anyone wishing to build 
> >an image for their own use of Trove. The review [1] makes the argument for 
> >the libguestfs based approach to building images and advocates that Trove 
> >should use this instead of diskimage-builder.
> 
> At the summit we discussed the possibility of providing an implementation
> that
> would allow for both DIB and libguestfs to be used but to give priority
> to DIB.
> Since there's no real intention of just switching tools at this point, I
> believe
> it'd be good to amend the spec so that it doesn't mention libguestfs
> should be
> used instead of DiB.
> 
> The goal at this stage is to provide both and help these move forward.
> 
> >I believe that a broader discussion of this is required and I appreciate 
> >Greg Haynes' proposal at the design summit to have this discussion on the 
> >ML. I took the action item to bring this discussion to the ML.
> >
> >Details follow ...
> >
> >Before going further, I will state my views on these matters.
> >
> >1. It is important for the Trove project to do things quickly to make it 
> >easier for end users who wish to use Trove and who wish to build their own 
> >images. I am not concerned what tool or tools a person will use to build 
> >these images.

++. One of the biggest issues I see users of DIB hit is ease of use for
'just make me an image, I don't care about twiddling knobs'. A wrapper
script in trove is one way to help with this, but I am sure there are
other solutions as well... maybe by rethinking some of our fear about
using elements as entry points to an image build, or by simply making
element's with better defaults.

> >
> >2. If we provide multiple alternatives to image building as part of the 
> >Trove project, we should make sure that images built with all sets of tools 
> >are equivalent and usable interchangeably. Failing to do this will make it 
> >harder for users to use Trove because we will be providing them with a false 
> >choice (i.e. the alternatives aren't really alternatives). This is harder 
> >than it sounds given the combination of tools, operating systems, and the 
> >source(s) from which you can get database software.
> 
> Maintaining both in the long run will be harder especially because, as
> you
> mentioned, the output must be usable interchangeably. However, I think
> we're at
> a point, based on the comments in [1] made by Pino Toscano, Luigi Toscano
> and
> some other folks that it'd be beneficial for us to have this discussion
> and to
> also experiment/test other options.
> 
> The Sahara team seems to be going in a direction that differs with the
> one used
> by the infra team and the one we're headed to (although they overlap in
> some
> areas).
> 

I would highly recommend against having two sets of image building code
for Trove - given DIB's current design there should not be any need for
this and there's a HUGE downside to maintaining two sets of code to do
the same thing in-tree. Ideally a single set of code would be used while
being able to be run in different environments if there are mutually
exclusive requirements being proposed by users.

What seemed very apparent to me in the summit session is that there are
a set of issues for Trove relating to image building, mostly relating to
reliability and ease of use. There was no one who even mentioned let
alone strongly cared about the issues which actually differentiate the
existing DIB build process from libguestfs (which is isolation). If that
has changed for some reason, then my recommendation would be to use a
tool like virt-dib which will allow for a single image building code
base while solving all the raised issues in the spec. I suspect when
this is tried out the downsides to booting a VM will highly outweigh the
benefits for almost all users (especially in trove's gate), but if the
libguestfs docs are to be believed this should be trivial to try out.


> >3. Trove already has elements for all supported databases using DIB in the 
> >trove-integration project but these elements are not packaged for customer 
> >use. Making them usable by customers is a relatively small effort including 
> >providing a wrapper script (derived from redstack[4]) and providing an 
> >element to install the guest agent software from a fixed location in 
> >add

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Clark Boylan
On Wed, May 4, 2016, at 08:55 AM, Flavio Percoco wrote:
> On 04/05/16 15:05 +, Amrith Kumar wrote:
> >I'm emailing the ML on the subject of a review ongoing in the Trove project 
> >regarding image building[1].
> >
> >TL;DR
> >
> >One of the most frequent questions that new users of Trove ask is how and 
> >where to get guest images with which to experiment with Trove, and how to 
> >build these images for themselves. While documentation about this exists in 
> >multiple places (including [2], [3]) this is still something that can do 
> >with some improvement.
> >
> >Trove currently uses diskimage-builder for building images used in testing 
> >the product and these can serve as a good basis for anyone wishing to build 
> >an image for their own use of Trove. The review [1] makes the argument for 
> >the libguestfs based approach to building images and advocates that Trove 
> >should use this instead of diskimage-builder.
> 
> At the summit we discussed the possibility of providing an implementation
> that
> would allow for both DIB and libguestfs to be used but to give priority
> to DIB.
> Since there's no real intention of just switching tools at this point, I
> believe
> it'd be good to amend the spec so that it doesn't mention libguestfs
> should be
> used instead of DiB.
> 
> The goal at this stage is to provide both and help these move forward.

I disagree, as someone that has tried and failed in the past to build
trove images the goal should be to make that process easy for the user.
Maybe we can finally get rid of redstack years after it was supposed to
go away.

> >I believe that a broader discussion of this is required and I appreciate 
> >Greg Haynes' proposal at the design summit to have this discussion on the 
> >ML. I took the action item to bring this discussion to the ML.
> >
> >Details follow ...
> >
> >Before going further, I will state my views on these matters.
> >
> >1. It is important for the Trove project to do things quickly to make it 
> >easier for end users who wish to use Trove and who wish to build their own 
> >images. I am not concerned what tool or tools a person will use to build 
> >these images.
> >
> >2. If we provide multiple alternatives to image building as part of the 
> >Trove project, we should make sure that images built with all sets of tools 
> >are equivalent and usable interchangeably. Failing to do this will make it 
> >harder for users to use Trove because we will be providing them with a false 
> >choice (i.e. the alternatives aren't really alternatives). This is harder 
> >than it sounds given the combination of tools, operating systems, and the 
> >source(s) from which you can get database software.
> 
> Maintaining both in the long run will be harder especially because, as
> you
> mentioned, the output must be usable interchangeably. However, I think
> we're at
> a point, based on the comments in [1] made by Pino Toscano, Luigi Toscano
> and
> some other folks that it'd be beneficial for us to have this discussion
> and to
> also experiment/test other options.
> 
> The Sahara team seems to be going in a direction that differs with the
> one used
> by the infra team and the one we're headed to (although they overlap in
> some
> areas).

Has Sahara expressed their needs somewhere too? This is the first I am
hearing of them having trouble with image builds (I had thought they
were using DIB successfully).

> >3. Trove already has elements for all supported databases using DIB in the 
> >trove-integration project but these elements are not packaged for customer 
> >use. Making them usable by customers is a relatively small effort including 
> >providing a wrapper script (derived from redstack[4]) and providing an 
> >element to install the guest agent software from a fixed location in 
> >addition to the development and testing version that is better suited to 
> >Trove development [5] and [6].
> >
> >4. My comments on various patch sets in the review[1].
> >
> >I agree with Monty and Greg Haynes that we should understand the 
> >deficiencies if any in DIB, and if it is in fact the case that they are 
> >"intractable/unsolvable", we should switch toolchains. This discussion 
> >should include issues faced by the Trove team as well as other teams that 
> >may have faced problems with DIB (such as the sahara team who described some 
> >of them in the past).
> 
> ++
> 
> Agreed with the above. I'm think collaboration should be the preferred
> way. I
> don't think I've enough technical insight on this topic to provide a
> detailed
> list of things that are good/bad on either of these tools but I wanted to
> mention that I believe providing support for both in the short run is
> good for
> us and it helps to make a better decision on what tool works best for the
> project.
> 
> There's someone willing to do the job and spend sometime doing the
> research.
> This same person will provide feedback in addition to the one already
> provided
> in [1].
> 
> Sorry f

Re: [openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Flavio Percoco

On 04/05/16 15:05 +, Amrith Kumar wrote:

I'm emailing the ML on the subject of a review ongoing in the Trove project 
regarding image building[1].

TL;DR

One of the most frequent questions that new users of Trove ask is how and where 
to get guest images with which to experiment with Trove, and how to build these 
images for themselves. While documentation about this exists in multiple places 
(including [2], [3]) this is still something that can do with some improvement.

Trove currently uses diskimage-builder for building images used in testing the 
product and these can serve as a good basis for anyone wishing to build an 
image for their own use of Trove. The review [1] makes the argument for the 
libguestfs based approach to building images and advocates that Trove should 
use this instead of diskimage-builder.


At the summit we discussed the possibility of providing an implementation that
would allow for both DIB and libguestfs to be used but to give priority to DIB.
Since there's no real intention of just switching tools at this point, I believe
it'd be good to amend the spec so that it doesn't mention libguestfs should be
used instead of DiB.

The goal at this stage is to provide both and help these move forward.


I believe that a broader discussion of this is required and I appreciate Greg 
Haynes' proposal at the design summit to have this discussion on the ML. I took 
the action item to bring this discussion to the ML.

Details follow ...

Before going further, I will state my views on these matters.

1. It is important for the Trove project to do things quickly to make it easier 
for end users who wish to use Trove and who wish to build their own images. I 
am not concerned what tool or tools a person will use to build these images.

2. If we provide multiple alternatives to image building as part of the Trove 
project, we should make sure that images built with all sets of tools are 
equivalent and usable interchangeably. Failing to do this will make it harder 
for users to use Trove because we will be providing them with a false choice 
(i.e. the alternatives aren't really alternatives). This is harder than it 
sounds given the combination of tools, operating systems, and the source(s) 
from which you can get database software.


Maintaining both in the long run will be harder especially because, as you
mentioned, the output must be usable interchangeably. However, I think we're at
a point, based on the comments in [1] made by Pino Toscano, Luigi Toscano and
some other folks that it'd be beneficial for us to have this discussion and to
also experiment/test other options.

The Sahara team seems to be going in a direction that differs with the one used
by the infra team and the one we're headed to (although they overlap in some
areas).


3. Trove already has elements for all supported databases using DIB in the 
trove-integration project but these elements are not packaged for customer use. 
Making them usable by customers is a relatively small effort including 
providing a wrapper script (derived from redstack[4]) and providing an element 
to install the guest agent software from a fixed location in addition to the 
development and testing version that is better suited to Trove development [5] 
and [6].

4. My comments on various patch sets in the review[1].

I agree with Monty and Greg Haynes that we should understand the deficiencies if any in 
DIB, and if it is in fact the case that they are "intractable/unsolvable", we 
should switch toolchains. This discussion should include issues faced by the Trove team 
as well as other teams that may have faced problems with DIB (such as the sahara team who 
described some of them in the past).


++

Agreed with the above. I'm think collaboration should be the preferred way. I
don't think I've enough technical insight on this topic to provide a detailed
list of things that are good/bad on either of these tools but I wanted to
mention that I believe providing support for both in the short run is good for
us and it helps to make a better decision on what tool works best for the 
project.

There's someone willing to do the job and spend sometime doing the research.
This same person will provide feedback in addition to the one already provided
in [1].

Sorry for not providing much technical details now but I did want to share the
above. Thanks for starting this thread, I believe this discussion in the ML will
be beneficial.

Flavio


Thanks,

-amrith


[1] https://review.openstack.org/#/c/295274/
[2] http://docs.openstack.org/developer/trove/dev/building_guest_images.html
[3] 
https://git.openstack.org/cgit/openstack/diskimage-builder/tree/README.rst#writing-an-element
[4] 
http://git.openstack.org/cgit/openstack/trove-integration/tree/scripts/redstack
[5] 
http://git.openstack.org/cgit/openstack/trove-integration/tree/scripts/files/trove-guest.systemd.conf
[6] 
http://git.openstack.org/cgit/openstack/trove-integration/tree/scripts/files/trove-gu

[openstack-dev] [trove][sahara][infra][Octavia][manila] discussion of image building in Trove

2016-05-04 Thread Amrith Kumar
I'm emailing the ML on the subject of a review ongoing in the Trove project 
regarding image building[1].

TL;DR

One of the most frequent questions that new users of Trove ask is how and where 
to get guest images with which to experiment with Trove, and how to build these 
images for themselves. While documentation about this exists in multiple places 
(including [2], [3]) this is still something that can do with some improvement.

Trove currently uses diskimage-builder for building images used in testing the 
product and these can serve as a good basis for anyone wishing to build an 
image for their own use of Trove. The review [1] makes the argument for the 
libguestfs based approach to building images and advocates that Trove should 
use this instead of diskimage-builder.

I believe that a broader discussion of this is required and I appreciate Greg 
Haynes' proposal at the design summit to have this discussion on the ML. I took 
the action item to bring this discussion to the ML.

Details follow ...

Before going further, I will state my views on these matters.

1. It is important for the Trove project to do things quickly to make it easier 
for end users who wish to use Trove and who wish to build their own images. I 
am not concerned what tool or tools a person will use to build these images.

2. If we provide multiple alternatives to image building as part of the Trove 
project, we should make sure that images built with all sets of tools are 
equivalent and usable interchangeably. Failing to do this will make it harder 
for users to use Trove because we will be providing them with a false choice 
(i.e. the alternatives aren't really alternatives). This is harder than it 
sounds given the combination of tools, operating systems, and the source(s) 
from which you can get database software.

3. Trove already has elements for all supported databases using DIB in the 
trove-integration project but these elements are not packaged for customer use. 
Making them usable by customers is a relatively small effort including 
providing a wrapper script (derived from redstack[4]) and providing an element 
to install the guest agent software from a fixed location in addition to the 
development and testing version that is better suited to Trove development [5] 
and [6].

4. My comments on various patch sets in the review[1].

I agree with Monty and Greg Haynes that we should understand the deficiencies 
if any in DIB, and if it is in fact the case that they are 
"intractable/unsolvable", we should switch toolchains. This discussion should 
include issues faced by the Trove team as well as other teams that may have 
faced problems with DIB (such as the sahara team who described some of them in 
the past).

Thanks,

-amrith


[1] https://review.openstack.org/#/c/295274/
[2] http://docs.openstack.org/developer/trove/dev/building_guest_images.html
[3] 
https://git.openstack.org/cgit/openstack/diskimage-builder/tree/README.rst#writing-an-element
[4] 
http://git.openstack.org/cgit/openstack/trove-integration/tree/scripts/redstack
[5] 
http://git.openstack.org/cgit/openstack/trove-integration/tree/scripts/files/trove-guest.systemd.conf
[6] 
http://git.openstack.org/cgit/openstack/trove-integration/tree/scripts/files/trove-guest.upstart.conf

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