<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000066">
Aye-aye. Will do.<br>
<br>
Kaloyan Kovachev wrote:
<blockquote cite="mid:79f8d6a200e1641f24db35271498aa99@mx.varna.net"
 type="cite">
  <pre wrap="">On Thu, 17 Jun 2010 14:59:59 -0500, Dustin Henry Offutt
<a class="moz-txt-link-rfc2396E" href="mailto:dhoffutt@gmail.com"><dhoffutt@gmail.com></a> wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Believe this issue has been resolved by altering
    </pre>
  </blockquote>
  <pre wrap=""><!---->/usr/share/cluster/ip.sh.
  </pre>
  <blockquote type="cite">
    <pre wrap="">The resulting script has added new XML for a new "device" parameter.

New variable 'device' is passed to the ip_op function and then to
    </pre>
  </blockquote>
  <pre wrap=""><!---->functions
  </pre>
  <blockquote type="cite">
    <pre wrap="">ipv4 and ipv6. The ipv4 and ipv6 function iterate through all network
devices and, upon finding a device with a configuration similar to the
    </pre>
  </blockquote>
  <pre wrap=""><!---->IP
  </pre>
  <blockquote type="cite">
    <pre wrap="">needing to be assigned, would assign the IP there, which caused all the
    </pre>
  </blockquote>
  <pre wrap=""><!---->IPs
  </pre>
  <blockquote type="cite">
    <pre wrap="">to bunch up on one device. The added logic here will go through the
iteration, and if there is a "device" variable requested it is matched
against the device name in the function.

Is there some way to get this put into the Cluster Suite officially so
    </pre>
  </blockquote>
  <pre wrap=""><!---->that
  </pre>
  <blockquote type="cite">
    <pre wrap="">it may be supported?

Thank you...

(diff -cB)
    </pre>
  </blockquote>
  <pre wrap=""><!---->
You should also modify cluster.rng and add 'device' as an optional
attribute to the 'ip' element (around line 1010) or else the config won't
validate

why not use OSCF_RESKEY_device inside ipv4/6 directly, instead of passing
it to ip_op?
  ip_op <family> <operation> <address> <device> [quiet]
... if device is empty, but there is quiet present it will be accepted as
device

  </pre>
  <blockquote type="cite">
    <pre wrap="">*** ip.sh.original    2010-06-17 10:43:00.000000000 -0500
--- ip.sh    2010-06-17 14:42:26.000000000 -0500
***************
*** 86,91 ****
--- 86,104 ----
              <content type="string"/>
          </parameter>

+         <parameter name="device">
+             <longdesc lang="en">
+                 Specify network device to bring this
+                 IP up on. Optional. Example: "eth0"
+             </longdesc>
+
+             <shortdesc lang="en">
+                 Network device
+             </shortdesc>
+
+             <content type="string" default="auto"/>
+         </parameter>
+
          <parameter name="monitor_link">
              <longdesc lang="en">
                  Enabling this causes the status check to fail if
***************
*** 571,576 ****
--- 583,589 ----
      declare addr_exp=$(ipv6_expand $addr)

      while read dev ifaddr_exp maskbits; do
+             if ([ -z $3 ] || [ "$3" = "auto" ]) || [ "$dev" = "$3" ];
then
              if [ -z "$dev" ]; then
                  continue
          fi
***************
*** 636,641 ****
--- 649,655 ----
          fi

          return 0
+             fi
      done < <(ipv6_list_interfaces)

      return 1
***************
*** 651,656 ****
--- 664,670 ----
      declare addr=$2

      while read dev ifaddr maskbits; do
+             if ([ -z $3 ] || [ "$3" = "auto" ]) || [ "$dev" = "$3" ];
then
              if [ -z "$dev" ]; then
                  continue
          fi
***************
*** 715,720 ****
--- 729,735 ----
          fi

          return 0
+             fi
      done  < <(ipv4_list_interfaces)

      return 1
***************
*** 813,819 ****

  #
  # Usage:
! # ip_op <family> <operation> <address> [quiet]
  #
  ip_op()
  {
--- 827,833 ----

  #
  # Usage:
! # ip_op <family> <operation> <address> <device> [quiet]
  #
  ip_op()
  {
***************
*** 866,872 ****

      case $1 in
      inet)
!         ipv4 $2 $3
          return $?
          ;;
      inet6)
--- 880,886 ----

      case $1 in
      inet)
!         ipv4 $2 $3 $4
          return $?
          ;;
      inet6)
***************
*** 923,929 ****
          ocf_log debug "${OCF_RESKEY_address} already configured"
          exit 0
      fi
!     ip_op ${OCF_RESKEY_family} add ${OCF_RESKEY_address}
      if [ $? -ne 0 ]; then
          exit $OCF_ERR_GENERIC
      fi
--- 937,943 ----
          ocf_log debug "${OCF_RESKEY_address} already configured"
          exit 0
      fi
!     ip_op ${OCF_RESKEY_family} add ${OCF_RESKEY_address}
${OCF_RESKEY_device}
      if [ $? -ne 0 ]; then
          exit $OCF_ERR_GENERIC
      fi


On Thu, Jun 17, 2010 at 9:00 AM, Dustin Henry Offutt
<a class="moz-txt-link-rfc2396E" href="mailto:dhoffutt@gmail.com"><dhoffutt@gmail.com></a>wrote:

    </pre>
    <blockquote type="cite">
      <pre wrap="">Using the node's IPs would not work. The software being made HA must
      </pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->keep
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <pre wrap="">its IPs the same no matter what node its running on. Could script an IP
change, but then we're putting IP logic and monitoring in two places:
      </pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->The
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <pre wrap="">cluster software and in our custom scripting. That's not a clean
      </pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->solution
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <pre wrap="">and is rather going backwards.

We may as well just do our own HA if we were starting down that road.
When
we sell our product the customer must also purchase Redhat Support for
their
OS and cluster software. I would think Redhat should pony up to get
      </pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->this
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <pre wrap="">done as the product we are selling is selling well and inducing Redhat
Support sales.

An official feature request has been submitted to Redhat.

Also, I'm working on the /usr/share/cluster/ip.sh script myself to add
the
feature. Hopefully it works out.



On Thu, Jun 17, 2010 at 2:09 AM, Kit Gerrits <a class="moz-txt-link-rfc2396E" href="mailto:kitgerrits@gmail.com"><kitgerrits@gmail.com></a>
wrote:

      </pre>
      <blockquote type="cite">
        <pre wrap=""> In that case, might it be easier to simply use the host IP adresses
        </pre>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->and
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <pre wrap="">not the cluster IP's?
(the application will need to handle up/down events itself)


Regards,

Kit

 ------------------------------
*From:* <a class="moz-txt-link-abbreviated" href="mailto:linux-cluster-bounces@redhat.com">linux-cluster-bounces@redhat.com</a> [mailto:
<a class="moz-txt-link-abbreviated" href="mailto:linux-cluster-bounces@redhat.com">linux-cluster-bounces@redhat.com</a>] *On Behalf Of *Dustin Henry Offutt
*Sent:* dinsdag 15 juni 2010 14:40
*To:* linux clustering
*Subject:* Re: [Linux-cluster] Higher Grained Definition ofIP
AddressAssignments

I've spent the past year architecting an HA cluster with RHCS and it's
working wonderfully. I have not seen anything superior.

Due to a new customer-driven feature of our software, we need to add
        </pre>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->the
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <pre wrap="">ability for a cluster service/resource group to have up to eight
distinct
IPs on one particular network due to the software being made highly
available via RHCS performing its own load balancing. Placing the load
balancing elsewhere is not an option due to the nature of the product.

Regarding "OCF_RESKEY_," will google more on this and appreciate the
tip.
Must work this out some way.

~ Dusty

C. Handel wrote:

[define interface of cluster controlled ip resource]



/usr/share/cluster/ip.sh appears to perform the link-monitoring in the


This is a resource agent script. What attributes a resource agent
accepts can be found by calling it with the option meta-data

/usr/share/cluster/ip.sh meta-data

There is no attribute interface. The agent will add the additional
address to the first interface that is in the same subnet.

You could edit the script and add a parameter interface yourself. Add
a new parameter into the XML at the beginning and access it in the
script with OCF_RESKEY_...

I don't understand what you are trying to do. If you are only handling
network interfaces as services, then rhcs is most likely the wrong
tool. If you would explain your goal we could probably suggest other
solutions.

Greetings
   Christoph

--
Linux-cluster mailing

        </pre>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!----><a class="moz-txt-link-abbreviated" href="mailto:listLinux-cluster@redhat.comhttps://www.redhat.com/mailman/listinfo/linux-cluster">listLinux-cluster@redhat.comhttps://www.redhat.com/mailman/listinfo/linux-cluster</a>
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <pre wrap="">
No virus found in this incoming message.
Checked by AVG - <a class="moz-txt-link-abbreviated" href="http://www.avg.com">www.avg.com</a>
Version: 9.0.829 / Virus Database: 271.1.1/2939 - Release Date:
        </pre>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->06/15/10
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <pre wrap="">08:35:00


--
Linux-cluster mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Linux-cluster@redhat.com">Linux-cluster@redhat.com</a>
<a class="moz-txt-link-freetext" href="https://www.redhat.com/mailman/listinfo/linux-cluster">https://www.redhat.com/mailman/listinfo/linux-cluster</a>

        </pre>
      </blockquote>
      <pre wrap="">
      </pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->
--
Linux-cluster mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Linux-cluster@redhat.com">Linux-cluster@redhat.com</a>
<a class="moz-txt-link-freetext" href="https://www.redhat.com/mailman/listinfo/linux-cluster">https://www.redhat.com/mailman/listinfo/linux-cluster</a>

  </pre>
</blockquote>
<br>
</body>
</html>