Skip to content

Commit 7643b91

Browse files
committed
kvm: custom vncpassword
1 parent 2d578e7 commit 7643b91

18 files changed

Lines changed: 71 additions & 58 deletions

File tree

kvirt/baseconfig.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ def __init__(self, client=None, containerclient=None, debug=False, quiet=False,
128128
defaults['diskthin'] = default.get('diskthin', kdefaults.DISKTHIN)
129129
defaults['guestid'] = default.get('guestid', kdefaults.GUESTID)
130130
defaults['vnc'] = bool(default.get('vnc', kdefaults.VNC))
131+
defaults['vncpassword'] = default.get('vnc', kdefaults.VNCPASSWORD)
131132
defaults['cloudinit'] = bool(default.get('cloudinit', kdefaults.CLOUDINIT))
132133
defaults['guestagent'] = bool(default.get('guestagent', kdefaults.GUESTAGENT))
133134
defaults['reserveip'] = bool(default.get('reserveip', kdefaults.RESERVEIP))
@@ -367,6 +368,7 @@ def __init__(self, client=None, containerclient=None, debug=False, quiet=False,
367368
self.diskthin = options.get('diskthin')
368369
self.guestid = options.get('guestid')
369370
self.vnc = options.get('vnc')
371+
self.vncpassword = options.get('vncpassword')
370372
self.cloudinit = options.get('cloudinit')
371373
self.guestagent = options.get('guestagent')
372374
self.reserveip = options.get('reserveip')

kvirt/config.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,7 @@ def create_vm(self, name, profile=None, overrides={}, customprofile={}, k=None,
562562
guestid = profile.get('guestid', self.guestid)
563563
iso = profile.get('iso', self.iso)
564564
vnc = profile.get('vnc', self.vnc)
565+
vncpassword = profile.get('vncpassword', self.vncpassword)
565566
cloudinit = profile.get('cloudinit', self.cloudinit)
566567
if cloudinit and self.type == 'kvm' and\
567568
which('mkisofs') is None and which('genisoimage') and which('xorrisofs') is None:
@@ -908,14 +909,15 @@ def create_vm(self, name, profile=None, overrides={}, customprofile={}, k=None,
908909
cpumodel=cpumodel, cpuflags=cpuflags, cpupinning=cpupinning, numamode=numamode, numa=numa,
909910
numcpus=int(numcpus), memory=int(memory), guestid=guestid, pool=pool,
910911
image=image, disks=disks, disksize=disksize, diskthin=diskthin,
911-
diskinterface=diskinterface, nets=nets, iso=iso, vnc=bool(vnc), cloudinit=bool(cloudinit),
912-
reserveip=bool(reserveip), reservedns=bool(reservedns), reservehost=bool(reservehost),
913-
start=bool(start), keys=keys, cmds=cmds, ips=ips, netmasks=netmasks, gateway=gateway, dns=dns,
914-
domain=domain, nested=bool(nested), tunnel=tunnel, files=files, enableroot=enableroot,
915-
overrides=overrides, tags=tags, storemetadata=storemetadata,
916-
sharedfolders=sharedfolders, cmdline=cmdline, placement=placement, autostart=autostart,
917-
cpuhotplug=cpuhotplug, memoryhotplug=memoryhotplug, pcidevices=pcidevices, tpm=tpm, rng=rng,
918-
metadata=metadata, securitygroups=securitygroups, vmuser=vmuser, guestagent=guestagent)
912+
diskinterface=diskinterface, nets=nets, iso=iso, vnc=bool(vnc), vncpassword=vncpassword,
913+
cloudinit=bool(cloudinit), reserveip=bool(reserveip), reservedns=bool(reservedns),
914+
reservehost=bool(reservehost), start=bool(start), keys=keys, cmds=cmds, ips=ips,
915+
netmasks=netmasks, gateway=gateway, dns=dns, domain=domain, nested=bool(nested),
916+
tunnel=tunnel, files=files, enableroot=enableroot, overrides=overrides, tags=tags,
917+
storemetadata=storemetadata, sharedfolders=sharedfolders, cmdline=cmdline,
918+
placement=placement, autostart=autostart, cpuhotplug=cpuhotplug, memoryhotplug=memoryhotplug,
919+
pcidevices=pcidevices, tpm=tpm, rng=rng, metadata=metadata, securitygroups=securitygroups,
920+
vmuser=vmuser, guestagent=guestagent)
919921
if result['result'] != 'success':
920922
return result
921923
if reservedns and dnsclient is not None and domain is not None:

kvirt/defaults.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
DISKS = [{'size': DISKSIZE, 'default': True}]
1818
GUESTID = 'guestrhel764'
1919
VNC = True
20+
VNCPASSWORD = None
2021
CLOUDINIT = True
2122
GUESTAGENT = True
2223
RESERVEIP = False

kvirt/keywords.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,8 @@ vmrules_strict: |
153153
Note that if no vmrules at all exist, the vm will still get created
154154
vmport: Custom port to use when sshing into a vm, instead of the evaluated one
155155
vmuser: Custom user to use when sshing into a vm, instead of the evaluated one
156-
vnc: when set to true, vnc is used for console. On kvm, spice will be used when this is set to false
156+
vnc: when set to true, vnc is used for console. On kvm, spice will be used when this is explicitely set to false
157+
vncpassword: Vnc password
157158
wait: Whether to wait for cloudinit/ignition to fully apply
158159
waitcommand: a specific command to use to validate that vm is ready
159160
waittimeout: Timeout when waiting for a vm to be ready. Default zero value means the wait wont timeout

kvirt/providers/aws/__init__.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,12 @@ def disk_exists(self, pool, name):
110110
def create(self, name, virttype=None, profile='', flavor=None, plan='kvirt', cpumodel='host-model', cpuflags=[],
111111
cpupinning=[], numcpus=2, memory=512, guestid='guestrhel764', pool='default', image=None,
112112
disks=[{'size': 10}], disksize=10, diskthin=True, diskinterface='virtio', nets=['default'], iso=None,
113-
vnc=True, cloudinit=True, reserveip=False, reservedns=False, reservehost=False, start=True, keys=[],
114-
cmds=[], ips=None, netmasks=None, gateway=None, nested=True, dns=None, domain=None, tunnel=False,
115-
files=[], enableroot=True, alias=[], overrides={}, tags=[], storemetadata=False,
116-
sharedfolders=[], cmdline=None, placement=[], autostart=False,
117-
cpuhotplug=False, memoryhotplug=False, numamode=None, numa=[], pcidevices=[], tpm=False, rng=False,
118-
metadata={}, securitygroups=[], vmuser=None, guestagent=True):
113+
vnc=True, vncpassword=None, cloudinit=True, reserveip=False, reservedns=False, reservehost=False,
114+
start=True, keys=[], cmds=[], ips=None, netmasks=None, gateway=None, nested=True, dns=None, domain=None,
115+
tunnel=False, files=[], enableroot=True, alias=[], overrides={}, tags=[], storemetadata=False,
116+
sharedfolders=[], cmdline=None, placement=[], autostart=False, cpuhotplug=False, memoryhotplug=False,
117+
numamode=None, numa=[], pcidevices=[], tpm=False, rng=False, metadata={}, securitygroups=[], vmuser=None,
118+
guestagent=True):
119119
conn = self.conn
120120
if self.exists(name):
121121
return {'result': 'failure', 'reason': f"VM {name} already exists"}

kvirt/providers/azure/__init__.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,12 @@ def disk_exists(self, pool, name):
9494
def create(self, name, virttype=None, profile='', flavor=None, plan='kvirt', cpumodel='host-model',
9595
cpuflags=[], cpupinning=[], numcpus=2, memory=512, guestid='guestrhel764', pool='default', image=None,
9696
disks=[{'size': 10}], disksize=10, diskthin=True, diskinterface='virtio', nets=['default'], iso=None,
97-
vnc=True, cloudinit=True, reserveip=False, reservedns=False, reservehost=False, start=True, keys=[],
98-
cmds=[], ips=None, netmasks=None, gateway=None, nested=True, dns=None, domain=None, tunnel=False,
99-
files=[], enableroot=True, overrides={}, tags=[], storemetadata=False, sharedfolders=[], cmdline=None,
100-
placement=[], autostart=False, cpuhotplug=False, memoryhotplug=False, numamode=None, numa=[],
101-
pcidevices=[], tpm=False, rng=False, metadata={}, securitygroups=[], vmuser=None, guestagent=True):
97+
vnc=True, vncpassword=None, cloudinit=True, reserveip=False, reservedns=False, reservehost=False,
98+
start=True, keys=[], cmds=[], ips=None, netmasks=None, gateway=None, nested=True, dns=None, domain=None,
99+
tunnel=False, files=[], enableroot=True, overrides={}, tags=[], storemetadata=False, sharedfolders=[],
100+
cmdline=None, placement=[], autostart=False, cpuhotplug=False, memoryhotplug=False, numamode=None,
101+
numa=[], pcidevices=[], tpm=False, rng=False, metadata={}, securitygroups=[], vmuser=None,
102+
guestagent=True):
102103
if self.exists(name):
103104
return {'result': 'failure', 'reason': f"VM {name} already exists"}
104105
all_flavors = self.list_flavors()

kvirt/providers/gcp/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,9 @@ def disk_exists(self, pool, name):
115115
def create(self, name, virttype=None, profile='', flavor=None, plan='kvirt', cpumodel='host-model', cpuflags=[],
116116
cpupinning=[], numcpus=2, memory=512, guestid='guestrhel764', pool='default', image=None,
117117
disks=[{'size': 10}], disksize=10, diskthin=True, diskinterface='virtio', nets=['default'], iso=None,
118-
vnc=True, cloudinit=True, reserveip=False, reservedns=False, reservehost=False, start=True, keys=[],
119-
cmds=[], ips=None, netmasks=None, gateway=None, nested=True, dns=None, domain=None, tunnel=False,
120-
files=[], enableroot=True, alias=[], overrides={}, tags=[], storemetadata=False,
118+
vnc=True, vncpassword=None, cloudinit=True, reserveip=False, reservedns=False, reservehost=False,
119+
start=True, keys=[], cmds=[], ips=None, netmasks=None, gateway=None, nested=True, dns=None, domain=None,
120+
tunnel=False, files=[], enableroot=True, alias=[], overrides={}, tags=[], storemetadata=False,
121121
sharedfolders=[], cmdline=None, placement=[], autostart=False, cpuhotplug=False, memoryhotplug=False,
122122
numamode=None, numa=[], pcidevices=[], tpm=False, rng=False, metadata={}, securitygroups=[],
123123
vmuser=None, guestagent=True):

kvirt/providers/hcloud/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ def __init__(self, api_key=None, location=None, debug=False):
2525
def create(self, name, virttype=None, profile='', flavor=None, plan='kvirt', cpumodel='host-model', cpuflags=[],
2626
cpupinning=[], numcpus=2, memory=512, guestid='guestrhel764', pool='default', image=None,
2727
disks=[], disksize=10, diskthin=True, diskinterface='virtio', nets=['default'], iso=None,
28-
vnc=True, cloudinit=True, reserveip=False, reservedns=False, reservehost=False, start=True, keys=[],
29-
cmds=[], ips=None, netmasks=None, gateway=None, nested=True, dns=None, domain=None, tunnel=False,
30-
files=[], enableroot=True, alias=[], overrides={}, tags=[], storemetadata=False,
28+
vnc=True, vncpassword=None, cloudinit=True, reserveip=False, reservedns=False, reservehost=False,
29+
start=True, keys=[], cmds=[], ips=None, netmasks=None, gateway=None, nested=True, dns=None, domain=None,
30+
tunnel=False, files=[], enableroot=True, alias=[], overrides={}, tags=[], storemetadata=False,
3131
sharedfolders=[], cmdline=None, placement=[], autostart=False, cpuhotplug=False, memoryhotplug=False,
3232
numamode=None, numa=[], pcidevices=[], tpm=False, rng=False, metadata={}, securitygroups=[],
3333
vmuser=None, guestagent=True):

kvirt/providers/ibm/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ def create(self, name, virttype=None, profile='', flavor=None, plan='kvirt',
107107
cpumodel='host-model', cpuflags=[], cpupinning=[], numcpus=2, memory=512,
108108
guestid='guestrhel764', pool='default', image=None,
109109
disks=[{'size': 10}], disksize=10, diskthin=True,
110-
diskinterface='virtio', nets=[], iso=None, vnc=True,
110+
diskinterface='virtio', nets=[], iso=None, vnc=True, vncpassword=None,
111111
cloudinit=True, reserveip=False, reservedns=False,
112112
reservehost=False, start=True, keys=[], cmds=[], ips=None,
113113
netmasks=None, gateway=None, nested=True, dns=None, domain=None,

kvirt/providers/kubevirt/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,9 @@ def disk_exists(self, pool, name):
150150
def create(self, name, virttype=None, profile='', flavor=None, plan='kvirt', cpumodel='host-model', cpuflags=[],
151151
cpupinning=[], numcpus=2, memory=512, guestid='guestrhel764', pool=None, image=None,
152152
disks=[{'size': 10}], disksize=10, diskthin=True, diskinterface='virtio', nets=['default'], iso=None,
153-
vnc=True, cloudinit=True, reserveip=False, reservedns=False, reservehost=False, start=True, keys=[],
154-
cmds=[], ips=None, netmasks=None, gateway=None, nested=True, dns=None, domain=None, tunnel=False,
155-
files=[], enableroot=True, alias=[], overrides={}, tags=[], storemetadata=False,
153+
vnc=True, vncpassword=None, cloudinit=True, reserveip=False, reservedns=False, reservehost=False,
154+
start=True, keys=[], cmds=[], ips=None, netmasks=None, gateway=None, nested=True, dns=None, domain=None,
155+
tunnel=False, files=[], enableroot=True, alias=[], overrides={}, tags=[], storemetadata=False,
156156
sharedfolders=[], cmdline=None, placement=[], autostart=False, cpuhotplug=False, memoryhotplug=False,
157157
numamode=None, numa=[], pcidevices=[], tpm=False, rng=False, metadata={}, securitygroups=[],
158158
vmuser=None, guestagent=True):

0 commit comments

Comments
 (0)