Untitled diff

Created Diff never expires
36 suppressions
Lignes
Total
Supprimé
Mots
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diffchecker logo
Diffchecker Pro
100 lignes
30 ajouts
Lignes
Total
Ajouté
Mots
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diffchecker logo
Diffchecker Pro
100 lignes
#!/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_())