Bug 1043473

Summary: ovirt-guest-agent for Ubuntu
Product: [Retired] oVirt Reporter: Vinzenz Feenstra [evilissimo] <vfeenstr>
Component: ovirt-guest-agentAssignee: Vinzenz Feenstra [evilissimo] <vfeenstr>
Status: CLOSED CURRENTRELEASE QA Contact: Jiri Belka <jbelka>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: acathrow, bakgatnet, gklein, harty, iheim, jbelka, michal.skrivanek, omachace, pstehlik, Rhev-m-bugs, s.kieske, vfeenstr, yeylon, zhshzhou
Target Milestone: ---Keywords: TestBlocker
Target Release: 3.4.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: virt
Fixed In Version: ovirt-guest-agent_1.0.9.1-1.1_all.deb Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-11 06:44:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Vinzenz Feenstra [evilissimo] 2013-12-16 12:05:15 UTC
The oVirt Guest Agent needs to be packaged for and ported to Ubuntu

Comment 1 Brook Harty 2013-12-16 17:46:00 UTC
Yes, we need ovirt-agents for Ubuntu 12 LTS and older versions, I've migrated old versions EOL'ed versions of Ubuntu to RHEVM...

If the linux ovirt-agent package can be made to install without dependencies the better.

Comment 2 Sven Kieske 2014-01-08 12:40:23 UTC
What needs to be done to finish this?
The PPA works quite well for me on ubuntu 12.04. server:
https://launchpad.net/~zhshzhou/+archive/vdsm-ubuntu

Comment 3 Vinzenz Feenstra [evilissimo] 2014-02-17 07:00:08 UTC
Zhou Zheng Sheng generously built the a new version of the ovirt-guest-agent and pushed it to his PPA account.

https://launchpad.net/~zhshzhou/+archive/vdsm-ubuntu

Comment 4 Sven Kieske 2014-02-17 08:09:19 UTC
Any plans on getting this into "official" ubuntu /debian repos?
I know there needs something to be done for debian but the old version worked
well on ubuntu.

Comment 5 Jiri Belka 2014-02-17 14:41:37 UTC
Broken, ovirt-guest-agent_1.0.9.20140216.git5168c4-1ppa1_all.deb

Something is broken because postinstall part did not make successfully /dev/virtio-ports/com.redhat.rhev.vdsm file/symlink.

Because you don't explicitly depend on existing virtio_console module, which is shipped with linux-image-extra-$ver-generic package.

Change control file for packaging the app.

# dpkg -L linux-image-extra-3.11.0-12-generic | grep virtio_console
/lib/modules/3.11.0-12-generic/kernel/drivers/char/virtio_console.ko

# grep VIRTIO /boot/config-3.11.0-12-generic 
CONFIG_NET_9P_VIRTIO=m
CONFIG_VIRTIO_BLK=y
CONFIG_SCSI_VIRTIO=m
CONFIG_VIRTIO_NET=y
CONFIG_CAIF_VIRTIO=m
CONFIG_VIRTIO_CONSOLE=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y

# lsmod
Module                  Size  Used by
vesafb                 13828  1 
crct10dif_pclmul       14289  0 
crc32_pclmul           13113  0 
ghash_clmulni_intel    13259  0 
aesni_intel            55624  0 
aes_x86_64             17131  1 aesni_intel
lrw                    13257  1 aesni_intel
gf128mul               14951  1 lrw
glue_helper            13990  1 aesni_intel
ablk_helper            13597  1 aesni_intel
cryptd                 20329  3 ghash_clmulni_intel,aesni_intel,ablk_helper
microcode              23518  0 
psmouse                97626  0 
serio_raw              13413  0 
virtio_balloon         13422  0 
lp                     17759  0 
parport                42299  1 lp
floppy                 69370  0 

# dpkg --debug=2 -i ovirt-guest-agent_1.0.9.20140216.git5168c4-1ppa1_all.deb
Selecting previously unselected package ovirt-guest-agent.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 45491 files and directories currently installed.)
Unpacking ovirt-guest-agent (from ovirt-guest-agent_1.0.9.20140216.git5168c4-1ppa1_all.deb) ...
D000002: fork/exec /var/lib/dpkg/tmp.ci/preinst ( install )
D000002: process_archive tmp.ci script/file '/var/lib/dpkg/tmp.ci/preinst' installed as '/var/lib/dpkg/info/ovirt-guest-agent.preinst'
D000002: process_archive tmp.ci script/file '..' contains dot
D000002: process_archive tmp.ci script/file '/var/lib/dpkg/tmp.ci/postrm' installed as '/var/lib/dpkg/info/ovirt-guest-agent.postrm'
D000002: process_archive tmp.ci script/file '/var/lib/dpkg/tmp.ci/md5sums' installed as '/var/lib/dpkg/info/ovirt-guest-agent.md5sums'
D000002: process_archive tmp.ci script/file '/var/lib/dpkg/tmp.ci/control' is control
D000002: process_archive tmp.ci script/file '.' contains dot
D000002: process_archive tmp.ci script/file '/var/lib/dpkg/tmp.ci/postinst' installed as '/var/lib/dpkg/info/ovirt-guest-agent.postinst'
D000002: process_archive tmp.ci script/file '/var/lib/dpkg/tmp.ci/prerm' installed as '/var/lib/dpkg/info/ovirt-guest-agent.prerm'
D000002: process_archive tmp.ci script/file '/var/lib/dpkg/tmp.ci/conffiles' installed as '/var/lib/dpkg/info/ovirt-guest-agent.conffiles'
Setting up ovirt-guest-agent (1.0.9.20140216.git5168c4-1ppa1) ...
D000002: fork/exec /var/lib/dpkg/info/ovirt-guest-agent.postinst ( configure  )
ovirt-guest-agent start/running, process 10225
Processing triggers for ureadahead ...
D000002: fork/exec /var/lib/dpkg/info/ureadahead.postinst ( triggered /etc/init )

# cat /var/lib/dpkg/info/ovirt-guest-agent.postinst
#!/bin/bash
set -e

udevadm control --reload-rules
udevadm trigger --subsystem-match="virtio-ports" --attr-match="name=com.redhat.rhevm.vdsm"
udevadm settle


# Automatically added by dh_python2:
if which pycompile >/dev/null 2>&1; then
	pycompile -p ovirt-guest-agent /usr/share/ovirt-guest-agent
fi

# End automatically added section
# Automatically added by dh_installinit
if [ -x "/etc/init.d/ovirt-guest-agent" ] || [ -e "/etc/init/ovirt-guest-agent.conf" ]; then
	if [ ! -e "/etc/init/ovirt-guest-agent.conf" ]; then
		update-rc.d ovirt-guest-agent defaults >/dev/null
	fi
	invoke-rc.d ovirt-guest-agent start || exit $?
fi
# End automatically added section
# Automatically added by dh_installinit
update-rc.d -f ovirt-guest-agent remove >/dev/null || exit $?
# End automatically added section
# Automatically added by dh_installudev
if [ "$1" = configure ]; then
	if [ -e "/etc/udev/rules.d/55_ovirt-guest-agent.rules" ]; then
		echo "Preserving user changes to /etc/udev/rules.d/55-ovirt-guest-agent.rules ..."
		if [ -e "/etc/udev/rules.d/55-ovirt-guest-agent.rules" ]; then
			mv -f "/etc/udev/rules.d/55-ovirt-guest-agent.rules" "/etc/udev/rules.d/55-ovirt-guest-agent.rules.dpkg-new"
		fi
		mv -f "/etc/udev/rules.d/55_ovirt-guest-agent.rules" "/etc/udev/rules.d/55-ovirt-guest-agent.rules"
	fi
fi
# End automatically added section

# ls -l /dev/vir*
ls: cannot access /dev/vir*: No such file or directory

# service ovirt-guest-agent start
ovirt-guest-agent start/running, process 10248
root@ubuntu:~# ps aux | grep ovirt
root     10257  0.0  0.1   9452   948 pts/0    S+   15:23   0:00 grep --color=auto [01;31m[Kovirt[m[K

# ls -l /var/log/ovirt-guest-agent/
total 12
-rw-r--r-- 1 ovirtagent ovirtagent 9702 Feb 17 15:23 ovirt-guest-agent.log

# cat /var/log/ovirt-guest-agent/ovirt-guest-agent.log
MainThread::INFO::2014-02-17 15:11:02,152::ovirt-guest-agent::37::root::Starting oVirt guest agent
MainThread::ERROR::2014-02-17 15:11:02,153::ovirt-guest-agent::117::root::Unhandled exception in oVirt guest agent!
Traceback (most recent call last):
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 111, in <module>
    agent.run(daemon, pidfile)
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 42, in run
    self.agent = LinuxVdsAgent(config)
  File "/usr/share/ovirt-guest-agent/GuestAgentLinux2.py", line 331, in __init__
    AgentLogicBase.__init__(self, config)
  File "/usr/share/ovirt-guest-agent/OVirtAgentLogic.py", line 90, in __init__
    self.vio = VirtIoChannel(config.get("virtio", "device"))
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 150, in __init__
    self._stream = VirtIoStream(vport_name)
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 131, in __init__
    self._vport = os.open(vport_name, os.O_RDWR)
OSError: [Errno 2] No such file or directory: '/dev/virtio-ports/com.redhat.rhevm.vdsm'
MainThread::INFO::2014-02-17 15:12:52,424::ovirt-guest-agent::37::root::Starting oVirt guest agent
MainThread::ERROR::2014-02-17 15:12:52,425::ovirt-guest-agent::117::root::Unhandled exception in oVirt guest agent!
Traceback (most recent call last):
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 111, in <module>
    agent.run(daemon, pidfile)
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 42, in run
    self.agent = LinuxVdsAgent(config)
  File "/usr/share/ovirt-guest-agent/GuestAgentLinux2.py", line 331, in __init__
    AgentLogicBase.__init__(self, config)
  File "/usr/share/ovirt-guest-agent/OVirtAgentLogic.py", line 90, in __init__
    self.vio = VirtIoChannel(config.get("virtio", "device"))
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 150, in __init__
    self._stream = VirtIoStream(vport_name)
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 131, in __init__
    self._vport = os.open(vport_name, os.O_RDWR)
OSError: [Errno 2] No such file or directory: '/dev/virtio-ports/com.redhat.rhevm.vdsm'
MainThread::INFO::2014-02-17 15:19:25,994::ovirt-guest-agent::37::root::Starting oVirt guest agent
MainThread::ERROR::2014-02-17 15:19:25,995::ovirt-guest-agent::117::root::Unhandled exception in oVirt guest agent!
Traceback (most recent call last):
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 111, in <module>
    agent.run(daemon, pidfile)
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 42, in run
    self.agent = LinuxVdsAgent(config)
  File "/usr/share/ovirt-guest-agent/GuestAgentLinux2.py", line 331, in __init__
    AgentLogicBase.__init__(self, config)
  File "/usr/share/ovirt-guest-agent/OVirtAgentLogic.py", line 90, in __init__
    self.vio = VirtIoChannel(config.get("virtio", "device"))
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 150, in __init__
    self._stream = VirtIoStream(vport_name)
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 131, in __init__
    self._vport = os.open(vport_name, os.O_RDWR)
OSError: [Errno 2] No such file or directory: '/dev/virtio-ports/com.redhat.rhevm.vdsm'
MainThread::INFO::2014-02-17 15:19:54,429::ovirt-guest-agent::37::root::Starting oVirt guest agent
MainThread::ERROR::2014-02-17 15:19:54,430::ovirt-guest-agent::117::root::Unhandled exception in oVirt guest agent!
Traceback (most recent call last):
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 111, in <module>
    agent.run(daemon, pidfile)
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 42, in run
    self.agent = LinuxVdsAgent(config)
  File "/usr/share/ovirt-guest-agent/GuestAgentLinux2.py", line 331, in __init__
    AgentLogicBase.__init__(self, config)
  File "/usr/share/ovirt-guest-agent/OVirtAgentLogic.py", line 90, in __init__
    self.vio = VirtIoChannel(config.get("virtio", "device"))
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 150, in __init__
    self._stream = VirtIoStream(vport_name)
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 131, in __init__
    self._vport = os.open(vport_name, os.O_RDWR)
OSError: [Errno 2] No such file or directory: '/dev/virtio-ports/com.redhat.rhevm.vdsm'
MainThread::INFO::2014-02-17 15:20:48,921::ovirt-guest-agent::37::root::Starting oVirt guest agent
MainThread::ERROR::2014-02-17 15:20:48,922::ovirt-guest-agent::117::root::Unhandled exception in oVirt guest agent!
Traceback (most recent call last):
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 111, in <module>
    agent.run(daemon, pidfile)
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 42, in run
    self.agent = LinuxVdsAgent(config)
  File "/usr/share/ovirt-guest-agent/GuestAgentLinux2.py", line 331, in __init__
    AgentLogicBase.__init__(self, config)
  File "/usr/share/ovirt-guest-agent/OVirtAgentLogic.py", line 90, in __init__
    self.vio = VirtIoChannel(config.get("virtio", "device"))
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 150, in __init__
    self._stream = VirtIoStream(vport_name)
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 131, in __init__
    self._vport = os.open(vport_name, os.O_RDWR)
OSError: [Errno 2] No such file or directory: '/dev/virtio-ports/com.redhat.rhevm.vdsm'
MainThread::INFO::2014-02-17 15:21:08,835::ovirt-guest-agent::37::root::Starting oVirt guest agent
MainThread::ERROR::2014-02-17 15:21:08,835::ovirt-guest-agent::117::root::Unhandled exception in oVirt guest agent!
Traceback (most recent call last):
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 111, in <module>
    agent.run(daemon, pidfile)
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 42, in run
    self.agent = LinuxVdsAgent(config)
  File "/usr/share/ovirt-guest-agent/GuestAgentLinux2.py", line 331, in __init__
    AgentLogicBase.__init__(self, config)
  File "/usr/share/ovirt-guest-agent/OVirtAgentLogic.py", line 90, in __init__
    self.vio = VirtIoChannel(config.get("virtio", "device"))
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 150, in __init__
    self._stream = VirtIoStream(vport_name)
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 131, in __init__
    self._vport = os.open(vport_name, os.O_RDWR)
OSError: [Errno 2] No such file or directory: '/dev/virtio-ports/com.redhat.rhevm.vdsm'
MainThread::INFO::2014-02-17 15:21:46,148::ovirt-guest-agent::37::root::Starting oVirt guest agent
MainThread::ERROR::2014-02-17 15:21:46,149::ovirt-guest-agent::117::root::Unhandled exception in oVirt guest agent!
Traceback (most recent call last):
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 111, in <module>
    agent.run(daemon, pidfile)
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 42, in run
    self.agent = LinuxVdsAgent(config)
  File "/usr/share/ovirt-guest-agent/GuestAgentLinux2.py", line 331, in __init__
    AgentLogicBase.__init__(self, config)
  File "/usr/share/ovirt-guest-agent/OVirtAgentLogic.py", line 90, in __init__
    self.vio = VirtIoChannel(config.get("virtio", "device"))
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 150, in __init__
    self._stream = VirtIoStream(vport_name)
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 131, in __init__
    self._vport = os.open(vport_name, os.O_RDWR)
OSError: [Errno 2] No such file or directory: '/dev/virtio-ports/com.redhat.rhevm.vdsm'
MainThread::INFO::2014-02-17 15:23:02,655::ovirt-guest-agent::37::root::Starting oVirt guest agent
MainThread::ERROR::2014-02-17 15:23:02,656::ovirt-guest-agent::117::root::Unhandled exception in oVirt guest agent!
Traceback (most recent call last):
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 111, in <module>
    agent.run(daemon, pidfile)
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 42, in run
    self.agent = LinuxVdsAgent(config)
  File "/usr/share/ovirt-guest-agent/GuestAgentLinux2.py", line 331, in __init__
    AgentLogicBase.__init__(self, config)
  File "/usr/share/ovirt-guest-agent/OVirtAgentLogic.py", line 90, in __init__
    self.vio = VirtIoChannel(config.get("virtio", "device"))
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 150, in __init__
    self._stream = VirtIoStream(vport_name)
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 131, in __init__
    self._vport = os.open(vport_name, os.O_RDWR)
OSError: [Errno 2] No such file or directory: '/dev/virtio-ports/com.redhat.rhevm.vdsm'
MainThread::INFO::2014-02-17 15:23:21,407::ovirt-guest-agent::37::root::Starting oVirt guest agent
MainThread::ERROR::2014-02-17 15:23:21,408::ovirt-guest-agent::117::root::Unhandled exception in oVirt guest agent!
Traceback (most recent call last):
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 111, in <module>
    agent.run(daemon, pidfile)
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 42, in run
    self.agent = LinuxVdsAgent(config)
  File "/usr/share/ovirt-guest-agent/GuestAgentLinux2.py", line 331, in __init__
    AgentLogicBase.__init__(self, config)
  File "/usr/share/ovirt-guest-agent/OVirtAgentLogic.py", line 90, in __init__
    self.vio = VirtIoChannel(config.get("virtio", "device"))
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 150, in __init__
    self._stream = VirtIoStream(vport_name)
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 131, in __init__
    self._vport = os.open(vport_name, os.O_RDWR)
OSError: [Errno 2] No such file or directory: '/dev/virtio-ports/com.redhat.rhevm.vdsm'

Comment 6 Zhou Zheng Sheng 2014-02-18 04:09:23 UTC
Actually install the latest linux-generic would also install linux-image-extra-3.11.0-15-generic as a dependency, and on my Ubuntu 13.10, it shows the following.

root@u1310:~# aptitude why linux-image-extra-3.11.0-15-generic
i   linux-generic       Depends linux-image-generic (= 3.11.0.15.16)
i A linux-image-generic Depends linux-image-extra-3.11.0-15-generic

The problem is that previous release of the linux-image-generic does not depend on linux-image-extra-$ver-generic. As I tested ovirt-guest-agent on the latest kernel shipped in Ubuntu, I didn't find this problem because linux-image-extra-3.11.0-15-generic was installed automatically.

I think it's a Ubuntu bug. In previous release of linux-image-extra-$ver-generic, say linux-image-extra-3.11.0-12-generic, if you show its information using aptitude.

root@u1310:~# aptitude show linux-image-extra-3.11.0-12-generic
... blah ...
 You likely do not want to install this package directly. Instead, install the linux-generic meta-package, which will ensure that upgrades work correctly, and that supporting
 packages are also installed.

It implies that linux-image-extra-3.11.0-12-generic should gets installed if linux-generic is installed. So if you install Ubuntu as normal, the virtio_console module should be already installed.

Comment 7 Jiri Belka 2014-02-18 08:48:22 UTC
I installed 13.10 as minimal install from iso. If it works with whole Ubuntu ecosystem it's ok but you have to explicitly depend on what is explicitly needed. Anyway, if they offer some kind of 'minimal installation' or 'minimal installation for virtual machine' (this options can been seen in iso boot menu) as I used, it must work on such setup.

FYI ovirt-guest-agent won't work on LTS as there's no qemu-guest-agent. But this is another topic.

Comment 8 Sven Kieske 2014-02-18 10:22:45 UTC
(In reply to Jiri Belka from comment #7)
> FYI ovirt-guest-agent won't work on LTS as there's no qemu-guest-agent. But
> this is another topic.

When got this dependency introduced?
I have working installations of ovirt guest agent with ubuntu server 12.04 lts
installed guest agent version is:
1.0.8.201309301944.gitb7f8f2-1ppa1

this version did not require qemu-guest-agent.

why do you break existing behaviour/ working installations?

Comment 9 Zhou Zheng Sheng 2014-02-18 10:38:57 UTC
As I tested, the ubuntu 13.10 server ISO installs linux-generic, so linux-image-extra-$ver-generic is also installed.

The package description of linux-image-extra-$ver-generic implies that it's always installed if the linux-generic is installed, and it does not suggest us install it directly. This means it's bind to kernel package, and even if we want to add a dependency, we should depend on the linux-generic meta package.

I found that regardless of the kernel image version, when linux-generic is installed, linux-image-extra is always installed. This is true even for old release such as linux-image-extra-3.11.0-12-generic, it depends on linux-image-extra-3.11.0-12-generic as long as linux-generic is installed.

In this case, I think we should add the meta package linux-generic to our dependency.

Comment 10 Vinzenz Feenstra [evilissimo] 2014-02-19 07:37:04 UTC
(In reply to Sven Kieske from comment #8)
> (In reply to Jiri Belka from comment #7)
> > FYI ovirt-guest-agent won't work on LTS as there's no qemu-guest-agent. But
> > this is another topic.
> 
> When got this dependency introduced?
> I have working installations of ovirt guest agent with ubuntu server 12.04
> lts
> installed guest agent version is:
> 1.0.8.201309301944.gitb7f8f2-1ppa1
> 
> this version did not require qemu-guest-agent.
> 
> why do you break existing behaviour/ working installations?

No it did not require it before, but because we introduced a new feature to oVirt it was required to have the qemu-guest-agent for freezing and thawing the filesystem.

The problem what you call breaking is that we do not have currently different packages for different versions of Ubuntu.
We could take care of that if we would, but we don't and there's no problem removing the dependency of the qemu-guest-agent and rebuilding the package, but for the Backup feature to work reliably it's necessary at the moment.

The problem i am having with the debian packaging system is that I don't know how to express such conditions in the build script. It seems to me like I would have to maintain two different sets of files in order for this to work.


See for the Backup feature: BZ#1054231
See for the qemu-ga requirement: BZ#1055524

Comment 11 Zhou Zheng Sheng 2014-02-20 04:59:52 UTC
@Jiri Belka:

Just before I am to submit a fix to add dependency on linux-generic, I tried installing Ubuntu 13.10 from the minimal CD ISO. In the package selection stage, I didn't select anything. After the successful installation, I login to the system and find that virtio_console.ko is installed. linux-generic is also installed. Would you tell me how did you setup the system without linux-generic? Could you try to install linux-generic on you minimal system, and see if it installs virtio_console.ko?

Comment 12 Jiri Belka 2014-02-20 11:50:55 UTC
I tried against Ubuntu Server 13.10 - minimal install for virtual machine. There is *NO* linux-image-extra* package!

Comment 13 Zhou Zheng Sheng 2014-02-21 07:15:19 UTC
(In reply to Jiri Belka from comment #12)
> I tried against Ubuntu Server 13.10 - minimal install for virtual machine.
> There is *NO* linux-image-extra* package!

Hi, I tried again using the server edition ISO. On the package selection stage, it lists "OpenSSH server", "Virtualization Host" and so on. I didn't select any of them. After installation, I found linux-image-extra was installed. I want to know how you install a minimal server so that I can try my self. Do you mind describing the detailed step, including the libvirt XML or qemu arguments?

Could you also have a try on installing the package linux-generic and see if linux-image-extra is installed? If we add new dependency, I think linux-generic should be the correct one.

Comment 14 Sandro Bonazzola 2014-03-04 09:29:26 UTC
This is an automated message.
Re-targeting all non-blocker bugs still open on 3.4.0 to 3.4.1.

Comment 15 Ondra Machacek 2014-03-10 18:49:13 UTC
I've installed ubuntu 13.10 64b server.
I have nothing checked in selection stage list and i had installed both
linux-image and linux-image-extra. Installation get stuck on postinst script of
qemu-guest-agent.

$ sudo add-apt-repository ppa:zhshzhou/vdsm-ubuntu

$ sudo apt-get update

$ aptitude install ovirt-guest-agent
  ...
  Remove stale byte-compiled files...
  Setting up python-ethtool (0.7-1.1) ...
  Setting up qemu-guest-agent (1.5.0+dfsg-3ubuntu5.3) ...
  ^^^ here it get stuck

$ ps aux | grep dpkg
root      2703  0.1  0.2  18608  2960 pts/1    Ss+  14:46   0:00 /usr/bin/dpkg --status-fd 111 --configure fonts-dejavu-core:all ttf-dejavu-core:all fontconfig-config:all libatk1.0-data:all libatk1.0-0:amd64 libavahi-common-data:amd64 libavahi-common3:amd64 libavahi-client3:amd64 libfontconfig1:amd64 libpixman-1-0:amd64 libxcb-render0:amd64 libxcb-shm0:amd64 libxrender1:amd64 libcairo2:amd64 libcups2:amd64 libdatrie1:amd64 libjpeg-turbo8:amd64 libjpeg8:amd64 libjasper1:amd64 libjbig0:amd64 libtiff5:amd64 libgdk-pixbuf2.0-common:all libgdk-pixbuf2.0-0:amd64 libgraphite2-3:amd64 libgtk2.0-common:all libthai-data:all libthai0:amd64 fontconfig:amd64 libpango-1.0-0:amd64 libharfbuzz0a:amd64 libpangoft2-1.0-0:amd64 libpangocairo-1.0-0:amd64 libxcomposite1:amd64 libxfixes3:amd64 libxcursor1:amd64 libxdamage1:amd64 libxi6:amd64 libxinerama1:amd64 libxrandr2:amd64 libgtk2.0-0:amd64 libnl1:amd64 python-gi:amd64 hicolor-icon-theme:all libgtk2.0-bin:amd64 libuser1:amd64 python-dbus-dev:all python-dbus:amd64 python-ethtool:amd64 qemu-guest-agent:amd64 usermode:amd64 ovirt-guest-agent:all
root      2877  0.0  0.0   4440   628 pts/1    S+   14:47   0:00 /bin/sh /var/lib/dpkg/info/qemu-guest-agent.postinst configure

$ cat /var/lib/dpkg/info/qemu-guest-agent.postinst
#!/bin/sh
set -e
# Automatically added by dh_installinit
if [ -x "/etc/init.d/qemu-guest-agent" ] || [ -e "/etc/init/qemu-guest-agent.conf" ]; then
	if [ ! -e "/etc/init/qemu-guest-agent.conf" ]; then
		update-rc.d qemu-guest-agent defaults >/dev/null
	fi
	invoke-rc.d qemu-guest-agent start || exit $?
fi
# End automatically added section


$ killall dpkg

$ rm /var/cache/apt/archives/lock

$ rm /var/lib/dpkg/lock

$ dpkg --configure -a
 Setting up usermode (1.109-1) ...
 Setting up qemu-guest-agent (1.5.0+dfsg-3ubuntu5.3) ...
 1394471380.535568: critical: error opening channel: Device or resource busy
 1394471380.535698: critical: error opening channel
 1394471380.535774: critical: failed to create guest agent channel
 1394471380.535847: critical: failed to initialize guest agent channel
 Processing triggers for ureadahead ...
 Processing triggers for libc-bin ...
 Setting up ovirt-guest-agent (1.0.9.20140216.git5168c4-1ppa1) ...
 ovirt-guest-agent start/running, process 3169
 Processing triggers for ureadahead ...

$ service ovirt-guest-agent status
ovirt-guest-agent start/running, process 3169

Comment 16 Vinzenz Feenstra [evilissimo] 2014-03-27 08:13:26 UTC
(In reply to Ondra Machacek from comment #15)
> I've installed ubuntu 13.10 64b server.
> I have nothing checked in selection stage list and i had installed both
> linux-image and linux-image-extra. Installation get stuck on postinst script
> of
> qemu-guest-agent.
> 

Please report this to the maintainer of the qemu-guest-agent on Ubuntu. Obviously there's nothing I can do here.

Comment 17 Michal Skrivanek 2014-03-31 09:38:30 UTC
as per comment #9, we should add the meta package linux-generic to our dependency, and perhaps remove the dependency on qemu-ga

Comment 18 Sandro Bonazzola 2014-05-08 13:47:10 UTC
This is an automated message.

oVirt 3.4.1 has been released.
This issue has been retargeted to 3.4.2 as it has severity urgent.
If this is a blocker please add it to the tracker Bug #1095370

Comment 19 Vinzenz Feenstra [evilissimo] 2014-05-20 14:52:00 UTC
All issues have been resolved in ovirt-guest-agent_1.0.9.1-1.1_all.deb

Please see http://www.ovirt.org/Feature/GuestAgentUbuntu for installation instructions.

Comment 20 Jiri Belka 2014-05-22 09:55:50 UTC
Ubuntu has crazy way to manage kernel/modules:

- 12.04 virtio_console is module in linux-image-$rel-generic
- 13.10 virtio_console is module in linux-image-$rel-extra (IIRC)
- 14.04 virtio_console is built-in in

...and not talking about specialized kernels like 'virtual'. GA depens on linux-image-generic which would mean during installation it would install newer kernel then currently loaded.

OK as people should do reboot after kernel circus and it works OK after reboot. When 13.10 is OOS I think dependency on kernel should be dropped.

Comment 21 Sandro Bonazzola 2014-06-11 06:44:29 UTC
This is an automated message

oVirt 3.4.2 has been released:
 * should fix your issue
 * should be available at your local mirror within two days.

If problems still persist, please make note of it in this bug report.

Comment 22 Sven Kieske 2014-06-24 14:46:39 UTC
(In reply to Jiri Belka from comment #20)
> Ubuntu has crazy way to manage kernel/modules:
> 
> - 12.04 virtio_console is module in linux-image-$rel-generic
> - 13.10 virtio_console is module in linux-image-$rel-extra (IIRC)
> - 14.04 virtio_console is built-in in
> 
> ...and not talking about specialized kernels like 'virtual'. GA depens on
> linux-image-generic which would mean during installation it would install
> newer kernel then currently loaded.
> 
> OK as people should do reboot after kernel circus and it works OK after
> reboot. When 13.10 is OOS I think dependency on kernel should be dropped.

this still bites me, maybe someone can explain those dependencies to me, my
situation:

ubuntu 12.04 guest
guest agent version: 1.0..9.1-2.1
installed kernels before I install the guest agent:
linux-image-3.8.0-29.42~precise1
installed kernels after I install the guest agent:
linux-image-3.8.0-29.42~precise1
linux-image-3.2.0-64.97

is this pulled in because of virtio_console ? is there no way to add this module
in another way (load it manually via /etc/modules ?)

Comment 23 Vinzenz Feenstra [evilissimo] 2014-06-25 11:11:06 UTC
Well loading the module is not everything. It's mainly about the plugin being there and the guest agent needs to depend on it.
However having an older version of the kernel version installed instead is bad though. Please create a new bug for this.
Thanks.

Comment 24 Jiri Belka 2014-06-25 11:26:32 UTC
It will end like vmware tools which have binary modules for all supported Linux distributions and if not found, then it compiles on-fly ones for current version :)

Comment 25 Sven Kieske 2014-06-25 11:37:31 UTC
(In reply to Vinzenz Feenstra [evilissimo] from comment #23)
> Well loading the module is not everything. It's mainly about the plugin
> being there and the guest agent needs to depend on it.
> However having an older version of the kernel version installed instead is
> bad though. Please create a new bug for this.
> Thanks.

Done: BZ 1113067

Comment 26 bakgatnet 2014-08-02 11:38:38 UTC
Getting this issue for my old/fallback VM host:
Ubuntu 12.04.4 LTS
Linux $HOSTNAME 3.2.0-67-generic #101-Ubuntu SMP Tue Jul 15 17:46:11 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Did:
`sudo add-apt-repository ppa:zhshzhou/vdsm-ubuntu && sudo apt-get update && sudo apt-get install ovirt-guest-agent`
rebooted
`sudo service ovirt-guest-agent restart`
`tail -f  /var/log/ovirt-guest-agent/ovirt-guest-agent.log`

Seeing:

MainThread::INFO::2014-08-02 23:28:10,986::ovirt-guest-agent::37::root::Starting oVirt guest agent
MainThread::ERROR::2014-08-02 23:28:11,006::ovirt-guest-agent::117::root::Unhandled exception in oVirt guest agent!
Traceback (most recent call last):
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 111, in <module>
    agent.run(daemon, pidfile)
  File "/usr/share/ovirt-guest-agent/ovirt-guest-agent.py", line 42, in run
    self.agent = LinuxVdsAgent(config)
  File "/usr/share/ovirt-guest-agent/GuestAgentLinux2.py", line 324, in __init__
    AgentLogicBase.__init__(self, config)
  File "/usr/share/ovirt-guest-agent/OVirtAgentLogic.py", line 90, in __init__
    self.vio = VirtIoChannel(config.get("virtio", "device"))
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 150, in __init__
    self._stream = VirtIoStream(vport_name)
  File "/usr/share/ovirt-guest-agent/VirtIoChannel.py", line 131, in __init__
    self._vport = os.open(vport_name, os.O_RDWR)
OSError: [Errno 2] No such file or directory: '/dev/virtio-ports/com.redhat.rhevm.vdsm'

No inode of '/dev/virtio-ports/com.redhat.rhevm.vdsm' exists

Comment 27 Vinzenz Feenstra [evilissimo] 2014-08-04 07:06:08 UTC
Please install the guest agent by following the instructions from here:

http://www.ovirt.org/Feature/GuestAgentUbuntu#Installation

The PPA above is not up-to-date and currently not actively maintained. Where as the one in the link above is.

Comment 28 bakgatnet 2014-08-04 21:00:06 UTC
# echo 'deb  http://download.opensuse.org/repositories/home:/evilissimo:/ubuntu:/12.04/xUbuntu_12.04/' > /etc/apt/sources.list.d/ovirt-guest-agent.list

# wget http://download.opensuse.org/repositories/home:/evilissimo:/ubuntu:/12.04/xUbuntu_12.04/Release.key
--2014-08-05 08:58:25--  http://download.opensuse.org/repositories/home:/evilissimo:/ubuntu:/12.04/xUbuntu_12.04/Release.key
Resolving download.opensuse.org (download.opensuse.org)... 195.135.221.134, 2001:67c:2178:8::13
Connecting to download.opensuse.org (download.opensuse.org)|195.135.221.134|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1101 (1.1K) [application/pgp-keys]
Saving to: `Release.key'
100%[==================================================================================================================>] 1,101       --.-K/s   in 0s      
2014-08-05 08:58:26 (217 MB/s) - `Release.key' saved [1101/1101]

# apt-key add - < Release.key
OK

# apt-get update
E: Malformed line 1 in source list /etc/apt/sources.list.d/ovirt-guest-agent.list (dist)
E: The list of sources could not be read.

Comment 29 Vinzenz Feenstra [evilissimo] 2014-08-05 07:56:23 UTC
I fixed the documentation. There's missing a /
Please try this:

# echo 'deb  http://download.opensuse.org/repositories/home:/evilissimo:/ubuntu:/12.04/xUbuntu_12.04/ /' > /etc/apt/sources.list.d/ovirt-guest-agent.list
# apt-get update