Active IQ Unified Manager Discussions
Active IQ Unified Manager Discussions
Dear All
i am trying to map existing luns into the igroup by using row repetition function.
used below SQL Finder command:
SELECT
lun.id,
lun.serial_number,
lun.array_id,
lun.vfiler_id,
lun.volume_id,
qtree.name AS 'qtree',
lun.qtree_id,
lun.size_mb,
lun.mapped,
lun.space_reserved,
lun.name,
lun.full_path,
volume.name AS 'volume.name',
array.ip AS 'volume.array.ip'
FROM
storage.lun AS lun,
storage.array AS array,
storage.volume AS volume,
Storage.qtree
WHERE
lun.array_id = array.id
AND qtree.id = lun.qtree_id
AND qtree.volume_id = volume.id
AND lun.name LIKE 'EEC_%'
AND lun.volume_id = volume.id
AND volume.name LIKE 'EEC_%'
AND array.ip = '192.168.100.100'
it was successfully to query so the result screen listed below:
so i have applied each one of the component to command parameter as show below:
after preview workflow the below error will show.
anyone have any idea why this error was occured.
thank you in advanced
Richy
Solved! See The Solution
You should be basing your filter query on a standard LUN filter rather than changing the values to include qtree name, lun name, etc.
I would expect your query should be more like (parameterizing rather than putting in static query info):
SELECT
lun.id,
lun.serial_number,
lun.array_id,
lun.vfiler_id,
lun.volume_id,
lun.qtree_id,
lun.size_mb,
lun.mapped,
lun.space_reserved,
lun.name,
lun.full_path,
volume.name AS 'volume.name',
array.ip AS 'volume.array.ip'
FROM
storage.lun AS lun,
storage.array AS array,
storage.volume AS volume
WHERE
lun.array_id = array.id
AND lun.full_path LIKE '${lun_prefix}%'
AND lun.volume_id = volume.id
AND volume.name LIKE '${vol_prefix}%'
AND array.ip = '${array_ip}'
Regards,
Tim
Check out the finder variable input, could you attach a screenshot of the row repetition details ? ( the parameters are what you used to fill out the command form and the variable should be the finder output or a $variable )
row repetition detail screen shot.
at the lower left picture, enter the parameter and the value ( is empty ) , then use the parameter in the command.
do i need to do that since i have completed parameter input in the finder already.
AND lun.name LIKE 'EEC_%'
AND lun.volume_id = volume.id
AND volume.name LIKE 'EEC_%'
AND array.ip = '192.168.100.100'
Richy
Check the returned attributes on your EEC finder ( you move them from available to selected )
In the row repetion details window ( edit ) , below where the finder parameters ( where the parameters and value table appears and is empty, so the commands are not receiving the variables ), there is a variables table where you could also add ( try to make the window bigger so you can see it ), the finder populates that from the returned attributes but is seems to be empty.
In your case, the finder should have populated the variables ( check the returned attributes on your EEC finder ).
Hope that helps.
Hi
i have check the return attribute it was selected.
no variable i have filled in
are there any point for me to check ?
Thank you
Richy
Hi,
Can you try out the following two suggestions.
1. Check the wfa.log file to see the exceptions and you could attach here
2. Could you also try making this change and preview the workflow and let us know whether it helps.
In the parameters provided to "Map and Online" command, can you change the value given to
Volume tab -> 'name' attribute to "LunMember2.volume.name from "LunMember2.volume"
Array tab -> 'ip' attribute to "LunMember2.array.ip" from "LunMember2.array"
Qtree tab -> 'name' attribute to 'LunMember2.qtree.name" from "LunMember2.qtree"
Thanks,
Shailaja
Unfortunately, I did not find useful information in the log file that can help debugging this.
Is it possible to provide
- Your workflow as a dar file
- Or backup of your system
You could attach it or send it directly.
Thanks,
Shailaja
You should be basing your filter query on a standard LUN filter rather than changing the values to include qtree name, lun name, etc.
I would expect your query should be more like (parameterizing rather than putting in static query info):
SELECT
lun.id,
lun.serial_number,
lun.array_id,
lun.vfiler_id,
lun.volume_id,
lun.qtree_id,
lun.size_mb,
lun.mapped,
lun.space_reserved,
lun.name,
lun.full_path,
volume.name AS 'volume.name',
array.ip AS 'volume.array.ip'
FROM
storage.lun AS lun,
storage.array AS array,
storage.volume AS volume
WHERE
lun.array_id = array.id
AND lun.full_path LIKE '${lun_prefix}%'
AND lun.volume_id = volume.id
AND volume.name LIKE '${vol_prefix}%'
AND array.ip = '${array_ip}'
Regards,
Tim
Dear Tim
thank you for reply.
with your method it's works !!
i also modify command to force them to map and online the luns from clone volume.
the command show as below.
Param (
[parameter(Mandatory=$true, HelpMessage="Array name or IP address")]
[string]$Array,
[parameter(Mandatory=$true, HelpMessage="Volume name")]
[string]$VolumeName,
[parameter(Mandatory=$true, HelpMessage="LUN name")]
[string]$LunName,
[parameter(Mandatory=$true, HelpMessage="List of initiator group names to map to the given LUN. The list should be comma separated in case more than one group is required")]
[array]$IGroups,
[parameter(Mandatory=$false, HelpMessage="Qtree name")]
[string]$QtreeName,
[parameter(Mandatory=$false, HelpMessage="LUN ID")]
[int]$LunID,
[parameter(Mandatory=$false, HelpMessage="vFiler name")]
[string]$VFilerName
)
# connect to controller
Connect-WfaController -Array $Array -VFiler $VFilerName
if($QtreeName)
{
$LunPath = "/vol/" + "clone_" + $VolumeName + "/" + $QtreeName + "/" + $LunName
}
else
{
$LunPath = "/vol/" +"clone_" + $VolumeName + "/" + $LunName
}
foreach ($IGroup in $IGroups)
{
if($LunID)
{
Get-WFALogger -Info -message $("Mapping LUN " + $LunPath + " using LUN ID " + $LunID + " to Igroup => " + $IGroup)
Add-NaLunMap -Path $LunPath -InitiatorGroup $IGroup -ID $LunID
}
else
{
Get-WFALogger -Info -message $("Mapping LUN " + $LunPath + " using next available LUN ID to Igroup => " + $IGroup)
Add-NaLunMap -Path $LunPath -InitiatorGroup $IGroup
}
}
Get-WFALogger -Info -message $("Changing volume statue to onine, Lun name: " + $LunPath)
Set-NaLun -Path $LunPath -Online
please feel free to comment or suggest for my solution.
Brs,
Richy
That looks like it should work. I would probably make the clone volume name a parameter rather than hardcoding the clone prefix.
Regards,
Tim