$ imagefactory --timeout 14440 --debug base_image --file-parameter install_script koji-f29-build-35450104-base.ks --parameter offline_icicle true tdl-ppc64le.xml {'debug': 0, 'no_ssl': 0, 'no_oauth': 0, 'imgdir': '/var/lib/imagefactory/images', 'ec2_ami_type': 'ebs', 'rhevm_image_format': 'qcow2', 'openstack_image_format': 'qcow2', 'clients': {'mock-key': 'mock-secret'}, 'proxy_ami_id': 'ami-id', 'max_concurrent_local_sessions': 2, 'max_concurrent_ec2_sessions': 4, 'ec2-32bit-util': 'm1.small', 'ec2-64bit-util': 't2.micro', 'image_manager': 'file', 'image_manager_args': {'storage_path': '/var/lib/imagefactory/storage'}, 'tdl_require_root_pw': 0, 'jeos_config': ['/etc/imagefactory/jeos_images/']} {'verbose': False, 'config': '/etc/imagefactory/imagefactory.conf', 'imgdir': '/var/lib/imagefactory/images', 'timeout': 14440, 'tmpdir': '/tmp', 'plugins': '/etc/imagefactory/plugins.d', 'ec2_32bit_util': 'm1.small', 'ec2_64bit_util': 'm1.large', 'debug': True, 'output': 'log', 'raw': False, 'command': 'base_image', 'no_ssl': 0, 'no_oauth': 0, 'ec2_ami_type': 'ebs', 'rhevm_image_format': 'qcow2', 'openstack_image_format': 'qcow2', 'clients': {'mock-key': 'mock-secret'}, 'proxy_ami_id': 'ami-id', 'max_concurrent_local_sessions': 2, 'max_concurrent_ec2_sessions': 4, 'ec2-32bit-util': 'm1.small', 'ec2-64bit-util': 't2.micro', 'image_manager': 'file', 'image_manager_args': {'storage_path': '/var/lib/imagefactory/storage'}, 'tdl_require_root_pw': 0, 'jeos_config': ['/etc/imagefactory/jeos_images/'], 'template': <_io.TextIOWrapper name='tdl-ppc64le.xml' mode='r' encoding='UTF-8'>, 'parameters': None, 'parameter': [['offline_icicle', 'true']], 'file_parameter': [['install_script', 'koji-f29-build-35450104-base.ks']]} 2019-06-17 15:44:11,548 DEBUG root thread(MainThread) Message: Enabling faulthandler 2019-06-17 15:44:11,548 DEBUG root thread(MainThread) Message: Enabled faulthandler 2019-06-17 15:44:11,549 INFO imgfac.PluginManager.PluginManager thread(MainThread) Message: Plugin (Docker) loaded... 2019-06-17 15:44:11,549 ERROR imgfac.PluginManager.PluginManager thread(MainThread) Message: Exception caught while loading plugin metadata: [Errno 2] No such file or directory: '/etc/imagefactory/plugins.d/TinMan.info' Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/imgfac/PluginManager.py", line 112, in metadata_for_plugin fp = open(os.path.join(self.path, info_file), 'r') FileNotFoundError: [Errno 2] No such file or directory: '/etc/imagefactory/plugins.d/TinMan.info' 2019-06-17 15:44:11,549 ERROR imgfac.PluginManager.PluginManager thread(MainThread) Message: Loading plugin (TinMan) failed with exception: 'NoneType' object is not subscriptable Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/imgfac/PluginManager.py", line 71, in load if md['type'].upper() in PLUGIN_TYPES: TypeError: 'NoneType' object is not subscriptable 2019-06-17 15:44:11,549 DEBUG root thread(MainThread) Message: Parameters are: 2019-06-17 15:44:11,551 DEBUG root thread(MainThread) Message: {'install_script': '#version=DEVEL\n' '# Keyboard layouts\n' "keyboard 'us'\n" '# Root password\n' 'rootpw --iscrypted --lock locked\n' '# System language\n' 'lang en_US.UTF-8\n' '# OSTree setup\n' 'ostreesetup --osname="fedora-atomic" ' '--remote="fedora-atomic" ' '--url="https://kojipkgs.fedoraproject.org/compose/ostree/repo/" ' '--ref="fedora/29/${basearch}/updates/atomic-host" --nogpg\n' '# Reboot after installation\n' 'reboot\n' '# System timezone\n' 'timezone Etc/UTC --isUtc\n' '# Use text mode install\n' 'text\n' '# Network information\n' 'network --bootproto=dhcp --device=link --activate\n' 'repo --name="koji-override-0" \n' '# Use network installation\n' 'url ' '--url="https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/ppc64le/os/"\n' '# System authorization information\n' 'auth --useshadow --passalgo=sha512\n' '# Firewall configuration\n' 'firewall --disabled\n' '# SELinux configuration\n' 'selinux --enforcing\n' '\n' '# System services\n' 'services ' '--enabled="sshd,cloud-init,cloud-init-local,cloud-config,cloud-final"\n' '# System bootloader configuration\n' 'bootloader --append="no_timer_check console=tty1 ' 'console=ttyS0,115200n8 console=ttyAMA0 console=hvc0 ' 'net.ifnames=0" --location=mbr --timeout=1\n' 'reqpart --add-boot\n' '# Clear the Master Boot Record\n' 'zerombr\n' '# Partition clearing information\n' 'clearpart --all\n' '# Disk partitioning information\n' 'part pv.01 --grow\n' 'volgroup atomicos pv.01\n' 'logvol / --fstype="xfs" --grow --size=3000 --name=root ' '--vgname=atomicos\n' '\n' '%post --erroronfail\n' '# See ' 'https://github.com/projectatomic/rpm-ostree/issues/42\n' '# Set the ostree repo to the location we want users to ' 'upgrade from\n' '# This location is where the compose gets synced to after ' 'the compose\n' '# is done.\n' 'ostree remote delete fedora-atomic\n' 'ostree remote add --set=gpg-verify=true ' '--set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-29-primary ' '--set=contenturl=mirrorlist=https://ostree.fedoraproject.org/mirrorlist ' "fedora-atomic 'https://ostree.fedoraproject.org'\n" '\n' '# older versions of livecd-tools do not follow "rootpw ' '--lock" line above\n' '# https://bugzilla.redhat.com/show_bug.cgi?id=964299\n' 'passwd -l root\n' '\n' '# Work around ' 'https://bugzilla.redhat.com/show_bug.cgi?id=1193590\n' 'cp /etc/skel/.bash* /var/roothome\n' '\n' '# Configure docker-storage-setup to resize the partition ' 'table on boot\n' '# and extend the root filesystem to fill it.\n' '# https://pagure.io/atomic-wg/issue/343\n' "echo 'GROWPART=true' >> " '/etc/sysconfig/docker-storage-setup\n' "echo 'ROOT_SIZE=+100%FREE' >> " '/etc/sysconfig/docker-storage-setup\n' '\n' 'echo -n "Getty fixes"\n' '# although we want console output going to the serial ' "console, we don't\n" '# actually have the opportunity to login there. FIX.\n' "# we don't really need to auto-spawn _any_ gettys.\n" "sed -i '/^#NAutoVTs=.*/ a\\\n" "NAutoVTs=0' /etc/systemd/logind.conf\n" '\n' 'echo -n "Network fixes"\n' "# initscripts don't like this file to be missing.\n" 'cat > /etc/sysconfig/network << EOF\n' 'NETWORKING=yes\n' 'NOZEROCONF=yes\n' 'EOF\n' '\n' '# Remove any persistent NIC rules generated by udev\n' 'rm -vf /etc/udev/rules.d/*persistent-net*.rules\n' '# And ensure that we will do DHCP on eth0 on startup\n' 'cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF\n' 'DEVICE="eth0"\n' 'BOOTPROTO="dhcp"\n' 'ONBOOT="yes"\n' 'TYPE="Ethernet"\n' 'PERSISTENT_DHCLIENT="yes"\n' 'EOF\n' '\n' '# Because memory is scarce resource in most cloud/virt ' 'environments,\n' '# and because this impedes forensics, we are differing ' 'from the Fedora\n' '# default of having /tmp on tmpfs.\n' 'echo "Disabling tmpfs for /tmp."\n' 'systemctl mask tmp.mount\n' '\n' '# Uncomment this if you want to use cloud init but ' 'suppress the creation\n' '# of an "ec2-user" account. This will, in the absence of ' 'further config,\n' '# cause the ssh key from a metadata source to be put in ' 'the root account.\n' '#cat < ' '/etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg\n' '#users: []\n' '#disable_root: 0\n' '#EOF\n' '\n' 'echo "Removing random-seed so it\'s not the same in every ' 'image."\n' 'rm -f /var/lib/systemd/random-seed\n' '\n' 'echo "Packages within this cloud image:"\n' 'echo ' '"-----------------------------------------------------------------------"\n' 'rpm -qa\n' 'echo ' '"-----------------------------------------------------------------------"\n' '# Note that running rpm recreates the rpm db files which ' "aren't needed/wanted\n" 'rm -f /var/lib/rpm/__db*\n' '\n' 'echo "Zeroing out empty space."\n' '# This forces the filesystem to reclaim space from deleted ' 'files\n' 'dd bs=1M if=/dev/zero of=/var/tmp/zeros || :\n' 'rm -f /var/tmp/zeros\n' 'echo "(Don\'t worry -- that out-of-space error was ' 'expected.)"\n' '\n' '# For trac ticket https://pagure.io/atomic-wg/issue/128\n' 'rm -f /etc/sysconfig/network-scripts/ifcfg-ens3\n' '\n' 'echo "Adding Developer Mode GRUB2 menu item."\n' '/usr/libexec/atomic-devmode/bootentry add\n' '\n' '# Disable network service here, as doing it in the ' 'services line\n' '# fails due to RHBZ #1369794\n' '/sbin/chkconfig network off\n' '\n' '# Anaconda is writing an /etc/resolv.conf from the install ' 'environment.\n' '# The system should start out with an empty file, ' 'otherwise cloud-init\n' '# will try to use this information and may error:\n' '# https://bugs.launchpad.net/cloud-init/+bug/1670052\n' 'truncate -s 0 /etc/resolv.conf\n' '\n' '%end\n' '\n' '%post --erroronfail\n' '# Find the architecture we are on\n' 'arch=$(uname -m)\n' '# Set the origin to the "main stable ref", distinct from ' '/updates/ which is where bodhi writes.\n' '# We want consumers of this image to track the two week ' 'releases.\n' 'ostree admin set-origin --index 0 fedora-atomic ' 'https://ostree.fedoraproject.org ' '"fedora/29/${arch}/atomic-host"\n' '\n' "# Make sure the ref we're supposedly sitting on " '(according\n' '# to the updated origin) exists.\n' 'ostree refs ' '"fedora-atomic:fedora/29/${arch}/updates/atomic-host" ' '--create "fedora-atomic:fedora/29/${arch}/atomic-host"\n' '\n' '# Remove the old ref so that the commit eventually gets\n' '# cleaned up.\n' 'ostree refs ' '"fedora-atomic:fedora/29/${arch}/updates/atomic-host" ' '--delete\n' '\n' '# delete/add the remote with new options to enable gpg ' 'verification\n' '# and to point them at the cdn url\n' 'ostree remote delete fedora-atomic\n' 'ostree remote add --set=gpg-verify=true ' '--set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-29-primary ' '--set=contenturl=mirrorlist=https://ostree.fedoraproject.org/mirrorlist ' "fedora-atomic 'https://ostree.fedoraproject.org'\n" '\n' '%end\n', 'offline_icicle': 'true'} 2019-06-17 15:44:11,552 DEBUG imgfac.Builder.Builder thread(MainThread) Message: No SecondaryDispatcher present - Use of secondary factories is not enabled 2019-06-17 15:44:11,553 DEBUG imgfac.FilePersistentImageManager.FilePersistentImageManager thread(MainThread) Message: Created file /var/lib/imagefactory/storage/a5ae51d5-d957-4553-b4fd-1540387baae1.meta 2019-06-17 15:44:11,553 DEBUG imgfac.FilePersistentImageManager.FilePersistentImageManager thread(MainThread) Message: Created file /var/lib/imagefactory/storage/a5ae51d5-d957-4553-b4fd-1540387baae1.body 2019-06-17 15:44:11,553 DEBUG imgfac.PersistentImage.BaseImage thread(MainThread) Message: Getting metadata in class () my metadata is (()) 2019-06-17 15:44:11,553 DEBUG imgfac.PersistentImage.BaseImage thread(MainThread) Message: Executing metadata in class () my metadata is (('identifier', 'data', 'template', 'icicle', 'status_detail', 'status', 'percent_complete', 'parameters', 'properties')) 2019-06-17 15:44:11,553 DEBUG imgfac.FilePersistentImageManager.FilePersistentImageManager thread(MainThread) Message: Saved metadata for image (a5ae51d5-d957-4553-b4fd-1540387baae1): {'type': 'BaseImage', 'data': '/var/lib/imagefactory/storage/a5ae51d5-d957-4553-b4fd-1540387baae1.body', 'percent_complete': 0, 'properties': {}, 'status_detail': {'activity': 'Initializing image prior to Cloud/OS customization', 'error': None}, 'template': "\n", 'status': 'NEW', 'icicle': None, 'parameters': {'offline_icicle': 'true', 'install_script': '#version=DEVEL\n# Keyboard layouts\nkeyboard \'us\'\n# Root password\nrootpw --iscrypted --lock locked\n# System language\nlang en_US.UTF-8\n# OSTree setup\nostreesetup --osname="fedora-atomic" --remote="fedora-atomic" --url="https://kojipkgs.fedoraproject.org/compose/ostree/repo/" --ref="fedora/29/${basearch}/updates/atomic-host" --nogpg\n# Reboot after installation\nreboot\n# System timezone\ntimezone Etc/UTC --isUtc\n# Use text mode install\ntext\n# Network information\nnetwork --bootproto=dhcp --device=link --activate\nrepo --name="koji-override-0" \n# Use network installation\nurl --url="https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/ppc64le/os/"\n# System authorization information\nauth --useshadow --passalgo=sha512\n# Firewall configuration\nfirewall --disabled\n# SELinux configuration\nselinux --enforcing\n\n# System services\nservices --enabled="sshd,cloud-init,cloud-init-local,cloud-config,cloud-final"\n# System bootloader configuration\nbootloader --append="no_timer_check console=tty1 console=ttyS0,115200n8 console=ttyAMA0 console=hvc0 net.ifnames=0" --location=mbr --timeout=1\nreqpart --add-boot\n# Clear the Master Boot Record\nzerombr\n# Partition clearing information\nclearpart --all\n# Disk partitioning information\npart pv.01 --grow\nvolgroup atomicos pv.01\nlogvol / --fstype="xfs" --grow --size=3000 --name=root --vgname=atomicos\n\n%post --erroronfail\n# See https://github.com/projectatomic/rpm-ostree/issues/42\n# Set the ostree repo to the location we want users to upgrade from\n# This location is where the compose gets synced to after the compose\n# is done.\nostree remote delete fedora-atomic\nostree remote add --set=gpg-verify=true --set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-29-primary --set=contenturl=mirrorlist=https://ostree.fedoraproject.org/mirrorlist fedora-atomic \'https://ostree.fedoraproject.org\'\n\n# older versions of livecd-tools do not follow "rootpw --lock" line above\n# https://bugzilla.redhat.com/show_bug.cgi?id=964299\npasswd -l root\n\n# Work around https://bugzilla.redhat.com/show_bug.cgi?id=1193590\ncp /etc/skel/.bash* /var/roothome\n\n# Configure docker-storage-setup to resize the partition table on boot\n# and extend the root filesystem to fill it.\n# https://pagure.io/atomic-wg/issue/343\necho \'GROWPART=true\' >> /etc/sysconfig/docker-storage-setup\necho \'ROOT_SIZE=+100%FREE\' >> /etc/sysconfig/docker-storage-setup\n\necho -n "Getty fixes"\n# although we want console output going to the serial console, we don\'t\n# actually have the opportunity to login there. FIX.\n# we don\'t really need to auto-spawn _any_ gettys.\nsed -i \'/^#NAutoVTs=.*/ a\\\nNAutoVTs=0\' /etc/systemd/logind.conf\n\necho -n "Network fixes"\n# initscripts don\'t like this file to be missing.\ncat > /etc/sysconfig/network << EOF\nNETWORKING=yes\nNOZEROCONF=yes\nEOF\n\n# Remove any persistent NIC rules generated by udev\nrm -vf /etc/udev/rules.d/*persistent-net*.rules\n# And ensure that we will do DHCP on eth0 on startup\ncat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF\nDEVICE="eth0"\nBOOTPROTO="dhcp"\nONBOOT="yes"\nTYPE="Ethernet"\nPERSISTENT_DHCLIENT="yes"\nEOF\n\n# Because memory is scarce resource in most cloud/virt environments,\n# and because this impedes forensics, we are differing from the Fedora\n# default of having /tmp on tmpfs.\necho "Disabling tmpfs for /tmp."\nsystemctl mask tmp.mount\n\n# Uncomment this if you want to use cloud init but suppress the creation\n# of an "ec2-user" account. This will, in the absence of further config,\n# cause the ssh key from a metadata source to be put in the root account.\n#cat < /etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg\n#users: []\n#disable_root: 0\n#EOF\n\necho "Removing random-seed so it\'s not the same in every image."\nrm -f /var/lib/systemd/random-seed\n\necho "Packages within this cloud image:"\necho "-----------------------------------------------------------------------"\nrpm -qa\necho "-----------------------------------------------------------------------"\n# Note that running rpm recreates the rpm db files which aren\'t needed/wanted\nrm -f /var/lib/rpm/__db*\n\necho "Zeroing out empty space."\n# This forces the filesystem to reclaim space from deleted files\ndd bs=1M if=/dev/zero of=/var/tmp/zeros || :\nrm -f /var/tmp/zeros\necho "(Don\'t worry -- that out-of-space error was expected.)"\n\n# For trac ticket https://pagure.io/atomic-wg/issue/128\nrm -f /etc/sysconfig/network-scripts/ifcfg-ens3\n\necho "Adding Developer Mode GRUB2 menu item."\n/usr/libexec/atomic-devmode/bootentry add\n\n# Disable network service here, as doing it in the services line\n# fails due to RHBZ #1369794\n/sbin/chkconfig network off\n\n# Anaconda is writing an /etc/resolv.conf from the install environment.\n# The system should start out with an empty file, otherwise cloud-init\n# will try to use this information and may error:\n# https://bugs.launchpad.net/cloud-init/+bug/1670052\ntruncate -s 0 /etc/resolv.conf\n\n%end\n\n%post --erroronfail\n# Find the architecture we are on\narch=$(uname -m)\n# Set the origin to the "main stable ref", distinct from /updates/ which is where bodhi writes.\n# We want consumers of this image to track the two week releases.\nostree admin set-origin --index 0 fedora-atomic https://ostree.fedoraproject.org "fedora/29/${arch}/atomic-host"\n\n# Make sure the ref we\'re supposedly sitting on (according\n# to the updated origin) exists.\nostree refs "fedora-atomic:fedora/29/${arch}/updates/atomic-host" --create "fedora-atomic:fedora/29/${arch}/atomic-host"\n\n# Remove the old ref so that the commit eventually gets\n# cleaned up.\nostree refs "fedora-atomic:fedora/29/${arch}/updates/atomic-host" --delete\n\n# delete/add the remote with new options to enable gpg verification\n# and to point them at the cdn url\nostree remote delete fedora-atomic\nostree remote add --set=gpg-verify=true --set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-29-primary --set=contenturl=mirrorlist=https://ostree.fedoraproject.org/mirrorlist fedora-atomic \'https://ostree.fedoraproject.org\'\n\n%end\n'}, 'identifier': 'a5ae51d5-d957-4553-b4fd-1540387baae1'} 2019-06-17 15:44:11,557 DEBUG imgfac.PluginManager.PluginManager thread(76f7d0d5) Message: Attempting to match list target (['Fedora', '22', 'ppc64le']) 2019-06-17 15:44:11,557 DEBUG imgfac.PersistentImage.BaseImage thread(76f7d0d5) Message: Getting metadata in class () my metadata is (()) 2019-06-17 15:44:11,557 DEBUG imgfac.PersistentImage.BaseImage thread(76f7d0d5) Message: Executing metadata in class () my metadata is (('identifier', 'data', 'template', 'icicle', 'status_detail', 'status', 'percent_complete', 'parameters', 'properties')) 2019-06-17 15:44:11,558 DEBUG imgfac.FilePersistentImageManager.FilePersistentImageManager thread(76f7d0d5) Message: Saved metadata for image (a5ae51d5-d957-4553-b4fd-1540387baae1): {'type': 'BaseImage', 'data': '/var/lib/imagefactory/storage/a5ae51d5-d957-4553-b4fd-1540387baae1.body', 'percent_complete': 0, 'properties': {}, 'status_detail': {'activity': 'Base Image build failed with exception.', 'error': "'NoneType' object has no attribute 'create_base_image'"}, 'template': "\n", 'status': 'FAILED', 'icicle': None, 'parameters': {'offline_icicle': 'true', 'install_script': '#version=DEVEL\n# Keyboard layouts\nkeyboard \'us\'\n# Root password\nrootpw --iscrypted --lock locked\n# System language\nlang en_US.UTF-8\n# OSTree setup\nostreesetup --osname="fedora-atomic" --remote="fedora-atomic" --url="https://kojipkgs.fedoraproject.org/compose/ostree/repo/" --ref="fedora/29/${basearch}/updates/atomic-host" --nogpg\n# Reboot after installation\nreboot\n# System timezone\ntimezone Etc/UTC --isUtc\n# Use text mode install\ntext\n# Network information\nnetwork --bootproto=dhcp --device=link --activate\nrepo --name="koji-override-0" \n# Use network installation\nurl --url="https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/ppc64le/os/"\n# System authorization information\nauth --useshadow --passalgo=sha512\n# Firewall configuration\nfirewall --disabled\n# SELinux configuration\nselinux --enforcing\n\n# System services\nservices --enabled="sshd,cloud-init,cloud-init-local,cloud-config,cloud-final"\n# System bootloader configuration\nbootloader --append="no_timer_check console=tty1 console=ttyS0,115200n8 console=ttyAMA0 console=hvc0 net.ifnames=0" --location=mbr --timeout=1\nreqpart --add-boot\n# Clear the Master Boot Record\nzerombr\n# Partition clearing information\nclearpart --all\n# Disk partitioning information\npart pv.01 --grow\nvolgroup atomicos pv.01\nlogvol / --fstype="xfs" --grow --size=3000 --name=root --vgname=atomicos\n\n%post --erroronfail\n# See https://github.com/projectatomic/rpm-ostree/issues/42\n# Set the ostree repo to the location we want users to upgrade from\n# This location is where the compose gets synced to after the compose\n# is done.\nostree remote delete fedora-atomic\nostree remote add --set=gpg-verify=true --set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-29-primary --set=contenturl=mirrorlist=https://ostree.fedoraproject.org/mirrorlist fedora-atomic \'https://ostree.fedoraproject.org\'\n\n# older versions of livecd-tools do not follow "rootpw --lock" line above\n# https://bugzilla.redhat.com/show_bug.cgi?id=964299\npasswd -l root\n\n# Work around https://bugzilla.redhat.com/show_bug.cgi?id=1193590\ncp /etc/skel/.bash* /var/roothome\n\n# Configure docker-storage-setup to resize the partition table on boot\n# and extend the root filesystem to fill it.\n# https://pagure.io/atomic-wg/issue/343\necho \'GROWPART=true\' >> /etc/sysconfig/docker-storage-setup\necho \'ROOT_SIZE=+100%FREE\' >> /etc/sysconfig/docker-storage-setup\n\necho -n "Getty fixes"\n# although we want console output going to the serial console, we don\'t\n# actually have the opportunity to login there. FIX.\n# we don\'t really need to auto-spawn _any_ gettys.\nsed -i \'/^#NAutoVTs=.*/ a\\\nNAutoVTs=0\' /etc/systemd/logind.conf\n\necho -n "Network fixes"\n# initscripts don\'t like this file to be missing.\ncat > /etc/sysconfig/network << EOF\nNETWORKING=yes\nNOZEROCONF=yes\nEOF\n\n# Remove any persistent NIC rules generated by udev\nrm -vf /etc/udev/rules.d/*persistent-net*.rules\n# And ensure that we will do DHCP on eth0 on startup\ncat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF\nDEVICE="eth0"\nBOOTPROTO="dhcp"\nONBOOT="yes"\nTYPE="Ethernet"\nPERSISTENT_DHCLIENT="yes"\nEOF\n\n# Because memory is scarce resource in most cloud/virt environments,\n# and because this impedes forensics, we are differing from the Fedora\n# default of having /tmp on tmpfs.\necho "Disabling tmpfs for /tmp."\nsystemctl mask tmp.mount\n\n# Uncomment this if you want to use cloud init but suppress the creation\n# of an "ec2-user" account. This will, in the absence of further config,\n# cause the ssh key from a metadata source to be put in the root account.\n#cat < /etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg\n#users: []\n#disable_root: 0\n#EOF\n\necho "Removing random-seed so it\'s not the same in every image."\nrm -f /var/lib/systemd/random-seed\n\necho "Packages within this cloud image:"\necho "-----------------------------------------------------------------------"\nrpm -qa\necho "-----------------------------------------------------------------------"\n# Note that running rpm recreates the rpm db files which aren\'t needed/wanted\nrm -f /var/lib/rpm/__db*\n\necho "Zeroing out empty space."\n# This forces the filesystem to reclaim space from deleted files\ndd bs=1M if=/dev/zero of=/var/tmp/zeros || :\nrm -f /var/tmp/zeros\necho "(Don\'t worry -- that out-of-space error was expected.)"\n\n# For trac ticket https://pagure.io/atomic-wg/issue/128\nrm -f /etc/sysconfig/network-scripts/ifcfg-ens3\n\necho "Adding Developer Mode GRUB2 menu item."\n/usr/libexec/atomic-devmode/bootentry add\n\n# Disable network service here, as doing it in the services line\n# fails due to RHBZ #1369794\n/sbin/chkconfig network off\n\n# Anaconda is writing an /etc/resolv.conf from the install environment.\n# The system should start out with an empty file, otherwise cloud-init\n# will try to use this information and may error:\n# https://bugs.launchpad.net/cloud-init/+bug/1670052\ntruncate -s 0 /etc/resolv.conf\n\n%end\n\n%post --erroronfail\n# Find the architecture we are on\narch=$(uname -m)\n# Set the origin to the "main stable ref", distinct from /updates/ which is where bodhi writes.\n# We want consumers of this image to track the two week releases.\nostree admin set-origin --index 0 fedora-atomic https://ostree.fedoraproject.org "fedora/29/${arch}/atomic-host"\n\n# Make sure the ref we\'re supposedly sitting on (according\n# to the updated origin) exists.\nostree refs "fedora-atomic:fedora/29/${arch}/updates/atomic-host" --create "fedora-atomic:fedora/29/${arch}/atomic-host"\n\n# Remove the old ref so that the commit eventually gets\n# cleaned up.\nostree refs "fedora-atomic:fedora/29/${arch}/updates/atomic-host" --delete\n\n# delete/add the remote with new options to enable gpg verification\n# and to point them at the cdn url\nostree remote delete fedora-atomic\nostree remote add --set=gpg-verify=true --set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-29-primary --set=contenturl=mirrorlist=https://ostree.fedoraproject.org/mirrorlist fedora-atomic \'https://ostree.fedoraproject.org\'\n\n%end\n'}, 'identifier': 'a5ae51d5-d957-4553-b4fd-1540387baae1'} 2019-06-17 15:44:11,559 ERROR imgfac.Builder.Builder thread(76f7d0d5) Message: Exception encountered in _build_image_from_template thread 2019-06-17 15:44:11,559 ERROR imgfac.Builder.Builder thread(76f7d0d5) Message: 'NoneType' object has no attribute 'create_base_image' Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/imgfac/Builder.py", line 132, in _build_image_from_template self.os_plugin.create_base_image(self, template, parameters) AttributeError: 'NoneType' object has no attribute 'create_base_image' 2019-06-17 15:44:11,560 DEBUG imgfac.PersistentImage.BaseImage thread(MainThread) Message: Getting metadata in class () my metadata is (()) 2019-06-17 15:44:11,560 DEBUG imgfac.PersistentImage.BaseImage thread(MainThread) Message: Executing metadata in class () my metadata is (('identifier', 'data', 'template', 'icicle', 'status_detail', 'status', 'percent_complete', 'parameters', 'properties')) Image build FAILED with error: 'NoneType' object has no attribute 'create_base_image'