Bug 790257

Summary: open-vm-toolsd needs to start after install
Product: [Retired] CloudForms Cloud Engine Reporter: wes hayutin <whayutin>
Component: open-vm-toolsAssignee: Michal Fojtik <mfojtik>
Status: CLOSED CURRENTRELEASE QA Contact: wes hayutin <whayutin>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 1.0.0CC: hbrock, jeckersb, lutter, mfojtik, rlandy
Target Milestone: beta   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-30 17:15: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:

Description wes hayutin 2012-02-14 03:27:58 UTC
Description of problem:

open-vm-toolsd needs to start after install

The rpm needs to start the init script from open-vm-toolsd. This is essential for an ip address to be reported back to deltacloud and aeolus

[root@qeblade30 ~]# rpm -qa | grep open-vm
open-vm-tools-libs-8.8.0-2.el6.x86_64
open-vm-toolsd-8.8.0-2.el6.x86_64
open-vm-tools-8.8.0-2.el6.x86_64
[root@qeblade30 ~]#

Comment 1 Michal Fojtik 2012-02-14 14:21:22 UTC
Package: open-vm-tools-8.8.0-3.el6
Tag: cf-tools-1.0-rhel-6-candidate
Status: complete
Built by: mfojtik
ID: 198639
Started: Tue, 14 Feb 2012 03:41:56 EST
Finished: Tue, 14 Feb 2012 03:48:53 EST
Changelog:
* Mon Feb 13 2012 Michal Fojtik <mfojtik> - 8.8.0-3.el6
- Added Red Hat copyright to list
- Added service autostart after install

* Wed Feb 08 2012 David Lutterkort <lutter> - 8.8.0-2.el6
- Bump to get i386 and x86_64 builds in brew (move to cf-tools-1.0-rhel6 tag)

* Wed Feb 08 2012 David Lutterkort <lutter> - 8.8.0-1.el6
- remove libvix plugin since it requires libhgfs, which we don't use



SRPMS:
 open-vm-tools-8.8.0-3.el6.src.rpm

Closed tasks:
-------------

Task 4038744 on x86-002.build.bos.redhat.com
Task Type: buildSRPMFromSCM (/rpms/open-vm-tools:8f9d9a47ca5d3fd571cf11310b0c50a692a376a0)
logs:
 https://brewweb.devel.redhat.com//getfile?taskID=4038744&name=build.log
 https://brewweb.devel.redhat.com//getfile?taskID=4038744&name=checkout.log
 https://brewweb.devel.redhat.com//getfile?taskID=4038744&name=mock_output.log
 https://brewweb.devel.redhat.com//getfile?taskID=4038744&name=root.log
 https://brewweb.devel.redhat.com//getfile?taskID=4038744&name=state.log

Task 4038764 on x86-003.build.bos.redhat.com
Task Type: buildArch (open-vm-tools-8.8.0-3.el6.src.rpm, x86_64)
logs:
 https://brewweb.devel.redhat.com//getfile?taskID=4038764&name=build.log
 https://brewweb.devel.redhat.com//getfile?taskID=4038764&name=mock_output.log
 https://brewweb.devel.redhat.com//getfile?taskID=4038764&name=root.log
 https://brewweb.devel.redhat.com//getfile?taskID=4038764&name=state.log
rpms:
http://download.devel.redhat.com/brewroot/packages/open-vm-tools/8.8.0/3.el6/x86_64/open-vm-tools-8.8.0-3.el6.x86_64.rpm
http://download.devel.redhat.com/brewroot/packages/open-vm-tools/8.8.0/3.el6/x86_64/open-vm-tools-debuginfo-8.8.0-3.el6.x86_64.rpm
http://download.devel.redhat.com/brewroot/packages/open-vm-tools/8.8.0/3.el6/x86_64/open-vm-tools-devel-8.8.0-3.el6.x86_64.rpm
http://download.devel.redhat.com/brewroot/packages/open-vm-tools/8.8.0/3.el6/x86_64/open-vm-tools-libs-8.8.0-3.el6.x86_64.rpm
http://download.devel.redhat.com/brewroot/packages/open-vm-tools/8.8.0/3.el6/x86_64/open-vm-toolsd-8.8.0-3.el6.x86_64.rpm

Task 4038804 on s390-003.build.bos.redhat.com
Task Type: tagBuild (noarch)

Task 4038765 on x86-007.build.bos.redhat.com
Task Type: buildArch (open-vm-tools-8.8.0-3.el6.src.rpm, i386)
logs:
 https://brewweb.devel.redhat.com//getfile?taskID=4038765&name=build.log
 https://brewweb.devel.redhat.com//getfile?taskID=4038765&name=mock_output.log
 https://brewweb.devel.redhat.com//getfile?taskID=4038765&name=root.log
 https://brewweb.devel.redhat.com//getfile?taskID=4038765&name=state.log
rpms:
http://download.devel.redhat.com/brewroot/packages/open-vm-tools/8.8.0/3.el6/i386/open-vm-tools-8.8.0-3.el6.i386.rpm
http://download.devel.redhat.com/brewroot/packages/open-vm-tools/8.8.0/3.el6/i386/open-vm-tools-debuginfo-8.8.0-3.el6.i386.rpm
http://download.devel.redhat.com/brewroot/packages/open-vm-tools/8.8.0/3.el6/i386/open-vm-tools-devel-8.8.0-3.el6.i386.rpm
http://download.devel.redhat.com/brewroot/packages/open-vm-tools/8.8.0/3.el6/i386/open-vm-tools-libs-8.8.0-3.el6.i386.rpm
http://download.devel.redhat.com/brewroot/packages/open-vm-tools/8.8.0/3.el6/i386/open-vm-toolsd-8.8.0-3.el6.i386.rpm



Task Info: https://brewweb.devel.redhat.com//taskinfo?taskID=4038742
Build Info: https://brewweb.devel.redhat.com//buildinfo?buildID=198639

Comment 2 David Lutterkort 2012-02-15 00:31:19 UTC
The change Michal made will make sure that the vmtoolsd service is started after rebooting the instance.

Starting a service upon package installation is strictly verboten (see e.g., http://fedoraproject.org/wiki/Packaging:SysVInitScript#Why_don.27t_we....)

Also, I am not comfortable claiming copyright for the specfile.

Comment 3 Michal Fojtik 2012-02-15 08:54:40 UTC
(In reply to comment #2)
> The change Michal made will make sure that the vmtoolsd service is started
> after rebooting the instance.
> 
> Starting a service upon package installation is strictly verboten (see e.g.,
> http://fedoraproject.org/wiki/Packaging:SysVInitScript#Why_don.27t_we....)

I'm aware about this guideline and understand the implications (anaconda).

However seem for me the only way how to proceed for Audrey. I don't know
too much about how this package is being installed. However I think the image is built
inside KVM and then imported to VSphere afterwards. Mean that this image must be restarted.
If this is true, then I really don't know why the service need to be started after installation,
the service were enabled for start after reboot previously.

Also note that inside KVM the service will not start anyway (will drop a decent error message
to log and die.

> Also, I am not comfortable claiming copyright for the specfile.

I can remove it, I though that if we made a modifications to this specfile we should also
be listed in copyright. Correct me if i'm wrong :-)

Comment 4 Ronelle Landy 2012-02-15 15:12:41 UTC
Verified that a public ip address is returned by Deltacloud for a vsphere instance which was launched from an image containing open-vm-tools. The ip address is available as soon as the instance is launched and the state of the image = RUNNING.

(Copying the template used to build the related image in a comment below)

>> curl -X GET --user 'username;password' "http://nec-em6.rhts.eng.bos.redhat.com:3005/api/instances/rlandyNewVmTools?format=xml"
<?xml version='1.0' encoding='utf-8' ?>
<instance href='http://nec-em6.rhts.eng.bos.redhat.com:3005/api/instances/rlandyNewVmTools' id='rlandyNewVmTools'>
  <name>rlandyNewVmTools</name>
  <owner_id>Administrator</owner_id>
  <image href='http://nec-em6.rhts.eng.bos.redhat.com:3005/api/images/factory-image-45c2a390-52de-4da7-8b2b-e87379554706' id='factory-image-45c2a390-52de-4da7-8b2b-e87379554706'></image>
  <realm href='http://nec-em6.rhts.eng.bos.redhat.com:3005/api/realms/datastore1' id='datastore1'></realm>
  <state>RUNNING</state>
  <hardware_profile href='http://nec-em6.rhts.eng.bos.redhat.com:3005/api/hardware_profiles/default' id='default'>
    <property kind='fixed' name='storage' unit='GB' value='11274352711'></property>
    <property kind='fixed' name='cpu' unit='count' value='1'></property>
    <property kind='fixed' name='memory' unit='MB' value='512'></property>
  </hardware_profile>
  <actions>
    <link href='http://nec-em6.rhts.eng.bos.redhat.com:3005/api/instances/rlandyNewVmTools/reboot' method='post' rel='reboot' />
    <link href='http://nec-em6.rhts.eng.bos.redhat.com:3005/api/instances/rlandyNewVmTools/stop' method='post' rel='stop' />
    <link href='http://nec-em6.rhts.eng.bos.redhat.com:3005/api/images;instance_id=rlandyNewVmTools' method='post' rel='create_image' />
  </actions>
  <public_addresses><address type='ipv4'>10.10.77.199</address></public_addresses>
  <private_addresses></private_addresses>
</instance>

ssh'ing to the public ip address shows that the vmtoolsd service is running:

>>  ssh root.77.199
root.77.199's password: 
[root@rhntaskomatic1-webdev ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog
[root@rhntaskomatic1-webdev ~]# service vmtoolsd status
vmtoolsd (pid  1312) is running...
[root@rhntaskomatic1-webdev ~]# 

Checking open-vm-tools version on the guest:

rpm -qa |grep vm
lvm2-libs-2.02.87-6.el6.x86_64
open-vm-toolsd-8.8.0-4.el6.x86_64
lvm2-2.02.87-6.el6.x86_64
open-vm-tools-libs-8.8.0-4.el6.x86_64
open-vm-tools-8.8.0-4.el6.x86_64

Comment 6 Ronelle Landy 2012-02-15 15:15:18 UTC
Putting the status of this BZ back to MODIFIED (rather than VERIFIED) until we have confirmation on comments 2 and 3 above.

Comment 7 Ronelle Landy 2012-02-15 23:36:45 UTC
Moving this BZ back to ON_DEV awaiting the el5 build of open-vm-tools. See https://bugzilla.redhat.com/show_bug.cgi?id=790927

Comment 8 Michal Fojtik 2012-02-16 09:09:57 UTC
Moving back to MODIFIED, since the original problem is now fixed. For EL5 built there is an another bug.

Comment 9 John Eckersberg 2012-02-20 20:43:55 UTC
Moving back to ON_QA, since the build is there and the EL5 issue is a separate bug (#788085)

Comment 10 Ronelle Landy 2012-02-22 04:29:23 UTC
For an instance started from a RHEL 5.7 image:

Verified that a public ip address is returned by Deltacloud for a vsphere 
instance which was launched from an image containing open-vm-tools. The ip
address is available as soon as the instance is launched and the state of the
image = RUNNING.

[rlandy@localhost systemtests]$ curl -X GET --user 'uname;password' "http://hp-dl360g5-02.rhts.eng.bos.redhat.com:4006/api/instances/rlandyRhel5VmTools?format=xml"

<?xml version='1.0' encoding='utf-8' ?>
<instance href='http://hp-dl360g5-02.rhts.eng.bos.redhat.com:4006/api/instances/rlandyRhel5VmTools' id='rlandyRhel5VmTools'>
  <name>rlandyRhel5VmTools</name>
  <owner_id>xxx</owner_id>
  <image href='http://hp-dl360g5-02.rhts.eng.bos.redhat.com:4006/api/images/factory-image-c838925e-57fb-4250-a382-06f4b7613b8a' id='factory-image-c838925e-57fb-4250-a382-06f4b7613b8a'></image>
  <realm href='http://hp-dl360g5-02.rhts.eng.bos.redhat.com:4006/api/realms/datastore1' id='datastore1'></realm>
  <state>RUNNING</state>
  <hardware_profile href='http://hp-dl360g5-02.rhts.eng.bos.redhat.com:4006/api/hardware_profiles/default' id='default'>
    <property kind='fixed' name='cpu' unit='count' value='2'></property>
    <property kind='fixed' name='memory' unit='MB' value='512'></property>
    <property kind='fixed' name='storage' unit='GB' value='11274355666'></property>
  </hardware_profile>
  <actions>
    <link href='http://hp-dl360g5-02.rhts.eng.bos.redhat.com:4006/api/instances/rlandyRhel5VmTools/reboot' method='post' rel='reboot' />
    <link href='http://hp-dl360g5-02.rhts.eng.bos.redhat.com:4006/api/instances/rlandyRhel5VmTools/stop' method='post' rel='stop' />
    <link href='http://hp-dl360g5-02.rhts.eng.bos.redhat.com:4006/api/images;instance_id=rlandyRhel5VmTools' method='post' rel='create_image' />
  </actions>
  <public_addresses><address type='ipv4'>10.10.77.139</address></public_addresses>
  <private_addresses></private_addresses>
</instance>


>> $ ssh root.77.139

[root@dhcp77-139 log]# rpm -qa |grep open-vm-tools
open-vm-tools-8.8.0-5.el5
open-vm-tools-libs-8.8.0-5.el5
open-vm-toolsd-8.8.0-5.el5

[root@dhcp77-139 log]# cat /media/deltacloud-user-data.txt
1|https://deaddonkey.usersys.redhat.com|conductor_key|xxxxxx
[root@dhcp77-139 log]# 

[root@dhcp77-139 log]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.7 (Tikanga)

[root@dhcp77-139 ~]# service vmtoolsd status
-l (pid  2772) is running...