[cloud] #44: hey we should have a vagrant base box
Fedora Cloud Trac Tickets
cloud-trac at fedoraproject.org
Fri May 16 00:29:28 UTC 2014
#44: hey we should have a vagrant base box
--------------------+---------------------
Reporter: mattdm | Owner:
Type: task | Status: new
Priority: normal | Milestone: Future
Component: --- | Resolution:
Keywords: |
--------------------+---------------------
Comment (by purpleidea):
Replying to [comment:10 walters]:
> Replying to [comment:8 purpleidea]:
> > Easy to change this. (one-liner).
>
> I'm not so sure it's that easy. The problem I hit with using libguestfs
for this sort of stuff is that you really need to be sure the SELinux
label of critical files like /etc/passwd is set. It's hard to do that
from the outside - doing it *inside* the system on boot means we use the
target policy.
Agreed... but, I do do it inside. :)
https://github.com/purpleidea/puppet-
gluster/blob/master/builder/Makefile#L83
I'm not sure if this is now equivalent to the new --selinux-relabel flag
for virt-builder. If it is, we can simplify this.
>
> > I actually prefer my makefile/virt-builder approach, but I obviously
am fine with other people working on different methods.
>
> The makefile versus shell versus javascript or whatever is mostly a red
herring I think. The issue I see is more the second part - the semantics
around how we change the contents of the target system.
>
> > I figured I'd step up to help with this, since it was apparently a
"very long-standing request".
>
> Definitely! Do you have some bandwidth to work on this/continue the
conversation here?
To be honest, not a lot, actually. If it would help, I will be in Westford
next week, and I am happy to meet if you want to hack on this, or iterate
quickly over some of the ideas.
>
> There are a few aspects to this:
>
> 1) Content definition - what packages are installed?
> 2) Partition layout
> 3) System default configuration (vagrant user, vagrant ssh keys, sudo)
>
> To me, Anaconda+kickstart files are the thing to use for #1 and #2. In
other words we're just talking about another Fedora Cloud type image,
except with Vagrant as the "hypervisor".
>
> For #3, kickstart files are probably also the way to go. My script was
just a hack because I didn't have ostree support in Anaconda, but now I
do.
>
> There's a general question here about anaconda versus virt-builder; when
should you "rebuild" versus "post-customize". To me the answer comes down
to the package set. If for example we wanted different packages in the
Vagrant image, then it would need to be an Anaconda rebuild.
>
So, I must say, that I love Anaconda for it's use case, however in
general, it's the reason that virt-builder and vagrant are so useful. The
vagrant user or really most people (IMO), don't want to have to muck
around with getting every anaconda setting right... If I can build this on
top of an already built base image, then there is less chance for error.
IOW, I'm glad Anaconda exists, but I want to use it as little as possible.
What OS image can't you build with virt-builder? I don't know that it does
anything to the template that can't be properly fixed with --flags to
virt-builder... And it's easy :)
As a side note, these comments might not make much sense in light of some
of the os-tree stuff you're doing, but I'm not up to speed on all the
specifics, so my commentary assumes that stuff doesn't exist. My bad if
that's the case.
>
--
Ticket URL: <https://fedorahosted.org/cloud/ticket/44#comment:11>
cloud <https://fedorahosted.org/cloud>
Fedora Cloud Working Group Ticketing System
More information about the cloud
mailing list