<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small;color:#000000"><span style="color:rgb(34,34,34)">On Tue, Mar 26, 2019 at 8:14 AM Eric Blake <<a href="mailto:eblake@redhat.com" target="_blank">eblake@redhat.com</a>> wrote:</span><br></div><div class="gmail_default" style="font-size:small;color:#000000"><span style="color:rgb(34,34,34)">...</span></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
+              <value>pull</value><br>
+            </attribute><br>
+            <interleave><br>
+              <element name='server'><br>
+                <choice><br>
</blockquote><div><span class="gmail_default" style="font-size:small;color:rgb(0,0,0)">...</span> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
+                  <group><br>
+                    <attribute name='transport'><br>
+                      <value>unix</value><br>
+                    </attribute><br>
+                    <attribute name='socket'><br>
+                      <ref name='absFilePath'/><br>
+                    </attribute><br>
+                  </group><br>
+                </choice><br>
+              </element><br>
+              <ref name='backupDisksPull'/><br>
+            </interleave><br>
+          </group><br>
+        </choice></blockquote><div><br></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)">We are trying to use backup_v5a from:</div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"><span id="m_6682518996615789142gmail-docs-internal-guid-20c20ab1-7fff-5ce9-bfe4-0096bde9b009"><a href="https://repo.or.cz/libvirt/ericb.git" style="text-decoration-line:none" target="_blank"><span style="font-size:11pt;font-family:"Courier New";background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;text-decoration-line:underline;vertical-align:baseline;white-space:pre-wrap">https://repo.or.cz/libvirt/ericb.git</span></a></span><br></div><div class="gmail_default" style="font-size:small;color:rgb(0,0,0)"></div><div class="gmail_default" style="font-size:small"><font color="#000000">And when we start a backup with this xml:</font></div><div class="gmail_default" style="font-size:small"><font color="#000000"><br></font></div><div class="gmail_default" style="font-size:small"><div class="gmail_default"><div class="gmail_default"><domainbackup mode="pull"></div><div class="gmail_default">    <server socket="/var/run/vdsm/nbd/4f594cec-1a27-43fd-acf8-3283cacd6347.sock" transport="unix" /></div><div class="gmail_default">    <disks></div><div class="gmail_default">        <disk name="sda" type="file" /></div><div class="gmail_default">    </disks></div><div class="gmail_default"></domainbackup></div></div><div class="gmail_default"><br></div><div class="gmail_default">Libvirt fail with:</div><div class="gmail_default"><br></div><div class="gmail_default">    'Operation not supported: <domainbackup> must specify TCP server for now'<br></div><div class="gmail_default"><br></div><div class="gmail_default">Which comes from:</div><div class="gmail_default"><br></div><div class="gmail_default"><span style="font-family:monospace">       if (!def->server || </span><br style="font-family:monospace"><span style="font-family:monospace">           def->server-></span><span style="font-family:monospace">transport != VIR_STORAGE_NET_HOST_TRANS_</span><span style="font-family:monospace">TCP) { </span><br style="font-family:monospace"><span style="font-family:monospace">           virReportError(VIR_</span><span style="font-family:monospace">ERR_OPERATION_UNSUPPORTED, "%s", </span><br style="font-family:monospace"><span style="font-family:monospace">                          _("<</span><span style="font-family:monospace">domainbackup> </span><span style="font-family:monospace;color:rgb(255,255,255);background-color:rgb(0,0,0)">must specify TCP</span><span style="font-family:monospace;color:rgb(0,0,0)"> server for now")); </span><br style="font-family:monospace"><span style="font-family:monospace">           goto cleanup; </span><br style="font-family:monospace"><span style="font-family:monospace">       }</span></div></div><div class="gmail_default" style="font-size:small"><span style="color:rgb(34,34,34)"><br></span></div><div class="gmail_default" style="font-size:small"><span style="color:rgb(34,34,34)"> Unix socket support is very important for us, for several reasons:</span></div><div class="gmail_default" style="font-size:small"><span style="color:rgb(34,34,34)">- always local, no way to configure it in the wrong way</span></div><div class="gmail_default" style="font-size:small"><span style="color:rgb(34,34,34)">- having permissions on the socket</span></div><div class="gmail_default" style="font-size:small"><span style="color:rgb(34,34,34)">- easier to manage using file system (persistence is free)</span></div><div class="gmail_default" style="font-size:small"><span style="color:rgb(34,34,34)">- usually perforamnce better then tcp</span></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I have tests running our nbd client with qemu, starting a backup with unix socket using qmp, so there is</div><div class="gmail_default" style="font-size:small">no reason that libvirt would not support it.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Can we expect this to be fixed soon?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">If we must use tcp for now, can we use port=0 to get a random port from the kernel,</div><div class="gmail_default" style="font-size:small">and find the port by getting the backup xml?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I hope that we don't need to managed pull of ports for backups per host.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Nir</div></div></div>