11#!/usr/bin/env python
22"""
3- This script demostrates lifecycle of VM
4- * list existing VMs
5- * create VM
6- * wait until VM is running
7- * delete VM
3+ This script demostrates lifecycle of VMI
4+ * list existing VMIs and VMs
5+ * create VMI
6+ * wait until VMI is running
7+ * update VMI
8+ * delete VMI
89"""
910from pprint import pprint
1011
@@ -22,35 +23,38 @@ def main():
2223 # List existing VMs
2324 pprint (api .list_namespaced_virtual_machine (NAMESPACE ))
2425
26+ # List existing VMIs
27+ pprint (api .list_namespaced_virtual_machine_instance (NAMESPACE ))
28+
2529 # Create new one
26- vm = el .read_yaml_file ("vm -ephemeral.yaml" )
27- pprint (api .create_namespaced_virtual_machine ( vm , NAMESPACE ))
30+ vmi = el .read_yaml_file ("vmi -ephemeral.yaml" )
31+ pprint (api .create_namespaced_virtual_machine_instance ( vmi , NAMESPACE ))
2832
2933 # Wait until VM is running
3034 try :
31- w = el .Watch (api .list_namespaced_virtual_machine , NAMESPACE )
32- vm = w .wait_for_item (
33- el .get_name (vm ), timeout = 60 ,
35+ w = el .Watch (api .list_namespaced_virtual_machine_instance , NAMESPACE )
36+ vmi = w .wait_for_item (
37+ el .get_name (vmi ), timeout = 60 ,
3438 success_condition = lambda e :
3539 el .get_status (e ['object' ]) == "Running"
3640 )
3741 except el .WaitForTimeout :
38- vm = el . read_namespaced_virtual_machine (el .get_name (vm ), NAMESPACE )
42+ vmi = api . read_namespaced_virtual_machine_instance (el .get_name (vmi ), NAMESPACE )
3943 raise Exception (
40- "VM is not in expected state: %s != %s" % (
41- el .get_status (vm ), "Running"
44+ "VMI is not in expected state: %s != %s" % (
45+ el .get_status (vmi ), "Running"
4246 )
4347 )
4448
4549 # Update memory of VM
46- vm ['spec' ]['domain' ]['resources' ]['requests' ]['memory' ] = '512M'
47- vm = api .replace_namespaced_virtual_machine ( vm , NAMESPACE , el .get_name (vm ))
48- pprint (vm )
50+ vmi ['spec' ]['domain' ]['resources' ]['requests' ]['memory' ] = '512M'
51+ vmi = api .replace_namespaced_virtual_machine_instance ( vmi , NAMESPACE , el .get_name (vmi ))
52+ pprint (vmi )
4953
5054 # Delete VM
5155 pprint (
52- api .delete_namespaced_virtual_machine (
53- V1DeleteOptions (), NAMESPACE , el .get_name (vm )
56+ api .delete_namespaced_virtual_machine_instance (
57+ V1DeleteOptions (), NAMESPACE , el .get_name (vmi )
5458 )
5559 )
5660
0 commit comments