FAQ
HI,

How can I gracefully shut down my servers of a given pool member for
maintenance without disrupting current user sessions using the F5 iControl
module??...and of course, allowing for enabling and disabling of the server
for a pool

Has anyone done this before?

Thanks

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.

Search Discussions

  • Nan Liu at Feb 7, 2013 at 5:41 pm

    On Thu, Feb 7, 2013 at 6:46 AM, MrTeleBird wrote:

    How can I gracefully shut down my servers of a given pool member for
    maintenance without disrupting current user sessions using the F5 iControl
    module??...and of course, allowing for enabling and disabling of the server
    for a pool

    Has anyone done this before?
    The short version is F5 have an API call, but I'm not sure it's actually
    usable. The good news is you have other options.

    The v11 API [1] was extended to support this functionality, but the module
    was written specifically for v10 [2]. I don't know the f5-icontrol 10.2
    gem compatibility with v11 API, and F5 haven't released v11.2.1 gem yet
    [3]. I think setting a poolmember connection limit would simulate the
    behavior. The other solution is setup monitoring to watch a service
    availability and drain stop (not the actual service but a service
    availability indicator). This is actually quite helpful as it gives the
    server admin the ability to start maintenance, monitor user traffic drain,
    all without any load balancer changes [4].

    If you are on v11 and willing to work with the provider, you can look at
    updating this section:
    https://github.com/puppetlabs/puppetlabs-f5/blob/master/lib/puppet/provider/f5_pool/f5_pool.rb#L66-L74
    https://github.com/puppetlabs/puppetlabs-f5/blob/master/lib/puppet/provider/f5_pool/f5_pool.rb#L123-L131

    Change the WSDL to LocalLB.Pool, add enabled state property, and change to
    the appropriate get_member_*, set_member_* methods.

    HTH,

    Nan

    1.
    https://devcentral.f5.com/wiki/iControl.GlobalLB__Pool__set_member_enabled_state.ashx
    2. https://devcentral.f5.com/wiki/iControl.GlobalLB__PoolMember.ashx
    3.
    https://devcentral.f5.com/tech-tips/articles/getting-started-with-ruby-and-icontrol
    4. https://devcentral.f5.com/community/group/aft/2161534/asg/50

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
    To post to this group, send email to puppet-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/puppet-users?hl=en.
    For more options, visit https://groups.google.com/groups/opt_out.
  • MrTeleBird at Feb 11, 2013 at 9:58 am
    Hi Nan,

    cool, thanks for your reply. We are running both versions of F5, so i think
    i will give it a try and see if this works.

    Cheers, Cesar

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
    To post to this group, send email to puppet-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/puppet-users?hl=en.
    For more options, visit https://groups.google.com/groups/opt_out.
  • MrTeleBird at Feb 11, 2013 at 10:22 am
    Another option (I do not know if this would work), would be to "translate"
    this script:

    https://devcentral.f5.com/wiki/icontrol.pspoolmembercontrol.ashx

    to ruby and execute it when deploying a new application.

    What do you think??


    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
    To post to this group, send email to puppet-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/puppet-users?hl=en.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Nan Liu at Feb 11, 2013 at 6:02 pm

    On Mon, Feb 11, 2013 at 2:22 AM, MrTeleBird wrote:

    Another option (I do not know if this would work), would be to "translate"
    this script:

    https://devcentral.f5.com/wiki/icontrol.pspoolmembercontrol.ashx

    to ruby and execute it when deploying a new application.

    What do you think??
    It might be possible to add 'session_enabled_state' to the list of methods
    available to 'LocalLB.PoolMember' and see if that allows it to toggle this
    setting:

    https://github.com/puppetlabs/puppetlabs-f5/blob/master/lib/puppet/provider/f5_pool/f5_pool.rb#L69-L74
    https://github.com/puppetlabs/puppetlabs-f5/blob/master/lib/puppet/provider/f5_pool/f5_pool.rb#L126-L131

    f5_pool { 'webserver':
    member => { '192.168.1.1:80' =>
    { 'session_enabled_state' => 'STATE_DISABLED' },
    }
    }

    Thanks,

    Nan

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
    To post to this group, send email to puppet-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/puppet-users?hl=en.
    For more options, visit https://groups.google.com/groups/opt_out.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedFeb 7, '13 at 2:46p
activeFeb 11, '13 at 6:02p
posts5
users2
websitepuppetlabs.com

2 users in discussion

MrTeleBird: 3 posts Nan Liu: 2 posts

People

Translate

site design / logo © 2022 Grokbase