Forum Discussion

Jeff_Kessler_47's avatar
Jeff_Kessler_47
Icon for Nimbostratus rankNimbostratus
Feb 14, 2007

Using iControl to change pool members on ASM

Hello all,

 

We have a ASM at our primary site and one at our back up site. When we manually failover just one application to our back up site's web server we usually just change the DNS aliass of that application to point from our primary site's Server IP to our back up site's Server IP, and vise versa. So say you have a application called test.domain.com, which is a DNS alias. Now that alias is pointing to a web server IP address at our primary site. A DNS change can be made to point that alias to it's counterpart web server in our back up site real quick. As you all know ASM only uses IP addresses, obviously for speed so it doesn't have to do a DNS lookup every request. So as of now, every time someone wants to go through the primary site's ASM and hit their application at our back up site I have to manually go in and change the pool members IP addresses on that ASM. Would there be a way of automating this, maybe via iControls? So when a DNS alias change is made iControl will automatically update the members of that applications pool?

 

 

Thanks,

 

Jeff

1 Reply

  • Absolutely you can do that with iControl. Look at the LocalLB::Pool interface for the following methods:

    struct IPPortDefinition {
      String address;
      long port;
    };
    IPPortDefinition[][] LocalLB::Pool::get_member(
        in String[] pool_names
    );
    void LocalLB::Pool::add_member(
        in String[] pool_names,
        in IPPortDefinition[][] members
    );
    void remove_member(
        in String[] LocalLB::Pool::pool_names,
        in IPPortDefinition[][] members
    );

    You can query the pool members with the get_member() method, add members with add_member(), and remove members with remove_member()

    You'll just have to build the logic into your application to make these calls when you update your DNS alias changes.