[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [RFC PATCH 3/4] virsh: add persistent flag for domain create

Add support for the persistent flag to virsh create to allow creating of
guests that remain defined after they are stopped.

The discussion on https://www.redhat.com/archives/libvir-list/2013-January/msg00490.html
was more inclined to have 'virsh create --persistent' so this adds that.

 tools/virsh-domain.c | 7 +++++++
 tools/virsh.pod      | 5 ++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 3e4be89..cb56b3d 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -6414,6 +6414,11 @@ static const vshCmdOptDef opts_create[] = {
      .flags = 0,
      .help = N_("automatically destroy the guest when virsh disconnects")
+    {.name = "persistent",
+     .type = VSH_OT_BOOL,
+     .flags = 0,
+     .help = N_("keep the guest persistently defined")
+    },
     {.name = NULL}
@@ -6439,6 +6444,8 @@ cmdCreate(vshControl *ctl, const vshCmd *cmd)
         flags |= VIR_DOMAIN_START_PAUSED;
     if (vshCommandOptBool(cmd, "autodestroy"))
+    if (vshCommandOptBool(cmd, "persistent"))
     dom = virDomainCreateXML(ctl->conn, buffer, flags);
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 96666c4..3ea4ba6 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -539,6 +539,7 @@ the I<--force> flag may be specified, requesting to disconnect any existing
 sessions, such as in a case of a broken connection.
 =item B<create> I<FILE> [I<--console>] [I<--paused>] [I<--autodestroy>]
 Create a domain from an XML <file>. An easy way to create the XML
 <file> is to use the B<dumpxml> command to obtain the definition of a
@@ -547,7 +548,9 @@ is used and supported by the driver; otherwise it will be running.
 If I<--console> is requested, attach to the console after creation.
 If I<--autodestroy> is requested, then the guest will be automatically
 destroyed when virsh closes its connection to libvirt, or otherwise
+exits. If I<--persistent> is requested, keep the domain defined after
+it is destroyed. The behavior is similar to having issued the B<define>
+command followed by the B<start> command.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]