Hi,

On Sun, Jan 16, 2011 at 12:50:13PM +0100, RaSca wrote:
> Il giorno Ven 14 Gen 2011 17:34:10 CET, RaSca ha scritto:
> [...]
> >I can say for sure that we will surely know. As you can see, in all of
> >my posts (and projects) I never give up until there is a clear solution
> >to the problem. I will find out also in this case.
> >Thanks again,
> 
> Dejan, here I am.
> Attached to this mail you can find a patch to your original iscsi
> RA, in which I've added the possibility to do or do not the
> discovery (discovery_enable parameter). In this way, the RA works
> perfectly and I can use it in my environment.
> As I first supposed there's something in the code of the discovery
> that make things break.
> Note that I will continue my investigation on the discover problem,
> but in this way it's possible for me to use the "original" RA with
> my patch and, of course, the parameter discovery_enable set to "no".
> Maybe, since this is an optional parameter, it can be included in
> the official RA.

Good. Thanks for investigating. As we've already discussed
yesterday in irc, the iscsi patch I attached last week contained
a bug which has been fixed now in the repository. Perhaps that
bug caused the further problems which you experienced, so it
doesn't actually have to do anything with iscsiadm discovery. Can
you please test that.

> Hoping that you're unhappy anymore ;-)

No worries. Hope that I didn't sound too harsh.

Cheers,

Dejan


> -- 
> Raoul Scarazzini
> Mia Mamma Usa Linux: Niente รจ impossibile da capire, se lo spieghi bene!
> ra...@miamammausalinux.org
> 

> *** heartbeat/iscsi   2011-01-16 13:26:12.000000000 +0100
> --- rasca/iscsi       2011-01-16 13:27:57.000000000 +0100
> ***************
> *** 31,36 ****
> --- 31,37 ----
>   #   OCF_RESKEY_portal: the iSCSI portal address or host name (required)
>   #   OCF_RESKEY_target: the iSCSI target (required)
>   #   OCF_RESKEY_iscsiadm: iscsiadm program path (optional)
> + #   OCF_RESKEY_discovery_enable: enable discovery? (default: yes)
>   #   OCF_RESKEY_discovery_type: discovery type (optional; default: 
> sendtargets)
>   #
>   # Initialization:
> ***************
> *** 87,92 ****
> --- 88,101 ----
>   <content type="string" default="" />
>   </parameter>
>   
> + <parameter name="discovery_enable" unique="0" required="0">
> + <longdesc lang="en">
> + Enable discovery? In some cases doing the discovery can break things on 
> startup.
> + </longdesc>
> + <shortdesc lang="en">discovery_enable</shortdesc>
> + <content type="string" default="yes" />
> + </parameter>
> + 
>   <parameter name="discovery_type" unique="0" required="0">
>   <longdesc lang="en">
>   Discovery type. Currently, with open-iscsi, only the sendtargets
> ***************
> *** 179,187 ****
>   #   3: iscsiadm returned error
>   
>   open_iscsi_discovery() {
> !     output=`$iscsiadm -m discovery -p $OCF_RESKEY_portal -t $discovery_type`
>       if [ $? -ne 0 -o x = "x$output" ]; then
> !             [ x != "x$output" ] && echo "$output"
>               return 3
>       fi
>       portal=`echo "$output" |
> --- 188,205 ----
>   #   3: iscsiadm returned error
>   
>   open_iscsi_discovery() {
> !     local output
> !     local portal
> !     local severity=err
> !     local cmd="$iscsiadm -m discovery -p $OCF_RESKEY_portal -t 
> $discovery_type"
> ! 
> !     ocf_is_probe && severity=info
> !     output=`$cmd`
>       if [ $? -ne 0 -o x = "x$output" ]; then
> !             [ x != "x$output" ] && {
> !                     ocf_log $severity "$cmd FAILED"
> !                     echo "$output"
> !             }
>               return 3
>       fi
>       portal=`echo "$output" |
> ***************
> *** 196,202 ****
>       case `echo "$portal" | wc -w` in
>       0) #target not found
>               echo "$output"
> !             ocf_log err "target $OCF_RESKEY_target not found at portal 
> $OCF_RESKEY_portal"
>               return 1
>       ;;
>       1) #we're ok
> --- 214,220 ----
>       case `echo "$portal" | wc -w` in
>       0) #target not found
>               echo "$output"
> !             ocf_log $severity "target $OCF_RESKEY_target not found at 
> portal $OCF_RESKEY_portal"
>               return 1
>       ;;
>       1) #we're ok
> ***************
> *** 336,343 ****
> --- 354,366 ----
>       exit $OCF_ERR_PERM
>   fi
>   
> + discovery_enable=${OCF_RESKEY_discovery_enable:-"yes"}
> + [ "$discovery_enable" != "yes" ] && portal=$OCF_RESKEY_portal
>   discovery_type=${OCF_RESKEY_discovery_type:-"sendtargets"}
>   udev=${OCF_RESKEY_udev:-"yes"}
> + 
> + if [ $discovery_enable = "yes" ]
> + then
>   $discovery  # discover and setup the real portal string (address)
>   case $? in
>   0) ;;
> ***************
> *** 346,353 ****
>      [ "$1" = status ] && exit $LSB_STATUS_STOPPED
>      exit $OCF_ERR_GENERIC
>   ;;
> ! [23]) exit $OCF_ERR_GENERIC;;
>   esac
>   
>   # which method was invoked?
>   case "$1" in
> --- 369,380 ----
>      [ "$1" = status ] && exit $LSB_STATUS_STOPPED
>      exit $OCF_ERR_GENERIC
>   ;;
> ! 2) exit $OCF_ERR_GENERIC;;
> ! 3) ocf_is_probe && exit $OCF_NOT_RUNNING
> !    exit $OCF_ERR_GENERIC
> ! ;;
>   esac
> + fi
>   
>   # which method was invoked?
>   case "$1" in
> 

> _______________________________________________
> Linux-HA mailing list
> Linux-HA@lists.linux-ha.org
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems

_______________________________________________
Linux-HA mailing list
Linux-HA@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to