Bug 736842

Summary: Guests on rhev-h don't associate correctly on rhn
Product: Red Hat Enterprise Linux 6 Reporter: Mike Burns <mburns>
Component: ovirt-nodeAssignee: Alan Pevec <apevec>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 6.2CC: apevec, cshao, gouyang, leiwang, mburns, moli, ovirt-maint, ycui
Target Milestone: beta   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovirt-node-2.0.2-0.5.git83340dd.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-06 19:27:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mike Burns 2011-09-08 20:23:23 UTC
Description of problem:
A guest running on top of RHEV-H will not be shown in RHN as running on RHEV-H.

Version-Release number of selected component (if applicable):
6.2-0.15

How reproducible:
Always

Steps to Reproduce:
1.Install RHEV-H and register to RHN
2.Run guest on top of RHEV-H host (prefer RHEL guest)
3.check RHN virtual systems section -- rhev-h host won't be shown there

  
Actual results:
If guest is registered to RHN, it will show as running on Host:  Unknown Host
rhev-h host will not be shown

Expected results:
RHEV-H host should be shown with running vm

Additional info:

Comment 1 Mike Burns 2011-09-08 20:24:29 UTC
This is due to a problem in rhn-virtualization.  It runs a cron job every 2 minutes.  Manually running the cron job:

# python -v /usr/share/rhn/virtualization/poller.pyc
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
import site # precompiled from /usr/lib64/python2.6/site.pyc
import os # precompiled from /usr/lib64/python2.6/os.pyc
import errno # builtin
import posix # builtin
import posixpath # precompiled from /usr/lib64/python2.6/posixpath.pyc
import stat # precompiled from /usr/lib64/python2.6/stat.pyc
import genericpath # precompiled from /usr/lib64/python2.6/genericpath.pyc
import warnings # precompiled from /usr/lib64/python2.6/warnings.pyc
import linecache # precompiled from /usr/lib64/python2.6/linecache.pyc
import types # precompiled from /usr/lib64/python2.6/types.pyc
import UserDict # precompiled from /usr/lib64/python2.6/UserDict.pyc
import _abcoll # precompiled from /usr/lib64/python2.6/_abcoll.pyc
import abc # precompiled from /usr/lib64/python2.6/abc.pyc
import copy_reg # precompiled from /usr/lib64/python2.6/copy_reg.pyc
import encodings # directory /usr/lib64/python2.6/encodings
import encodings # precompiled from /usr/lib64/python2.6/encodings/__init__.pyc
import codecs # precompiled from /usr/lib64/python2.6/codecs.pyc
import _codecs # builtin
import encodings.aliases # precompiled from /usr/lib64/python2.6/encodings/aliases.pyc
import encodings.utf_8 # precompiled from /usr/lib64/python2.6/encodings/utf_8.pyc
Python 2.6.6 (r266:84292, Aug 15 2011, 11:45:48) 
[GCC 4.4.5 20110214 (Red Hat 4.4.5-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
dlopen("/usr/lib64/python2.6/lib-dynload/binascii.so", 2);
import binascii # dynamically loaded from /usr/lib64/python2.6/lib-dynload/binascii.so
import traceback # precompiled from /usr/lib64/python2.6/traceback.pyc
import gettext # precompiled from /usr/lib64/python2.6/gettext.pyc
import locale # precompiled from /usr/lib64/python2.6/locale.pyc
import functools # precompiled from /usr/lib64/python2.6/functools.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/_functoolsmodule.so", 2);
import _functools # dynamically loaded from /usr/lib64/python2.6/lib-dynload/_functoolsmodule.so
dlopen("/usr/lib64/python2.6/lib-dynload/_localemodule.so", 2);
import _locale # dynamically loaded from /usr/lib64/python2.6/lib-dynload/_localemodule.so
import re # precompiled from /usr/lib64/python2.6/re.pyc
import sre_compile # precompiled from /usr/lib64/python2.6/sre_compile.pyc
import _sre # builtin
import sre_parse # precompiled from /usr/lib64/python2.6/sre_parse.pyc
import sre_constants # precompiled from /usr/lib64/python2.6/sre_constants.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/operator.so", 2);
import operator # dynamically loaded from /usr/lib64/python2.6/lib-dynload/operator.so
import copy # precompiled from /usr/lib64/python2.6/copy.pyc
import struct # precompiled from /usr/lib64/python2.6/struct.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/_struct.so", 2);
import _struct # dynamically loaded from /usr/lib64/python2.6/lib-dynload/_struct.so
import libvirt # precompiled from /usr/lib64/python2.6/site-packages/libvirt.pyc
dlopen("/usr/lib64/python2.6/site-packages/libvirtmod.so", 2);
import libvirtmod # dynamically loaded from /usr/lib64/python2.6/site-packages/libvirtmod.so
import optparse # precompiled from /usr/lib64/python2.6/optparse.pyc
import textwrap # precompiled from /usr/lib64/python2.6/textwrap.pyc
import string # precompiled from /usr/lib64/python2.6/string.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/stropmodule.so", 2);
import strop # dynamically loaded from /usr/lib64/python2.6/lib-dynload/stropmodule.so
import virtualization # directory /usr/share/rhn/virtualization
# /usr/share/rhn/virtualization/__init__.pyc matches /usr/share/rhn/virtualization/__init__.py
import virtualization # precompiled from /usr/share/rhn/virtualization/__init__.pyc
# /usr/share/rhn/virtualization/state.pyc matches /usr/share/rhn/virtualization/state.py
import virtualization.state # precompiled from /usr/share/rhn/virtualization/state.pyc
# /usr/share/rhn/virtualization/constants.pyc matches /usr/share/rhn/virtualization/constants.py
import virtualization.constants # precompiled from /usr/share/rhn/virtualization/constants.pyc
# /usr/share/rhn/virtualization/errors.pyc matches /usr/share/rhn/virtualization/errors.py
import virtualization.errors # precompiled from /usr/share/rhn/virtualization/errors.pyc
# /usr/share/rhn/virtualization/notification.pyc matches /usr/share/rhn/virtualization/notification.py
import virtualization.notification # precompiled from /usr/share/rhn/virtualization/notification.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/timemodule.so", 2);
import time # dynamically loaded from /usr/lib64/python2.6/lib-dynload/timemodule.so
import up2date_client # directory /usr/share/rhn/up2date_client
import up2date_client # precompiled from /usr/share/rhn/up2date_client/__init__.pyc
import up2date_client.up2dateAuth # precompiled from /usr/share/rhn/up2date_client/up2dateAuth.pyc
import up2date_client.rhnserver # precompiled from /usr/share/rhn/up2date_client/rhnserver.pyc
import up2date_client.rpcServer # precompiled from /usr/share/rhn/up2date_client/rpcServer.pyc
import up2date_client.config # precompiled from /usr/share/rhn/up2date_client/config.pyc
import socket # precompiled from /usr/lib64/python2.6/socket.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/_socketmodule.so", 2);
import _socket # dynamically loaded from /usr/lib64/python2.6/lib-dynload/_socketmodule.so
dlopen("/usr/lib64/python2.6/lib-dynload/_ssl.so", 2);
import _ssl # dynamically loaded from /usr/lib64/python2.6/lib-dynload/_ssl.so
dlopen("/usr/lib64/python2.6/lib-dynload/cStringIO.so", 2);
import cStringIO # dynamically loaded from /usr/lib64/python2.6/lib-dynload/cStringIO.so
import httplib # precompiled from /usr/lib64/python2.6/httplib.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/arraymodule.so", 2);
import array # dynamically loaded from /usr/lib64/python2.6/lib-dynload/arraymodule.so
import urlparse # precompiled from /usr/lib64/python2.6/urlparse.pyc
import collections # precompiled from /usr/lib64/python2.6/collections.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/_collectionsmodule.so", 2);
import _collections # dynamically loaded from /usr/lib64/python2.6/lib-dynload/_collectionsmodule.so
import keyword # precompiled from /usr/lib64/python2.6/keyword.pyc
import mimetools # precompiled from /usr/lib64/python2.6/mimetools.pyc
import tempfile # precompiled from /usr/lib64/python2.6/tempfile.pyc
import random # precompiled from /usr/lib64/python2.6/random.pyc
import __future__ # precompiled from /usr/lib64/python2.6/__future__.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/mathmodule.so", 2);
import math # dynamically loaded from /usr/lib64/python2.6/lib-dynload/mathmodule.so
dlopen("/usr/lib64/python2.6/lib-dynload/_randommodule.so", 2);
import _random # dynamically loaded from /usr/lib64/python2.6/lib-dynload/_randommodule.so
dlopen("/usr/lib64/python2.6/lib-dynload/fcntlmodule.so", 2);
import fcntl # dynamically loaded from /usr/lib64/python2.6/lib-dynload/fcntlmodule.so
import thread # builtin
import rfc822 # precompiled from /usr/lib64/python2.6/rfc822.pyc
import ssl # precompiled from /usr/lib64/python2.6/ssl.pyc
import base64 # precompiled from /usr/lib64/python2.6/base64.pyc
import urllib2 # precompiled from /usr/lib64/python2.6/urllib2.pyc
import hashlib # precompiled from /usr/lib64/python2.6/hashlib.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/_hashlib.so", 2);
import _hashlib # dynamically loaded from /usr/lib64/python2.6/lib-dynload/_hashlib.so
import bisect # precompiled from /usr/lib64/python2.6/bisect.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/_bisectmodule.so", 2);
import _bisect # dynamically loaded from /usr/lib64/python2.6/lib-dynload/_bisectmodule.so
import urllib # precompiled from /usr/lib64/python2.6/urllib.pyc
import up2date_client.clientCaps # precompiled from /usr/share/rhn/up2date_client/clientCaps.pyc
import glob # precompiled from /usr/lib64/python2.6/glob.pyc
import fnmatch # precompiled from /usr/lib64/python2.6/fnmatch.pyc
import up2date_client.capabilities # precompiled from /usr/share/rhn/up2date_client/capabilities.pyc
import up2date_client.up2dateErrors # precompiled from /usr/share/rhn/up2date_client/up2dateErrors.pyc
import up2date_client.up2dateLog # precompiled from /usr/share/rhn/up2date_client/up2dateLog.pyc
import OpenSSL # directory /usr/lib64/python2.6/site-packages/OpenSSL
import OpenSSL # precompiled from /usr/lib64/python2.6/site-packages/OpenSSL/__init__.pyc
dlopen("/usr/lib64/python2.6/site-packages/OpenSSL/rand.so", 2);
import OpenSSL.rand # dynamically loaded from /usr/lib64/python2.6/site-packages/OpenSSL/rand.so
dlopen("/usr/lib64/python2.6/site-packages/OpenSSL/crypto.so", 2);
import OpenSSL.crypto # dynamically loaded from /usr/lib64/python2.6/site-packages/OpenSSL/crypto.so
dlopen("/usr/lib64/python2.6/site-packages/OpenSSL/SSL.so", 2);
import OpenSSL.SSL # dynamically loaded from /usr/lib64/python2.6/site-packages/OpenSSL/SSL.so
import OpenSSL.tsafe # precompiled from /usr/lib64/python2.6/site-packages/OpenSSL/tsafe.pyc
import threading # precompiled from /usr/lib64/python2.6/threading.pyc
import OpenSSL.version # precompiled from /usr/lib64/python2.6/site-packages/OpenSSL/version.pyc
import up2date_client.up2dateUtils # precompiled from /usr/share/rhn/up2date_client/up2dateUtils.pyc
import up2date_client.transaction # precompiled from /usr/share/rhn/up2date_client/transaction.pyc
import rpm # directory /usr/lib64/python2.6/site-packages/rpm
import rpm # precompiled from /usr/lib64/python2.6/site-packages/rpm/__init__.pyc
dlopen("/usr/lib64/python2.6/site-packages/rpm/_rpmmodule.so", 2);
import rpm._rpm # dynamically loaded from /usr/lib64/python2.6/site-packages/rpm/_rpmmodule.so
import rpm.transaction # precompiled from /usr/lib64/python2.6/site-packages/rpm/transaction.pyc
dlopen("/usr/lib64/python2.6/site-packages/rpm/_rpmbmodule.so", 2);
import rpm._rpmb # dynamically loaded from /usr/lib64/python2.6/site-packages/rpm/_rpmbmodule.so
import rhn # directory /usr/lib/python2.6/site-packages/rhn
import rhn # precompiled from /usr/lib/python2.6/site-packages/rhn/__init__.pyc
import rhn.rpclib # precompiled from /usr/lib/python2.6/site-packages/rhn/rpclib.pyc
import rhn.transports # precompiled from /usr/lib/python2.6/site-packages/rhn/transports.pyc
import rhn.SmartIO # precompiled from /usr/lib/python2.6/site-packages/rhn/SmartIO.pyc
import rhn.UserDictCase # precompiled from /usr/lib/python2.6/site-packages/rhn/UserDictCase.pyc
import rhn.connections # precompiled from /usr/lib/python2.6/site-packages/rhn/connections.pyc
import rhn.SSL # precompiled from /usr/lib/python2.6/site-packages/rhn/SSL.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/selectmodule.so", 2);
import select # dynamically loaded from /usr/lib64/python2.6/lib-dynload/selectmodule.so
import rhn.nonblocking # precompiled from /usr/lib/python2.6/site-packages/rhn/nonblocking.pyc
import xmlrpclib # precompiled from /usr/lib64/python2.6/xmlrpclib.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/datetime.so", 2);
import datetime # dynamically loaded from /usr/lib64/python2.6/lib-dynload/datetime.so
import xml # directory /usr/lib64/python2.6/xml
import xml # precompiled from /usr/lib64/python2.6/xml/__init__.pyc
import xml.parsers # directory /usr/lib64/python2.6/xml/parsers
import xml.parsers # precompiled from /usr/lib64/python2.6/xml/parsers/__init__.pyc
import xml.parsers.expat # precompiled from /usr/lib64/python2.6/xml/parsers/expat.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/pyexpat.so", 2);
import pyexpat # dynamically loaded from /usr/lib64/python2.6/lib-dynload/pyexpat.so
import encodings.idna # precompiled from /usr/lib64/python2.6/encodings/idna.pyc
import stringprep # precompiled from /usr/lib64/python2.6/stringprep.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/unicodedata.so", 2);
import unicodedata # dynamically loaded from /usr/lib64/python2.6/lib-dynload/unicodedata.so
import pickle # precompiled from /usr/lib64/python2.6/pickle.pyc
import marshal # builtin
# /usr/share/rhn/virtualization/util.pyc matches /usr/share/rhn/virtualization/util.py
import virtualization.util # precompiled from /usr/share/rhn/virtualization/util.pyc
# /usr/share/rhn/virtualization/poller_state_cache.pyc matches /usr/share/rhn/virtualization/poller_state_cache.py
import virtualization.poller_state_cache # precompiled from /usr/share/rhn/virtualization/poller_state_cache.pyc
dlopen("/usr/lib64/python2.6/lib-dynload/cPickle.so", 2);
import cPickle # dynamically loaded from /usr/lib64/python2.6/lib-dynload/cPickle.so
# /usr/share/rhn/virtualization/domain_directory.pyc matches /usr/share/rhn/virtualization/domain_directory.py
import virtualization.domain_directory # precompiled from /usr/share/rhn/virtualization/domain_directory.pyc
# /usr/share/rhn/virtualization/domain_config.pyc matches /usr/share/rhn/virtualization/domain_config.py
import virtualization.domain_config # precompiled from /usr/share/rhn/virtualization/domain_config.pyc
import xml.dom # directory /usr/lib64/python2.6/xml/dom
import xml.dom # precompiled from /usr/lib64/python2.6/xml/dom/__init__.pyc
import xml.dom.domreg # precompiled from /usr/lib64/python2.6/xml/dom/domreg.pyc
import xml.dom.minicompat # precompiled from /usr/lib64/python2.6/xml/dom/minicompat.pyc
import xml.dom.minidom # precompiled from /usr/lib64/python2.6/xml/dom/minidom.pyc
import xml.dom.xmlbuilder # precompiled from /usr/lib64/python2.6/xml/dom/xmlbuilder.pyc
import xml.dom.NodeFilter # precompiled from /usr/lib64/python2.6/xml/dom/NodeFilter.pyc
import commands # precompiled from /usr/lib64/python2.6/commands.pyc
# /usr/share/rhn/virtualization/localvdsm.pyc matches /usr/share/rhn/virtualization/localvdsm.py
import localvdsm # precompiled from /usr/share/rhn/virtualization/localvdsm.pyc
import subprocess # precompiled from /usr/lib64/python2.6/subprocess.pyc
import gc # builtin
import config # precompiled from /usr/share/vdsm/config.pyc
import ConfigParser # precompiled from /usr/lib64/python2.6/ConfigParser.pyc
# /usr/share/rhn/virtualization/constants.pyc matches /usr/share/rhn/virtualization/constants.py
import constants # precompiled from /usr/share/rhn/virtualization/constants.pyc
Traceback (most recent call last):
  File "/usr/share/rhn/virtualization/poller.py", line 290, in <module>
    domain_list = poll_through_vdsm()
  File "/usr/share/rhn/virtualization/poller.py", line 140, in poll_through_vdsm
    import localvdsm
  File "/usr/share/rhn/virtualization/localvdsm.py", line 35, in <module>
    raise ImportError('local vdsm not found')
ImportError: local vdsm not found
# clear __builtin__._
# clear sys.path
# clear sys.argv
# clear sys.ps1
# clear sys.ps2
# clear sys.exitfunc
# clear sys.exc_type
# clear sys.exc_value
# clear sys.exc_traceback
# clear sys.last_type
# clear sys.last_value
# clear sys.last_traceback
# clear sys.path_hooks
# clear sys.path_importer_cache
# clear sys.meta_path
# clear sys.flags
# clear sys.float_info
# restore sys.stdin
# restore sys.stdout
# restore sys.stderr
# cleanup __main__
# cleanup[1] _bisect
# cleanup[1] unicodedata
# cleanup[1] constants
# cleanup[1] collections
# cleanup[1] zipimport
# cleanup[1] ConfigParser
# cleanup[1] threading
# cleanup[1] virtualization
# cleanup[1] abc
# cleanup[1] virtualization.domain_directory
# cleanup[1] math
# cleanup[1] optparse
# cleanup[1] libvirt
# cleanup[1] _functools
# cleanup[1] _locale
# cleanup[1] virtualization.state
# cleanup[1] __future__
# cleanup[1] _collections
# cleanup[1] array
# cleanup[1] sre_constants
# cleanup[1] _warnings
# cleanup[1] _codecs
# cleanup[1] commands
# cleanup[1] _struct
# cleanup[1] keyword
# cleanup[1] virtualization.errors
# cleanup[1] posix
# cleanup[1] exceptions
# cleanup[1] subprocess
# cleanup[1] site
# cleanup[1] pyexpat
# cleanup[1] strop
# cleanup[1] virtualization.notification
# cleanup[1] rhn
# cleanup[1] up2date_client
# cleanup[1] virtualization.constants
# cleanup[1] virtualization.domain_config
# cleanup[1] virtualization.util
# cleanup[1] virtualization.poller_state_cache
# cleanup[1] signal
# cleanup[1] gc
# cleanup[1] libvirtmod
# cleanup[1] rhn.UserDictCase
# cleanup[1] rhn.SmartIO
# cleanup[1] cPickle
# cleanup[2] functools
# cleanup[2] random
# cleanup[2] OpenSSL
# cleanup[2] up2date_client.up2dateErrors
# cleanup[2] rhn.transports
# cleanup[2] xml
# cleanup[2] struct
# cleanup[2] tempfile
# cleanup[2] OpenSSL.SSL
# cleanup[2] base64
# cleanup[2] pyexpat.errors
# cleanup[2] rhn.connections
# cleanup[2] string
# cleanup[2] up2date_client.transaction
# cleanup[2] textwrap
# cleanup[2] datetime
# cleanup[2] httplib
# cleanup[2] bisect
# cleanup[2] xml.parsers
# cleanup[2] OpenSSL.crypto
# cleanup[2] cStringIO
# cleanup[2] rfc822
# cleanup[2] locale
# cleanup[2] xml.parsers.expat
# cleanup[2] encodings
# cleanup[2] warnings
# cleanup[2] up2date_client.clientCaps
# cleanup[2] urllib
# cleanup[2] re
# cleanup[2] fcntl
# cleanup[2] UserDict
# cleanup[2] fnmatch
# cleanup[2] codecs
# cleanup[2] xml.dom.domreg
# cleanup[2] pyexpat.model
# cleanup[2] socket
# cleanup[2] thread
# cleanup[2] up2date_client.up2dateLog
# cleanup[2] traceback
# cleanup[2] rpm.transaction
# cleanup[2] xml.dom.xmlbuilder
# cleanup[2] os
# cleanup[2] marshal
# cleanup[2] xml.dom
# cleanup[2] _sre
# cleanup[2] OpenSSL.version
# cleanup[2] up2date_client.up2dateAuth
# cleanup[2] rpm._rpm
# cleanup[2] operator
# cleanup[2] rpm
# cleanup[2] select
# cleanup[2] posixpath
# cleanup[2] errno
# cleanup[2] _socket
# cleanup[2] binascii
# cleanup[2] os.path
# cleanup[2] OpenSSL.tsafe
# cleanup[2] up2date_client.capabilities
# cleanup[2] up2date_client.rpcServer
# cleanup[2] copy
# cleanup[2] hashlib
# cleanup[2] xml.dom.minidom
# cleanup[2] stringprep
# cleanup[2] encodings.aliases
# cleanup[2] sre_parse
# cleanup[2] pickle
# cleanup[2] mimetools
# cleanup[2] copy_reg
# cleanup[2] sre_compile
# cleanup[2] xml.dom.NodeFilter
# cleanup[2] _hashlib
# cleanup[2] _random
# cleanup[2] rhn.nonblocking
# cleanup[2] gettext
# cleanup[2] _abcoll
# cleanup[2] xml.dom.minicompat
# cleanup[2] rhn.SSL
# cleanup[2] genericpath
# cleanup[2] stat
# cleanup[2] _ssl
# cleanup[2] rhn.rpclib
# cleanup[2] glob
# cleanup[2] urllib2
# cleanup[2] up2date_client.up2dateUtils
# cleanup[2] encodings.utf_8
# cleanup[2] up2date_client.config
# cleanup[2] types
# cleanup[2] up2date_client.rhnserver
# cleanup[2] ssl
# cleanup[2] rpm._rpmb
# cleanup[2] xmlrpclib
# cleanup[2] urlparse
# cleanup[2] linecache
# cleanup[2] encodings.idna
# cleanup[2] time
# cleanup[2] OpenSSL.rand
# cleanup sys
# cleanup __builtin__
# cleanup ints: 78 unfreed ints
# cleanup floats: 35 unfreed floats

Comment 2 Alan Pevec 2011-09-08 21:03:13 UTC
import constants # precompiled from /usr/share/rhn/virtualization/constants.pyc
Traceback (most recent call last):
  File "/usr/share/rhn/virtualization/poller.py", line 290, in <module>
    domain_list = poll_through_vdsm()
  File "/usr/share/rhn/virtualization/poller.py", line 140, in
poll_through_vdsm
    import localvdsm
  File "/usr/share/rhn/virtualization/localvdsm.py", line 35, in <module>
    raise ImportError('local vdsm not found')
ImportError: local vdsm not found

Actual exception is:
File "/usr/share/vdsm/config.py", line 67, in <module>
AttributeError: 'module' object has no attribute 'P_TRUSTSTORE'

67: config.set('vars', 'trust_store_path', constants.P_TRUSTSTORE)

rhn-virt constants wins over vdsm constants...
-- to both rhn and vdsm for messing with sys.path :(

Comment 3 Alan Pevec 2011-09-08 21:08:58 UTC
Workaround is to patch /usr/share/rhn/virtualization/poller.py to use libvirt RO instead of trying vdsm (this needs to be reworked so that still works with vdsm on 5.x):

--- poller.py-ORIG	2011-04-19 15:53:43.000000000 +0000
+++ poller.py	2011-09-08 20:45:49.000000000 +0000
@@ -73,10 +73,9 @@
         return {}
 
     try:
-        conn = libvirt.open(None)
+        conn = libvirt.openReadOnly(None)
     except libvirt.libvirtError, lve:
         # virConnectOpen() failed
-        sys.stderr.write("Warning: Could not retrieve virtualization information!\n\tlibvirtd service needs to be running.\n")
         conn = None
 
     if not conn:
@@ -286,10 +285,10 @@
         vdsm_enabled = True
 
     # Crawl each of the domains on this host and obtain the new state.
-    if vdsm_enabled:
-        domain_list = poll_through_vdsm()
-    elif libvirt:
+    if libvirt:
         domain_list = poll_hypervisor()
+    elif vdsm_enabled:
+        domain_list = poll_through_vdsm()
     else:
         # If no libvirt nor vdsm is present, this program is pretty much
         # useless.  Just exit.

Comment 6 Guohua Ouyang 2011-09-13 07:26:35 UTC
Verified on 6.2-0.16.2, steps as below:
1. install rhevh and register to rhn.
2. add rhevh to rhevm.
3. create vm (rhel6) on rhevh.
4. login rhn, find the rhevh host in systems.
5. go to virtualization tab, the guest in listed under "Hosted Virtual Systems".

So the guest on rhev-h is associating correctly on rhn.

set bug status to be verified now, if anything I missed, please reopen this bug.

Comment 7 errata-xmlrpc 2011-12-06 19:27:33 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2011-1783.html