Untitled diff

Created Diff never expires
36 removals
Words removed33
Total words187
Words removed (%)17.65
100 lines
30 additions
Words added30
Total words184
Words added (%)16.30
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_())