Moving #vdsm to #ovirt?
by Nir Soffer
We had mostly dead #vdsm channel in freenode[1].
Recently there was a hostile takeover of freenode, and old freenode
folks created
libera[2] network. Most (all?) projects moved to this network.
We can move #vdsm to libera, but I think we have a better option, use
#ovirt channel
in oftc[3], which is pretty lively.
Having vdsm developers in #ovirt channel is good for the project and
will make it easier
to reach developers.
Moving to libera require registration work. Moving to #ovirt requires no change.
In both cases we need to update vdsm readme and ovirt.org.
What do you think?
[1] https://freenode.net/
[2] https://libera.chat/
[3] https://www.oftc.net/
Nir
3 years, 6 months
hc-basic-suite-master fails due to missing glusterfs firewalld services
by Yedidyah Bar David
Hi,
I now tried running locally hc-basic-suite-master with a patched OST,
and it failed due to $subject. I checked and see that this also
happened on CI, e.g. [1], before it started failing to to an unrelated
reason later:
E TASK [gluster.infra/roles/firewall_config : Add/Delete
services to firewalld rules] ***
E failed: [lago-hc-basic-suite-master-host-0]
(item=glusterfs) => {"ansible_loop_var": "item", "changed": false,
"item": "glusterfs", "msg": "ERROR: Exception caught:
org.fedoraproject.FirewallD1.Exception: INVALID_SERVICE: 'glusterfs'
not among existing services Permanent and Non-Permanent(immediate)
operation, Services are defined by port/tcp relationship and named as
they are in /etc/services (on most systems)"}
E failed: [lago-hc-basic-suite-master-host-2]
(item=glusterfs) => {"ansible_loop_var": "item", "changed": false,
"item": "glusterfs", "msg": "ERROR: Exception caught:
org.fedoraproject.FirewallD1.Exception: INVALID_SERVICE: 'glusterfs'
not among existing services Permanent and Non-Permanent(immediate)
operation, Services are defined by port/tcp relationship and named as
they are in /etc/services (on most systems)"}
E failed: [lago-hc-basic-suite-master-host-1]
(item=glusterfs) => {"ansible_loop_var": "item", "changed": false,
"item": "glusterfs", "msg": "ERROR: Exception caught:
org.fedoraproject.FirewallD1.Exception: INVALID_SERVICE: 'glusterfs'
not among existing services Permanent and Non-Permanent(immediate)
operation, Services are defined by port/tcp relationship and named as
they are in /etc/services (on most systems)"}
This seems similar to [2], and indeed I can't see the package
'glusterfs-server' installed locally on host-0. Any idea?
Thanks and best regards,
[1] https://jenkins.ovirt.org/job/ovirt-system-tests_hc-basic-suite-master/2088/
[2] https://github.com/oVirt/ovirt-ansible/issues/124
--
Didi
3 years, 6 months
OST gating failed on - test_import_vm1
by Eyal Shenitzky
Hi All,
As part of OST gating verification, the verification failed with the
following message -
gating2 (43) : OST build 6687 failed with: test_import_vm1 failed:
engine = <ovirtsdk4.services.SystemService object at 0x7f9129f03668>
event_id = [1165], timeout = 600
@contextlib.contextmanager
def wait_for_event(engine, event_id, timeout=assertions.LONG_TIMEOUT):
'''
event_id could either be an int - a single
event ID or a list - multiple event IDs
that all will be checked
'''
events = engine.events_service()
last_event = int(events.list(max=2)[0].id)
try:
> yield
ost_utils/ost_utils/engine_utils.py:36:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _
engine = <ovirtsdk4.services.SystemService object at 0x7f9129f03668>
correlation_id = 'test_validate_ova_import_vm', vm_name = 'imported_vm'
imported_url = 'ova:///var/tmp/ova_vm.ova', storage_domain = 'iscsi'
cluster_name = 'test-cluster'
def _import_ova(engine, correlation_id, vm_name, imported_url,
storage_domain, cluster_name):
sd =
engine.storage_domains_service().list(search='name={}'.format(storage_domain))[0]
cluster =
engine.clusters_service().list(search='name={}'.format(cluster_name))[0]
imports_service = engine.external_vm_imports_service()
host = test_utils.get_first_active_host_by_name(engine)
with engine_utils.wait_for_event(engine, 1165): #
IMPORTEXPORT_STARTING_IMPORT_VM
imports_service.add(
types.ExternalVmImport(
name=vm_name,
provider=types.ExternalVmProviderType.KVM,
url=imported_url,
cluster=types.Cluster(
id=cluster.id
),
storage_domain=types.StorageDomain(
id=sd.id
),
host=types.Host(
id=host.id
),
sparse=True
> ), async_=True, query={'correlation_id': correlation_id}
)
basic-suite-master/test-scenarios/test_004_basic_sanity.py:935:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _
self = <ovirtsdk4.services.ExternalVmImportsService object at
0x7f9129d24860>
import_ = <ovirtsdk4.types.ExternalVmImport object at 0x7f9129d58978>
headers = None, query = {'correlation_id': 'test_validate_ova_import_vm'}
wait = True, kwargs = {'async_': True}
def add(
self,
import_,
headers=None,
query=None,
wait=True,
**kwargs
):
"""
This operation is used to import a virtual machine from external
hypervisor, such as KVM, XEN or VMware.
For example import of a virtual machine from VMware can be facilitated
using the following request:
[source]
----
POST /externalvmimports
----
With request body of type <<types/external_vm_import,ExternalVmImport>>,
for example:
[source,xml]
----
<external_vm_import>
<vm>
<name>my_vm</name>
</vm>
<cluster id="360014051136c20574f743bdbd28177fd" />
<storage_domain id="8bb5ade5-e988-4000-8b93-dbfc6717fe50" />
<name>vm_name_as_is_in_vmware</name>
<sparse>true</sparse>
<username>vmware_user</username>
<password>123456</password>
<provider>VMWARE</provider>
<url>vpx://wmware_user@vcenter-host
/DataCenter/Cluster/esxi-host?no_verify=1</url>
<drivers_iso id="virtio-win-1.6.7.iso" />
</external_vm_import>
----
"""
# Check the types of the parameters:
Service._check_types([
('import_', import_, types.ExternalVmImport),
])
# Build the URL:
Patch set 4:Verified -1
The OST run as part of verification for patch -
https://gerrit.ovirt.org/#/c/ovirt-engine/+/115192/
Can someone from Virt/OST team have a look?
--
Regards,
Eyal Shenitzky
3 years, 6 months
libvirtError: internal error: unknown feature amd-sev-es
by Vojtech Juranek
Hi,
I moved to CentOS stream on the hosts as I need recent sanlock package due to vdsm dependency on it.
After moving to Stream and updating packages, all my hosts fails with exception bellow. Bellow are also
libvirt and vdsm versions and VM XML dump.
Yesterday I tried more recent libvirt, but IIRC got SeLinux exception when connecting to libvirt.
Do you know how to fix this issue or basically how to create working env. where I would be
able to install recent vdsm?
Thanks
Vojta
2021-06-16 05:23:01,275-0400 ERROR (jsonrpc/5) [root] Error while getting domain capabilities (machinetype:92)
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/vdsm/common/cache.py", line 41, in __call__
return self.cache[args]
KeyError: ()
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/vdsm/machinetype.py", line 90, in _get_domain_capabilities
domcaps = conn.getDomainCapabilities(None, arch, None, virt_type, 0)
File "/usr/lib/python3.6/site-packages/vdsm/common/libvirtconnection.py", line 131, in wrapper
ret = f(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/vdsm/common/function.py", line 94, in wrapper
return func(inst, *args, **kwargs)
File "/usr/lib64/python3.6/site-packages/libvirt.py", line 4493, in getDomainCapabilities
raise libvirtError('virConnectGetDomainCapabilities() failed')
libvirt.libvirtError: internal error: unknown feature amd-sev-es
2021-06-16 05:23:01,277-0400 ERROR (jsonrpc/5) [root] Error while getting CPU features: no domain capabilities found (machinetype:188)
2021-06-16 05:23:01,278-0400 ERROR (jsonrpc/5) [root] Error while getting domain capabilities (machinetype:92)
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/vdsm/common/cache.py", line 41, in __call__
return self.cache[args]
KeyError: ()
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/vdsm/machinetype.py", line 90, in _get_domain_capabilities
domcaps = conn.getDomainCapabilities(None, arch, None, virt_type, 0)
File "/usr/lib/python3.6/site-packages/vdsm/common/libvirtconnection.py", line 131, in wrapper
ret = f(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/vdsm/common/function.py", line 94, in wrapper
return func(inst, *args, **kwargs)
File "/usr/lib64/python3.6/site-packages/libvirt.py", line 4493, in getDomainCapabilities
raise libvirtError('virConnectGetDomainCapabilities() failed')
libvirt.libvirtError: internal error: unknown feature amd-sev-es
[root@localhost ~]# rpm -qa|grep libvirt
libvirt-daemon-driver-storage-logical-7.0.0-14.1.el8.x86_64
python3-libvirt-7.0.0-1.el8.x86_64
libvirt-daemon-config-nwfilter-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-interface-7.0.0-14.1.el8.x86_64
libvirt-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-storage-disk-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-storage-iscsi-7.0.0-14.1.el8.x86_64
libvirt-client-7.0.0-14.1.el8.x86_64
libvirt-admin-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-network-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-secret-7.0.0-14.1.el8.x86_64
libvirt-lock-sanlock-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-storage-gluster-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-storage-rbd-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-storage-7.0.0-14.1.el8.x86_64
libvirt-daemon-7.0.0-14.1.el8.x86_64
libvirt-daemon-config-network-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-storage-iscsi-direct-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-storage-scsi-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-nodedev-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-qemu-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-storage-core-7.0.0-14.1.el8.x86_64
libvirt-daemon-kvm-7.0.0-14.1.el8.x86_64
libvirt-bash-completion-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-storage-mpath-7.0.0-14.1.el8.x86_64
libvirt-libs-7.0.0-14.1.el8.x86_64
libvirt-daemon-driver-nwfilter-7.0.0-14.1.el8.x86_64
[root@localhost ~]# rpm -qa|grep vdsm
vdsm-http-4.40.60.7-1.el8.noarch
vdsm-hook-fcoe-4.40.60.7-1.el8.noarch
vdsm-network-4.40.60.7-1.el8.x86_64
vdsm-yajsonrpc-4.40.60.7-1.el8.noarch
vdsm-api-4.40.60.7-1.el8.noarch
vdsm-hook-openstacknet-4.40.60.7-1.el8.noarch
vdsm-python-4.40.60.7-1.el8.noarch
vdsm-hook-vhostmd-4.40.60.7-1.el8.noarch
vdsm-hook-vmfex-dev-4.40.60.7-1.el8.noarch
vdsm-common-4.40.60.7-1.el8.noarch
vdsm-client-4.40.60.7-1.el8.noarch
vdsm-4.40.60.7-1.el8.x86_64
vdsm-hook-ethtool-options-4.40.60.7-1.el8.noarch
vdsm-jsonrpc-4.40.60.7-1.el8.noarch
Host VM xml dump:
<domain type='kvm' id='56'>
<name>centos82-host2-mig</name>
<uuid>e1ee2430-37af-4ce1-b74a-7981895b5789</uuid>
<metadata>
<libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
<libosinfo:os id="http://centos.org/centos/8"/>
</libosinfo:libosinfo>
</metadata>
<memory unit='KiB'>2097152</memory>
<currentMemory unit='KiB'>2097152</currentMemory>
<vcpu placement='static'>2</vcpu>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch='x86_64' machine='pc-q35-5.1'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<vmport state='off'/>
</features>
<cpu mode='host-passthrough' check='partial' migratable='on'/>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<pm>
<suspend-to-mem enabled='no'/>
<suspend-to-disk enabled='no'/>
</pm>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/vjuranek/images/vm/centos82-host2-mig.img' index='1'/>
<backingStore/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</disk>
<controller type='usb' index='0' model='qemu-xhci' ports='15'>
<alias name='usb'/>
<address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
</controller>
<controller type='sata' index='0'>
<alias name='ide'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'>
<alias name='pcie.0'/>
</controller>
<controller type='pci' index='1' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='1' port='0x10'/>
<alias name='pci.1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
</controller>
<controller type='pci' index='2' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='2' port='0x11'/>
<alias name='pci.2'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='3' port='0x12'/>
<alias name='pci.3'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
</controller>
<controller type='pci' index='4' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='4' port='0x13'/>
<alias name='pci.4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
</controller>
<controller type='pci' index='5' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='5' port='0x14'/>
<alias name='pci.5'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
</controller>
<controller type='pci' index='6' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='6' port='0x15'/>
<alias name='pci.6'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
</controller>
<controller type='pci' index='7' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='7' port='0x16'/>
<alias name='pci.7'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
</controller>
<controller type='virtio-serial' index='0'>
<alias name='virtio-serial0'/>
<address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</controller>
<interface type='network'>
<mac address='52:54:00:55:fd:ce'/>
<source network='default' portid='d2fa26c0-d35f-44a7-bd7b-c0d0ad9b38b4' bridge='virbr0'/>
<target dev='vnet1'/>
<model type='virtio'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/9'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/9'>
<source path='/dev/pts/9'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-56-centos82-host2-mig/org.qemu.guest_agent.0'/>
<target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
<alias name='channel0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>
<channel type='spicevmc'>
<target type='virtio' name='com.redhat.spice.0' state='disconnected'/>
<alias name='channel1'/>
<address type='virtio-serial' controller='0' bus='0' port='2'/>
</channel>
<input type='tablet' bus='usb'>
<alias name='input0'/>
<address type='usb' bus='0' port='1'/>
</input>
<input type='mouse' bus='ps2'>
<alias name='input1'/>
</input>
<input type='keyboard' bus='ps2'>
<alias name='input2'/>
</input>
<graphics type='spice' port='5901' autoport='yes' listen='127.0.0.1'>
<listen type='address' address='127.0.0.1'/>
<image compression='off'/>
</graphics>
<sound model='ich9'>
<alias name='sound0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/>
</sound>
<video>
<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<redirdev bus='usb' type='spicevmc'>
<alias name='redir0'/>
<address type='usb' bus='0' port='2'/>
</redirdev>
<redirdev bus='usb' type='spicevmc'>
<alias name='redir1'/>
<address type='usb' bus='0' port='3'/>
</redirdev>
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</memballoon>
<rng model='virtio'>
<backend model='random'>/dev/urandom</backend>
<alias name='rng0'/>
<address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
</rng>
</devices>
<seclabel type='dynamic' model='selinux' relabel='yes'>
<label>system_u:system_r:svirt_t:s0:c58,c608</label>
<imagelabel>system_u:object_r:svirt_image_t:s0:c58,c608</imagelabel>
</seclabel>
<seclabel type='dynamic' model='dac' relabel='yes'>
<label>+107:+14548</label>
<imagelabel>+107:+14548</imagelabel>
</seclabel>
</domain>
3 years, 6 months