On this page
vmadm – Manage SmartOS virtual machines and zones
New in version 2.3.
Synopsis
- Manage SmartOS virtual machines through vmadm(1M).
 
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| archive_on_delete
        
        -
         | 
      
        
        When enabled, the zone dataset will be mounted on  /zones/archive upon removal.
        | 
     |
| autoboot
        
        -
         | 
      
        
        Whether or not a VM is booted when the system is rebooted.
         | 
     |
| boot
        
        -
         | 
      
        
        Set the boot order for KVM VMs.
         | 
     |
| brand
        
        - / required
         | 
      
       
  | 
      
        
        Type of virtual machine.
         | 
     
| cpu_cap
        
        -
         | 
      
        
        Sets a limit on the amount of CPU time that can be used by a VM. Use  0 for no cap.
        | 
     |
| cpu_shares
        
        -
         | 
      
        
        Sets a limit on the number of fair share scheduler (FSS) CPU shares for a VM. This limit is relative to all other VMs on the system.
         | 
     |
| cpu_type
        
        -
         | 
      
       
  | 
      
        
        Control the type of virtual CPU exposed to KVM VMs.
         | 
     
| customer_metadata
        
        -
         | 
      
        
        Metadata to be set and associated with this VM, this contain customer modifiable keys.
         | 
     |
| delegate_dataset
        
        -
         | 
      
        
        Whether to delegate a ZFS dataset to an OS VM.
         | 
     |
| disk_driver
        
        -
         | 
      
        
        Default value for a virtual disk model for KVM guests.
         | 
     |
| disks
        
        -
         | 
      
        
        A list of disks to add, valid properties are documented in vmadm(1M).
         | 
     |
| dns_domain
        
        -
         | 
      
        
        Domain value for  /etc/hosts.
        | 
     |
| docker
        
        -
        
       
        added in 2.5
         | 
      
        
        Docker images need this flag enabled along with the brand set to  lx.
        | 
     |
| filesystems
        
        -
         | 
      
        
        Mount additional filesystems into an OS VM.
         | 
     |
| firewall_enabled
        
        -
         | 
      
        
        Enables the firewall, allowing fwadm(1M) rules to be applied.
         | 
     |
| force
        
        -
         | 
      
        
        Force a particular action (i.e. stop or delete a VM).
         | 
     |
| fs_allowed
        
        -
         | 
      
        
        Comma separated list of filesystem types this zone is allowed to mount.
         | 
     |
| hostname
        
        -
         | 
      
        
        Zone/VM hostname.
         | 
     |
| image_uuid
        
        -
         | 
      
        
        Image UUID.
         | 
     |
| indestructible_delegated
        
        -
         | 
      
        
        Adds an  @indestructible snapshot to delegated datasets.
        | 
     |
| indestructible_zoneroot
        
        -
         | 
      
        
        Adds an  @indestructible snapshot to zoneroot.
        | 
     |
| internal_metadata
        
        -
         | 
      
        
        Metadata to be set and associated with this VM, this contains operator generated keys.
         | 
     |
| internal_metadata_namespace
        
        -
         | 
      
        
        List of namespaces to be set as internal_metadata-only; these namespaces will come from internal_metadata rather than customer_metadata.
         | 
     |
| kernel_version
        
        -
         | 
      
        
        Kernel version to emulate for LX VMs.
         | 
     |
| limit_priv
        
        -
         | 
      
        
        Set (comma separated) list of privileges the zone is allowed to use.
         | 
     |
| maintain_resolvers
        
        -
         | 
      
        
        Resolvers in  /etc/resolv.conf will be updated when updating the resolvers property.
        | 
     |
| max_locked_memory
        
        -
         | 
      
        
        Total amount of memory (in MiBs) on the host that can be locked by this VM.
         | 
     |
| max_lwps
        
        -
         | 
      
        
        Maximum number of lightweight processes this VM is allowed to have running.
         | 
     |
| max_physical_memory
        
        -
         | 
      
        
        Maximum amount of memory (in MiBs) on the host that the VM is allowed to use.
         | 
     |
| max_swap
        
        -
         | 
      
        
        Maximum amount of virtual memory (in MiBs) the VM is allowed to use.
         | 
     |
| mdata_exec_timeout
        
        -
         | 
      
        
        Timeout in seconds (or 0 to disable) for the  svc:/smartdc/mdata:execute service that runs user-scripts in the zone.
        | 
     |
| name
        
        -
         | 
      
        
        Name of the VM. vmadm(1M) uses this as an optional name.
        
       aliases: alias  | 
     |
| nic_driver
        
        -
         | 
      
        
        Default value for a virtual NIC model for KVM guests.
         | 
     |
| nics
        
        -
         | 
      
        
        A list of nics to add, valid properties are documented in vmadm(1M).
         | 
     |
| nowait
        
        -
         | 
      
        
        Consider the provisioning complete when the VM first starts, rather than when the VM has rebooted.
         | 
     |
| qemu_extra_opts
        
        -
         | 
      
        
        Additional qemu cmdline arguments for KVM guests.
         | 
     |
| qemu_opts
        
        -
         | 
      
        
        Additional qemu arguments for KVM guests. This overwrites the default arguments provided by vmadm(1M) and should only be used for debugging.
         | 
     |
| quota
        
        -
         | 
      
        
        Quota on zone filesystems (in MiBs).
         | 
     |
| ram
        
        -
         | 
      
        
        Amount of virtual RAM for a KVM guest (in MiBs).
         | 
     |
| resolvers
        
        -
         | 
      
        
        List of resolvers to be put into  /etc/resolv.conf.
        | 
     |
| routes
        
        -
         | 
      
        
        Dictionary that maps destinations to gateways, these will be set as static routes in the VM.
         | 
     |
| spice_opts
        
        -
         | 
      
        
        Addition options for SPICE-enabled KVM VMs.
         | 
     |
| spice_password
        
        -
         | 
      
        
        Password required to connect to SPICE. By default no password is set. Please note this can be read from the Global Zone.
         | 
     |
| state
        
        - / required
         | 
      
       
  | 
      
        
        States for the VM to be in. Please note that  present, stopped and restarted operate on a VM that is currently provisioned. present means that the VM will be created if it was absent, and that it will be in a running state. absent will shutdown the zone before removing it. stopped means the zone will be created if it doesn't exist already, before shutting it down.
        | 
     
| tmpfs
        
        -
         | 
      
        
        Amount of memory (in MiBs) that will be available in the VM for the  /tmp filesystem.
        | 
     |
| uuid
        
        -
         | 
      
        
        UUID of the VM. Can either be a full UUID or  * for all VMs.
        | 
     |
| vcpus
        
        -
         | 
      
        
        Number of virtual CPUs for a KVM guest.
         | 
     |
| vga
        
        -
         | 
      
        
        Specify VGA emulation used by KVM VMs.
         | 
     |
| virtio_txburst
        
        -
         | 
      
        
        Number of packets that can be sent in a single flush of the tx queue of virtio NICs.
         | 
     |
| virtio_txtimer
        
        -
         | 
      
        
        Timeout (in nanoseconds) for the TX timer of virtio NICs.
         | 
     |
| vnc_password
        
        -
         | 
      
        
        Password required to connect to VNC. By default no password is set. Please note this can be read from the Global Zone.
         | 
     |
| vnc_port
        
        -
         | 
      
        
        TCP port to listen of the VNC server. Or set  0 for random, or -1 to disable.
        | 
     |
| zfs_data_compression
        
        -
         | 
      
        
        Specifies compression algorithm used for this VMs data dataset. This option only has effect on delegated datasets.
         | 
     |
| zfs_data_recsize
        
        -
         | 
      
        
        Suggested block size (power of 2) for files in the delegated dataset's filesystem.
         | 
     |
| zfs_filesystem_limit
        
        -
         | 
      
        
        Maximum number of filesystems the VM can have.
         | 
     |
| zfs_io_priority
        
        -
         | 
      
        
        IO throttle priority value relative to other VMs.
         | 
     |
| zfs_root_compression
        
        -
         | 
      
        
        Specifies compression algorithm used for this VMs root dataset. This option only has effect on the zoneroot dataset.
         | 
     |
| zfs_root_recsize
        
        -
         | 
      
        
        Suggested block size (power of 2) for files in the zoneroot dataset's filesystem.
         | 
     |
| zfs_snapshot_limit
        
        -
         | 
      
        
        Number of snapshots the VM can have.
         | 
     |
| zpool
        
        -
         | 
      
        
        ZFS pool the VM's zone dataset will be created in.
         | 
     
Examples
- name: create SmartOS zone
  vmadm:
    brand: joyent
    state: present
    alias: fw_zone
    image_uuid: 95f265b8-96b2-11e6-9597-972f3af4b6d5
    firewall_enabled: yes
    indestructible_zoneroot: yes
    nics:
      - nic_tag: admin
        ip: dhcp
        primary: true
    internal_metadata:
      root_pw: 'secret'
    quota: 1
- name: Delete a zone
  vmadm:
    alias: test_zone
    state: deleted
- name: Stop all zones
  vmadm:
    uuid: '*'
    state: stopped
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| alias
        
        string
         | 
      When addressing a VM by alias. | 
        
        Alias of the managed VM.
         Sample:
        
       
        dns-zone
         | 
     
| state
        
        string
         | 
      success | 
        
        State of the target, after execution.
         Sample:
        
       
        running
         | 
     
| uuid
        
        string
         | 
      always | 
        
        UUID of the managed VM.
         Sample:
        
       
        b217ab0b-cf57-efd8-cd85-958d0b80be33
         | 
     
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
 - This module is maintained by the Ansible Community. [community]
 
Authors
- Jasper Lievisse Adriaanse (@jasperla)
 
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/2.8/modules/vmadm_module.html