Forum Discussion

Jim_48474's avatar
Jim_48474
Icon for Nimbostratus rankNimbostratus
Apr 13, 2015

Copying iApps

I was wondering if there was an easy way to copy iApps from one load balancer to another? I currently have the iApps working on one load balancer and need to duplicate it on another, but I need to change the Virtual IP Address of the service.

 

I know how to do this with a regular Virtual Server int he Local Traffic Common Partition, but that is about it.

 

9 Replies

  • Fred_Slater_856's avatar
    Fred_Slater_856
    Historic F5 Account

    If you know how to copy LTM virtual server info from bigip.conf on one ADC to another, then copying an iApp is not much different. Simply copy the "sys application service" definition. There are two added steps: (1) since iApps are always deployed in a folder, you must script a "create sys folder" command or add a folder definition to bigip_base.conf; (2) After loading the config files that you just modified with "tmsh load sys config," the iApp will be there, but it will not have been executed. You must either enter the iApp via the UI and click "Finished," or execute on the command line "tmsh modify sys application service MY_IAPP.app/MY_IAPP execute-action definition".

     

    • jbuddenh_127560's avatar
      jbuddenh_127560
      Icon for Nimbostratus rankNimbostratus
      Fred, I'm also trying to move iApps from one LTM to another both running 11.5.3. Initially I ran into this error 01070734:3: Configuration error: Can't associate (/Common/AEMforms-ia.app/AEMforms-ia) with folder (/Common/AEMforms-ia.app) folder does not exist. Unexpected Error: Validating configuration process failed. I found this article, and I successfully ran this command: create sys folder /Common/AEMforms-ia.app Vlidated the folder creation with this command: list sys folder | grep AEMforms-ia.app sys folder AEMforms-ia.app { Now, when I try to load the config, with this command: load sys config file /var/tmp/ticf5ltm.py-bulkmove-bigip.conf verify I get this error. 01070734:3: Configuration error: Unknown template (/Common/A-Travelers-iapp-template-v2-8) specified for application () Unexpected Error: Validating configuration process failed. The template (/Common/A-Travelers-iapp-template-v2-8) does exist on the system, so I suspect the LTM is complaining about the "...application ()..." Any ideas? Thanks, Jeff
    • Fred_Slater_856's avatar
      Fred_Slater_856
      Historic F5 Account
      The service and the template are 2 different things. The application service that you moved refers to an application template that you apparently did not move. You can copy the template either using export/import in the UI, or by copying it into bigip_script.conf.
    • jbuddenh_127560's avatar
      jbuddenh_127560
      Icon for Nimbostratus rankNimbostratus
      Fred, The template is present on the destination LTM. I re-imported it just to be sure, and got the same error. load sys config file /var/tmp/ticf5ltm.py-bulkmove-bigip.conf verify 01070734:3: Configuration error: Unknown template (/Common/A-Travelers-iapp-template-v2-8) specified for application () Unexpected Error: Validating configuration process failed. Do you think the "application ()" in the error message is significant? Could this be an issue with version 11.5.3? Thanks, Jeff
  • I have searched long and far, but I can't find better documentation on copying iApps. How are people adding IPv6 versions of their IPv4 iApps? (Of course, F5 should allow us to simply list both the IPv4 and IPv6 addresses in the HTTP iApp, which is the best solution.)

    Here is the method that I have been using to make an IPv6 version (a copy) of an IPv4 iApp. I don't know good it is, so please provide critical feedback.

    1) Login to the tmsh CLI

    2) Display the existing config for your IPv4 iApp

    list sys application service myapp_iapp.app/myapp_iapp

    3) Copy that output and change the pool address from IPv4 to IPv6:

    OLD = pool__addr { value 10.20.30.40 }

    NEW = pool__addr { value 1111:2222:3333:4444::40 }

    4) Next, edit the name of the iApp by appending _v6 to the end (or whatever you prefer):

    OLD = sys application service myapp_iapp.app/myapp_iapp {

    NEW = sys application service myapp_iapp_v6.app/myapp_iapp_v6 {

    5) Test the new config by entering this command:

    load sys config from-terminal merge verify

    Paste your updated IPv6 config and hit control-D.

    6) If there are no errors, you can submit the new config by using:

    load sys config from-terminal merge

    And again paste the same IPv6 config to enter it into the system.

    You should be able to see your new IPv6 version iApp with:

    list sys application service myapp_iapp_v6.app/myapp_iapp_v6

    7) The last step is to activate the new iApp from the F5 web interface

    iApps > Application Services, select your IAPP, click “Reconfigure”.

    Verify that everything is correct and then click “Finished”.

    😎 You should now have an IPv6 version of your application. Remember that the IPv4 and IPv6 versions are not linked, so any changes from now on will need to be done on both iApps. (Another important reason F5 should allow dual-stack iApps!)