@@ -28,9 +28,9 @@ class MicroVM:
2828 """
2929 def __init__ (self , name : str = None , kernel_file : str = None , initrd_file : str = None , init_file : str = None ,
3030 base_rootfs : str = None , rootfs_url : str = None , overlayfs : bool = False , overlayfs_file : str = None ,
31- vcpu : int = None , mem_size_mib : int = None , ip_addr : str = None , bridge : bool = None , bridge_name : str = None ,
32- mmds_enabled : bool = None , mmds_ip : str = None , user_data : str = None , user_data_file : str = None , labels : dict = None ,
33- expose_ports : bool = False , host_port : int = None , dest_port : int = None ,
31+ vcpu : int = None , memory : int = None , ip_addr : str = None , bridge : bool = None , bridge_name : str = None ,
32+ mmds_enabled : bool = None , mmds_ip : str = None , user_data : str = None , user_data_file : str = None ,
33+ labels : dict = None , expose_ports : bool = False , host_port : int = None , dest_port : int = None ,
3434 verbose : bool = False , level : str = "INFO" ) -> None :
3535 """Initialize a new MicroVM instance with configuration."""
3636 self ._microvm_id = generate_id ()
@@ -46,16 +46,13 @@ def __init__(self, name: str = None, kernel_file: str = None, initrd_file: str =
4646 self ._vmm = VMMManager (verbose = verbose , level = level )
4747
4848 self ._vcpu = vcpu or self ._config .vcpu
49- self ._mem = self ._convert_memory_size (mem_size_mib or self ._config .mem_size_mib )
49+ self ._memory = int ( self ._convert_memory_size (memory or self ._config .memory ) )
5050 self ._mmds_enabled = mmds_enabled if mmds_enabled is not None else self ._config .mmds_enabled
5151 self ._mmds_ip = mmds_ip or self ._config .mmds_ip
5252
5353 if not isinstance (self ._vcpu , int ) or self ._vcpu <= 0 :
5454 raise ValueError ("vcpu must be a positive integer" )
5555
56- if self ._mem < 128 :
57- raise ValueError ("Memory size must be at least 128 MiB" )
58-
5956 if user_data_file and user_data :
6057 raise ValueError ("Cannot specify both user_data and user_data_file. Use only one of them." )
6158 if user_data_file :
@@ -727,11 +724,11 @@ def _configure_vmm_resources(self):
727724
728725 self ._api .machine_config .put (
729726 vcpu_count = self ._vcpu ,
730- mem_size_mib = self ._mem
727+ mem_size_mib = self ._memory
731728 )
732729
733730 if self ._config .verbose :
734- self ._logger .info (f"VMM is configured with { self ._vcpu } vCPUs and { self ._mem } MiB of memory" )
731+ self ._logger .info (f"VMM is configured with { self ._vcpu } vCPUs and { self ._memory } MiB of memory" )
735732
736733 except Exception as e :
737734 raise ConfigurationError (f"Failed to configure VMM resources: { str (e )} " )
@@ -889,7 +886,7 @@ def _convert_memory_size(self, size):
889886 return max (size , MIN_MEMORY )
890887
891888 if isinstance (size , str ):
892- size = size .upper ()
889+ size = size .upper (). strip ()
893890 try :
894891 if size .endswith ('G' ):
895892 # Convert GB to MiB and ensure minimum
@@ -904,4 +901,4 @@ def _convert_memory_size(self, size):
904901 return max (mem_size , MIN_MEMORY )
905902 except ValueError :
906903 raise ValueError (f"Invalid memory size format: { size } " )
907- raise ValueError (f"Invalid memory size type: { type (size )} " )
904+ raise ValueError (f"Invalid memory size type: { type (size )} " )
0 commit comments