Change in vdsm[master]: ceph: Initial support for network disk

nsoffer at redhat.com nsoffer at redhat.com
Wed Jun 10 19:21:31 UTC 2015


Nir Soffer has posted comments on this change.

Change subject: ceph: Initial support for network disk
......................................................................


Patch Set 15:

(1 comment)

https://gerrit.ovirt.org/#/c/38766/15/vdsm/rpc/vdsmapi-schema.json
File vdsm/rpc/vdsmapi-schema.json:

Line 2609: #
Line 2610: # @protocol:         #optional Network disk protocol. Required if diskType is
Line 2611: #                    set to "network"
Line 2612: #                    Since: 4.17.0
Line 2613: #
> You are introducing a sub-type for disk with special parameters.  This mean
If I understand your suggestion correctly, for using network disk we will have to send this data:

    {
        "connection": {
            "type": "network",
            "hosts": [
                {    
                     "name": "1.2.3.4",
                     "port": "6789",
                     "transport": "tcp"
                },
            ], 
            "protocol": "rbd"
        },
        "path": "pool/volume"
    }

And for block disk:

    {
         "connection": {
             "type": "vdsm",
         },
         "path": "",  # does not matter, path built by vdsm
         "domainID": ...
         "poolID": ...
         "imageID": ...
         "volumeID": ...
    }

So we this is not symetric. All the data needed for the vdsm connection is contained in the top level of the dict, while for network connection, some data is in the connection dict (e.g, hosts) and some in the top level (e.g. path).

Since our Drive class copy the dict keys keys and values as is, this structure is also duplicated in the Drive object.

Our goal was to add a compatible way that look the same for file, block and network disks, and allow minimal changes in the current schema and the underlying code.

Further, our goal was to use the libvirt model - all our keys are using the libvirt names in the xml (e.g, host keys are the attributes of the host element). Why add a new "connection" concept, when libvirt provides the concept of disk type?

This looks like a good idea for 4.0, put all the drive connection details in a sub dict for all connection types. For 3.6, I think the schema in this patch is more useful, and it is also much easier to understand.
Line 2614: # Since: 4.10.0
Line 2615: ##
Line 2616: {'type': 'VmDiskDevice',
Line 2617:  'data': {'deviceType': 'VmDeviceType', 'device': 'VmDiskDeviceType',


-- 
To view, visit https://gerrit.ovirt.org/38766
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I1c5792bb6206a227ee0c2df9490b771a69c0093c
Gerrit-PatchSet: 15
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Nir Soffer <nsoffer at redhat.com>
Gerrit-Reviewer: Adam Litke <alitke at redhat.com>
Gerrit-Reviewer: Allon Mureinik <amureini at redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken at redhat.com>
Gerrit-Reviewer: Daniel Erez <derez at redhat.com>
Gerrit-Reviewer: Federico Simoncelli <fsimonce at redhat.com>
Gerrit-Reviewer: Francesco Romani <fromani at redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Nir Soffer <nsoffer at redhat.com>
Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczewski at gmail.com>
Gerrit-Reviewer: Sahina Bose <sabose at redhat.com>
Gerrit-Reviewer: Timothy Asir <tjeyasin at redhat.com>
Gerrit-Reviewer: automation at ovirt.org
Gerrit-HasComments: Yes


More information about the vdsm-patches mailing list