diskimage-builder/diskimage_builder/elements
Tobias Henkel b62ed1823c
Fix encoding issue during processing output
When using the package-installs element there can be some encoding
problems if the package installation emits unparsable output
[1]. However in this case we just want to forward the output to the
console which normally can handle this correctly. In order to fix this
switch off universal_newlines processing such that we just operate on
bytes.

Further we have to decode the lines without setting the locale and
ignoring errors. This is required because print encodes without
setting the locale and thus we need to filter/modify the stream such
that it doesn't crash.

[1] Traceback:
2018-03-01 09:58:00.515 | Traceback (most recent call last):
2018-03-01 09:58:00.515 |   File "/usr/local/bin/package-installs-v2", line 137, in <module>
2018-03-01 09:58:00.515 |     main()
2018-03-01 09:58:00.515 |   File "/usr/local/bin/package-installs-v2", line 130, in main
2018-03-01 09:58:00.515 |     process_output(install_args, follow=True)
2018-03-01 09:58:00.515 |     for line in iter(proc.stdout.readline, ''):
2018-03-01 09:58:00.515 |   File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode
2018-03-01 09:58:00.515 |     return codecs.ascii_decode(input, self.errors)[0]
2018-03-01 09:58:00.515 | UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 34: ordinal not in range(128)

Change-Id: Ie4af9b4523459a630cfb98d09093bfe9ef7aa61e
2018-03-01 16:09:25 +00:00
..
apt-conf Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
apt-preferences Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
apt-sources Use local mirror for ubuntu-minimal jobs 2017-06-21 12:01:31 +10:00
baremetal Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
base Drop support for Ubuntu precise 2017-05-31 14:36:30 +02:00
bootloader Use [[ for =~ matches 2017-08-28 17:01:03 +10:00
cache-url Avoid hanging endlessly on unreachable cache urls 2017-06-28 22:14:55 +02:00
centos-minimal Start at using CI mirrors for fedora/centos 2017-06-21 12:02:27 +10:00
centos7 Remove DIB_[DISTRO]_DISTRIBUTION_MIRROR 2017-07-17 14:47:31 +10:00
cleanup-kernel-initrd Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
cloud-init Merge branch 'master' into merge-branch 2017-02-09 13:35:53 +11:00
cloud-init-datasources Drop support for Ubuntu precise 2017-05-31 14:36:30 +02:00
cloud-init-disable-resizefs Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
cloud-init-nocloud Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
debian Merge "Clear /etc/machine-id to avoid duplicate machine-ids" 2017-11-30 01:56:26 +00:00
debian-minimal Add debian minimal requirement for arm64 2017-10-16 13:39:50 +08:00
debian-systemd Install systemd earlier for Stretch 2017-06-19 13:27:33 +10:00
debian-upstart Install systemd earlier for Stretch 2017-06-19 13:27:33 +10:00
debootstrap Merge "Replace architecture-emulation-binaries with qemu-debootstrap" 2017-07-17 05:36:09 +00:00
deploy-baremetal Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
deploy-kexec Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
deploy-targetcli Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
deploy-tgtadm Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
devuser Release 1.25.2 2017-02-02 11:20:00 +11:00
dhcp-all-interfaces Checking link status according to DIB_DHCP_TIMEOUT 2018-02-21 12:52:57 +00:00
dib-init-system Fix dib-init-system for Debian Jessie and Debian Stretch 2017-03-11 14:04:13 +00:00
dib-python Drop support for Ubuntu precise 2017-05-31 14:36:30 +02:00
dib-run-parts Trivial fix typos 2017-05-31 11:17:05 +07:00
disable-selinux/post-install.d Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
dkms Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
docker Run dib-run-parts out of /tmp 2017-04-05 13:11:22 +10:00
dpkg fix readme.rst to reflect correct environment variable 2017-07-06 22:54:08 -04:00
dracut-network Remove dracut-network element 2017-05-31 08:36:56 +10:00
dracut-ramdisk Merge "Remove use of 'which'." 2017-06-11 09:30:34 +00:00
dracut-regenerate Merge "Add missing package dependency for yaml" 2017-09-15 13:52:35 +00:00
dynamic-login Release 1.25.2 2017-02-02 11:20:00 +11:00
element-manifest Release 1.24.0 2017-01-31 14:14:19 +11:00
enable-serial-console Release 1.25.2 2017-02-02 11:20:00 +11:00
epel Fix wrong epel-release-7* package URL 2017-11-30 15:31:10 -05:00
fedora Add support for Fedora 27, remove EOL Fedora 25 2018-01-23 11:31:21 +00:00
fedora-minimal Bump fedora/fedora-minimal DIB_RELEASE 26 2017-08-04 14:18:05 +10:00
gentoo update Gentoo Hardened profiles (now stable) 2018-02-21 11:06:16 -06:00
growroot Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
grub2 Fix grub2 dependency on arm64 2017-10-16 13:39:34 +08:00
hpdsa Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
hwburnin Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
hwdiscovery Remove use of 'which'. 2017-05-19 12:43:36 -07:00
ilo Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
install-bin Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
install-static Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
install-types Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
ironic-agent Merge "Create rescue user on ironic agent" 2018-02-05 22:43:00 +00:00
iso Trivial fix typos 2017-05-31 11:17:05 +07:00
local-config Merge remote-tracking branch 'origin/master' into merge-branch 2016-11-29 07:43:46 +11:00
manifests Set manifest permissions in the image 2017-05-24 15:20:55 +10:00
mellanox Merge remote-tracking branch 'origin/master' into merge-branch 2016-11-29 07:43:46 +11:00
modprobe-blacklist Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
no-final-image Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
oat-client Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
openssh-server Update Gentoo element for element changes 2017-10-08 12:02:46 -05:00
openstack-ci-mirrors elements: openstack-ci-mirrors: Use openSUSE mirrors for gating jobs 2017-07-17 10:54:03 +01:00
opensuse Clear /etc/machine-id to avoid duplicate machine-ids 2017-08-06 13:56:58 -04:00
opensuse-minimal Clear /etc/machine-id to avoid duplicate machine-ids 2017-08-06 13:56:58 -04:00
package-installs Fix encoding issue during processing output 2018-03-01 16:09:25 +00:00
pip-and-virtualenv Revert "Dont install python-pip for py3k" 2018-01-10 15:48:03 +11:00
pip-cache Release 1.25.2 2017-02-02 11:20:00 +11:00
pkg-map Trivial fix typos 2017-05-31 11:17:05 +07:00
posix Merge remote-tracking branch 'origin/master' into merge-branch 2016-11-29 07:43:46 +11:00
proliant-tools Add SUSE Mapping 2018-01-11 19:00:40 +01:00
pypi Release 1.27.0 2017-02-03 11:49:45 +11:00
python-brickclient Merge branch 'master' into merge-branch 2017-02-09 13:35:53 +11:00
ramdisk Remove use of 'which'. 2017-05-19 12:43:36 -07:00
ramdisk-base Remove use of 'which'. 2017-05-19 12:43:36 -07:00
rax-nova-agent Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
redhat-common Merge "Clear /etc/machine-id to avoid duplicate machine-ids" 2017-11-30 01:56:26 +00:00
rhel-common Remove ccache 2017-05-31 08:28:09 +10:00
rhel7 Support for Cloud Images on ppc64le for rhel7 and centos7 2017-06-29 15:44:26 +10:00
rpm-distro Use SELinuxfs to check selinux status 2017-07-26 18:57:25 +02:00
runtime-ssh-host-keys Release 1.21.1 2017-02-02 20:36:23 +11:00
select-boot-kernel-initrd Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
selinux-permissive Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
simple-init Have simple-init enable network.service 2017-03-28 19:28:51 +11:00
source-repositories Trivial fix typos 2017-05-31 11:17:05 +07:00
stable-interface-names Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
svc-map Adding mapping for SUSE package 2017-12-20 17:51:33 +01:00
sysctl Release 1.25.2 2017-02-02 11:20:00 +11:00
sysprep Clear /etc/machine-id to avoid duplicate machine-ids 2017-08-06 13:56:58 -04:00
uboot Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
ubuntu Move to a common lock-file directory 2017-10-26 16:27:59 +11:00
ubuntu-common Clear /etc/machine-id to avoid duplicate machine-ids 2017-08-06 13:56:58 -04:00
ubuntu-core Move to a common lock-file directory 2017-10-26 16:27:59 +11:00
ubuntu-minimal Install systemd earlier for Ubuntu Bionic 2018-02-17 14:32:35 -05:00
ubuntu-signed Use sphinx warning-is-error 2017-03-14 14:49:49 +11:00
vm Move ppc block-device default to right $ARCH 2017-06-07 13:30:38 +10:00
yum Merge branch 'master' into merge-branch 2017-02-09 13:35:53 +11:00
yum-minimal Merge "Fix /dev/pts mount options handling" 2017-12-01 02:01:46 +00:00
zipl Add zipl element as s390x architecture bootloader 2017-11-07 17:19:27 +01:00
zypper zypper: fix package removal 2017-12-05 22:59:20 +00:00
zypper-minimal Merge "Fix /dev/pts mount options handling" 2017-12-01 02:01:46 +00:00