docs: def _run_guest(userid, image_path, os_version, profile, 
                 cpu, memory, network_info, vswitch_name, disks_list):
      """ Deploy and provide a virtual machine.
  
      Input parameters:
      :userid:                USERID of the guest, no more than 8
      :image_path:            image file path
      :os_version:            os version of the image file
      :profile:               profile of the userid
      :cpu:                   the number of vcpus
      :memory:                memory
      :network_info:          dict of network info. Members are:
          :ip_addr:               ip address of vm
          :gateway:               gateway of network
          :cidr:                  CIDR
      :vswitch_name:          vswitch name
      :disks_list:            list of disks to add. For example:
          disks_list = [{'size': '3g', 
          'is_boot_disk': True, 
          'disk_pool': 'ECDK: xcateckd'}]
      """
      print("Start deploying a virtual machine:")
      
      # Import image if not exists.
      import_image(image_path, os_version)
      
      # Start time.
      spawn_start = time.time()
      
      # Create guest.
      create_guest(userid, cpu, memory, disks_list, profile)
      
      # Deploy image to root disk.
      image_name = os.path.basename(image_path)
      deploy_guest(userid, image_name)
      
      # Create network device and configure network interface.
      create_network(userid, os_version, network_info)
      
      # Couple to vswitch.
      coupleTo_vswitch(userid, vswitch_name)
      
      # Grant user.
      grant_user(userid, vswitch_name)
      
      # Power on the vm.
      start_guest(userid)
      
      # End the time.
      spawn_time = time.time() - spawn_start
      print("Instance-%s spawned succeeded in %s seconds!" % 
            (userid, spawn_time))
  
      # Describe guest.
      describe_guest(userid)