Accepted Solution

Giving "Break QSM" command a valid "dest interface"

I can't find a way to make this workflow work. We have a workflow that create QSM relationships and then this one which removes QSM relationships. The "Break QSM" Certified command has "destination interface" as a mandatory parameter. This environment is not use separate interfaces for snapmirror and we're just trying to get the simple case working where the destination interface is the same as what resolves for it's hostname or FQDN. So for "dest interface" I pass "". However, that gives a FQDN such as The WF returns an error saying Destination filer '' does not match hostname 'hostname' which is passed. This matches what snapmirror status shows:

dr-stor-7m-2> snapmirror status

Snapmirror is on.

Source                                            Destination                                 State          Lag        Status  dr-stor-7m-2:/vol/gamma/sm_dev_aaaaa_ddddd  Snapmirrored   00:18:42   Idle                        dr-stor-7m-2:sm_beta                        Snapmirrored   05:06:56   Idle            dr-stor-7m-2:sm_prd_ms_prd_pdc_01_ds23      Snapmirrored   1002:51:21  Idle

So thinking I need "dest interface" to just be the simple name I changed the parameter for dest interface to:


to split out just the simple name in front of the first dot.

But with this change the commands reports that no 'dest interface' has been passed at all and fails. Any ideas to get out of this?

Screen shot of errors follows and workflow itself is attached

Re: Giving "Break QSM" command a valid "dest interface"

Able to reproduce the issue.

More details will be posted soon.



Re: Giving "Break QSM" command a valid "dest interface"

Hi David,

     Can you open a case with NetApp Global Support ? So that it can be added to the bug  ?



Re: Giving "Break QSM" command a valid "dest interface"

Passing the destination interface as just the hostname instead of the FQDN should work for you and splitByDelimiter() is a good tool for getting the hostname from the FQDN.

However, the delimiter argument in splitByDelimiter(, ".", 0) is actually a regular expression because MVEL delegates split() to String.split(). The dot character has special meaning in regular expressions and therefore we must escape it. The following syntax with "\\" as the escape sequence should work.



Re: Giving "Break QSM" command a valid "dest interface"

Thanks Ajit,

That fixed the workflow and tested successfully!

This community site is awesome! I was working another issue the other day where I thought I needed to escape a "." and I was only single-back-slashing "\." ... so thanks again.


Re: Giving "Break QSM" command a valid "dest interface"

Hi Adai,

So what do you think? Since I've resolved my issue to being improperly escaped "." is there really a bug here? ... or is this just the way it works?