Bug 772379

Summary: The virt-who can't start if the vcenter's password is blank in ESX mode.
Product: Red Hat Enterprise Linux 5 Reporter: Hui Wang <huiwang>
Component: virt-whoAssignee: Radek Novacek <rnovacek>
Status: CLOSED ERRATA QA Contact: Entitlement Bugs <entitlement-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 5.8CC: bkearney, ddumas, khong, lmiksik, ndai, ovasik
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: virt-who-0.5-4.el5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-21 06:07:17 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 715031, 784372    

Description Hui Wang 2012-01-07 08:41:59 UTC
description:
If the vcenter's password is blank in ESX env,the virt-who can't start.

Version-Release number of selected component (if applicable):
virt-who-0.5-3.el5
python-rhsm-0.98.8-1.el5
subscription-manager-0.98.9-1.el5
subscription-manager-gnome-0.98.9-1.el5
subscription-manager-firstboot-0.98.9-1.el5
katello-glue-candlepin-0.1.150-2.el6.noarch
katello-httpd-ssl-key-pair-1.0-1.noarch
katello-cli-common-0.1.30-2.el6.noarch
katello-configure-0.1.42-2.el6.noarch
katello-headpin-all-0.1.119-2.el6.noarch
katello-cli-headpin-0.1.13-2.el6.noarch
katello-certs-tools-1.0.1-2.el6.noarch
katello-headpin-0.1.119-2.el6.noarch
katello-trusted-ssl-cert-1.0-1.noarch
katello-qpid-broker-key-pair-1.0-1.noarch
katello-common-0.1.150-2.el6.noarch
katello-glue-candlepin-0.1.150-2.el6.noarch
candlepin-0.5.8-1.el6.noarch
candlepin-tomcat6-0.5.8-1.el6.noarch
thumbslug-0.0.21-1.el6.noarch

How reproducible:
always

Steps to Reproduce:
1. prepared one rhel5.8-snapshot2.0 host, and register to SAM:
#subscription-namager register --org=org1 --environment=org1-env1 --username=$username --password=$password

2.Deployed the env of ESX as following:
Vcenter server IP : 10.66.5.176
Vcenter username : Administrator
Vcenter password :blank
Vsphere client Ip : 10.66.6.128
ESX IP: 10.66.6.66
ESX username=$username
ESX password=$password
Installed some Guests on ESX

3.Set the /etc/sysconfig/virt-who on rhel5.8-snapshot2.0 host (or on one of the guests that is installed on ESX).

#vim /etc/sysconfig/virt-who
VIRTWHO_BACKGROUND=1
VIRTWHO_DEBUG=1
VIRTWHO_ESX=1
VIRTWHO_ESX_OWNER=org1
VIRTWHO_ESX_ENV=org1-env1
VIRTWHO_ESX_SERVER=10.66.5.176
VIRTWHO_ESX_USERNAME=Administrator
VIRTWHO_ESX_PASSWORD=

4.Start the virt-who service
# service virt-who restart
Stopping virt-who:                                         [  OK  ]
Starting virt-who: Required parameter 'password' for vCenter is not set, exitting
                                                           [FAILED]


Actual results:
If the vcenter's password is blank in ESX env,the virt-who can't start.

Expected results:
If the vcenter's password is  blank in ESX env,the virt-who can start.

Comment 1 Radek Novacek 2012-01-10 12:46:18 UTC
This bug is easy to fix. Are the other arguments for ESX required or can some of them be empty?

Comment 5 Radek Novacek 2012-01-11 16:59:14 UTC
Fixed in virt-who-0.5-4.el5. Build here

https://brewweb.devel.redhat.com/taskinfo?taskID=3933709

Comment 7 Hui Wang 2012-01-15 04:18:24 UTC
I confused that why the virt-who report "Cannot complete login due to an incorrect user name or password." What are the other arguments for ESX required or the arguments in /etc/sysconfig/virt-who are incorrect ?

Steps to Reproduce:
1. prepared one rhel5.8-snapshot2.0 host, and register to SAM:
#subscription-namager register --org=org1 --environment=org1-env1
--username=$username --password=$password

2.Deployed the env of ESX as following:
Installed the ESX
Installed the vcenter
Installed the vclient
Logined the vcenter from vsphere client: IP/name:10.66.5.106, and choose the option of "use windows session credentials".
Installed some guests on ESX from client.

add infos:
ESX IP: 10.66.6.66
ESX username=$username
ESX password=$password
Vcenter server IP : 10.66.5.106
Vcenter username : Administrator
Vcenter password :blank
Vsphere client Ip : 10.66.6.128


3.Set the /etc/sysconfig/virt-who on rhel5.8-snapshot2.0 host (or on one of the
guests that is installed on ESX).

#vim /etc/sysconfig/virt-who

[root@localhost home]# cat esxplank 
RTWHO_BACKGROUND=1
VIRTWHO_DEBUG=1
VIRTWHO_ESX=1
VIRTWHO_ESX_OWNER=ACME_Corporation
VIRTWHO_ESX_ENV=env1
VIRTWHO_ESX_SERVER=10.66.5.106
VIRTWHO_ESX_USERNAME=Administrator
VIRTWHO_ESX_PASSWORD=

4.Start the virt-who service
# service virt-who restart
Stopping virt-who:                                         [  OK  ]
Starting virt-who: Listening for events is not available in VDSM or ESX mode
Virt-who is running in esx mode
Starting infinite loop with 3600 seconds interval and event handling
                                                           [  OK  ]
[root@localhost ~]# No handlers could be found for logger "suds.client"
Server raised fault: 'Cannot complete login due to an incorrect user name or password.'
Traceback (most recent call last):
  File "/usr/share/virt-who/virt-who.py", line 130, in _send
    self.checkConnections()
  File "/usr/share/virt-who/virt-who.py", line 110, in checkConnections
    self.initVirt()
  File "/usr/share/virt-who/virt-who.py", line 70, in initVirt
    self.virt = VSphere(self.logger, self.options.esx_server, self.options.esx_username, self.options.esx_password)
  File "/usr/share/virt-who/vsphere.py", line 106, in __init__
    self.client.service.Login(_this=self.sc.sessionManager, userName=username, password=password)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 542, in __call__
    return client.invoke(args, kwargs)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 602, in invoke
    result = self.send(soapenv)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 657, in send
    result = self.failed(binding, e)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 712, in failed
    r, p = binding.get_fault(reply)
  File "/usr/lib/python2.4/site-packages/suds/bindings/binding.py", line 265, in get_fault
    raise WebFault(p, faultroot)
WebFault: Server raised fault: 'Cannot complete login due to an incorrect user name or password.'
Unexcepted error occurs, trying to recover
Server raised fault: 'Cannot complete login due to an incorrect user name or password.'
Traceback (most recent call last):
  File "/usr/share/virt-who/virt-who.py", line 130, in _send
    self.checkConnections()
  File "/usr/share/virt-who/virt-who.py", line 110, in checkConnections
    self.initVirt()
  File "/usr/share/virt-who/virt-who.py", line 70, in initVirt
    self.virt = VSphere(self.logger, self.options.esx_server, self.options.esx_username, self.options.esx_password)
  File "/usr/share/virt-who/vsphere.py", line 106, in __init__
    self.client.service.Login(_this=self.sc.sessionManager, userName=username, password=password)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 542, in __call__
    return client.invoke(args, kwargs)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 602, in invoke
    result = self.send(soapenv)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 657, in send
    result = self.failed(binding, e)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 712, in failed
    r, p = binding.get_fault(reply)
  File "/usr/lib/python2.4/site-packages/suds/bindings/binding.py", line 265, in get_fault
    raise WebFault(p, faultroot)
WebFault: Server raised fault: 'Cannot complete login due to an incorrect user name or password.' ^^^^^^^^^^^^^^^^^^^^^^Error.
Unable to recover, retry in 60 seconds.

Comment 8 Radek Novacek 2012-01-16 08:35:58 UTC
Are you trying to login using username/password for the windows account? You should create user on vCenter server. vCenter has separate account management than local Windows accounts.

Comment 9 Hui Wang 2012-01-16 12:16:31 UTC
(In reply to comment #8)
> Are you trying to login using username/password for the windows account? You
> should create user on vCenter server. vCenter has separate account management
> than local Windows accounts.

I created the vcenter account as Administrator/blank when installing vcenter,but I login vcenter server using the client windows account.

Comment 10 Hui Wang 2012-01-19 06:47:15 UTC
I verified the issue,when set the vcenter's password is blank in /etc/sysconfig/virt-who,the virt-who can start.
The result is pass. 

Version-Release number of selected component (if applicable):
virt-who-0.5-4.el5
python-rhsm-0.98.8-1.el5
subscription-manager-0.98.9-1.el5
subscription-manager-gnome-0.98.9-1.el5
subscription-manager-firstboot-0.98.9-1.el5
katello-glue-candlepin-0.1.150-2.el6.noarch
katello-httpd-ssl-key-pair-1.0-1.noarch
katello-cli-common-0.1.30-2.el6.noarch
katello-configure-0.1.42-2.el6.noarch
katello-headpin-all-0.1.119-2.el6.noarch
katello-cli-headpin-0.1.13-2.el6.noarch
katello-certs-tools-1.0.1-2.el6.noarch
katello-headpin-0.1.119-2.el6.noarch
katello-trusted-ssl-cert-1.0-1.noarch
katello-qpid-broker-key-pair-1.0-1.noarch
katello-common-0.1.150-2.el6.noarch
katello-glue-candlepin-0.1.150-2.el6.noarch
candlepin-0.5.8-1.el6.noarch
candlepin-tomcat6-0.5.8-1.el6.noarch
thumbslug-0.0.21-1.el6.noarch

How reproducible:
always

Steps to Reproduce:
1. prepared one rhel5.8-snapshot4.0 host, and register to SAM:
#subscription-namager register --org=ACME_Corporation --environment=env1
--username=$username --password=$password

2.Deployed the env of ESX as following:
Set the vcenter's username/password as the system account.
Vcenter username : Administrator
Vcenter password :
Vcenter server IP : 10.66.5.106
Vsphere client Ip : 10.66.6.128
ESX IP: 10.66.6.66
ESX username=$username
ESX password=$password
Installed some Guests on ESX

3.Set the /etc/sysconfig/virt-who on rhel5.8-snapshot4.0 host (or on one of the
guests that is installed on ESX).

#vim /etc/sysconfig/virt-who
VIRTWHO_BACKGROUND=1
VIRTWHO_DEBUG=1
VIRTWHO_ESX=1
VIRTWHO_ESX_OWNER=ACME_Corporation
VIRTWHO_ESX_ENV=env1
VIRTWHO_ESX_SERVER=10.66.5.106
VIRTWHO_ESX_USERNAME=Administrator
VIRTWHO_ESX_PASSWORD=

4.Start the virt-who service
# service virt-who restart
Stopping virt-who:                                         [  OK  ]
Starting virt-who: Listening for events is not available in VDSM or ESX mode
Virt-who is running in esx mode
Starting infinite loop with 3600 seconds interval and event handling
                                                           [  OK  ]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^The virt-who can start.
[root@localhost ~]# No handlers could be found for logger "suds.client"
Server raised fault: 'Cannot complete login due to an incorrect user name or
password.'
Traceback (most recent call last):
  File "/usr/share/virt-who/virt-who.py", line 130, in _send
    self.checkConnections()
  File "/usr/share/virt-who/virt-who.py", line 110, in checkConnections
    self.initVirt()
  File "/usr/share/virt-who/virt-who.py", line 70, in initVirt
    self.virt = VSphere(self.logger, self.options.esx_server,
self.options.esx_username, self.options.esx_password)
  File "/usr/share/virt-who/vsphere.py", line 106, in __init__
    self.client.service.Login(_this=self.sc.sessionManager, userName=username,
password=password)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 542, in __call__
    return client.invoke(args, kwargs)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 602, in invoke
    result = self.send(soapenv)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 657, in send
    result = self.failed(binding, e)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 712, in failed
    r, p = binding.get_fault(reply)
  File "/usr/lib/python2.4/site-packages/suds/bindings/binding.py", line 265,
in get_fault
    raise WebFault(p, faultroot)
WebFault: Server raised fault: 'Cannot complete login due to an incorrect user
name or password.'
Unexcepted error occurs, trying to recover
Server raised fault: 'Cannot complete login due to an incorrect user name or
password.'
Traceback (most recent call last):
  File "/usr/share/virt-who/virt-who.py", line 130, in _send
    self.checkConnections()
  File "/usr/share/virt-who/virt-who.py", line 110, in checkConnections
    self.initVirt()
  File "/usr/share/virt-who/virt-who.py", line 70, in initVirt
    self.virt = VSphere(self.logger, self.options.esx_server,
self.options.esx_username, self.options.esx_password)
  File "/usr/share/virt-who/vsphere.py", line 106, in __init__
    self.client.service.Login(_this=self.sc.sessionManager, userName=username,
password=password)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 542, in __call__
    return client.invoke(args, kwargs)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 602, in invoke
    result = self.send(soapenv)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 657, in send
    result = self.failed(binding, e)
  File "/usr/lib/python2.4/site-packages/suds/client.py", line 712, in failed
    r, p = binding.get_fault(reply)
  File "/usr/lib/python2.4/site-packages/suds/bindings/binding.py", line 265,
in get_fault
    raise WebFault(p, faultroot)
WebFault: Server raised fault: 'Cannot complete login due to an incorrect user
name or password.' 
^^^^^^^^^^^^^^^^^^^^^^The error because the the username/password is same as the system name/password.The password displays blank,but the password is not blank actualy.If set the separate account of vcenter,the password can't be allowed to set blank.
Unable to recover, retry in 60 seconds.

5.reset the /etc/sysconfig/virt-who on rhel5.8-snapshot4.0 host (or on one of the
guests that is installed on ESX).

#vim /etc/sysconfig/virt-who
VIRTWHO_BACKGROUND=1
VIRTWHO_DEBUG=1
VIRTWHO_ESX=1
VIRTWHO_ESX_OWNER=ACME_Corporation
VIRTWHO_ESX_ENV=env1
VIRTWHO_ESX_SERVER=10.66.5.106
VIRTWHO_ESX_USERNAME=Administrator
VIRTWHO_ESX_PASSWORD=123qweP

6.Restart virt-who service
[root@localhost ~]# service virt-who restart
Stopping virt-who:                                         [  OK  ]
Starting virt-who: Listening for events is not available in VDSM or ESX mode
Virt-who is running in esx mode
Starting infinite loop with 3600 seconds interval and event handling
                                                           [  OK  ]
[root@localhost ~]# Sending updates in hosts-to-guests mapping: {44454c4c-4c00-1031-8053-b8c04f4e3258: [564daad1-a9dc-d0d9-9bfb-d2a730a888ce, 564d6e32-2f23-d7cd-09b1-e5861086c087, 564dcd6a-01ab-d413-5ea9-1275dff5ff58, 564d5f4c-b07f-22cf-a9fd-234ba11f46f9, 423bad51-b0ba-cb54-6154-2b6bcc4cae7b]}
Error during update list of guests: 44454c4c-4c00-1031-8053-b8c04f4e3258: No such consumer type: hypervisor

Comment 11 errata-xmlrpc 2012-02-21 06:07:17 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/RHEA-2012-0225.html