Description of problem: hosted-engine --get-shared-config will write vm.conf with wrong ownership if not present [root@c74he20180108h1 ~]# ls -l /var/run/ovirt-hosted-engine-ha/vm.conf -rw-r--r--. 1 vdsm kvm 8113 9 feb 18.56 /var/run/ovirt-hosted-engine-ha/vm.conf [root@c74he20180108h1 ~]# rm -f /var/run/ovirt-hosted-engine-ha/vm.conf; hosted-engine --get-shared-config gateway gateway : 192.168.1.1, type : he_conf [root@c74he20180108h1 ~]# ls -l /var/run/ovirt-hosted-engine-ha/vm.conf -rw-r--r--. 1 root root 8113 9 feb 18.56 /var/run/ovirt-hosted-engine-ha/vm.conf ovirt-ha-agent runs as vdsm and so it will fail trying to refresh vm.conf MainThread::INFO::2018-02-09 18:58:59,561::ovf_store::118::ovirt_hosted_engine_ha.lib.ovf.ovf_store.OVFStore::(scan) Found OVF_STORE: imgUUID:7482540b-ea01-4f8c-93d4-a9d46e93e6eb, volUUID:b7130665-8e41-44a3-970d-f97809bda7e7 MainThread::INFO::2018-02-09 18:59:00,132::ovf_store::118::ovirt_hosted_engine_ha.lib.ovf.ovf_store.OVFStore::(scan) Found OVF_STORE: imgUUID:c78da68d-fc54-48a1-9e99-bcd1f9712b21, volUUID:37e76796-21f3-4531-85a1-97e213fb534f MainThread::INFO::2018-02-09 18:59:01,372::ovf_store::149::ovirt_hosted_engine_ha.lib.ovf.ovf_store.OVFStore::(getEngineVMOVF) OVF_STORE volume path: /var/run/vdsm/storage/997acd46-4433-4154-b6ea-99ff26da6fe9/c78da68d-fc54-48a1-9e99-bcd1f9712b21/37e76796-21f3-4531-85a1-97e213fb534f MainThread::ERROR::2018-02-09 18:59:01,385::agent::144::ovirt_hosted_engine_ha.agent.agent.Agent::(_run_agent) Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/agent.py", line 131, in _run_agent return action(he) File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/agent.py", line 55, in action_proper return he.start_monitoring() File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/hosted_engine.py", line 424, in start_monitoring self._config.refresh_vm_conf() File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/env/config.py", line 523, in refresh_vm_conf if self._publish_local_conf_file(VM, content): File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/env/config.py", line 409, in _publish_local_conf_file with open(localcopy_filename, 'w') as target: IOError: [Errno 13] Permission denied: '/var/run/ovirt-hosted-engine-ha/vm.conf' Version-Release number of selected component (if applicable): 2.2.8 How reproducible: 100% Steps to Reproduce: 1. rm -f /var/run/ovirt-hosted-engine-ha/vm.conf; hosted-engine --get-shared-config gateway (as root) 2. ls -l /var/run/ovirt-hosted-engine-ha/vm.conf 3. Actual results: /var/run/ovirt-hosted-engine-ha/vm.conf is owned by root:root Expected results: /var/run/ovirt-hosted-engine-ha/vm.conf is owned by vdsm:kvm Additional info:
This looks by far worst than I though. /etc/ovirt-hosted-engine/hosted-engine.conf got also rewrote by the copy on the shared storage and so all the host where hosted-engine --get-shared-config get executed will end with host_id=1 causing an spm collision almost for sure.
I think it affects 4.1 as well.
[root@alma03 ~]# rm -f /var/run/ovirt-hosted-engine-ha/vm.conf [root@alma03 ~]# hosted-engine --get-shared-config gateway Duplicate key gateway, please specify the key type [root@alma03 ~]# ls -l /var/run/ovirt-hosted-engine-ha/vm.conf -rw-r--r--. 1 vdsm kvm 9582 Mar 19 12:34 /var/run/ovirt-hosted-engine-ha/vm.conf ovirt-hosted-engine-ha-2.2.7-1.el7ev.noarch ovirt-hosted-engine-setup-2.2.13-1.el7ev.noarch rhvm-appliance-4.2-20180202.0.el7.noarch Linux 3.10.0-861.el7.x86_64 #1 SMP Wed Mar 14 10:21:01 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux Red Hat Enterprise Linux Server release 7.5 (Maipo) Privilege is vdsm:kvm. Moving to verified.
This bugzilla is included in oVirt 4.2.2 release, published on March 28th 2018. Since the problem described in this bug report should be resolved in oVirt 4.2.2 release, it has been closed with a resolution of CURRENT RELEASE. If the solution does not work for you, please open a new bug report.