Forum Discussion

Leslie_South_55's avatar
Leslie_South_55
Icon for Nimbostratus rankNimbostratus
Oct 02, 2007

Getting started with iControl

I am looking for information/documentation how a "network guy" like me can get started with iControl. I have one app that was built by a developer in our shop using c, and it works very well (for disabling and enabling nodes in a pool) but his time is hard to get. Is there a "how to" guide for someone who does not script, code, or otherwise develop stuff to get started with iControl? I can work the iRules pretty good, but the iControl is a little beyond me at this point.

 

 

Thanks for any input.

 

-L

9 Replies

  • I feel your pain... We are constantly trying to figure out the best ways to bring the "coding" aspects of iControl to the "network guy" while bringing the "networking" aspects to the "dev guy".

     

     

    Ultimately it depends on what language you are comfortable working with. For a network guy, I'm assuming you've done some perl while VS/C development may be something foreign to you (correct me if I'm wrong). If that is the case, then the Quickstart guide for Perl might be your best starting place to get the dev environment setup.

     

     

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

     

    Click here

     

     

     

    Unfortunately, the perl toolkit, due to it's dynamic nature, is a bit trickier to debug since it doesn't have development time strong bindings to the methods. You have to package the parameters yourself to each method call and if you rename a hash incorrectly it will not work.

     

     

    In my book, the .NET client toolkit is likely the most intuitive (if you are using the iControl Assembly located in the labs). Just plug in the Assembly into your .Net project and in 3 lines of code you can be making iControl calls. That might be the best place for you to start if you already have a .Net/C app that you want to extend.

     

     

    The iControl API if you haven't seen it is mapped very closely to the product GUI so hopefully if you have a task you want to accomplish and you know how to do it within the GUI, it should be fairly intuitive as to how to do it with the API.

     

     

    I'm actively working on Tech Tips/Tutorials in the iControl space, so any feedback of a specific topic would be greatly appreciated.

     

     

    Hope this helps a little... If not, let me know more specifics of how I can point you in the right direction and I'll do my best.

     

     

    -Joe
  • Joe,

     

    You hit the nail on the head. I have some apprentice perl experiance, but .NET/c is very foreign to me. Our one and only iControl app was complied using the code from the share, and was implemented to allow app support to manipulate pool member status. I am looking to not only expand this but provided some "view only" interfaces to allow other users to see what the entire VS environment consist of (pool, memeber, rules, profiles, etc..) basically everything that is involved in the workflow on the LTM. Your comments are very helpful, and it does give me a starting point.

     

     

    Since the .NET toolkit, in your opinion, seems to be more intuitive, I suppose I should look more at that platform...I just need to corral our .NET developer so he can explain the existing project to me.

     

     

    Thanks again, and I will be looking for any and all tech tips.

     

     

    -L
  • A great 'tech tip' would be to have a Solaris 10 perl tar file with Crypt::SSLeay and SOAP::Lite with other compiled required files ready for download and install. Anyone who has dealt with Solaris & Perl knows the frustration.
  • Patrick_Chang_7's avatar
    Patrick_Chang_7
    Historic F5 Account
    lsouth

     

    Many of the things that you mention in your last post are now included with v9.4.2 (which was just released). You might be able achieve most of what you want by just upgrading.
  • Could the Quick start guide be updated to include how to install SSLeay w/ ActivePerl 5.8? That's where I'm currently stuck.
  • It's in the Quickstart Guide for Perl that I wrote a long time ago. We'll have to include links to the relevant language specific language guides in the main document.

     

     

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

     

    Click here

     

     

     

    Specifically look for Step 5.

     

     

    Let me know if this doesn't help...

     

     

    -Joe
  • Doh, I missed your point on 5.8. From what I remember, there's a major compatibility issue between 5.6 and 5.8 and the modules built for 5.6 won't work on 5.8. I'll have to dig around to see if I can find a version of Crypt::SSLeay built for 5.8. If you find one before me, let me know.

     

     

    In the mean time, if you can install ActivePerl 5.6, it should work fine.

     

     

    -Joe
  • I think this doc on ActiveState's site explains how to get it running in 5.8

     

     

    http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/Repository

     

    Click here

     

     

     

    -Joe
  • Thanks Joe, that did the trick. Here's the output from the install:

     

     

     

    C:\Perl\bin>ppm install http://theoryx5.uwinnipeg.ca/ppms/Crypt-SSLeay.ppd

     

     

    Downloading Crypt-SSLeay-0.53...done

     

    Unpacking Crypt-SSLeay-0.53...done

     

    Generating HTML for Crypt-SSLeay-0.53...done

     

    Updating files in site area...done

     

    Downloading Crypt-SSLeay-0.53 install script...done

     

    Running Crypt-SSLeay-0.53 install script...

     

    **************************************************************************

     

    This software package uses strong cryptography, so even if it is created,

     

    maintained and distributed from countries where it is legal to do this,

     

    it falls under certain export/import and/or use restrictions in some

     

    other parts of the world.

     

     

    PLEASE REMEMBER THAT EXPORT/IMPORT AND/OR USE OF STRONG CRYPTOGRAPHY

     

    SOFTWARE, PROVIDING CRYPTOGRAPHY HOOKS OR EVEN JUST COMMUNICATING

     

    TECHNICAL DETAILS ABOUT CRYPTOGRAPHY SOFTWARE IS ILLEGAL IN SOME PARTS

     

    OF THE WORLD. SO, WHEN YOU IMPORT THIS PACKAGE TO YOUR COUNTRY,

     

    RE-DISTRIBUTE IT FROM THERE OR EVEN JUST EMAIL TECHNICAL SUGGESTIONS

     

    OR EVEN SOURCE PATCHES TO THE AUTHOR OR OTHER PEOPLE YOU ARE STRONGLY

     

    ADVISED TO PAY CLOSE ATTENTION TO ANY EXPORT/IMPORT AND/OR USE LAWS

     

    WHICH APPLY TO YOU. THE AUTHORS OF OPENSSL ARE NOT LIABLE FOR ANY

     

    VIOLATIONS YOU MAKE HERE. SO BE CAREFUL, IT IS YOUR RESPONSIBILITY.

     

     

    CREDIT INFORMATION: This product includes cryptographic software

     

    written by Eric A. Young (eay@cryptsoft.com). This product

     

    includes software written by Tim J. Hudson (tjh@cryptsoft.com).

     

    **************************************************************************

     

     

    Proceed with installation? [yes]

     

     

    The library ssleay32.dll is needed to complete the installation,

     

    and should be placed in a directory somewhere in your PATH

     

    environment variable. I can fetch and install this for you,

     

    if you don't already have it.

     

     

    Fetch ssleay32.dll? [yes]

     

    Fetching http://theoryx5.uwinnipeg.ca/ppms/scripts/ssleay32.dll ... done!

     

    Where should ssleay32.dll be placed? [C:\Perl\bin]

     

    ssleay32.dll has been successfully installed to C:/Perl/bin

     

     

    The library libeay32.dll is needed to complete the installation,

     

    and should be placed in a directory somewhere in your PATH

     

    environment variable. I can fetch and install this for you,

     

    if you don't already have it.

     

     

    Fetch libeay32.dll? [yes]

     

    Fetching http://theoryx5.uwinnipeg.ca/ppms/scripts/libeay32.dll ... done!

     

    Where should libeay32.dll be placed? [C:/Perl/bin]

     

    libeay32.dll has been successfully installed to C:/Perl/bin

     

    done

     

    13 files installed

     

     

    C:\Perl\bin>