[Openstack-operators] CentOS image

Brian Schott brian.schott at nimbisservices.com
Tue Jul 2 19:53:45 UTC 2013


Are you guys following Disk Image Builder project?
https://github.com/stackforge/diskimage-builder
I saw a bug related to udev rules for Fedora.

-------------------------------------------------
Brian Schott, CTO
Nimbis Services, Inc.
brian.schott at nimbisservices.com
ph: 443-274-6064  fx: 443-274-6060



On Jul 2, 2013, at 3:15 PM, Lorin Hochstein <lorin at nimbisservices.com> wrote:

> Hi Joe:
> 
> Ah, gotcha. No, you couldn't use virt-sysprep from inside of the instance. It only works on VMs that are shutdown.
> 
> It's a shame that virt-sysprep doesn't completely remove the relevant udev rules generator entirely. 
> 
> Lorin
> 
> 
> On Tue, Jul 2, 2013 at 3:06 PM, Joe Topjian <joe.topjian at cybera.ca> wrote:
> Hi Lorin,
> 
> Right, virt-sysprep is used in Dean's build script to create the initial image. The issue I see is when an instance is created from the image and then a snapshot is created -- unless the udev rules are manually removed prior to snapshot creation, they will still exist for each instance based off of the snapshot and so the virtual NICs won't get named properly.
> 
> Maybe virt-sysprep can be run from inside the instance? If so, it still requires all users to manually run it prior to snapshotting. This is why I've gone and just disabled udev rule entries for all NICs (based on a KVM-based MAC address).
> 
> Joe
> 
> 
> On Tue, Jul 2, 2013 at 12:31 PM, Lorin Hochstein <lorin at nimbisservices.com> wrote:
> Joe:
> 
> That's great news, I'd like to update the image guide with info on how to do a fully scripted creation of CentOS images that resize properly.
> 
> For udev, there's a great tool called "virt-sysprep" from libguestfs project. It will remove the MAC address from udev as well as clean up various other things: http://libguestfs.org/virt-sysprep.1.html
> 
> Lorin
> 
> 
> On Tue, Jul 2, 2013 at 2:13 PM, Joe Topjian <joe.topjian at cybera.ca> wrote:
> Hi Lorin,
> 
> I was working on this the week before last and ran into the same problems you've described. I was on vacation last week, but before I left, I had a solution that I'm 99% happy with -- I just need to do some final testing.
> 
> Dean Troyer has some great CentOS build scripts here. These scripts will build a CentOS image on the fly from start to finish. The only issue I ran into was with udev: On first boot, udev will record the MAC addresses of the virtual NIC(s) in the instance. If you create a snapshot, these records are not removed and so udev renames the interfaces to something else.
> 
> Here is my fork of the scripts which resolves this udev issue. 
> 
> If you use these scripts, let me know if you run into any issues. I hope to finish up my testing either this week or next week and finally have a good (on par with Ubuntu) CentOS cloud image -- even better that it can be generated on the fly and receive all current updates.
> 
> Joe
> 
> 
> On Sun, Jun 30, 2013 at 12:46 PM, Lorin Hochstein <lorin at nimbisservices.com> wrote:
> Robert:
> 
> This script doesn't support LVM partitions, does it?
> 
> Also, I've discovered that it breaks if there's a /boot partition. Apparently, if a boot partition is present then grub prepends a "/boot" to the paths for the kernel and ramdisk, and this script also prepends /boot.
> 
> Lorin
> 
> 
> On Tue, Jun 11, 2013 at 8:38 AM, Robert Plestenjak <robert.plestenjak at xlab.si> wrote:
> Almost forgot, don't forget to install 'wget' and 'openssh-clients'
> 
> - Robert
> 
> ----- Original Message -----
> From: "Robert Plestenjak" <robert.plestenjak at xlab.si>
> To: openstack-operators at lists.openstack.org
> Sent: Tuesday, June 11, 2013 11:35:01 AM
> Subject: Re: [Openstack-operators] CentOS image
> 
> Yes, that would be great.
> 
> You can also create image manually in KVM, until proper tools are ready.
> 
> 1. create disk image with QCOW2 format
> 
> qemu-img create -f qcow2 -o preallocation=metadata /extra/libvirt/images/centos-6-cloud.qcow2 2G
> 
> 2. install centos, I recomend only one partition and no swap (in grizzly, you can set swap size in flavor)
> 
> virt-install --name=centos-6-cloud --disk path=/extra/libvirt/images/centos-6-cloud.qcow2,format=qcow2 -r 1024 --vcpus=1 --hvm -c /extra/iso/CentOS-6.3-x86_64-minimal.iso
> 
> 3. login into your new image and modify '/etc/sysconfig/network-scripts/ifcfg-eth0' to look like this
> 
> DEVICE="eth0"
> BOOTPROTO="dhcp"
> NM_CONTROLLED="no"
> ONBOOT="yes"
> TYPE="Ethernet"
> 
> 4. add EPEL repository and update OS
> 
> wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
> rpm -ivh epel-release-6-8.noarch.rpm
> 
> 5. install cloud-utils and cloud-init
> 
> yum update
> yum install cloud-utils, cloud-init
> 
> 6. Download 'centos-image-mod.sh' and 'init-part' together in same directory, run 'centos-image-mod.sh'. This will modify initrd and grub.conf.
> 
> 6.1. Edit '/boot/grub/grub.conf', check if everything is OK. Also, may not be a bad idea to set timeout to 0.
> 
> 7. Delete '/etc/udev/rules.d/70-persistent-net.rules', this will be auto created during boot. Don't forget this, since you won't have functional network when you bring this image up on Openstack.
> 
> 8. Power down your virtual Centos
> 
> 9. Compress QCOW2 image with
> 
> qemu-img convert -c /extra/libvirt/images/centos-6-cloud.qcow2 -O qcow2 /tmp/centos.qcow2
> 
> 
> Image /tmp/centos.qcow2 is now ready for upload to Openstack
> 
> - Robert
> 
> 
> On 16 May 2013 21:08, Robert Plestenjak <robert.plestenjak at xlab.si> wrote:
> > This script will modify initrd for image resize during boot, redirect boot log messages to ttyS0 and set NOOP sceduler. Tested on CentOS 6.3 and 6.4.
> >
> > https://github.com/flegmatik/centos-image-resize
> 
> This would be lovely to integrate into diskimage-builder [as part of a
> CentOS supporting element].
> 
> -Rob
> 
> --
> Robert Collins <rbtcollins at hp.com>
> Distinguished Technologist
> HP Cloud Services
> 
> _______________________________________________
> OpenStack-operators mailing list
> OpenStack-operators at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
> 
> _______________________________________________
> OpenStack-operators mailing list
> OpenStack-operators at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
> 
> 
> 
> -- 
> Lorin Hochstein
> Lead Architect - Cloud Services
> Nimbis Services, Inc.
> www.nimbisservices.com
> 
> _______________________________________________
> OpenStack-operators mailing list
> OpenStack-operators at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
> 
> 
> 
> 
> -- 
> Joe Topjian
> Systems Architect
> Cybera Inc.
> 
> www.cybera.ca
> 
> Cybera is a not-for-profit organization that works to spur and support innovation, for the economic benefit of Alberta, through the use of cyberinfrastructure.
> 
> 
> 
> -- 
> Lorin Hochstein
> Lead Architect - Cloud Services
> Nimbis Services, Inc.
> www.nimbisservices.com
> 
> 
> 
> -- 
> Joe Topjian
> Systems Architect
> Cybera Inc.
> 
> www.cybera.ca
> 
> Cybera is a not-for-profit organization that works to spur and support innovation, for the economic benefit of Alberta, through the use of cyberinfrastructure.
> 
> 
> 
> -- 
> Lorin Hochstein
> Lead Architect - Cloud Services
> Nimbis Services, Inc.
> www.nimbisservices.com
> _______________________________________________
> OpenStack-operators mailing list
> OpenStack-operators at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-operators/attachments/20130702/30367f77/attachment.html>


More information about the OpenStack-operators mailing list