Comparing sensitive data, confidential files or internal emails?

Most legal and privacy policies prohibit uploading sensitive data online. Diffchecker Desktop ensures your confidential information never leaves your computer. Work offline and compare documents securely.

Untitled diff

Created Diff never expires
36 removals
100 lines
30 additions
100 lines
#!/usr/bin/python3
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-


from PyQt5.QtWidgets import (QWidget, QLabel,
from PyQt5.QtWidgets import (QWidget, QLabel,
QComboBox, QApplication)
QComboBox, QApplication)
import sys
import sys
import ovirtsdk4 as sdk
import ovirtsdk4 as sdk
import ovirtsdk4.types as types
import ovirtsdk4.types as types


CONN = None
CONN = None


def get_connection():
def get_connection():
global CONN
global CONN
if CONN:
if CONN:
return CONN
return CONN
CONN = sdk.Connection(
CONN = sdk.Connection(
url='https://localhost.somedomain.intern/ovirt-engine/api',
url='https://localhost.somedomain.intern/ovirt-engine/api',
username='admin@internal',
username='admin@internal',
password='somepass',
password='somepass',
insecure=True,
insecure=True,
)
)
return CONN
return CONN


def get_hosts():
def get_hosts():
connection = get_connection()
connection = get_connection()

try:
host_service = connection.system_service().hosts_service()
host_service = connection.system_service().hosts_service()
hosts = host_service.list()
hosts = host_service.list()
return [host.name for host in hosts]
return [host.name for host in hosts]
except: pass
#connection.close()


def get_vms():
def get_vms():

connection = get_connection()
connection = get_connection()

vms_service = connection.system_service().vms_service()
vms_service = connection.system_service().vms_service()

vms = vms_service.list()
vms = vms_service.list()


disks_service = connection.system_service().disks_service()
disks_service = connection.system_service().disks_service()


if len(vms) > 0:
if len(vms) > 0:
for virtual_machine in vms:
for virtual_machine in vms:
vm_service = vms_service.vm_service(virtual_machine.id)
vm_service = vms_service.vm_service(virtual_machine.id)
try:
return [virtual_machine.name for virtual_machine in vms]
return [virtual_machine.name for virtual_machine in vms]
except: pass
# connection.close()


def get_vm_host():
def get_host_vms(host_name):
connection = get_connection()
connection = get_connection()
host_service = connection.system_service().hosts_service()
vms_service = connection.system_service().vms_service()
hosts = host_service.list()
vms = vms_service.list(search=host_name, case_sensitive=False)
for host in hosts:

vms_service = connection.system_service().vms_service()
return [vm.name for vm in vms]
vms = vms_service.list(search=host.name, case_sensitive=False)
return [vm.name for vm in vms]
def get_all_vms():
vms = {}

for host_name in get_hosts:
vms[host_name] = get_host_vms(host_name)

return vms


class Example(QWidget):
class Example(QWidget):
def __init__(self):
def __init__(self):
super().__init__()
super().__init__()
self.initUI()
self.initUI()
def initUI(self):
def initUI(self):


self.lbl = QLabel("Select a Host", self)
self.lbl = QLabel("Select a Host", self)


combo = QComboBox(self)
self.combo = QComboBox(self)
selectvm = QComboBox(self)
self.combo.addItem("Select a Host")
combo.addItem("Select a Host")
self.combo.addItems(get_hosts())
combo.addItems(get_hosts())
self.combo.move(50, 50)
combo.move(50, 50)
self.combo.activated[str].connect(self.onActivated)

self.lbl.move(50, 150)
self.lbl.move(50, 150)


selectvm.addItems(get_vm_host())
self.selectvm = QComboBox(self)
selectvm.move(50, 100)
self.selectvm.addItems(get_vm_host())
self.selectvm.move(50, 100)
self.lbl.move(10, 250)
self.lbl.move(10, 250)


combo.activated[str].connect(self.onActivated)
self.setGeometry(300, 500, 600, 400)
self.setGeometry(300, 500, 600, 400)
self.setWindowTitle('VM migration tool')
self.setWindowTitle('VM migration tool')
self.show()
self.show()


def onActivated(self, text):
def onActivated(self, host_name):
self.lbl.setText(host_name)
self.lbl.setText(text)
self.lbl.adjustSize()
self.lbl.adjustSize()
self.selectvm.clear()
self.selectvm.addItems(get_host_vms(host_name))


if __name__ == '__main__':
if __name__ == '__main__':
app = QApplication(sys.argv)
app = QApplication(sys.argv)
ex = Example()
ex = Example()
sys.exit(app.exec_())
sys.exit(app.exec_())