Re: pungi (updated ... some success)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/24/2014 04:14 PM, Gene Czarcinski wrote:
I know we are into this product-zed stuff with lots of emphasis on Live installs including Live Workstation but when was the last time pungi has been successfully run? Yes, I know that TC3 was built by something but was pungi involved? I have been assuming it was but I am unable to run it myself.

To keep things simple, I am using /usr/share/spin-kickstarts/fedora-install-server.ks and am only doing "-G -C -B" since I really only want the netinstall. Also, this was done on a fresh install for Workstation TC3 plus mock installed. I run pungi under mock just like it says here: http://fedoraproject.org/wiki/How_to_create_a_Fedora_install_ISO_for_testing

The first problem is that the mirrorlist stuff simply does not work and pungi cannot file a good url for fedora. OK, replace the mirrorlist with baseurl pointing at one of the mirrors (I chose http://mirrors.kernel.org and http://dl.fedoraproject.org/pub/linux/fedora/).

That gets me further but but it still crashes with:
doing post-install configuration
running runtime-postinstall.tmpl
warning: Schema 'org.gnome.crypto.cache' has path '/desktop/gnome/crypto/cache/'. Paths starting with '/apps/', '/desktop/' or '/system/' are deprecated. warning: Schema 'org.gnome.crypto.pgp' has path '/desktop/gnome/crypto/pgp/'. Paths starting with '/apps/', '/desktop/' or '/system/' are deprecated. warning: Schema 'org.gnome.system.locale' has path '/system/locale/'. Paths starting with '/apps/', '/desktop/' or '/system/' are deprecated. warning: Schema 'org.gnome.system.proxy' has path '/system/proxy/'. Paths starting with '/apps/', '/desktop/' or '/system/' are deprecated. warning: Schema 'org.gnome.system.proxy.http' has path '/system/proxy/http/'. Paths starting with '/apps/', '/desktop/' or '/system/' are deprecated. warning: Schema 'org.gnome.system.proxy.https' has path '/system/proxy/https/'. Paths starting with '/apps/', '/desktop/' or '/system/' are deprecated. warning: Schema 'org.gnome.system.proxy.ftp' has path '/system/proxy/ftp/'. Paths starting with '/apps/', '/desktop/' or '/system/' are deprecated. warning: Schema 'org.gnome.system.proxy.socks' has path '/system/proxy/socks/'. Paths starting with '/apps/', '/desktop/' or '/system/' are deprecated. No such key 'button-laytout' in schema 'org.gnome.desktop.wm.preferences' as specified in override file '/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override'; ignoring override for this key.
writing .discinfo file
backing up installroot
generating kernel module metadata
doing depmod and module-info for 3.17.3-300.fc21.x86_64
cleaning unneeded files
running runtime-cleanup.tmpl
creating the runtime image
losetup: cannot find an unused loop device
Traceback (most recent call last):
  File "/usr/bin/pungi", line 300, in <module>
    main()
  File "/usr/bin/pungi", line 171, in main
    mypungi.doBuildinstall()
File "/usr/lib/python2.7/site-packages/pypungi/__init__.py", line 1414, in doBuildinstall
    workdir=workdir, outputdir=outputdir, volid=volid)
File "/usr/lib/python2.7/site-packages/pylorax/__init__.py", line 304, in run
    size=size)
File "/usr/lib/python2.7/site-packages/pylorax/treebuilder.py", line 165, in create_runtime
    label="Anaconda", size=fssize)
File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line 383, in mkext4img
    mkfsargs=["-L", label, "-b", "1024", "-m", "0"], graft=graft)
File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line 358, in mkfsimage
    with LoopDev(outfile, size) as loopdev:
File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line 258, in __enter__
    self.loopdev = loop_attach(self.filename)
File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line 116, in loop_attach
    dev = runcmd_output(["losetup", "--find", "--show", outfile])
File "/usr/lib/python2.7/site-packages/pylorax/executils.py", line 417, in runcmd_output
    return execWithCapture(cmd[0], cmd[1:], **kwargs)
File "/usr/lib/python2.7/site-packages/pylorax/executils.py", line 263, in execWithCapture
    raise subprocess.CalledProcessError(proc.returncode, [command]+argv)
subprocess.CalledProcessError: Command '['losetup', '--find', '--show', '//work/Fedora/x86_64/installroot/images/runtime-workdir/LiveOS/rootfs.img']' returned non-zero exit status 1 <mock-chroot>[root@vulture /]# ls -l /work/Fedora/x86_64/installroot/images/runtime-workdir/LiveOS/rootfs.img -h -rw-r--r--. 1 root root 2.0G Nov 24 15:36 /work/Fedora/x86_64/installroot/images/runtime-workdir/LiveOS/rootfs.img
<mock-chroot>[root@vulture /]#


I have not bz'ed this yet because it looks like there are similar reports but I will just in case this provides some different info.

Is there some documentation which describes how the builds are done. There is lots of documentation on building RPMs and creating livecds but I have not found anything which describes how Fedora-Server-netinst-x86_64-21_TC3.iso was created.

Fortunately, livecd-creator must use very different software because I have not seen it have any problems.
I am branching this tread here because the traceback above does show what the problem is (but not necessarily how to fix it).

I have had some success!! First of all, not wanting to piss all over my real systems, I created three virtual "workstation" systems (Fedora 19, Fedora 20, and Fedora 21) each with a generous (30GB) disk and a large (27GB) ext4 partition for "/".

I then ran my test of running pungi under mock on each system and, sure enough, on each system it failed in the same way (see the traceback above).

From experience, I know that running under mock does not always do thing the same way as just running them. Referring to this: http://marcofalchi.blogspot.com/2013/07/create-updated-netinstall-iso-fedora-19.html I created a small kickstart file and a shell script to run things (see attached for the f20 versions).

Like the sample cited above, I "sudo setenforce 0" and the "sudo su" to execute "./root/f20-pungi.sh"

It worked! I got a netinstall.iso. I then dit it over =gain but this time under mock ... surprise, it failed.

Looking over the traceback, it appears that pungi/lorax is having a problem with loop mounts under mock but not when just run. Since this problem is so reproducable, I assume it was found some time ago and the mock configuration files for doing a compose were tweaked so the problem did not occur.

1. Are the kickstart files used to create the composes this which are distributed in fedora-kickstarts or are they special/tweaked versions?

2. I looked through all of the fedorahosted repositories and could not find one with the special fedora-branched-compose-$arch mock configuration files. I have modified my mock configuration files as described here:
https://fedoraproject.org/wiki/How_to_create_a_Fedora_install_ISO_for_testing

That is, I added:
config_opts['plugin_conf']['bind_mount_enable'] = True
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev','/dev/'))
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/pts','/dev/pts/'))
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/shm','/dev/shm/'))

Oh well, it turns out that the "simple, little kickstart file" that worked fine in F19 and F20 does not work in F21 due to the product-ization. There is going to be some work needed if netinstall is going to be its own compose.

I will update this and also create the bugzilla report as soon as I have a test case for Fedora 21.

Gene
# Wed 26 Nov 2014 08:31:55 AM EST gc: just make netinstall
selinux --disabled
firewall --disabled
xconfig --startxonboot
keyboard --vckeymap=us --xlayout='us'
lang en_US.UTF-8
part / --size 3072 --fstype ext4
#repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name=fedora         --baseurl=http://mirrors.kernel.org/fedora/releases/20/Everything/x86_64/os/
repo --name=updates        --baseurl=http://mirrors.kernel.org/fedora//updates/20/x86_64/
#repo --name=local          --baseurl=http://fedora.lcl/redhat/Local/20/x86_64
#
%packages
@core
%end

Attachment: f20-pungi.sh
Description: application/shellscript

-- 
test mailing list
test@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe:
https://admin.fedoraproject.org/mailman/listinfo/test

[Index of Archives]     [Fedora Desktop]     [Fedora SELinux]     [Photo Sharing]     [Yosemite Forum]     [KDE Users]

  Powered by Linux