Ovirt Tips

Debian 8 (Jessie) ovirt-guest-agent 2018

465 views March 31, 2018 September 13, 2018 zipadmin 1

This is the latest way I have found to do this (09/2018)

 

wget http://ftp.de.debian.org/debian/pool/main/o/ovirt-guest-agent/ovirt-guest-agent_1.0.13.dfsg-2_all.deb
dpkg -i ovirt-guest-agent_1.0.13.dfsg-2_all.deb
apt-get install -f

vi /etc/udev/rules.d/55-ovirt-guest-agent.rules

SYMLINK=="virtio-ports/ovirt-guest-agent.0", OWNER="ovirtagent",GROUP="ovirtagent"

 

udevadm trigger --subsystem-match="virtio-ports"
service ovirt-guest-agent stop
service ovirt-guest-agent start
service ovirt-guest-agent status

 

Now give it a minute and the oVirt WebUI should pickup on the new client being installed.

 

 

 

 

Or you can try the following if the above fails:

https://www.ovirt.org/documentation/how-to/guest-agent/install-the-guest-agent-in-debian/

Then you have to:

vi /etc/ovirt-guest-agent.conf 

and change the virtio device as follows:

[virtio] 
# device = /dev/virtio-ports/com.redhat.rhevm.vdsm 
device = /dev/virtio-ports/ovirt-guest-agent.0
Then update ovirt-guest-agent.rules
vi /etc/udev/rules.d/55-ovirt-guest-agent.rules

And add:

SYMLINK=="virtio-ports/ovirt-guest-agent.0", OWNER="ovirtagent",GROUP="ovirtagent"

Then:

udevadm trigger --subsystem-match="virtio-ports"

Now you should be able to:

service ovirt-guest-agent stop
service ovirt-guest-agent start
service ovirt-guest-agent status

And you should see something like:

● ovirt-guest-agent.service - LSB: Startup script for the oVirt guest agent daemon
   Loaded: loaded (/etc/init.d/ovirt-guest-agent)
   Active: active (running) since Fri 2018-02-09 16:27:56 CST; 5min ago
  Process: 941 ExecStop=/etc/init.d/ovirt-guest-agent stop (code=exited, status=0/SUCCESS)
  Process: 968 ExecStart=/etc/init.d/ovirt-guest-agent start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/ovirt-guest-agent.service
           └─976 /usr/bin/python /usr/share/ovirt-guest-agent/ovirt-guest-agent.py

Feb 09 16:27:56 debian systemd[1]: Started LSB: Startup script for the oVirt guest agent daemon.
Feb 09 16:27:58 debian sudo[996]: pam_unix(sudo:session): session opened for user root by (uid=0)
Feb 09 16:27:58 debian sudo[996]: pam_unix(sudo:session): session closed for user root

 

If the above doesnt work, try the following instead:

  1. Enable apt pinning as we have to use ovirt-guest-agent from sid
    vi /etc/apt/sources.list

    Add the following lines to the bottom of the file

    deb http://http.us.debian.org/debian jessie main non-free contrib
    deb http://security.debian.org/ jessie/updates main contrib non-free
    deb http://http.us.debian.org/debian sid main non-free contrib
    vi /etc/apt/preferences.d/my_preferences

    Add the following to the file

    Package: *
    Pin: release a=stable
    Pin-Priority: 700
    
    Package: ovirt-guest-agent
    Pin: release a=testing
    Pin-Priority: 650
    
    Package: ovirt-guest-agent
    Pin: release a=unstable
    Pin-Priority: 600
    apt-get update

     

  2. Now we can check to see what is available
    apt-cache policy ovirt-guest-agent

    should return something like

    ovirt-guest-agent:
      Installed: 1.0.13.dfsg-2
      Candidate: 1.0.13.dfsg-2
      Version table:
     *** 1.0.13.dfsg-2 0
            600 http://http.us.debian.org/debian/ sid/main amd64 Packages
            100 /var/lib/dpkg/status
         1.0.10.2.dfsg-2+deb8u1 0
            500 http://mirror.it.ubc.ca/debian/ jessie/main amd64 Packages
            500 http://http.us.debian.org/debian/ jessie/main amd64 Packages

     

  3. Install the sid version
    apt-get install ovirt-guest-agent/sid
    systemctl enable ovirt-guest-agent.service
  4. And now we patch
    cat > /etc/udev/rules.d/ovirt-guest-agent.rules <<EOF
    SYMLINK=="virtio-ports/com.redhat.rhevm.vdsm", OWNER="ovirtagent", GROUP="ovirtagent"
    EOF
    
    cd /usr/share/ovirt-guest-agent
    rm *.pyc
    
    wget https://raw.githubusercontent.com/oVirt/ovirt-guest-agent/master/ovirt-guest-agent/org.ovirt.vdsm.Credentials.conf
    
    vi CredServer.py
    #change line 146 from:
    #conn.setsockopt(socket.SOL_SOCKET, socket.SO_PASSCRED, 1) 
    to:
    conn.setsockopt(socket.SOL_SOCKET, 16, 1)
    
    apt-get install git
    git clone https://github.com/oVirt/ovirt-guest-agent
    cd ovirt-guest-agent
    apt-get install pep8 autoconf libtool gettext g++ make pkg-config automake libpam-dev
    ./autogen.sh
    ./configure --with-sso --without-gdm --without-kdm
    cd pam-ovirt-cred/
    make
    
    mkdir /lib/security
    cp .libs/pam_ovirt_cred.so /lib/security/
    
    cat > /etc/pam.d/gdm-ovirtcred  <<EOF
    #%PAM-1.0
    auth required pam_ovirt_cred.so
    auth include passwd
    account include passwd
    password include passwd
    session required pam_systemd.so open
    session include passwd
    EOF
    
    
  5. Restart the service and check status
    service ovirt-guest-agent restart
    
    chown ovirtagent:ovirtagent /dev/virtio-ports/ -R chown ovirtagent:ovirtagent /dev/vport1p1 chown ovirtagent:ovirtagent /dev/vport1p2
    
    service ovirt-guest-agent restart
    
    service ovirt-guest-agent status
    
    
    
  6. If all went as planned – you should be working. If not, check the log
    tail /var/log/ovirt-guest-agent/ovirt-guest-agent.log -n 30

     

Special thanks to Tadas for this article which helped alot. https://www.neblogas.lt/2016/07/29/install-ovirt-guest-agent-debian-os-enable-sso/

Was this helpful?