Forum Discussion

Radim_Bosticka_'s avatar
Radim_Bosticka_
Icon for Nimbostratus rankNimbostratus
Jan 20, 2009

Documentation system description

Hi,

 

 

can I ask someone for short description about system of documentation. I have seen videos how to work with iControlSDK where you go through iControl methods and showing connection between documentation and web interface. Sadly I have problems to find description at least for "LocalLBClassLocator" in SDK. Is there some system in it? I am working with Jython and most of advantages of Java development UIs is hidden to me.

 

 

Thanks

3 Replies

  • The Locator classes are Apache Axis specific client proxy code. For a given interface, let's say LocalLB.Class there are several classes made

     

     

    LocalLBClass

     

    LocalLBClassLocator

     

    LocalLBClassBindingStub

     

    LocalLBClassPortType

     

     

    The easiest way to navigate through this is to use the iControl library for Java and use the iControl.Interfaces get* methods. It returns a PortType object with all the methods in the associated interfaces in the SDK. You would do something like this for LocalLB.Class

     

     

    iControl.Interfaces interfaces = new iControl.Interfaces(); 
     if (interfaces.initialize(bigip, (long)443, username, password) ) { 
       iControl.LocalLBClassPortType oClass = interfaces.getLocalLBClass(); 
       String [] string_class_list = oClass.get_string_class_list(); 
       ... 
     }

     

     

    From then on, you can reference the SDK and access any methods in the Class interface via this "oClass" object.

     

     

    I haven't done much with Java for a long time now, but I'd be glad to help out if you have any other specific questions.

     

     

    -Joe
  • One more question into this. Is somehow possible to get status for just exact server? If it would be combination of more arrays, it would be about some merging of arrays which I would like to be aware of. The best would be to have possibility get status for exact one server. All functions I have found list every time all servers.

     

     

    Thanks much.
  • I'll try to get to all your questions. If I missed something let me know!

     

     

    Regarding status, the monitor status is the current state that the monitoring system for that pool member is in. It will basically tell you if a monitor is active and if so whether the pool member has been marked up or down by that monitor.

     

     

    There is another kind of state and that is what you see in the GUI for the State

     

     

    Enabled (All traffic allowed)

     

    Disabled (Only persistent or active connections allowed)

     

    Forced Offline (Only active connections allowed)

     

     

     

    I've talked about this three way toggle state and the iControl methods needed to set the pool member to one of these three in this post:

     

     

    http://devcentral.f5.com/Default.aspx?tabid=53&forumid=1&tpage=1&view=topic&postid=86048605

     

    Click here

     

     

     

    In your case, if you want to query the state of a pool member, I'd look at the get_object_status() method which returns the Availability and Enabled status values. The Availability determines whether new connections can be made and the Enabled status ties in to the value of the monitor status.

     

     

    In this tech tip I illustrated how to query status and gracefully take down a pool member by disabling current connections, waiting until the current connections went to zero, and then disabling.

     

     

    http://devcentral.f5.com/Default.aspx?tabid=63&articleType=ArticleView&articleId=254

     

    Click here

     

     

     

    With regards to your other post on specifying particular pool members, at this point there are not any methods that you pass in a pool and a single pool member to query just that pool members status. You'll have to iterate through the returned list until you find the match you want.

     

     

    Let me know if this makes sense or not and if so, what exactly you want to do and I'll list out the iControl methods to make.

     

     

    -Joe