Forum Discussion

Drew's avatar
Drew
Icon for Nimbostratus rankNimbostratus
Jan 03, 2014

Class file location in V11.4.1

Hi

 

We use scripts to reload individual class files after updating them. Does anyone know theactual location of the class files in V11 ? we used to use : tmsh modify ltm data-group test_class_file access-mode read-only but this no longer works.

 

Regards

 

Drew

 

5 Replies

  • You now have to specify if it's an internal or external data group:

    tmsh modify ltm data-group [internal|external] [dg name] ...
    
  • Drew's avatar
    Drew
    Icon for Nimbostratus rankNimbostratus

    Yes we were trying: tmsh modify ltm data-group external /partition_name/test_class_file access-mode read-only but the access-mode switch no longer works. I can do: tmsh modify ltm data-group external /partition_name/test_class_file app-service none but I cant find a reference to say what the app-service bit does.. Cheers

     

  • Believe the access-mode option was completely deprecated. Can you describe 1) why you need that option, and 2) what your ultimate goal is?

     

  • doesn't it just update data group file?

    e.g.

    root@(ve11a)(cfg-sync In Sync)(Active)(/Common)(tmos) list ltm virtual bar
    ltm virtual bar {
        destination 172.28.20.15:80
        ip-protocol tcp
        mask 255.255.255.255
        profiles {
            http { }
            tcp { }
        }
        rules {
            myrule
        }
        source 0.0.0.0/0
        vs-index 34
    }
    root@(ve11a)(cfg-sync In Sync)(Active)(/Common)(tmos) list ltm rule myrule
    ltm rule myrule {
        when HTTP_REQUEST {
      log local0. "\[class get ext_class\] = [class get ext_class]"
      HTTP::respond 200
    }
    }
    root@(ve11a)(cfg-sync In Sync)(Active)(/Common)(tmos) list sys file data-group ext_file
    sys file data-group ext_file {
        checksum SHA1:45:d3e9a0b46779459a68f9c68d28a033050a2a686b
        create-time 2014-01-05:08:34:19
        created-by root
        last-update-time 2014-01-05:08:53:38
        mode 33152
        revision 13
        size 45
        source-path file:/var/tmp/data.txt
        type string
        updated-by root
    }
    root@(ve11a)(cfg-sync In Sync)(Active)(/Common)(tmos) list ltm data-group external ext_class
    ltm data-group external ext_class {
        external-file-name ext_file
        type string
    }
    
     before updating
    
    [root@ve11a:Active:In Sync] config  curl -I http://172.28.20.15
    HTTP/1.0 200 OK
    Server: BigIP
    Connection: Keep-Alive
    Content-Length: 0
    
    [root@ve11a:Active:In Sync] config  tail /var/log/ltm
    Jan  5 08:53:49 ve11a info tmm1[2836]: Rule /Common/myrule : [class get ext_class] = {name1 val1} {name2 val2} {name3 val3}
    
     updating
    
    [root@ve11a:Active:In Sync] config  cat /var/tmp/data.txt
    name1 := valA,
    name2 := valB,
    name3 := valC,
    
    root@(ve11a)(cfg-sync In Sync)(Active)(/Common)(tmos) modify sys file data-group ext_file source-path file:/var/tmp/data.txt
    Copying file "file:/var/tmp/data.txt" ...
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      0    45    0    45    0     0  98684      0 --:--:-- --:--:-- --:--:--     0
    
     after updating
    
    [root@ve11a:Active:In Sync] config  curl -I http://172.28.20.15
    HTTP/1.0 200 OK
    Server: BigIP
    Connection: Keep-Alive
    Content-Length: 0
    
    [root@ve11a:Active:In Sync] config  tail /var/log/ltm
    Jan  5 08:58:03 ve11a info tmm[2836]: Rule /Common/myrule : [class get ext_class] = {name1 valA} {name2 valB} {name3 valC}
    
  • Drew's avatar
    Drew
    Icon for Nimbostratus rankNimbostratus

    Hi I'ts a bit historical. Originally BigIP was maintained by our middleware team. A lot of these guys are ex sysprogs and they have a LOT of fancy iRules, class files etc.(you know all the things we're told not to do on the LTM course? ) We gave our developers and middleware team access to allow them to update class files as and when they need to. They typically use these class files to setup work groups, switch active servers and all sorts of middleware stuff. By using this method they can update class files indiviually without doing a B load. The files are updated via scripts, again written by the middleware team. We'd need to be able to support V10 and V11 at the same time. Thanks, Drew