ONTAP Discussions
ONTAP Discussions
Hello,
I have a question about "snapmirror-get-volume-status" function. It seems that it's working wrong,
Lets assume that we already have established snapmirror relationship between source and destination endpoints
I would like to implement next flow by using ONTAP API in Java:
1. Break a relationship (snapmirror-break)
2. Resynchronize relationship backward (source becomes a destination and vise versa)
3. Get new destination volume status
3.1 If it is still busy waiting for timeout and repeat step 3
3.2 If it is idle go ahead
4. Update new destination from new source (snapmirror-update)
I assume that resync takes some time and during this period Im waiting for snapmirror-get-volume-status output param which is called: is-transfer-in-progress=true. But I always get is-transfer-in-progress=false. Nevertheless when I move on to the 4th step I get "Snapmirror error: transfer attempted for busy destination".
So, my question is how can I get to know when ether the destination(or source) is busy or not?
Thanks,
Yegor...
Solved! See The Solution
Hi Yegor,
Its seems the in order to the operation that you intend to when volumes in relationship are idle. The param is-transfer-in-progressis-tran will only report in the transfer status but there may be other opertions that may be keeping the volume busy for example Quiescing, Resyncing, etc. which is-transfer-in-progress will not report on since these are not directly data transfer related operations/status.
Would like to suggest to use API "snapmirror-get-status" which returns more verbose information about status than is-transfer-in-progress API. The "snapmirror-get-status" API returns a param "snapmirror-status>snapmirror-status>snapmirror-status-info[]>status field that reports on all these status. Probably you need to check if this value is "Idle" and then move to next step.
Regards,
-Amir
Hi Yegor,
Its seems the in order to the operation that you intend to when volumes in relationship are idle. The param is-transfer-in-progressis-tran will only report in the transfer status but there may be other opertions that may be keeping the volume busy for example Quiescing, Resyncing, etc. which is-transfer-in-progress will not report on since these are not directly data transfer related operations/status.
Would like to suggest to use API "snapmirror-get-status" which returns more verbose information about status than is-transfer-in-progress API. The "snapmirror-get-status" API returns a param "snapmirror-status>snapmirror-status>snapmirror-status-info[]>status field that reports on all these status. Probably you need to check if this value is "Idle" and then move to next step.
Regards,
-Amir
Hello amirm,
Great! It works!
Thanks..
You are welcome Yegor! BTW could you please share more details on kind of use case/scenario you are trying to automate?
Regards,
-Amir
Hello, amirm,
As far as our use case you can look at https://communities.netapp.com/message/89061.
We are still in investigation phase..
Thanks,
Yegor...