提交 6343018f 编写于 作者: W Wido den Hollander 提交者: John Ferlan

rbd: Do not append Ceph monitor port number 6789 if not provided

If no port number was provided for a storage pool libvirt defaults to
port 6789; however, librbd/librados already default to 6789 when no port
number is provided.

In the future Ceph will switch to a new port for the Ceph monitors since
port 6789 is already assigned to a different application by IANA.

Port 6789 is assigned to SMC-HTTPS and Ceph now has port 3300 assigned as
the 'Ceph monitor' port.

In this case it is the best solution to not hardcode any port number into
libvirt and let librados handle the connection.

Only if a user specifies a different port number we pass it down to librados,
otherwise we leave it blank.
Signed-off-by: NWido den Hollander <wido@widodh.nl>

merge
上级 f46d137e
......@@ -2151,7 +2151,7 @@
<td> rbd </td>
<td> monitor servers of RBD </td>
<td> one or more </td>
<td> 6789 </td>
<td> librados default </td>
</tr>
<tr>
<td> sheepdog </td>
......
......@@ -550,7 +550,9 @@
backend supports cephx authentication for communication with the
Ceph cluster. Storing the cephx authentication key is done with
the libvirt secret mechanism. The UUID in the example pool input
refers to the UUID of the stored secret.
refers to the UUID of the stored secret.<br />
The port attribute for a Ceph monitor does not have to be provided.
If not provided librados will use the default Ceph monitor port.
<span class="since">Since 0.9.13</span>
</p>
......@@ -560,8 +562,8 @@
&lt;name&gt;myrbdpool&lt;/name&gt;
&lt;source&gt;
&lt;name&gt;rbdpool&lt;/name&gt;
&lt;host name='1.2.3.4' port='6789'/&gt;
&lt;host name='my.ceph.monitor' port='6789'/&gt;
&lt;host name='1.2.3.4'/&gt;
&lt;host name='my.ceph.monitor'/&gt;
&lt;host name='third.ceph.monitor' port='6789'/&gt;
&lt;auth username='admin' type='ceph'&gt;
&lt;secret uuid='2ec115d7-3a88-3ceb-bc12-0ac909a6fd87'/&gt;
......
......@@ -173,7 +173,7 @@ static int virStorageBackendRBDOpenRADOSConn(virStorageBackendRBDStatePtr ptr,
for (i = 0; i < source->nhost; i++) {
if (source->hosts[i].name != NULL &&
!source->hosts[i].port) {
virBufferAsprintf(&mon_host, "%s:6789,",
virBufferAsprintf(&mon_host, "%s,",
source->hosts[i].name);
} else if (source->hosts[i].name != NULL &&
source->hosts[i].port) {
......
......@@ -2245,9 +2245,6 @@ virStorageSourceRBDAddHost(virStorageSourcePtr src,
port += skip;
if (VIR_STRDUP(src->hosts[src->nhosts - 1].port, port) < 0)
goto error;
} else {
if (VIR_STRDUP(src->hosts[src->nhosts - 1].port, "6789") < 0)
goto error;
}
parts = virStringSplit(hostport, "\\:", 0);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册