[Openstack-operators] CentOS image

Lorin Hochstein lorin at nimbisservices.com
Tue Jul 2 19:15:29 UTC 2013


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<https://github.com/dtroyer/image-recipes>.
>>> 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 <https://github.com/jtopjian/image-recipes> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-operators/attachments/20130702/7c6dc6fc/attachment.html>


More information about the OpenStack-operators mailing list