PageSourceSearch

https://docs-spectrocloud.netlify.app/assets/js/0a7f6f2a.822cb601.js

js docs-spectrocloud.netlify.app collected 2026-10-03 10:41:04 UTC 16,936 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkspectro_cloud_docs=self.webpackChunkspectro_cloud_docs||[]).push([["11703"],{178730:function(e,n,i){i.r(n),i.d(n,{frontMatter:()=>l,toc:()=>a,default:()=>h,metadata:()=>t,assets:()=>d,contentTitle:()=>o});var t=JSON.parse('{"id":"automation/palette-cli/commands/vmo","title":"VMO","description":"Reference resource for the VMO command.","source":"@site/docs/docs-content/automation/palette-cli/commands/vmo.md","sourceDirName":"automation/palette-cli/commands","slug":"/automation/palette-cli/commands/vmo","permalink":"/automation/palette-cli/commands/vmo","draft":false,"unlisted":false,"editUrl":"https://github.com/spectrocloud/librarium/blob/master/docs/docs-content/automation/palette-cli/commands/vmo.md","tags":[{"inline":true,"label":"palette-cli","permalink":"/tags/palette-cli"}],"version":"current","lastUpdatedAt":1777826507000,"sidebarPosition":60,"frontMatter":{"sidebar_label":"VMO","title":"VMO","description":"Reference resource for the VMO command.","hide_table_of_contents":false,"sidebar_position":60,"tags":["palette-cli"]},"sidebar":"docSidebar","previous":{"title":"Validate-Auth","permalink":"/automation/palette-cli/commands/validate-auth"},"next":{"title":"Palette Go SDK","permalink":"/automation/palette-sdk/"}}'),r=i(474848),s=i(884429);let l={sidebar_label:"VMO",title:"VMO",description:"Reference resource for the VMO command.",hide_table_of_contents:!1,sidebar_position:60,tags:["palette-cli"]},o,d={},a=[{value:"Subcommands",id:"subcommands",level:2},{value:"Limitations",id:"limitations",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Deploy OVA",id:"deploy-ova",level:2},{value:"Usage",id:"usage",level:3},{value:"Examples",id:"examples",level:3},{value:"Import OVA",id:"import-ova",level:2},{value:"Usage",id:"usage-1",level:3},{value:"Examples",id:"examples-1",level:3},{value:"Migrate VM",id:"migrate-vm",level:2},{value:"Prerequisites",id:"prerequisites-1",level:3},{value:"Usage",id:"usage-2",level:3},{value:"Examples",id:"examples-2",level:3}];function c(e){let n={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["Use the ",(0,r.jsx)(n.code,{children:"vmo"})," command to migrate Virtual Machines (VMs) and import and deploy vSphere Open Virtual Appliances (OVAs).\nThe VMs can then be used with the Virtual Machine Orchestrator (VMO)."]}),"\n",(0,r.jsx)(n.h2,{id:"subcommands",children:"Subcommands"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"#deploy-ova",children:(0,r.jsx)(n.code,{children:"deploy-ova"})})," - Deploy an imported vSphere OVA. This command requires you to have an OVA deployment\nfile. If you do not have one, you can generate an OVA with the ",(0,r.jsx)(n.code,{children:"import-ova"})," subcommand."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"#import-ova",children:(0,r.jsx)(n.code,{children:"import-ova"})})," - Import a vSphere OVA. This subcommand will generate an OVA deployment configuration\nfile. The configuration can then be deployed using the ",(0,r.jsx)(n.code,{children:"deploy-ova"})," subcommand."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.a,{href:"#migrate-vm",children:(0,r.jsx)(n.code,{children:"migrate-vm"})})," - Migrate one or more VMware vSphere VMs to Palette VMO."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"limitations",children:"Limitations"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["You can use the ",(0,r.jsx)(n.code,{children:"vmo"})," subcommand only with VMs hosted in VMware vSphere."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["You can migrate only VMs whose operating systems are present in the\n",(0,r.jsxs)(n.a,{href:"https://libguestfs.org/virt-v2v-support.1.html",children:[(0,r.jsx)(n.code,{children:"virt-v2v"})," supported guest systems"]})," list. Refer to\n",(0,r.jsx)(n.a,{href:"/vm-management/vm-migration-assistant/#verified-migrations",children:"Verified Migrations"})," for\na list of operating systems and migration combinations verified by Spectro Cloud."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["A healthy VMO cluster. Refer to the ",(0,r.jsx)(n.a,{href:"/vm-management/create-vmo-profile",children:"Create a VMO Profile"})," for further\nguidance."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"One or more VMs hosted in VMware vSphere."}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"deploy-ova",children:"Deploy OVA"}),"\n",(0,r.jsx)(n.h3,{id:"usage",children:"Usage"}),"\n",(0,r.jsxs)(n.p,{children:["Use the ",(0,r.jsx)(n.code,{children:"deploy-ova"})," subcommand to deploy an imported vSphere OVA to Palette VMO. The following flags are supported by\nthe ",(0,r.jsx)(n.code,{children:"deploy-ova"})," subcommand. Refer to the\n",(0,r.jsx)(n.a,{href:"/vm-management/create-manage-vm/advanced-topics/deploy-import-ova",children:"Import and Deploy OVAs to Palette VMO"}),"\nguide for further details on importing and deploying vSphere OVAs."]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Short Flag"})}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Long Flag"})}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Description"})}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Type"})})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-f"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--config-file"})}),(0,r.jsx)(n.td,{children:"Specifies an OVA configuration file."}),(0,r.jsx)(n.td,{children:"string"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-o"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--config-only"})}),(0,r.jsxs)(n.td,{children:["Update the OVA configuration file only, without proceeding with the deployment. This flag requires the ",(0,r.jsx)(n.code,{children:"--config-file"})," be specified."]}),(0,r.jsx)(n.td,{children:"boolean"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-s"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--silent"})}),(0,r.jsxs)(n.td,{children:["Perform a silent OVA deployment. This flag requires the ",(0,r.jsx)(n.code,{children:"--config-file"})," be specified."]}),(0,r.jsx)(n.td,{children:"boolean"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-h"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--help"})}),(0,r.jsxs)(n.td,{children:["Help for the ",(0,r.jsx)(n.code,{children:"deploy-ova"})," subcommand."]}),(0,r.jsx)(n.td,{children:"-"})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"examples",children:"Examples"}),"\n",(0,r.jsx)(n.p,{children:"Deploy a vSphere OVA previously imported to Palette VMO in interactive mode."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"palette vmo deploy-ova --config-file ~/.palette/vmo/vms/my-ova-name/my-ova-name.yaml\n"})}),"\n",(0,r.jsx)(n.p,{children:"Update the OVA configuration file without proceeding with the deployment."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"palette vmo import-ova --config-file ~/.palette/vmo/vms/my-ova-name/my-ova-name.yaml --config-only\n"})}),"\n",(0,r.jsx)(n.p,{children:"Deploy a vSphere OVA previously imported to Palette VMO in interactive mode silently, without blocking the terminal."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"palette vmo deploy-ova --config-file ~/.palette/vmo/vms/my-ova-name/my-ova-name.yaml --silent\n"})}),"\n",(0,r.jsx)(n.h2,{id:"import-ova",children:"Import OVA"}),"\n",(0,r.jsx)(n.h3,{id:"usage-1",children:"Usage"}),"\n",(0,r.jsxs)(n.p,{children:["Use the ",(0,r.jsx)(n.code,{children:"import-ova"})," subcommand to import a vSphere OVA to Palette VMO. The following flags are supported by the\n",(0,r.jsx)(n.code,{children:"import-ova"})," subcommand. The OVA will be converted to the QCOW2 virtual disk storage format. This subcommand generates\nan OVA deployment c
1onfiguration file. You can then either directly upload the imported image to a ",(0,r.jsx)(n.code,{children:"DataVolume"})," or upload\nit a Docker image registry. Refer to the\n",(0,r.jsx)(n.a,{href:"/vm-management/create-manage-vm/advanced-topics/deploy-import-ova",children:"Import and Deploy OVAs to Palette VMO"}),"\nguide for further details on importing and deploying vSphere OVAs"]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Short Flag"})}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Long Flag"})}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Description"})}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Type"})})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-f"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--config-file"})}),(0,r.jsx)(n.td,{children:"Specifies an OVA configuration file."}),(0,r.jsx)(n.td,{children:"string"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-o"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--config-only"})}),(0,r.jsx)(n.td,{children:"Generate the OVA configuration file only, without proceeding with the import."}),(0,r.jsx)(n.td,{children:"boolean"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--skip-convert"})}),(0,r.jsx)(n.td,{children:"Skip OVA conversion to QCOW2 format."}),(0,r.jsx)(n.td,{children:"boolean"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--skip-image"})}),(0,r.jsx)(n.td,{children:"Skip VM image upload."}),(0,r.jsx)(n.td,{children:"boolean"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-h"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--help"})}),(0,r.jsxs)(n.td,{children:["Help for the ",(0,r.jsx)(n.code,{children:"deploy-ova"})," subcommand."]}),(0,r.jsx)(n.td,{children:"-"})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"examples-1",children:"Examples"}),"\n",(0,r.jsx)(n.p,{children:"Import a vSphere OVA to Palette VMO in interactive mode."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"palette vmo import-ova\n"})}),"\n",(0,r.jsx)(n.p,{children:"Create a configuration file for the OVA import without proceeding with the import."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"palette vmo import-ova --config-only\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Import an OVA to Palette VMO using a configuration file. The configuration file is generated using the ",(0,r.jsx)(n.code,{children:"--config-only"}),"\nflag."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",metastring:"hideCliboard",children:"palette vmo import-ova --config-file ~/.palette/vmo/vms/my-ova-name/my-ova-name.yaml\n"})}),"\n",(0,r.jsx)(n.p,{children:"Import an OVA to Palette VMO without converting it to QCOW2 format."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",metastring:"hideCliboard",children:"palette vmo import-ova --skip-convert\n"})}),"\n",(0,r.jsx)(n.p,{children:"Import an OVA to Palette VMO without uploading it."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",metastring:"hideCliboard",children:"palette vmo import-ova --skip-image\n"})}),"\n",(0,r.jsx)(n.h2,{id:"migrate-vm",children:"Migrate VM"}),"\n",(0,r.jsx)(n.h3,{id:"prerequisites-1",children:"Prerequisites"}),"\n",(0,r.jsxs)(n.p,{children:["Refer to\n",(0,r.jsx)(n.a,{href:"/vm-management/create-manage-vm/advanced-topics/migrate-vm-kubevirt#prerequisites",children:"Migrate a VM to a VMO cluster using the Palette CLI"}),"\nfor a full list of prerequisites."]}),"\n",(0,r.jsx)(n.h3,{id:"usage-2",children:"Usage"}),"\n",(0,r.jsxs)(n.p,{children:["Use the ",(0,r.jsx)(n.code,{children:"migrate-vm"})," subcommand to migrate one or more VMs from VMware vSphere to Palette VMO. The following flags are\nsupported by the ",(0,r.jsx)(n.code,{children:"migrate-vm"})," subcommand. The migration consists of two phases. First, all guest disks are transferred\nto Persistent Volumes (PVs) in K8s using KubeVirt CDI and VMware Virtual Disk Development Kit (VDDK). Then, the guest OS\non the root disk is made bootable and drivers are installed using ",(0,r.jsx)(n.a,{href:"https://libguestfs.org/virt-v2v.1.html",children:"virt-v2v"}),".\nRefer to the\n",(0,r.jsx)(n.a,{href:"/vm-management/create-manage-vm/advanced-topics/migrate-vm-kubevirt",children:"Migrate a VM to a VMO cluster using the Palette CLI"}),"\nguide for further details on migrating a vSphere VM to Palette VMO."]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Short Flag"})}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Long Flag"})}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Description"})}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"Type"})})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-f"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--config-file"})}),(0,r.jsx)(n.td,{children:"Specifies a configuration file for the VM migration."}),(0,r.jsx)(n.td,{children:"string"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-o"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--config-only"})}),(0,r.jsx)(n.td,{children:"Generate the migration configuration file only, without proceeding with the migration."}),(0,r.jsx)(n.td,{children:"boolean"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-p"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--update-passwords"})}),(0,r.jsxs)(n.td,{children:["Update the vSphere and ESXi passwords saved in the configuration file. This flag requires the ",(0,r.jsx)(n.code,{children:"--config-file"})," to be specified."]}),(0,r.jsx)(n.td,{children:"boolean"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-h"})}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"--help"})}),(0,r.jsxs)(n.td,{children:["Help for the ",(0,r.jsx)(n.code,{children:"migrate-vm"})," subcommand."]}),(0,r.jsx)(n.td,{children:"-"})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"examples-2",children:"Examples"}),"\n",(0,r.jsx)(n.p,{children:"Migrate a VM to Palette VMO in interactive mode."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"palette vmo migrate-vm\n"})}),"\n",(0,r.jsx)(n.p,{children:"Create a configuration file for the VM migration without proceeding with the migration."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",children:"palette vmo migrate-vm --config-only\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Migrate a VM using a configuration file. The configuration file is generated using the ",(0,r.jsx)(n.code,{children:"--config-only"})," flag."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",metastring:"hideCliboard",children:"palette vmo migrate-vm --config-file ~/.palette/vmo/migrations/migration-123/config.yaml\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Update the passwords of an VM migration using a configuration file. The configuration file is generated using the\n",(0,r.jsx)(n.code,{children:"--config-only"})," flag."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-shell",metastring:"hideCliboard",children:"palette vmo migrate-vm --config-file ~/.palette/vmo/migrations/migration-123/config.yaml --update-passwords\n"})})]})}function h(e={}){let{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},884429:function(e,n,i){i.d(n,{R:()=>l,x:()=>o});var t=i(296540);let r={},s=t.createContext(r);function l(e){let n=t.useContext(s);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.