Interacting with VDSM storage without oVirt Engine

Hello all, Like the title says, I need to work with VDSM's storage layer without involving the engine. Presently, I'm testing this with NFS domains and have been able to use vdsClient to create, attach, and activate a new storage domain, but I have not been able to create a new image or volume. Here are the commands I ran to get to this step, starting with a nfs volume already mounted on the machine I ran the commands on. ---- vdsClient -s host_name createStorageDomain 1 97338d5c-9b6f-1859-b827-e977ed082e53 cli_domain storage_server:/data vdsClient -s host_name attachStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c vdsClient -s host_name activateStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c vdsClient -s frodo createVolume 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c 0288f410-71f1-4b7d-bdb7-e815a93e34ef 53690000000 5 1 2 96d7726c-6969-40a5-84bd-0925496b6051 cli_volume ---- The last command outputs a new UUID, but there is nothing under /rhev/data-center/00000001-0001-0001-0001-00000000033c/97338d5c-9b6f-1859-b827-e977ed082e53/images/ directory. If I pass createVolume an existing image/storage domain UUID, the command still outputs a new UUID, but nothing changes under the images directory. Is there a step that I am missing somewhere in this process? -- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212

Hi, I do not remember exacly, but you might check the source code of hosted engine's VdsmBackend where we do that too. https://gerrit.ovirt.org/gitweb?p=ovirt-hosted-engine-ha.git;a=blob;f=ovirt_... I think you are missing the prepareImage call. Regards -- Martin Sivak SLA / oVirt On Wed, May 25, 2016 at 1:44 AM, Hayley Swimelar <hayley@linbit.com> wrote:
Hello all,
Like the title says, I need to work with VDSM's storage layer without involving the engine.
Presently, I'm testing this with NFS domains and have been able to use vdsClient to create, attach, and activate a new storage domain, but I have not been able to create a new image or volume.
Here are the commands I ran to get to this step, starting with a nfs volume already mounted on the machine I ran the commands on.
---- vdsClient -s host_name createStorageDomain 1 97338d5c-9b6f-1859-b827-e977ed082e53 cli_domain storage_server:/data
vdsClient -s host_name attachStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s host_name activateStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s frodo createVolume 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c 0288f410-71f1-4b7d-bdb7-e815a93e34ef 53690000000 5 1 2 96d7726c-6969-40a5-84bd-0925496b6051 cli_volume ----
The last command outputs a new UUID, but there is nothing under /rhev/data-center/00000001-0001-0001-0001-00000000033c/97338d5c-9b6f-1859-b827-e977ed082e53/images/ directory.
If I pass createVolume an existing image/storage domain UUID, the command still outputs a new UUID, but nothing changes under the images directory.
Is there a step that I am missing somewhere in this process?
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

On 05/25/2016 02:00 AM, Martin Sivak wrote:
Hi,
I do not remember exacly, but you might check the source code of hosted engine's VdsmBackend where we do that too.
https://gerrit.ovirt.org/gitweb?p=ovirt-hosted-engine-ha.git;a=blob;f=ovirt_...
I think you are missing the prepareImage call.
I think that prepareImage is probably the missing piece to this; however, it seems that the hosted engine's create_volume method with calls _get_volume_path which calls prepareImage. vdsClient's prepareImage command takes a volume UUID as an agrument I've tried passing the new UUID I created for the createVolume command, the UUID returned from that command, and a fresh UUID. All of these return the same error: Volume does not exist I've also tried manually creating the image directory under the storage domain directory with the same results for all commands.
Regards
-- Martin Sivak SLA / oVirt
On Wed, May 25, 2016 at 1:44 AM, Hayley Swimelar <hayley@linbit.com> wrote:
Hello all,
Like the title says, I need to work with VDSM's storage layer without involving the engine.
Presently, I'm testing this with NFS domains and have been able to use vdsClient to create, attach, and activate a new storage domain, but I have not been able to create a new image or volume.
Here are the commands I ran to get to this step, starting with a nfs volume already mounted on the machine I ran the commands on.
---- vdsClient -s host_name createStorageDomain 1 97338d5c-9b6f-1859-b827-e977ed082e53 cli_domain storage_server:/data
vdsClient -s host_name attachStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s host_name activateStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s frodo createVolume 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c 0288f410-71f1-4b7d-bdb7-e815a93e34ef 53690000000 5 1 2 96d7726c-6969-40a5-84bd-0925496b6051 cli_volume ----
The last command outputs a new UUID, but there is nothing under /rhev/data-center/00000001-0001-0001-0001-00000000033c/97338d5c-9b6f-1859-b827-e977ed082e53/images/ directory.
If I pass createVolume an existing image/storage domain UUID, the command still outputs a new UUID, but nothing changes under the images directory.
Is there a step that I am missing somewhere in this process?
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212

Can you explain the use case? What are you trying to use VDSM for? The API you want to use is internal and can break without notice. Yaniv Dary Technical Product Manager Red Hat Israel Ltd. 34 Jerusalem Road Building A, 4th floor Ra'anana, Israel 4350109 Tel : +972 (9) 7692306 8272306 Email: ydary@redhat.com IRC : ydary On Wed, May 25, 2016 at 8:29 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/25/2016 02:00 AM, Martin Sivak wrote:
Hi,
I do not remember exacly, but you might check the source code of hosted engine's VdsmBackend where we do that too.
https://gerrit.ovirt.org/gitweb?p=ovirt-hosted-engine-ha.git;a=blob;f=ovirt_...
I think you are missing the prepareImage call.
I think that prepareImage is probably the missing piece to this; however, it seems that the hosted engine's create_volume method with calls _get_volume_path which calls prepareImage.
vdsClient's prepareImage command takes a volume UUID as an agrument I've tried passing the new UUID I created for the createVolume command, the UUID returned from that command, and a fresh UUID. All of these return the same error: Volume does not exist
I've also tried manually creating the image directory under the storage domain directory with the same results for all commands.
Regards
-- Martin Sivak SLA / oVirt
On Wed, May 25, 2016 at 1:44 AM, Hayley Swimelar <hayley@linbit.com> wrote:
Hello all,
Like the title says, I need to work with VDSM's storage layer without involving the engine.
Presently, I'm testing this with NFS domains and have been able to use vdsClient to create, attach, and activate a new storage domain, but I have not been able to create a new image or volume.
Here are the commands I ran to get to this step, starting with a nfs volume already mounted on the machine I ran the commands on.
---- vdsClient -s host_name createStorageDomain 1 97338d5c-9b6f-1859-b827-e977ed082e53 cli_domain storage_server:/data
vdsClient -s host_name attachStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s host_name activateStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s frodo createVolume 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c 0288f410-71f1-4b7d-bdb7-e815a93e34ef 53690000000 5 1 2 96d7726c-6969-40a5-84bd-0925496b6051 cli_volume ----
The last command outputs a new UUID, but there is nothing under
/rhev/data-center/00000001-0001-0001-0001-00000000033c/97338d5c-9b6f-1859-b827-e977ed082e53/images/ directory.
If I pass createVolume an existing image/storage domain UUID, the command still outputs a new UUID, but nothing changes under the images directory.
Is there a step that I am missing somewhere in this process?
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

On 05/31/2016 08:25 AM, Yaniv Dary wrote:
Can you explain the use case? What are you trying to use VDSM for? The API you want to use is internal and can break without notice.
Hi Yaniv, I'm working to to integrate DRBD storage into VDSM. It will be a new type of storage domain, so I can't use the GUI since the engine component won't be aware of it as far as I can tell. The current plan is to have another developer on our end make changes to the Engine once the VDSM side is working.
Yaniv Dary Technical Product Manager Red Hat Israel Ltd. 34 Jerusalem Road Building A, 4th floor Ra'anana, Israel 4350109
Tel : +972 (9) 7692306 8272306 Email: ydary@redhat.com IRC : ydary
On Wed, May 25, 2016 at 8:29 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/25/2016 02:00 AM, Martin Sivak wrote:
Hi,
I do not remember exacly, but you might check the source code of hosted engine's VdsmBackend where we do that too.
https://gerrit.ovirt.org/gitweb?p=ovirt-hosted-engine-ha.git;a=blob;f=ovirt_...
I think you are missing the prepareImage call.
I think that prepareImage is probably the missing piece to this; however, it seems that the hosted engine's create_volume method with calls _get_volume_path which calls prepareImage.
vdsClient's prepareImage command takes a volume UUID as an agrument I've tried passing the new UUID I created for the createVolume command, the UUID returned from that command, and a fresh UUID. All of these return the same error: Volume does not exist
I've also tried manually creating the image directory under the storage domain directory with the same results for all commands.
Regards
-- Martin Sivak SLA / oVirt
On Wed, May 25, 2016 at 1:44 AM, Hayley Swimelar <hayley@linbit.com> wrote:
Hello all,
Like the title says, I need to work with VDSM's storage layer without involving the engine.
Presently, I'm testing this with NFS domains and have been able to use vdsClient to create, attach, and activate a new storage domain, but I have not been able to create a new image or volume.
Here are the commands I ran to get to this step, starting with a nfs volume already mounted on the machine I ran the commands on.
---- vdsClient -s host_name createStorageDomain 1 97338d5c-9b6f-1859-b827-e977ed082e53 cli_domain storage_server:/data
vdsClient -s host_name attachStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s host_name activateStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s frodo createVolume 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c 0288f410-71f1-4b7d-bdb7-e815a93e34ef 53690000000 5 1 2 96d7726c-6969-40a5-84bd-0925496b6051 cli_volume ----
The last command outputs a new UUID, but there is nothing under
/rhev/data-center/00000001-0001-0001-0001-00000000033c/97338d5c-9b6f-1859-b827-e977ed082e53/images/ directory.
If I pass createVolume an existing image/storage domain UUID, the command still outputs a new UUID, but nothing changes under the images directory.
Is there a step that I am missing somewhere in this process?
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212

On Tue, May 31, 2016 at 7:25 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 08:25 AM, Yaniv Dary wrote:
Can you explain the use case? What are you trying to use VDSM for? The API you want to use is internal and can break without notice.
Hi Yaniv,
I'm working to to integrate DRBD storage into VDSM.
It will be a new type of storage domain, so I can't use the GUI since the engine component won't be aware of it as far as I can tell.
The current plan is to have another developer on our end make changes to the Engine once the VDSM side is working.
Hi Hayley, Sounds cool, can you describe in more details the use case, and how do you think this can work? Cheers, Nir
Yaniv Dary Technical Product Manager Red Hat Israel Ltd. 34 Jerusalem Road Building A, 4th floor Ra'anana, Israel 4350109
Tel : +972 (9) 7692306 8272306 Email: ydary@redhat.com IRC : ydary
On Wed, May 25, 2016 at 8:29 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/25/2016 02:00 AM, Martin Sivak wrote:
Hi,
I do not remember exacly, but you might check the source code of hosted engine's VdsmBackend where we do that too.
https://gerrit.ovirt.org/gitweb?p=ovirt-hosted-engine-ha.git;a=blob;f=ovirt_...
I think you are missing the prepareImage call.
I think that prepareImage is probably the missing piece to this; however, it seems that the hosted engine's create_volume method with calls _get_volume_path which calls prepareImage.
vdsClient's prepareImage command takes a volume UUID as an agrument I've tried passing the new UUID I created for the createVolume command, the UUID returned from that command, and a fresh UUID. All of these return the same error: Volume does not exist
I've also tried manually creating the image directory under the storage domain directory with the same results for all commands.
Regards
-- Martin Sivak SLA / oVirt
On Wed, May 25, 2016 at 1:44 AM, Hayley Swimelar <hayley@linbit.com> wrote:
Hello all,
Like the title says, I need to work with VDSM's storage layer without involving the engine.
Presently, I'm testing this with NFS domains and have been able to use vdsClient to create, attach, and activate a new storage domain, but I have not been able to create a new image or volume.
Here are the commands I ran to get to this step, starting with a nfs volume already mounted on the machine I ran the commands on.
---- vdsClient -s host_name createStorageDomain 1 97338d5c-9b6f-1859-b827-e977ed082e53 cli_domain storage_server:/data
vdsClient -s host_name attachStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s host_name activateStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s frodo createVolume 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c 0288f410-71f1-4b7d-bdb7-e815a93e34ef 53690000000 5 1 2 96d7726c-6969-40a5-84bd-0925496b6051 cli_volume ----
The last command outputs a new UUID, but there is nothing under
/rhev/data-center/00000001-0001-0001-0001-00000000033c/97338d5c-9b6f-1859-b827-e977ed082e53/images/ directory.
If I pass createVolume an existing image/storage domain UUID, the command still outputs a new UUID, but nothing changes under the images directory.
Is there a step that I am missing somewhere in this process?
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

On 05/31/2016 10:40 AM, Nir Soffer wrote:
On Tue, May 31, 2016 at 7:25 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 08:25 AM, Yaniv Dary wrote:
Can you explain the use case? What are you trying to use VDSM for? The API you want to use is internal and can break without notice.
Hi Yaniv,
I'm working to to integrate DRBD storage into VDSM.
It will be a new type of storage domain, so I can't use the GUI since the engine component won't be aware of it as far as I can tell.
The current plan is to have another developer on our end make changes to the Engine once the VDSM side is working.
Hi Hayley,
Sounds cool, can you describe in more details the use case, and how do you think this can work?
Hi Nir, The use case is to make replicated block level storage available in oVirt. VDSM should be able to communicate with DRBD via DRBD Manage, which is a new administrative layer for the latest release.
Cheers, Nir
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212

Have you considered submitting a design document to the oVirt website. We will be happy to help in making this happen. Yaniv Dary Technical Product Manager Red Hat Israel Ltd. 34 Jerusalem Road Building A, 4th floor Ra'anana, Israel 4350109 Tel : +972 (9) 7692306 8272306 Email: ydary@redhat.com IRC : ydary On Tue, May 31, 2016 at 8:54 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 10:40 AM, Nir Soffer wrote:
On Tue, May 31, 2016 at 7:25 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 08:25 AM, Yaniv Dary wrote:
Can you explain the use case? What are you trying to use VDSM for? The API you want to use is internal and can break without notice.
Hi Yaniv,
I'm working to to integrate DRBD storage into VDSM.
It will be a new type of storage domain, so I can't use the GUI since the engine component won't be aware of it as far as I can tell.
The current plan is to have another developer on our end make changes to the Engine once the VDSM side is working.
Hi Hayley,
Sounds cool, can you describe in more details the use case, and how do you think this can work?
Hi Nir,
The use case is to make replicated block level storage available in oVirt.
VDSM should be able to communicate with DRBD via DRBD Manage, which is a new administrative layer for the latest release.
Cheers,
Nir
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

On 05/31/2016 12:15 PM, Yaniv Dary wrote:
Have you considered submitting a design document to the oVirt website. We will be happy to help in making this happen.
I believe there is already one here: http://www.ovirt.org/develop/release-management/features/infra/drbd/ I would be happy to update it as that was written for DRBD 8.4 and I'm working with DRBD 9.
On Tue, May 31, 2016 at 8:54 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 10:40 AM, Nir Soffer wrote:
On Tue, May 31, 2016 at 7:25 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 08:25 AM, Yaniv Dary wrote:
Can you explain the use case? What are you trying to use VDSM for? The API you want to use is internal and can break without notice.
Hi Yaniv,
I'm working to to integrate DRBD storage into VDSM.
It will be a new type of storage domain, so I can't use the GUI since the engine component won't be aware of it as far as I can tell.
The current plan is to have another developer on our end make changes to the Engine once the VDSM side is working.
Hi Hayley,
Sounds cool, can you describe in more details the use case, and how do you think this can work?
Hi Nir,
The use case is to make replicated block level storage available in oVirt.
VDSM should be able to communicate with DRBD via DRBD Manage, which is a new administrative layer for the latest release.
Cheers,
Nir
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212

Hi Hayley, Have you considered facilitate DRBD using Cinder? We've integrated Cinder storage provider, with CEPH driver, as part of oVirt 3.6. So it could be easier to enhance it with DRBD driver: https://www.drbd.org/en/doc/users-guide-90/s-openstack-install http://docs.openstack.org/developer/cinder/api/cinder.volume.drivers.drbdman... On Tue, May 31, 2016 at 10:30 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 12:15 PM, Yaniv Dary wrote:
Have you considered submitting a design document to the oVirt website. We will be happy to help in making this happen.
I believe there is already one here: http://www.ovirt.org/develop/release-management/features/infra/drbd/
I would be happy to update it as that was written for DRBD 8.4 and I'm working with DRBD 9.
On Tue, May 31, 2016 at 8:54 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 10:40 AM, Nir Soffer wrote:
On Tue, May 31, 2016 at 7:25 PM, Hayley Swimelar <hayley@linbit.com>
wrote:
On 05/31/2016 08:25 AM, Yaniv Dary wrote:
Can you explain the use case? What are you trying to use VDSM for? The API you want to use is internal and can break without notice.
Hi Yaniv,
I'm working to to integrate DRBD storage into VDSM.
It will be a new type of storage domain, so I can't use the GUI since the engine component won't be aware of it as far as I can tell.
The current plan is to have another developer on our end make changes to the Engine once the VDSM side is working.
Hi Hayley,
Sounds cool, can you describe in more details the use case, and how do you think this can work?
Hi Nir,
The use case is to make replicated block level storage available in oVirt.
VDSM should be able to communicate with DRBD via DRBD Manage, which is a new administrative layer for the latest release.
Cheers,
Nir
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

On 06/01/2016 01:47 AM, Daniel Erez wrote:
Hi Hayley,
Have you considered facilitate DRBD using Cinder? We've integrated Cinder storage provider, with CEPH driver, as part of oVirt 3.6. So it could be easier to enhance it with DRBD driver: https://www.drbd.org/en/doc/users-guide-90/s-openstack-install http://docs.openstack.org/developer/cinder/api/cinder.volume.drivers.drbdman...
Hi Daniel, I was not aware that Cinder was integrated into oVirt, thank you for bringing this to my attention.
On Tue, May 31, 2016 at 10:30 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 12:15 PM, Yaniv Dary wrote:
Have you considered submitting a design document to the oVirt website. We will be happy to help in making this happen.
I believe there is already one here: http://www.ovirt.org/develop/release-management/features/infra/drbd/
I would be happy to update it as that was written for DRBD 8.4 and I'm working with DRBD 9.
On Tue, May 31, 2016 at 8:54 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 10:40 AM, Nir Soffer wrote:
On Tue, May 31, 2016 at 7:25 PM, Hayley Swimelar <hayley@linbit.com>
wrote:
On 05/31/2016 08:25 AM, Yaniv Dary wrote:
> Can you explain the use case? What are you trying to use VDSM for? > The API you want to use is internal and can break without notice. > >
Hi Yaniv,
I'm working to to integrate DRBD storage into VDSM.
It will be a new type of storage domain, so I can't use the GUI since the engine component won't be aware of it as far as I can tell.
The current plan is to have another developer on our end make changes to the Engine once the VDSM side is working.
Hi Hayley,
Sounds cool, can you describe in more details the use case, and how do you think this can work?
Hi Nir,
The use case is to make replicated block level storage available in oVirt.
VDSM should be able to communicate with DRBD via DRBD Manage, which is a new administrative layer for the latest release.
Cheers,
Nir
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212

What's the end goal of this? Why would you want something the management system (=engine) is not aware of? On Tue, May 31, 2016 at 7:25 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 08:25 AM, Yaniv Dary wrote:
Can you explain the use case? What are you trying to use VDSM for? The API you want to use is internal and can break without notice.
Hi Yaniv,
I'm working to to integrate DRBD storage into VDSM.
It will be a new type of storage domain, so I can't use the GUI since the engine component won't be aware of it as far as I can tell.
The current plan is to have another developer on our end make changes to the Engine once the VDSM side is working.
Yaniv Dary Technical Product Manager Red Hat Israel Ltd. 34 Jerusalem Road Building A, 4th floor Ra'anana, Israel 4350109
Tel : +972 (9) 7692306 8272306 Email: ydary@redhat.com IRC : ydary
On Wed, May 25, 2016 at 8:29 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/25/2016 02:00 AM, Martin Sivak wrote:
Hi,
I do not remember exacly, but you might check the source code of hosted engine's VdsmBackend where we do that too.
https://gerrit.ovirt.org/gitweb?p=ovirt-hosted-engine-ha.git;a=blob;f=ovirt_...
I think you are missing the prepareImage call.
I think that prepareImage is probably the missing piece to this; however, it seems that the hosted engine's create_volume method with calls _get_volume_path which calls prepareImage.
vdsClient's prepareImage command takes a volume UUID as an agrument I've tried passing the new UUID I created for the createVolume command, the UUID returned from that command, and a fresh UUID. All of these return the same error: Volume does not exist
I've also tried manually creating the image directory under the storage domain directory with the same results for all commands.
Regards
-- Martin Sivak SLA / oVirt
On Wed, May 25, 2016 at 1:44 AM, Hayley Swimelar <hayley@linbit.com> wrote:
Hello all,
Like the title says, I need to work with VDSM's storage layer without involving the engine.
Presently, I'm testing this with NFS domains and have been able to use vdsClient to create, attach, and activate a new storage domain, but I have not been able to create a new image or volume.
Here are the commands I ran to get to this step, starting with a nfs volume already mounted on the machine I ran the commands on.
---- vdsClient -s host_name createStorageDomain 1 97338d5c-9b6f-1859-b827-e977ed082e53 cli_domain storage_server:/data
vdsClient -s host_name attachStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s host_name activateStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s frodo createVolume 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c 0288f410-71f1-4b7d-bdb7-e815a93e34ef 53690000000 5 1 2 96d7726c-6969-40a5-84bd-0925496b6051 cli_volume ----
The last command outputs a new UUID, but there is nothing under
/rhev/data-center/00000001-0001-0001-0001-00000000033c/97338d5c-9b6f-1859-b827-e977ed082e53/images/ directory.
If I pass createVolume an existing image/storage domain UUID, the command still outputs a new UUID, but nothing changes under the images directory.
Is there a step that I am missing somewhere in this process?
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
--
Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

On 06/01/2016 06:41 AM, Allon Mureinik wrote:
What's the end goal of this? Why would you want something the management system (=engine) is not aware of?
The end goal is to integrate with the engine as well. If working on the engine component at the same time as VDSM is require/preferred, I can discuss it with the other developers I am working with on this project.
On Tue, May 31, 2016 at 7:25 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/31/2016 08:25 AM, Yaniv Dary wrote:
Can you explain the use case? What are you trying to use VDSM for? The API you want to use is internal and can break without notice.
Hi Yaniv,
I'm working to to integrate DRBD storage into VDSM.
It will be a new type of storage domain, so I can't use the GUI since the engine component won't be aware of it as far as I can tell.
The current plan is to have another developer on our end make changes to the Engine once the VDSM side is working.
Yaniv Dary Technical Product Manager Red Hat Israel Ltd. 34 Jerusalem Road Building A, 4th floor Ra'anana, Israel 4350109
Tel : +972 (9) 7692306 8272306 Email: ydary@redhat.com IRC : ydary
On Wed, May 25, 2016 at 8:29 PM, Hayley Swimelar <hayley@linbit.com> wrote:
On 05/25/2016 02:00 AM, Martin Sivak wrote:
Hi,
I do not remember exacly, but you might check the source code of hosted engine's VdsmBackend where we do that too.
https://gerrit.ovirt.org/gitweb?p=ovirt-hosted-engine-ha.git;a=blob;f=ovirt_...
I think you are missing the prepareImage call.
I think that prepareImage is probably the missing piece to this; however, it seems that the hosted engine's create_volume method with calls _get_volume_path which calls prepareImage.
vdsClient's prepareImage command takes a volume UUID as an agrument I've tried passing the new UUID I created for the createVolume command, the UUID returned from that command, and a fresh UUID. All of these return the same error: Volume does not exist
I've also tried manually creating the image directory under the storage domain directory with the same results for all commands.
Regards
-- Martin Sivak SLA / oVirt
On Wed, May 25, 2016 at 1:44 AM, Hayley Swimelar <hayley@linbit.com> wrote:
Hello all,
Like the title says, I need to work with VDSM's storage layer without involving the engine.
Presently, I'm testing this with NFS domains and have been able to use vdsClient to create, attach, and activate a new storage domain, but I have not been able to create a new image or volume.
Here are the commands I ran to get to this step, starting with a nfs volume already mounted on the machine I ran the commands on.
---- vdsClient -s host_name createStorageDomain 1 97338d5c-9b6f-1859-b827-e977ed082e53 cli_domain storage_server:/data
vdsClient -s host_name attachStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s host_name activateStorageDomain 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c
vdsClient -s frodo createVolume 97338d5c-9b6f-1859-b827-e977ed082e53 00000001-0001-0001-0001-00000000033c 0288f410-71f1-4b7d-bdb7-e815a93e34ef 53690000000 5 1 2 96d7726c-6969-40a5-84bd-0925496b6051 cli_volume ----
The last command outputs a new UUID, but there is nothing under
/rhev/data-center/00000001-0001-0001-0001-00000000033c/97338d5c-9b6f-1859-b827-e977ed082e53/images/ directory.
If I pass createVolume an existing image/storage domain UUID, the command still outputs a new UUID, but nothing changes under the images directory.
Is there a step that I am missing somewhere in this process?
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
--
Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212 _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- Hayley Swimelar LINBIT | Keeping the Digital World Running DRBD — Corosync — Pacemaker +1-503-573-1262 x212
participants (6)
-
Allon Mureinik
-
Daniel Erez
-
Hayley Swimelar
-
Martin Sivak
-
Nir Soffer
-
Yaniv Dary