oVirt hosted engine agent and broker duplicate logs to syslog
by Aleksey Chudov
Hi,
After upgrade from 3.6.0 to 3.6.1 agent and broker duplicate their logs to
syslog. So, the same messages logged twice to files in
/var/log/ovirt-hosted-engine-ha/ directory and to /var/log/messages file.
Agent and broker configuration files remain the same for 3.5, 3.6.0 and
3.6.1 and there is not such logs duplication in 3.5 and 3.6.0.
Is it a bug or expected behavior?
OS is CentOS 7.2
# rpm -qa 'ovirt*'
ovirt-vmconsole-1.0.0-1.el7.centos.noarch
ovirt-vmconsole-host-1.0.0-1.el7.centos.noarch
ovirt-host-deploy-1.4.1-1.el7.centos.noarch
ovirt-hosted-engine-ha-1.3.3.5-1.el7.centos.noarch
ovirt-engine-sdk-python-3.6.0.3-1.el7.centos.noarch
ovirt-release36-002-2.noarch
ovirt-setup-lib-1.0.0-1.el7.centos.noarch
ovirt-hosted-engine-setup-1.3.1.3-1.el7.centos.noarch
# cat /etc/ovirt-hosted-engine-ha/agent-log.conf
[loggers]
keys=root
[handlers]
keys=syslog,logfile
[formatters]
keys=long,sysform
[logger_root]
level=INFO
handlers=syslog,logfile
propagate=0
[handler_syslog]
level=ERROR
class=handlers.SysLogHandler
formatter=sysform
args=('/dev/log', handlers.SysLogHandler.LOG_USER)
[handler_logfile]
class=logging.handlers.TimedRotatingFileHandler
args=('/var/log/ovirt-hosted-engine-ha/agent.log', 'd', 1, 7)
level=DEBUG
formatter=long
[formatter_long]
format=%(threadName)s::%(levelname)s::%(asctime)s::%(module)s::%(lineno)d::%(name)s::(%(funcName)s)
%(message)s
[formatter_sysform]
format=ovirt-ha-agent %(name)s %(levelname)s %(message)s
datefmt=
Aleksey
8 years, 11 months
R: Re: R: Re: Network instability after upgrade 3.6.0 -> 3.6.1
by Stefano Danzi
----_com.android.email_999765613676600
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64
CiAgICAKSGkgRGFuLEkgY2FuJ3QgY2hhbmdlIHN3aXRjaCBzZXR0aW5ncyB1bnRpbCBuZXh0IHdl
ZWsuSSB3aWxsIHBvc3QgYSBtZXNzYWdlIGFmdGVyIG90aGVycyB0ZXN0cy4KCi0tLS0tLS0tIE1l
c3NhZ2dpbyBvcmlnaW5hbGUgLS0tLS0tLS0KRGE6IERhbiBLZW5pZ3NiZXJnIDxkYW5rZW5AcmVk
aGF0LmNvbT4gCkRhdGE6IDMxLzEyLzIwMTUgIDA5OjQ0ICAoR01UKzAxOjAwKSAKQTogU3RlZmFu
byBEYW56aSA8cy5kYW56aUBoYXdhaS5pdD4gCkNjOiBKb24gQXJjaGVyIDxqb25Acm9zc2x1Zy5v
cmcudWs+LCBtYnVybWFuQHJlZGhhdC5jb20sIHVzZXJzQG92aXJ0Lm9yZyAKT2dnZXR0bzogUmU6
IFtvdmlydC11c2Vyc10gUjogUmU6IE5ldHdvcmsgaW5zdGFiaWxpdHkgYWZ0ZXIgdXBncmFkZSAz
LjYuMCAtPgogIDMuNi4xIAoKSSBkbyBub3Qgc2VlIGFueXRoaW5nIHN1c3BlY2lvdXMgaGVyZS4K
CldoaWNoIGtlcm5lbCB2ZXJzaW9uIHdvcmtlZCB3ZWxsIGZvciB5b3U/CgpXb3VsZCBpdCBiZSBw
b3NzaWJsZSB0byBib290IHRoZSBtYWNoaW5lIHdpdGggaXQsIGFuZCByZXRlc3QgYm9uZCBtb2Rl
CjQsIHNvIHRoYXQgd2UgY2FuIHdob2xlLWhlYXJ0ZWRseSBwbGFjZSB0aGUgYmxhbWUgb24ga2Vy
bmVsPwo=
----_com.android.email_999765613676600
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64
PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0
L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPjwvaGVhZD48Ym9keT4KICAgIAo8ZGl2PkhpIERhbiw8L2Rp
dj48ZGl2PkkgY2FuJ3QgY2hhbmdlIHN3aXRjaCBzZXR0aW5ncyB1bnRpbCBuZXh0IHdlZWsuPC9k
aXY+PGRpdj5JIHdpbGwgcG9zdCBhIG1lc3NhZ2UgYWZ0ZXIgb3RoZXJzIHRlc3RzLjwvZGl2Pjxi
cj48YnI+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEwMCU7dGV4dC1hbGlnbjpsZWZ0O2NvbG9yOiMw
MDAwMDAiPi0tLS0tLS0tIE1lc3NhZ2dpbyBvcmlnaW5hbGUgLS0tLS0tLS08YnI+RGE6IERhbiBL
ZW5pZ3NiZXJnICZsdDtkYW5rZW5AcmVkaGF0LmNvbSZndDsgPGJyPkRhdGE6IDMxLzEyLzIwMTUg
IDA5OjQ0ICAoR01UKzAxOjAwKSA8YnI+QTogU3RlZmFubyBEYW56aSAmbHQ7cy5kYW56aUBoYXdh
aS5pdCZndDsgPGJyPkNjOiBKb24gQXJjaGVyICZsdDtqb25Acm9zc2x1Zy5vcmcudWsmZ3Q7LCBt
YnVybWFuQHJlZGhhdC5jb20sIHVzZXJzQG92aXJ0Lm9yZyA8YnI+T2dnZXR0bzogUmU6IFtvdmly
dC11c2Vyc10gUjogUmU6IE5ldHdvcmsgaW5zdGFiaWxpdHkgYWZ0ZXIgdXBncmFkZSAzLjYuMCAt
Jmd0OwogIDMuNi4xIDxicj48YnI+PC9kaXY+SSBkbyBub3Qgc2VlIGFueXRoaW5nIHN1c3BlY2lv
dXMgaGVyZS48YnI+PGJyPldoaWNoIGtlcm5lbCB2ZXJzaW9uIHdvcmtlZCB3ZWxsIGZvciB5b3U/
PGJyPjxicj5Xb3VsZCBpdCBiZSBwb3NzaWJsZSB0byBib290IHRoZSBtYWNoaW5lIHdpdGggaXQs
IGFuZCByZXRlc3QgYm9uZCBtb2RlPGJyPjQsIHNvIHRoYXQgd2UgY2FuIHdob2xlLWhlYXJ0ZWRs
eSBwbGFjZSB0aGUgYmxhbWUgb24ga2VybmVsPzxicj48L2JvZHk+PC9odG1sPg==
----_com.android.email_999765613676600--
8 years, 11 months
Can I reduce the Java heap size of engine-backup???
by John Florian
I'm trying to run the engine-backup script via a Bacula job using the
RunScript option so that the engine-backup dumps its output someplace
where Bacula will collect it once engine-backup finishes. However the
job is failing and with enough digging I eventually learned the script
was writing the following in /tmp/hs_err_pid5789.log:
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 2555904 bytes for
committing reserved memory.
# Possible reasons:
# The system is out of physical RAM or swap space
# In 32 bit mode, the process size limit was hit
# Possible solutions:
# Reduce memory load on the system
# Increase physical memory or swap space
# Check if swap backing store is full
# Use 64 bit Java on a 64 bit OS
# Decrease Java heap size (-Xmx/-Xms)
# Decrease number of Java threads
# Decrease Java thread stack sizes (-Xss)
# Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
# Out of Memory Error (os_linux.cpp:2627), pid=5789, tid=140709998221056
#
# JRE version: (8.0_65-b17) (build )
# Java VM: OpenJDK 64-Bit Server VM (25.65-b01 mixed mode linux-amd64
compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable
core dumping, try "ulimit -c unlimited" before starting Java again
#
So is there any good way to reduce the Java heap size? I mean I know
what -Xmx does, but where might I try setting it, ideally so that it
affects the engine-backup only? Any idea of good setting for a very
small environment with a dozen VMs?
--
John Florian
8 years, 11 months
oVirt on Dell SC1435
by Michael Cooper
Hey Guys,
First time pposter here, I am having an issue with installing oVirt
on a Dell SC1435
I ran lscpu to make sure I was Virtualized in the bios, The following was
the result
[root@council ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 30
Model name: Intel(R) Core(TM) i7 CPU K 875 @ 2.93GHz
Stepping: 5
CPU MHz: 1197.000
BogoMIPS: 5862.18
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
So I then tried to run the hosted-engine --deploy and this is what happens:
[root@starfleet tmpengineiso]# screen
[ INFO ] Stage: Initializing
[ INFO ] Generating a temporary VNC password.
[ INFO ] Stage: Environment setup
Continuing will configure this host for serving as hypervisor and
create a VM where you have to install oVirt Engine afterwards.
Are you sure you want to continue? (Yes, No)[Yes]: YEs
Configuration files: []
Log file:
/var/log/ovirt-hosted-engine-setup/ovirt-hosted-engine-setup-20151230042443-p6o0qo.log
Version: otopi-1.4.0 (otopi-1.4.0-1.el7.centos)
[ ERROR ] Failed to execute stage 'Environment setup': Hardware does not
support virtualization
[ INFO ] Stage: Clean up
[ INFO ] Generating answer file
'/var/lib/ovirt-hosted-engine-setup/answers/answers-20151230042447.conf'
[ INFO ] Stage: Pre-termination
[ INFO ] Stage: Termination
I have attached my logfile, and a few screeshots .... Let me know please,
Thanks,
--
Michael A Cooper
Linux Certified
Zerto Certified
http://www.coopfire.com
8 years, 11 months
host xxx did no satisfy internal filter Memory because its swap value was illegal.
by pc
[sorry, this is my first time to use mailing list, repost again, with content from html to plain text]
### Description ###
1. problem
1) migrate vm {name:xyz001, mem(min, max) = (2G,4G)} from ovirt host n33 to n34, failed.
2) shutting down vm {name: test001, mem(min, max) = (1G,1G)} on n34, update test001's config: Host->Start Running On: Specific(n34), then start test001, while, it's running on n33.
2. err message
Error while executing action: migrate
[engine gui]
xyz001:
Cannot migrate VM. There is no host that satisfies current scheduling constraints. See below for details:
The host n33.ovirt did not satisfy internal filter Memory because has availabe 1863 MB memory. Insufficient free memory to run the VM.
The host n34.ovirt did not satisfy internal filter Memory because its swap value was illegal.
[engine.log]
INFO [org.ovirt.engine.core.bll.MigrateVmCommand] (default task-23) [5916aa3b] Lock Acquired to object 'EngineLock:{exclusiveLocks='[73351885-9a92-4317-baaf-e4f2bed1171a=<VM, ACTION_TYPE_FAILED_VM_IS_BEING_MIGRATED$VmName test11>]', sharedLocks='null'}'
INFO [org.ovirt.engine.core.bll.scheduling.SchedulingManager] (default task-23) [5916aa3b] Candidate host 'n34' ('2ae3a219-ae9a-4347-b1e2-0e100360231e') was filtered out by 'VAR__FILTERTYPE__INTERNAL' filter 'Memory' (correlation id: null)
INFO [org.ovirt.engine.core.bll.scheduling.SchedulingManager] (default task-23) [5916aa3b] Candidate host 'n33' ('688aec34-5630-478e-ae5e-9d57990804e5') was filtered out by 'VAR__FILTERTYPE__INTERNAL' filter 'Memory' (correlation id: null)
WARN [org.ovirt.engine.core.bll.MigrateVmCommand] (default task-23) [5916aa3b] CanDoAction of action 'MigrateVm' failed for user admin@internal. Reasons: VAR__ACTION__MIGRATE,VAR__TYPE__VM,SCHEDULING_ALL_HOSTS_FILTERED_OUT,VAR__FILTERTYPE__INTERNAL,$hostName n33,$filterName Memory,$availableMem 1863,VAR__DETAIL__NOT_ENOUGH_MEMORY,SCHEDULING_HOST_FILTERED_REASON_WITH_DETAIL,VAR__FILTERTYPE__INTERNAL,$hostName n34,$filterName Memory,VAR__DETAIL__SWAP_VALUE_ILLEGAL,SCHEDULING_HOST_FILTERED_REASON_WITH_DETAIL
INFO [org.ovirt.engine.core.bll.MigrateVmCommand] (default task-23) [5916aa3b] Lock freed to object 'EngineLock:{exclusiveLocks='[73351885-9a92-4317-baaf-e4f2bed1171a=<VM, ACTION_TYPE_FAILED_VM_IS_BEING_MIGRATED$VmName test11>]', sharedLocks='null'}'
3. DC
Compatibility Version: 3.5
4. Cluster
Memory Optimization: For Server Load - Allow scheduling of 150% of physical memory
Memory Balloon: Enable Memory Balloon Optimization
Enable KSM: Share memory pages across all available memory (best KSM effectivness)
5. HOST
name: n33, n34
mem: 32G
6. VM
[n33] 11 vms
(min, max) = (2G,4G) = 8
(min, max) = (2G,8G) = 1
(min, max) = (2G,2G) = 2
total: 22G/44G
[n34] 7 vms
(min, max) = (0.5G,1G) = 1
(min, max) = (1G,2G) = 1
(min, max) = (2G,2G) = 1
(min, max) = (2G,4G) = 3
(min, max) = (8G,8G) = 1
total: 17.5G/25G
--------------------------------------------
(min, max) = (2G,4G) stands for:
Memory Size: 4G
Physical Memory Guaranteed: 2G
Memory Balloon Device Enabled: checked
--------------------------------------------
7. rpm version
[root@n33 ~]# rpm -qa |grep vdsm
vdsm-yajsonrpc-4.16.27-0.el6.noarch
vdsm-jsonrpc-4.16.27-0.el6.noarch
vdsm-cli-4.16.27-0.el6.noarch
vdsm-python-zombiereaper-4.16.27-0.el6.noarch
vdsm-xmlrpc-4.16.27-0.el6.noarch
vdsm-python-4.16.27-0.el6.noarch
vdsm-4.16.27-0.el6.x86_64
[root@engine ~]# rpm -qa |grep ovirt
ovirt-release36-001-2.noarch
ovirt-engine-setup-base-3.6.0.3-1.el6.noarch
ovirt-engine-setup-3.6.0.3-1.el6.noarch
ovirt-image-uploader-3.6.0-1.el6.noarch
ovirt-engine-wildfly-8.2.0-1.el6.x86_64
ovirt-engine-setup-plugin-vmconsole-proxy-helper-3.6.0.3-1.el6.noarch
ovirt-host-deploy-1.4.0-1.el6.noarch
ovirt-engine-backend-3.6.0.3-1.el6.noarch
ovirt-engine-webadmin-portal-3.6.0.3-1.el6.noarch
ovirt-engine-jboss-as-7.1.1-1.el6.x86_64
ovirt-engine-lib-3.6.0.3-1.el6.noarch
ovirt-engine-setup-plugin-ovirt-engine-common-3.6.0.3-1.el6.noarch
ovirt-engine-setup-plugin-ovirt-engine-3.6.0.3-1.el6.noarch
ovirt-engine-setup-plugin-websocket-proxy-3.6.0.3-1.el6.noarch
ovirt-engine-sdk-python-3.6.0.3-1.el6.noarch
ovirt-iso-uploader-3.6.0-1.el6.noarch
ovirt-vmconsole-proxy-1.0.0-1.el6.noarch
ovirt-engine-extensions-api-impl-3.6.0.3-1.el6.noarch
ovirt-engine-websocket-proxy-3.6.0.3-1.el6.noarch
ovirt-engine-vmconsole-proxy-helper-3.6.0.3-1.el6.noarch
ebay-cors-filter-1.0.1-0.1.ovirt.el6.noarch
ovirt-host-deploy-java-1.4.0-1.el6.noarch
ovirt-engine-tools-3.6.0.3-1.el6.noarch
ovirt-engine-restapi-3.6.0.3-1.el6.noarch
ovirt-engine-3.6.0.3-1.el6.noarch
ovirt-engine-extension-aaa-jdbc-1.0.1-1.el6.noarch
ovirt-engine-cli-3.6.0.1-1.el6.noarch
ovirt-vmconsole-1.0.0-1.el6.noarch
ovirt-engine-wildfly-overlay-001-2.el6.noarch
ovirt-engine-dbscripts-3.6.0.3-1.el6.noarch
ovirt-engine-userportal-3.6.0.3-1.el6.noarch
ovirt-guest-tools-iso-3.6.0-0.2_master.fc22.noarch
### DB ###
[root@engine ~]# su postgres
bash-4.1$ cd ~
bash-4.1$ psql engine
engine=# select vds_id, physical_mem_mb, mem_commited, vm_active, vm_count, reserved_mem, guest_overhead, transparent_hugepages_state, pending_vmem_size from vds_dynamic;
vds_id | physical_mem_mb | mem_commited | vm_active | vm_count | reserved_mem | guest_overhead | transparent_hugepages_state | pending_vmem_size
--------------------------------------+-----------------+--------------+-----------+----------+--------------+----------------+-----------------------------+-------------------
688aec34-5630-478e-ae5e-9d57990804e5 | 32057 | 45836 | 11 | 11 | 321 | 65 | 2 | 0
2ae3a219-ae9a-4347-b1e2-0e100360231e | 32057 | 26120 | 7 | 7 | 321 | 65 | 2 | 0
(2 rows)
### memory ###
[n33]
# free -m
total used free shared buffers cached
Mem: 32057 31770 287 0 41 6347
-/+ buffers/cache: 25381 6676
Swap: 29999 10025 19974
Physical Memory: 32057 MB total, 25646 MB used, 6411 MB free
Swap Size: 29999 MB total, 10025 MB used, 19974 MB free
Max free Memory for scheduling new VMs: 1928.5 MB
[n34]
# free -m
total used free shared buffers cached
Mem: 32057 31713 344 0 78 13074
-/+ buffers/cache: 18560 13497
Swap: 29999 5098 24901
Physical Memory: 32057 MB total, 18593 MB used, 13464 MB free
Swap Size: 29999 MB total, 5098 MB used, 24901 MB free
Max free Memory for scheduling new VMs: 21644.5 MB
### code ###
##from: https://github.com/oVirt/ovirt-engine
v3.6.0
##from: D:\code\java\ovirt-engine\backend\manager\modules\dal\src\main\resources\bundles\AppErrors.properties
VAR__DETAIL__SWAP_VALUE_ILLEGAL=$detailMessage its swap value was illegal
##from: D:\code\java\ovirt-engine\backend\manager\modules\bll\src\main\java\org\ovirt\engine\core\bll\scheduling\policyunits\MemoryPolicyUnit.java
#-----------code--------------1#
private boolean isVMSwapValueLegal(VDS host) {
if (!Config.<Boolean> getValue(ConfigValues.EnableSwapCheck)) {
return true;
}
(omitted..)
return ((swap_total - swap_free - mem_available) * 100 / physical_mem_mb) <= Config.<Integer> getValue(ConfigValues.BlockMigrationOnSwapUsagePercentage)
(omitted..)
}
#-----------code--------------1#
if EnableSwapCheck = False then return True, so we can simply disable this option? Any Suggestion?
[root@engine ~]# engine-config --get BlockMigrationOnSwapUsagePercentage
BlockMigrationOnSwapUsagePercentage: 0 version: general
so,,
Config.<Integer> getValue(ConfigValues.BlockMigrationOnSwapUsagePercentage) = 0
so,,
(swap_total - swap_free - mem_available) * 100 / physical_mem_mb <= 0
so,,
swap_total - swap_free - mem_available <= 0
right?
so,, if (swap_total - swap_free) <= mem_available then return True else return False
#-----------code--------------2#
for (VDS vds : hosts) {
if (!isVMSwapValueLegal(vds)) {
log.debug("Host '{}' swap value is illegal", vds.getName());
messages.addMessage(vds.getId(), EngineMessage.VAR__DETAIL__SWAP_VALUE_ILLEGAL.toString());
continue;
}
if (!memoryChecker.evaluate(vds, vm)) {
int hostAavailableMem = SlaValidator.getInstance().getHostAvailableMemoryLimit(vds);
log.debug("Host '{}' has {} MB available. Insufficient memory to run the VM",
vds.getName(),
hostAavailableMem);
messages.addMessage(vds.getId(), String.format("$availableMem %1$d", hostAavailableMem));
messages.addMessage(vds.getId(), EngineMessage.VAR__DETAIL__NOT_ENOUGH_MEMORY.toString());
continue;
}
(omitted..)
}
#-----------code--------------2#
!isVMSwapValueLegal then throw exception, right?
so,, when we migrate vm from n33 to n34, the swap status on n34 actually is:
(swap_total - swap_free) > mem_available
swap_used > mem_available? confused...
so,, the logic is:
1) check n33: swap[passed], then memory[failed], then goto (for..continue..loop)
2) check n34: swap[failed], then goto (for..continue..loop)
If I have misunderstood anything, please let me know.
### conclusion ###
1) n33 do not have enough memory. [yes, I know that.]
2) n34 memory is illegal [why and how to solve it?]
3) what I tried:
--change config: BlockMigrationOnSwapUsagePercentage
[root@engine ~]# engine-config --set BlockMigrationOnSwapUsagePercentage=75 -cver general
[root@engine ~]# engine-config --get BlockMigrationOnSwapUsagePercentage
BlockMigrationOnSwapUsagePercentage: 75 version: general
Result: failed.
--disable EnableSwapCheck
How? Option not found from 'engine-config --list', should I update table field direct from db?
--disk swap partition on host
Should I do this operation?
--update ovirt-engine?
No useful infomation found in latest release note, should I do this operation?
### help ###
any help would be appreciated.
ZYXW. Reference
http://www.ovirt.org/Sla/FreeMemoryCalculation
http://lists.ovirt.org/pipermail/users/2012-November/010858.html
http://lists.ovirt.org/pipermail/users/2013-March/013201.html
http://comments.gmane.org/gmane.comp.emulators.ovirt.user/19288
http://jim.rippon.me.uk/2013/07/ovirt-testing-english-instructions-for.html
8 years, 11 months
How to manually restore ovirt-engine from sql dump file?
by Arman Khalatyan
Hello,
Due to the HW error we lost ovirt-engine db.
We have only recent dump files from
/var/lib/ovirt-engine/backups/
Is it possible to restore database using dump files?
BTW the VMs are still running without ovirt-engine.
Thanks,
Arman.
***********************************************************
Dr. Arman Khalatyan eScience -SuperComputing
Leibniz-Institut für Astrophysik Potsdam (AIP)
An der Sternwarte 16, 14482 Potsdam, Germany
***********************************************************
8 years, 11 months
virt-viewer error
by 靳占冰
This is a multi-part message in MIME format.
--------------030407000705030404080406
Content-Type: text/plain; charset=gbk; format=flowed
Content-Transfer-Encoding: 7bit
virt-viewer-x64-3.0.msi version can not connect a virtual machine.
Error: Can not find the specified file
When I select Console button to connect AD virtual machines, reported
the following error: cannot find Application.
1.My client system is windows7
2.I use the Firefox browser
--------------030407000705030404080406
Content-Type: multipart/related;
boundary="------------080908020104080006090707"
--------------080908020104080006090707
Content-Type: text/html; charset=gbk
Content-Transfer-Encoding: 7bit
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gbk">
</head>
<body bgcolor="#FFFFFF" text="#000000">
virt-viewer-x64-3.0.msi version can not connect a virtual machine.
<br>
Error: Can not find the specified file<br>
<br>
<img src="cid:part1.05080101.01050702@horebdata.cn" alt=""
height="372" width="713"><br>
<br>
When I select Console button<img
src="cid:part2.03040805.05010002@horebdata.cn">
to connect AD virtual machines, reported the following error: cannot
find Application.<br>
1.My client system is windows7<br>
2.I use the Firefox browser<br>
</body>
</html>
--------------080908020104080006090707
Content-Type: image/png;
name="fhbgcgej.png"
Content-Transfer-Encoding: base64
Content-ID: <part1.05080101.01050702(a)horebdata.cn>
Content-Disposition: inline;
filename="fhbgcgej.png"
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
SUVORK5CYII=
--------------080908020104080006090707
Content-Type: image/png;
name="I[XKT_E_GD[62BIJ[`ZD8[4.png"
Content-Transfer-Encoding: base64
Content-ID: <part2.03040805.05010002(a)horebdata.cn>
Content-Disposition: inline;
filename="I[XKT_E_GD[62BIJ[`ZD8[4.png"
iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAIAAAD3FQHqAAABiElEQVQ4Ec2UTUsCQRjH581Z
JFYKREOokybksQ+Rhy7ehS7ePOXFzxL4AezgqVN4EJIgEAJPHn3LDQnFzRTT3ZmeZRJE115o
g4aFnZ3nz+/5PzPPLJZSIo8G8YjjYLxkMVdfUDjGWEixsBYIr0s45RBVmtWYs7T6/Zu5uy9b
2JTQ+mM9c5mZaTNLWJADbAZ4ANYrFxU/92/6cmcps83nZhu1i+fFntXDBAdJMF1OD24HwhaA
/i4LtsMxgkQilOgedPNPeR/32Zo93huTHaJ2UGlW98Tdl1JIJKGiCZr0R32kIXiwDUk2zmLJ
c2d9HIhAnVGnUWuga8RCzHq1JJXyDYLOcf2gRpDG9mP6VK/eVCOLiPFgxA/juqazI0YpIJ2m
WRpavmH1y1G4K/AzbpjG58qtNUIHQOZaq1a6L5Vb5bmYZ6+y0d1o7jQX1sPKyZo1d5Yjkohg
wigzp2byOJk6SQ1fhjDXmAZRMLgGAvrf9z0kUZnhAkDTQx9Af6i6tl1Gj315+c/5r6x3h3Hw
dFbwgr0AAAAASUVORK5CYII=
--------------080908020104080006090707--
--------------030407000705030404080406--
8 years, 11 months
oVirt 3.6.1 ISO storage domain with all-in-one local disk install not working as expected
by Matthew Bohnsack
Hello,
I installed an all-in-one oVirt 3.6.1 system on CentOS 7.2 with local disk
configured for images and ISOs. However, the engine web GUI doesn't
mention the ISO_DOMAIN, and I can't seem to select an uploaded ISO and
attach it to a VM. Any idea what I'm doing wrong here?
Thanks,
-Matthew
Additional detail...
I did engine setup with this where all paths are on local disk:
OVESETUP_CONFIG/isoDomainName=str:ISO_DOMAIN
OVESETUP_CONFIG/isoDomainACL=str:*(rw)
OVESETUP_CONFIG/isoDomainMountPoint=str:/home/ovirt-localdisk/iso
OVESETUP_AIO/storageDomainDir=str:/home/ovirt-localdisk/images/
With this, I was able to upload an image like so:
[root@host ~]# engine-iso-uploader upload -i ISO_DOMAIN
./CentOS-7-x86_64-Minimal-1511.iso
Please provide the REST API password for the admin@internal oVirt Engine
user (CTRL+D to abort):
Uploading, please wait...
INFO: Start uploading ./CentOS-7-x86_64-Minimal-1511.iso
Uploading: [########################################] 100%
INFO: ./CentOS-7-x86_64-Minimal-1511.iso uploaded successfully
After this, the local filesystem had my image:
[root@host ~]# find /home/ovirt-localdisk/iso/ -iname \*.iso
/home/ovirt-localdisk/iso/d33449b5-f660-4e90-abd4-5d55f9c27b85/images/11111111-1111-1111-1111-111111111111/CentOS-7-x86_64-Minimal-1511.iso
But this seems to say something's wrong:
[root@host ~]# engine-iso-uploader list
Please provide the REST API password for the admin@internal oVirt Engine
user (CTRL+D to abort):
ERROR: There are no ISO storage domains.
Further, the engine web gui has no mention of the ISO storage domain nor
does CentOS-7-x86_64-Minimal-1511.iso show up as an option to attach as a
CDROM to guests.
8 years, 11 months
Re: [ovirt-users] Self-hosted engine: Host cannot activate - network issues
by Yedidyah Bar David
On Tue, Dec 29, 2015 at 4:15 AM, Alan Murrell <lists(a)murrell.ca> wrote:
> I am attempting to install oVirt 3.6 on a CentOS7 host. it is a single
> server, so I am trying to install a self-hosted engine. I am able to
> install oVirt 3.5 self-hosted engine, but am having some problems doing it
> with 3.6.
>
> Everything appears to go fine; the engine-setup completes successfully. On
> the host, I pressed"1" to indicate engine-setup was complete, and it can
> connect to the webadmin but the host never becomes operational.
>
> I am able to log in to the webadmin, and indeed the host is in a
> non-operational state. When I click on the host then click on the "Virtual
> networks" tab, all my interfaces are showing a red arrow.
>
> When I click on "Setup Host Networks", my "ovirtmgmt" network is unassigned.
> Believing this to be why my host is not operational (since it is under
> "Required"), I assigned it to my management interface, but the interfaces
> still remain red. In addition, the "ovirtmgmt" network does have a green
> arrow, but also the icon indicating "Out of sync". If I click on "Sync All
> Networks", I get the following error:
>
> "Error while executing action SyncAllHostNetworks: Network is currently
> being used"
>
> which makes sense, since "ovirtmgmt" is assigned/in use. I am unable to
> unassign ovirtmgmt.
>
> Current status is this:
>
> - All network interfaces are showing the red "down" arrow
> - "ovirtmgmt" is assigned to my management NIC, but indicating that it is
> out of sync
> - I am unable to unassign the "ovirtmgmt" network (or at least, if I do,
> the "OK" button is greyed out)
>
> I could destroy the engine VM and go through the setup again, with the idea
> of once it is installed and waiting for the host to become operational, I
> could do a "Sync All Networks" and see if the networks turn green and go
> from there.
>
> I wanted to see what sort of insight I could get from here first. I am not
> sure what logs would be useful to you, so let me know what you want to see
> and I and make them available (I will likely zip them up and post a link)
from host:
/var/log/ovirt-hosted-engine-*/* (-setup and -ha)
/var/log/vdsm/*
from engine:
/var/log/ovirt-engine/*
/var/log/ovirt-engine/host-deploy/*
If last one is empty, it means the engine did not manage to get
host-deploy logs. Please check and try to copy what you find from /tmp
of the host while waiting for host-deploy ("Waiting for the host to
become operational").
>
> Something else I could try if this becomes a "puzzler" is to do a 3.5.x
> self-hosted engine then perform an in-place upgrade to 3.6 and see if that
> works? I would rather try to help make a direct 3.6 install work, though...
Did you principally do exactly the same thing in 3.5 and 3.6?
In both cases just had a simple network interface (no vlan/bonding/whatever)
and input it when asked?
What exact versions (OS and ovirt)?
I also changed the subject.
Best,
--
Didi
8 years, 11 months
ovirt 3.6 centos7.2 all-in-one install: The VDSM host was found in a failed state.
by Matthew Bohnsack
Hello,
I am attempting to build a fairly basic proof of concept ovirt 3.6 machine
with the engine, host and guests all on a single physical CentOS 7.2 box
with local storage (to start), but am running into issues where
engine-install produces the following error:
[ ERROR ] The VDSM host was found in a failed state. Please check engine
and bootstrap installation logs.
The engine webconsole seems to be working fine after this - I can login and
click around - but there's no host CPU/storage resources available, as
expected. From the logs shown below, there seems to be an issue with the
vdsm installation process being unable to contact the engine host during
installation. Any ideas what's going wrong and/or what I can do to debug
things further so I can move beyond this issue?
Thanks,
-Matthew
Steps I took to install and diagnose the problem:
1. Installed system with our configuration management system.
2. Deleted users using UID=36 (needed by vdsm user) and UID=108 (needed by
ovirt user).
3. Ensured that /etc/sudoers contained the line "#includedir
/etc/sudoers.d" so that /etc/sudoers.d/50_vdsm will take effect.
4. Made directories for isos and images:
# mkdir /state/partition1/images/; chmod 777 /state/partition1/images/
# mkdir /state/partition1/iso/; chmod 777 /state/partition1/iso/
5. Ensured selinux was disabled and no firewall rules were installed.
6. Installed RPMs:
# yum -y install http://resources.ovirt.org/pub/yum-repo/ovirt-release36.rpm
# yum -y install ovirt-engine ovirt-engine-setup-plugin-allinone
# rpm -qa | grep ovirt-release36
ovirt-release36-002-2.noarch
7. Installed engine with an all-in-one configuration (Configure VDSM on
this host? Yes):
# cat /root/ovirt-engine.ans
# action=setup
[environment:default]
OVESETUP_DIALOG/confirmSettings=bool:True
OVESETUP_CONFIG/applicationMode=str:virt
OVESETUP_CONFIG/remoteEngineSetupStyle=none:None
OVESETUP_CONFIG/sanWipeAfterDelete=bool:False
OVESETUP_CONFIG/storageIsLocal=bool:False
OVESETUP_CONFIG/firewallManager=none:None
OVESETUP_CONFIG/remoteEngineHostRootPassword=none:None
OVESETUP_CONFIG/firewallChangesReview=none:None
OVESETUP_CONFIG/updateFirewall=bool:False
OVESETUP_CONFIG/remoteEngineHostSshPort=none:None
OVESETUP_CONFIG/fqdn=<...host.fqdn...>
OVESETUP_CONFIG/storageType=none:None
OSETUP_RPMDISTRO/requireRollback=none:None
OSETUP_RPMDISTRO/enableUpgrade=none:None
OVESETUP_DB/secured=bool:False
OVESETUP_DB/host=str:localhost
OVESETUP_DB/user=str:engine
OVESETUP_DB/dumper=str:pg_custom
OVESETUP_DB/database=str:engine
OVESETUP_DB/fixDbViolations=none:None
OVESETUP_DB/port=int:5432
OVESETUP_DB/filter=none:None
OVESETUP_DB/restoreJobs=int:2
OVESETUP_DB/securedHostValidation=bool:False
OVESETUP_ENGINE_CORE/enable=bool:True
OVESETUP_CORE/engineStop=none:None
OVESETUP_SYSTEM/memCheckEnabled=bool:True
OVESETUP_SYSTEM/nfsConfigEnabled=bool:True
OVESETUP_PKI/organization=str:<...dn...>
OVESETUP_PKI/renew=none:None
OVESETUP_CONFIG/isoDomainName=str:ISO_DOMAIN
OVESETUP_CONFIG/engineHeapMax=str:7975M
OVESETUP_CONFIG/adminPassword=str:<...password...>
OVESETUP_CONFIG/isoDomainACL=str:*(rw)
OVESETUP_CONFIG/isoDomainMountPoint=str:/state/partition1/iso
OVESETUP_CONFIG/engineDbBackupDir=str:/var/lib/ovirt-engine/backups
OVESETUP_CONFIG/engineHeapMin=str:7975M
OVESETUP_AIO/configure=bool:True
OVESETUP_AIO/storageDomainName=str:local_storage
OVESETUP_AIO/storageDomainDir=str:/state/partition1/images/
OVESETUP_PROVISIONING/postgresProvisioningEnabled=bool:True
OVESETUP_APACHE/configureRootRedirection=bool:True
OVESETUP_APACHE/configureSsl=bool:True
OVESETUP_VMCONSOLE_PROXY_CONFIG/vmconsoleProxyConfig=bool:True
OVESETUP_ENGINE_CONFIG/fqdn=str:<...fqdn...>
OVESETUP_CONFIG/websocketProxyConfig=bool:True
# engine-setup --config-append=/root/ovirt-engine.ans
...
[ INFO ] Starting engine service
[ INFO ] Restarting httpd
[ INFO ] Waiting for VDSM host to become operational. This may take
several minutes...
[ ERROR ] The VDSM host was found in a failed state. Please check engine
and bootstrap installation logs.
[WARNING] Local storage domain not added because the VDSM host was not up.
Please add it manually.
[ INFO ] Restarting ovirt-vmconsole proxy service
[ INFO ] Stage: Clean up
Log file is located at
/var/log/ovirt-engine/setup/ovirt-engine-setup-20151228112813-iksxhe.log
[ INFO ] Generating answer file
'/var/lib/ovirt-engine/setup/answers/20151228113003-setup.conf'
[ INFO ] Stage: Pre-termination
[ INFO ] Stage: Termination
[ INFO ] Execution of setup completed successfully
8. Examined /var/log/ovirt-engine/setup/ovirt-engine-setup-20151228112813-iksxhe.log
and found this error message which seems to indicate that the vdsm
installation process was unable to contact the engine:
2015-12-28 11:29:29 DEBUG otopi.plugins.otopi.services.systemd
plugin.execute:941 execute-output: ('/bin/systemctl', 'start',
'httpd.service') stderr:
2015-12-28 11:29:29 DEBUG otopi.context context._executeMethod:142 Stage
closeup METHOD
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi.Plugin._closeup
2015-12-28 11:29:29 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._closeup:211 Connecting to the Engine
2015-12-28 11:29:29 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._waitEngineUp:103 Waiting Engine API response
2015-12-28 11:29:29 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._waitEngineUp:133 Cannot connect to engine
Traceback (most recent call last):
File
"/usr/share/ovirt-engine/setup/bin/../plugins/ovirt-engine-setup/ovirt-engine/all-in-one/vdsmi.py",
line 127, in _waitEngineUp
insecure=True,
File "/usr/lib/python2.7/site-packages/ovirtsdk/api.py", line 191, in
__init__
url=''
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py",
line 115, in request
persistent_auth=self.__persistent_auth
File
"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionspool.py",
line 79, in do_request
persistent_auth)
File
"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionspool.py",
line 155, in __do_request
raise errors.RequestError(response_code, response_reason, response_body)
RequestError: ^M
status: 503^M
reason: Service Unavailable^M
detail:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Unavailable</title>
</head><body>
<h1>Service Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>
2015-12-28 11:29:36 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._waitEngineUp:133 Cannot connect to engine
Traceback (most recent call last):
File
"/usr/share/ovirt-engine/setup/bin/../plugins/ovirt-engine-setup/ovirt-engine/all-in-one/vdsmi.py",
line 127, in _waitEngineUp
insecure=True,
File "/usr/lib/python2.7/site-packages/ovirtsdk/api.py", line 191, in
__init__
url=''
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py",
line 115, in request
persistent_auth=self.__persistent_auth
File
"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionspool.py",
line 79, in do_request
persistent_auth)
File
"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionspool.py",
line 155, in __do_request
raise errors.RequestError(response_code, response_reason, response_body)
RequestError: ^M
status: 404^M
reason: Not Found^M
detail:
...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<link id="id-link-favicon" rel="shortcut icon"
href="/ovirt-engine/theme-resource/favicon" type="image/x-icon" />
<title>404 - Page not found</title>
...
</html>
2015-12-28 11:29:50 DEBUG otopi.ovirt_engine_setup.engine_common.database
database.execute:171 Database: 'None', Statement: '
select version, option_value
from vdc_options
where option_name = %(name)s
', args: {'name': 'SupportedClusterLevels'}
2015-12-28 11:29:50 DEBUG otopi.ovirt_engine_setup.engine_common.database
database.execute:221 Result: [{'version': 'general', 'option_value':
'3.0,3.1,3.2,3.3,3.4,3.5,3.6'}]
2015-12-28 11:29:50 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._closeup:225 engine SupportedClusterLevels
[3.0,3.1,3.2,3.3,3.4,3.5,3.6], PACKAGE_VERSION [3.6.1.3],
2015-12-28 11:29:50 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._getSupportedClusterLevels:181 Attempting to load the dsaversion vdsm
module
2015-12-28 11:29:50 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._closeup:236 VDSM SupportedClusterLevels [['3.4', '3.5', '3.6']],
VDSM VERSION [4.17.13-0.el7.centos],
2015-12-28 11:29:50 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._closeup:259 Creating the local data center
2015-12-28 11:29:50 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._closeup:269 Creating the local cluster into the local data center
2015-12-28 11:29:52 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._closeup:284 Adding the local host to the local cluster
2015-12-28 11:29:55 INFO
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._waitVDSMHostUp:58 Waiting for VDSM host to become operational. This
may take several minutes...
2015-12-28 11:29:55 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._waitVDSMHostUp:87 VDSM host in installing state
2015-12-28 11:29:56 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._waitVDSMHostUp:87 VDSM host in installing state
2015-12-28 11:29:58 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._waitVDSMHostUp:87 VDSM host in installing state
2015-12-28 11:29:59 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._waitVDSMHostUp:87 VDSM host in installing state
2015-12-28 11:30:00 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._waitVDSMHostUp:87 VDSM host in installing state
2015-12-28 11:30:01 DEBUG
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._waitVDSMHostUp:87 VDSM host in installing state
2015-12-28 11:30:02 ERROR
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._waitVDSMHostUp:77 The VDSM host was found in a failed state. Please
check engine and bootstrap installation logs.
2015-12-28 11:30:02 WARNING
otopi.plugins.ovirt_engine_setup.ovirt_engine.all-in-one.vdsmi
vdsmi._closeup:306 Local storage domain not added because the VDSM host was
not up. Please add it manually.
2015-12-28 11:30:02 DEBUG otopi.context context._executeMethod:142 Stage
closeup METHOD
otopi.plugins.ovirt_engine_setup.vmconsole_proxy_helper.system.Plugin._closeup
9. Looked at the vdsm logs and examined service status:
# ls -l /var/log/vdsm/
total 8
drwxr-xr-x 2 vdsm kvm 6 Dec 9 03:24 backup
-rw-r--r-- 1 vdsm kvm 0 Dec 28 11:13 connectivity.log
-rw-r--r-- 1 vdsm kvm 0 Dec 28 11:13 mom.log
-rw-r--r-- 1 root root 2958 Dec 28 11:30 supervdsm.log
-rw-r--r-- 1 root root 1811 Dec 28 11:30 upgrade.log
-rw-r--r-- 1 vdsm kvm 0 Dec 28 11:13 vdsm.log
# cat /var/log/vdsm/upgrade.log
MainThread::DEBUG::2015-12-28
11:30:02,803::upgrade::90::upgrade::(apply_upgrade) Running upgrade
upgrade-unified-persistence
MainThread::DEBUG::2015-12-28
11:30:02,806::libvirtconnection::160::root::(get) trying to connect libvirt
MainThread::DEBUG::2015-12-28 11:30:02,813::utils::669::root::(execCmd)
/sbin/ip route show to 0.0.0.0/0 table main (cwd None)
MainThread::DEBUG::2015-12-28 11:30:02,826::utils::687::root::(execCmd)
SUCCESS: <err> = ''; <rc> = 0
MainThread::DEBUG::2015-12-28
11:30:02,826::unified_persistence::46::root::(run)
upgrade-unified-persistence upgrade persisting networks {} and bondings {}
MainThread::INFO::2015-12-28
11:30:02,827::netconfpersistence::179::root::(_clearDisk) Clearing
/var/run/vdsm/netconf/nets/ and /var/run/vdsm/netconf/bonds/
MainThread::DEBUG::2015-12-28
11:30:02,827::netconfpersistence::187::root::(_clearDisk) No existent
config to clear.
MainThread::INFO::2015-12-28
11:30:02,827::netconfpersistence::179::root::(_clearDisk) Clearing
/var/run/vdsm/netconf/nets/ and /var/run/vdsm/netconf/bonds/
MainThread::DEBUG::2015-12-28
11:30:02,827::netconfpersistence::187::root::(_clearDisk) No existent
config to clear.
MainThread::INFO::2015-12-28
11:30:02,827::netconfpersistence::129::root::(save) Saved new config
RunningConfig({}, {}) to /var/run/vdsm/netconf/nets/ and
/var/run/vdsm/netconf/bonds/
MainThread::DEBUG::2015-12-28 11:30:02,827::utils::669::root::(execCmd)
/usr/share/vdsm/vdsm-store-net-config unified (cwd None)
MainThread::DEBUG::2015-12-28 11:30:02,836::utils::687::root::(execCmd)
SUCCESS: <err> = 'cp: cannot stat
\xe2\x80\x98/var/run/vdsm/netconf\xe2\x80\x99: No such file or
directory\n'; <rc> = 0
MainThread::DEBUG::2015-12-28
11:30:02,837::upgrade::51::upgrade::(_upgrade_seal) Upgrade
upgrade-unified-persistence successfully performed
# cat /var/log/vdsm/supervdsm.log
MainThread::DEBUG::2015-12-28
11:30:02,415::supervdsmServer::539::SuperVdsm.Server::(main) Making sure
I'm root - SuperVdsm
MainThread::DEBUG::2015-12-28
11:30:02,415::supervdsmServer::548::SuperVdsm.Server::(main) Parsing cmd
args
MainThread::DEBUG::2015-12-28
11:30:02,415::supervdsmServer::551::SuperVdsm.Server::(main) Cleaning old
socket /var/run/vdsm/svdsm.sock
MainThread::DEBUG::2015-12-28
11:30:02,415::supervdsmServer::555::SuperVdsm.Server::(main) Setting up
keep alive thread
MainThread::DEBUG::2015-12-28
11:30:02,415::supervdsmServer::561::SuperVdsm.Server::(main) Creating
remote object manager
MainThread::DEBUG::2015-12-28
11:30:02,416::fileUtils::192::Storage.fileUtils::(chown) Changing owner for
/var/run/vdsm/svdsm.sock, to (36:36)
MainThread::DEBUG::2015-12-28
11:30:02,416::supervdsmServer::572::SuperVdsm.Server::(main) Started
serving super vdsm object
sourceRoute::DEBUG::2015-12-28
11:30:02,416::sourceroutethread::79::root::(_subscribeToInotifyLoop)
sourceRouteThread.subscribeToInotifyLoop started
restore-net::DEBUG::2015-12-28
11:30:03,080::libvirtconnection::160::root::(get) trying to connect libvirt
restore-net::INFO::2015-12-28
11:30:03,188::vdsm-restore-net-config::86::root::(_restore_sriov_numvfs)
SRIOV network device which is not persisted found at: 0000:01:00.1.
restore-net::INFO::2015-12-28
11:30:03,189::vdsm-restore-net-config::86::root::(_restore_sriov_numvfs)
SRIOV network device which is not persisted found at: 0000:01:00.0.
restore-net::INFO::2015-12-28
11:30:03,189::vdsm-restore-net-config::86::root::(_restore_sriov_numvfs)
SRIOV network device which is not persisted found at: 0000:01:00.3.
restore-net::INFO::2015-12-28
11:30:03,189::vdsm-restore-net-config::86::root::(_restore_sriov_numvfs)
SRIOV network device which is not persisted found at: 0000:01:00.2.
restore-net::INFO::2015-12-28
11:30:03,189::vdsm-restore-net-config::385::root::(restore) starting
network restoration.
restore-net::DEBUG::2015-12-28
11:30:03,189::vdsm-restore-net-config::183::root::(_remove_networks_in_running_config)
Not cleaning running configuration since it is empty.
restore-net::INFO::2015-12-28
11:30:03,205::netconfpersistence::179::root::(_clearDisk) Clearing
/var/run/vdsm/netconf/nets/ and /var/run/vdsm/netconf/bonds/
restore-net::DEBUG::2015-12-28
11:30:03,206::netconfpersistence::187::root::(_clearDisk) No existent
config to clear.
restore-net::INFO::2015-12-28
11:30:03,206::netconfpersistence::129::root::(save) Saved new config
RunningConfig({}, {}) to /var/run/vdsm/netconf/nets/ and
/var/run/vdsm/netconf/bonds/
restore-net::DEBUG::2015-12-28
11:30:03,207::vdsm-restore-net-config::329::root::(_wait_for_for_all_devices_up)
All devices are up.
restore-net::INFO::2015-12-28
11:30:03,214::netconfpersistence::71::root::(setBonding) Adding
bond0({'nics': [], 'options': ''})
restore-net::INFO::2015-12-28
11:30:03,214::vdsm-restore-net-config::396::root::(restore) restoration
completed successfully.
# systemctl status supervdsmd
● supervdsmd.service - Auxiliary vdsm service for running helper functions
as root
Loaded: loaded (/usr/lib/systemd/system/supervdsmd.service; static;
vendor preset: enabled)
Active: active (running) since Mon 2015-12-28 11:30:02 EST; 1h 8min ago
Main PID: 81535 (supervdsmServer)
CGroup: /system.slice/supervdsmd.service
└─81535 /usr/bin/python /usr/share/vdsm/supervdsmServer
--sockfile /var/run/vdsm/svdsm.sock
Dec 28 11:30:02 hostname systemd[1]: Started Auxiliary vdsm service for
running helper functions as root.
Dec 28 11:30:02 hostname systemd[1]: Starting Auxiliary vdsm service for
running helper functions as root.
8 years, 11 months