kcli 99.0.202512041417__py3-none-any.whl → 99.0.202512081208__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kcli
3
- Version: 99.0.202512041417
3
+ Version: 99.0.202512081208
4
4
  Summary: Provisioner/Manager for Libvirt/Vsphere/Aws/Gcp/Hcloud/Kubevirt/Ovirt/Openstack/IBM Cloud and containers
5
5
  Home-page: http://github.com/karmab/kcli
6
6
  Author: Karim Boumedhel
@@ -1,4 +1,4 @@
1
- kcli-99.0.202512041417.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
1
+ kcli-99.0.202512081208.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
2
2
  kvirt/__init__.py,sha256=eoZ6GfifbqhMLNzjlqRDVil-yyBkOmVN9ujSgJWNBlY,15
3
3
  kvirt/baseconfig.py,sha256=QG_AHI1_HAgHwIdZSm1BXkpn9pW35kTMUkFOb7UE_wY,83513
4
4
  kvirt/bottle.py,sha256=K24aCQYSylDpkxmLYGygSpAJ4MlMqMk85AMpbCWA43c,175729
@@ -315,7 +315,7 @@ kvirt/cluster/rke2/kcli_default.yml,sha256=CgX1rl9bGwts6on784Uy8zUb-XkldzTZJ990P
315
315
  kvirt/cluster/rke2/keepalived.conf,sha256=Sr_aHMyb5LNoWW3rtsvsRP0HurRiwfx9AS3LMZyuZHc,588
316
316
  kvirt/cluster/rke2/keepalived.sh,sha256=QMLjKiVtOa4S4-zBEnXWOoN8a6-FhNxKbSgovw-koOg,424
317
317
  kvirt/cluster/rke2/workers.yml,sha256=YTnQ9j0xqCeyaT7Kcbl_vXYrL6ps74nIMljUKb2vah4,636
318
- kvirt/common/__init__.py,sha256=hpGgrgk2FrrqxpL54ww1DFvJKs8VcwNfQvfBwp1hNFY,112614
318
+ kvirt/common/__init__.py,sha256=sApSmWth-BiFjAzo7BZsZFC_sqXjKuxv6hYNn_atPv4,112878
319
319
  kvirt/common/autoscale.yaml.j2,sha256=fCKt-ooHIr0oeAIZWQLlIcVJD0msW5A7BkNyVbO6Dj0,1406
320
320
  kvirt/common/fake_kubeconfig.json,sha256=XxFI3MSxrYbA6-4U8W5vSVFxrQmOeTOxAVzc7e1ngNc,8945
321
321
  kvirt/common/ignition.j2,sha256=eZN_uM9itflZCvrakYU25HFdQLdLxqZAN9pEzYmEDCE,669
@@ -393,7 +393,7 @@ kvirt/providers/gcp/gcp-hack.sh,sha256=kH051zNphRtJe-eVi8CX28_mxP6ID1f3pSTDzvE9X
393
393
  kvirt/providers/hcloud/__init__.py,sha256=EO-yv-DBEjVwqeKt2xIN_As4k6teW0u3j1SoA4jY7UQ,22773
394
394
  kvirt/providers/ibm/__init__.py,sha256=OTGDRCwvvOZCTNGD_QXx52-9_tsBzA7Y079RAo9XL9M,66129
395
395
  kvirt/providers/kubevirt/__init__.py,sha256=NSnx2RwtRQSrrhpqLK8Fb_ye9YgJdMbkO-_wBFd7DZg,94602
396
- kvirt/providers/kvm/__init__.py,sha256=cVhFpNF4MINR6jx-zfrAdL5e_sKV-oWuz8Atni2sYqI,195364
396
+ kvirt/providers/kvm/__init__.py,sha256=j6ZtyemdHJWvvgKeL3ZtG1IW5k_0hlknqxeepaz3rNg,195464
397
397
  kvirt/providers/kvm/helpers.py,sha256=t2CLczaU-gWPXL6iglK2Mlu-85ErH59nkdSA50v18lM,1965
398
398
  kvirt/providers/openstack/__init__.py,sha256=T8gGmgzF0JlzsHUHEKCOUGHW5KWfFPXig6lOvYeGeUU,60117
399
399
  kvirt/providers/ovirt/__init__.py,sha256=2qVEM3JsFnNm2gvTLRNdru5GZBwnQ7AzYSXyPdDGlT8,64383
@@ -403,7 +403,7 @@ kvirt/providers/vsphere/helpers.py,sha256=eJnwVGdWArTurH5ckzScvLThNJaMWeakdxBbDT
403
403
  kvirt/providers/vsphere/tagging.py,sha256=7RqFIUETSzHAjS0F_8-j145-_8lca7aDUsCxs4DhQVQ,4893
404
404
  kvirt/providers/web/__init__.py,sha256=_9fv0_x5VomFrMZqTsMLHkIRkvujmFgTxggtRctvMD0,22053
405
405
  kvirt/version/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
406
- kvirt/version/git,sha256=0RaS5KCKQx35qbcsugo8B_lKi9GT2Kfq70GSHul_2xg,19
406
+ kvirt/version/git,sha256=1_88gWaLh4VBuObEsePdYUPrOXpq1swY873Blf9_r0g,19
407
407
  kvirt/web/__init__.py,sha256=QW-FVaQGYogXwgV2g4f0J9s0QqUI6qIyX1ruRaiI8Yk,46658
408
408
  kvirt/web/main.py,sha256=DIb6tW3ce7wCc83kD9HBCG4ALJuLItp9uaP6tzdsm_Y,261
409
409
  kvirt/web/static/css/bootstrap-notify.css,sha256=ibUTW-jDj-F8d1T1KZ4DOujRmVTFfvMKL9y14QgEaPQ,408
@@ -645,8 +645,8 @@ kvirt/web/templates/vmprofiles.html,sha256=T65Cv7povhBtD2dyuWkWJE6byaA9EYtLSk5gt
645
645
  kvirt/web/templates/vmprofilestable.html,sha256=-8viNOqSvN_yzimENxq7Q0187zbflOn8p8zpgx0Vyek,1420
646
646
  kvirt/web/templates/vms.html,sha256=k2ptKeiLFdpzgfbk6xi__sduu0UALYXXrnrmDEmAfaQ,470
647
647
  kvirt/web/templates/vmstable.html,sha256=ikuYkIm_ocvGIBXFyJt1-tBjwQWCyqkgC08leoXgR54,4894
648
- kcli-99.0.202512041417.dist-info/METADATA,sha256=JWPCNyy4YuQPbt54rR9tfcC_Gn5JYyXtOzLjy8snH-E,4645
649
- kcli-99.0.202512041417.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
650
- kcli-99.0.202512041417.dist-info/entry_points.txt,sha256=e5EB5e2acrwl3_sYA0GrjE42UMcMfiijMJqXb6TZRmQ,245
651
- kcli-99.0.202512041417.dist-info/top_level.txt,sha256=FwVTxtMIWdr8QBk5mTfd0f_GheFlRR_vn4zl6p5N57s,6
652
- kcli-99.0.202512041417.dist-info/RECORD,,
648
+ kcli-99.0.202512081208.dist-info/METADATA,sha256=-ZZbgfDdVX4RJV4_js9ek2y122kw6p1U5NdgsjQT0a8,4645
649
+ kcli-99.0.202512081208.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
650
+ kcli-99.0.202512081208.dist-info/entry_points.txt,sha256=e5EB5e2acrwl3_sYA0GrjE42UMcMfiijMJqXb6TZRmQ,245
651
+ kcli-99.0.202512081208.dist-info/top_level.txt,sha256=FwVTxtMIWdr8QBk5mTfd0f_GheFlRR_vn4zl6p5N57s,6
652
+ kcli-99.0.202512081208.dist-info/RECORD,,
kvirt/common/__init__.py CHANGED
@@ -30,6 +30,8 @@ from tempfile import TemporaryDirectory
30
30
  from time import sleep
31
31
  import yaml
32
32
 
33
+ _original_construct_mapping = yaml.SafeLoader.construct_mapping
34
+
33
35
 
34
36
  class NoAliasDumper(yaml.SafeDumper):
35
37
  def ignore_aliases(self, data):
@@ -2522,7 +2524,11 @@ def plan_constructor(loader, node, deep=False):
2522
2524
  for key_node, value_node in node.value:
2523
2525
  key = loader.construct_object(key_node, deep=deep)
2524
2526
  value = loader.construct_object(value_node, deep=deep)
2525
- if isinstance(value, dict):
2527
+ if key == "vmrules":
2528
+ value = [_original_construct_mapping(loader, item_node, deep=deep) for item_node in value_node.value]
2529
+ mapping[key] = value
2530
+ continue
2531
+ elif isinstance(value, dict):
2526
2532
  _type = value.get('type', 'vm')
2527
2533
  if key == 'parameters':
2528
2534
  mapping[key] = value
@@ -1203,6 +1203,7 @@ class Kvirt(object):
1203
1203
  <source><address domain='0x%s' bus='0x%s' slot='0x%s' function='0x%s'/></source>
1204
1204
  </hostdev>""" % (newdomain, newbus, newslot, newfunction)
1205
1205
  hostdevxml += newhostdev
1206
+ pmuxml = "<pmu state='on'/>" if overrides.get('pmu', False) else ''
1206
1207
  rngxml = ""
1207
1208
  if rng:
1208
1209
  rngxml = """<rng model='virtio'>
@@ -1304,6 +1305,7 @@ class Kvirt(object):
1304
1305
  <bootmenu enable="yes" timeout="60"/>
1305
1306
  </os>
1306
1307
  <features>
1308
+ {pmuxml}
1307
1309
  {smmxml}
1308
1310
  {ioapicxml}
1309
1311
  {acpixml}
@@ -1344,7 +1346,7 @@ class Kvirt(object):
1344
1346
  isoxml=isoxml, extraisoxml=extraisoxml, floppyxml=floppyxml, displayxml=displayxml,
1345
1347
  serialxml=serialxml, sharedxml=sharedxml, guestxml=guestxml, videoxml=videoxml,
1346
1348
  hostdevxml=hostdevxml, rngxml=rngxml, tpmxml=tpmxml, cpuxml=cpuxml, qemuextraxml=qemuextraxml,
1347
- ioapicxml=ioapicxml, acpixml=acpixml, iommuxml=iommuxml, iommumemxml=iommumemxml,
1349
+ ioapicxml=ioapicxml, acpixml=acpixml, pmuxml=pmuxml, iommuxml=iommuxml, iommumemxml=iommumemxml,
1348
1350
  iommufeaturesxml=iommufeaturesxml, iommudevicexml=iommudevicexml, controllerxml=controllerxml,
1349
1351
  clockxml=clockxml)
1350
1352
  if self.debug:
kvirt/version/git CHANGED
@@ -1 +1 @@
1
- aa2ed6e 2025/12/04
1
+ 6494556 2025/12/08