Forum Discussion

kqlehman_263002's avatar
kqlehman_263002
Icon for Nimbostratus rankNimbostratus
May 12, 2016

Issue after updating to 12.0

I am a .Net developer not an F5 admin so I apologize if I don't explain this properly. I wrote an app that saves internal data-group objects to the F5 using an HttpWebRequest POST to the rest API. Before posting data, each row is joined as a string using this code (which was written before I was hired and has not changed in 2 years):

 

string result = "\"" + site.Brand + delimiter + site.Type + delimiter + site.Name + "\"";

Before the F5 was updated, data would be saved like this and everything was fine:

 

row1brand|row1type|row1name
row2brand|row2type|row2name
row3brand|row3type|row3name

After the F5 was updated to 12.0, the data is saved like this which is a big problem:

 

"row1brand|row1type|row1name"
"row2brand|row2type|row2name"
"row3brand|row3type|row3name"

Anyone know why the 12.0 update would change things? I don't get any errors when saving, it just saves with quotes where it previously did not have quotes. When something else reads that configuration data, it fails because of the quotes.

 

2 Replies

  • Could you post an example showing the api call you are making and how you are sending the data so I can try to reproduce the issue?
  • You're right.

    I made requests in both versions 11.6.0 and 12.0.0.

    The request for v11.6.0, doesn't put quotes in your key and values pairs.

    For the v12.0.0, it's including quotes in your keys but not in the values.

    In my opinion, the v12.0.0 is closer to the truth.

    Regards.

    test 1:

    curl -k -u "admin:admin" -X POST -d '{"name":"dg_test","type":"string","records":[{"name":"\"KEY\"","data":"\"VALUE\""}]}' https://localhost/mgmt/tm/ltm/data-group/internal --header "Content-Type:application/json"

    v11.6.0

    [root@bigipbeta:Active:Standalone] config  tmsh list ltm data-group internal dg_test
    ltm data-group internal dg_test {
        records {
            KEY {
                data VALUE
            }
        }
        type string
    }
    

    v12.0.0

    [root@bigiplab:ModuleNotLicensed:Active:Standalone] config  tmsh list ltm data-group internal dg_test
    ltm data-group internal dg_test {
        records {
            \"KEY\" {
                data VALUE
            }
        }
        type string
    }
    

    test 2:

    curl -k -u "admin:admin" -X POST -d '{"name":"dg_test_space","type":"string","records":[{"name":"\"KEY WITH SPACE\"","data":"\"VALUE WITH SPACE\""}]}' https://localhost/mgmt/tm/ltm/data-group/internal --header "Content-Type:application/json"

    v11.6.0

    [root@bigipbeta:Active:Standalone] config  tmsh list ltm data-group internal dg_test_space                                                                         ltm data-group internal dg_test_space {
        records {
            "KEY WITH SPACE" {
                data "VALUE WITH SPACE"
            }
        }
        type string
    }
    

    v12.0.0

    [root@bigiplab:ModuleNotLicensed:Active:Standalone] config  tmsh list ltm data-group internal dg_test_space
    ltm data-group internal dg_test_space {
        records {
            "\"KEY WITH SPACE\"" {
                data "VALUE WITH SPACE"
            }
        }
        type string
    }