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.I am branching this tread here because the traceback above does show what the problem is (but not necessarily how to fix it).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_testingThe 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.tmplwarning: 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 doBuildinstallworkdir=workdir, outputdir=outputdir, volid=volid)File "/usr/lib/python2.7/site-packages/pylorax/__init__.py", line 304, in runsize=size)File "/usr/lib/python2.7/site-packages/pylorax/treebuilder.py", line 165, in create_runtimelabel="Anaconda", size=fssize)File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line 383, in mkext4imgmkfsargs=["-L", label, "-b", "1024", "-m", "0"], graft=graft)File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line 358, in mkfsimagewith 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_attachdev = runcmd_output(["losetup", "--find", "--show", outfile])File "/usr/lib/python2.7/site-packages/pylorax/executils.py", line 417, in runcmd_outputreturn execWithCapture(cmd[0], cmd[1:], **kwargs)File "/usr/lib/python2.7/site-packages/pylorax/executils.py", line 263, in execWithCaptureraise 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 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