Forum Discussion

woliver_163458's avatar
woliver_163458
Icon for Altocumulus rankAltocumulus
Mar 24, 2016
Solved

'Unparseable license format' error when applying pool license

Running BIGIQ 4.4 and I have a pool license loaded and have discovered a BIGIP 11.6.0 device, but when attempting to apply a license it errors out with a "Unparseable license format" error. I'm doing this via the REST API, but also attempted it via the UI and got the same error

The stack trace from the restjava log on the BIGIQ device is below. I don't see any sign of activity in the restjava log on the BIGIP, so I'm assuming the request is never making it that far.

For what it's worth, if I query the license pool it shows a status of LICENSED, so the pool itself seems to be OK.

Thanks

restjava logging on BIGIQ...

[I][66755][23 Mar 2016 21:48:25 UTC][8100/cm/autodeploy/jobs JobsWorker][onPatchCompleted] Job 97caa0ce-cee5-40de-99cd-e7c41c484682 started by user admin
[I][66757][23 Mar 2016 21:48:25 UTC][LicenseTask][licenseDeviceFromGenericPool] Installing pool license grant to device '/mgmt/shared/resolver/device-groups/cm-cloud-managed-devices/devices/f37e89b1-b223-4823-be5e-0785947113c8' using 'http://localhost:8100/cm/shared/licensing/pools/479a7259-f100-45aa-bf83-e77e41c7612e/members'
[I][66758][23 Mar 2016 21:48:25 UTC][8100/cm/shared/licensing/pool-activation PoolLicenseActivationWorker][getLicenseDetailsForPool] Pool license activation 6f5e9284-570b-4a1f-a160-d9fe709391bd: Getting pool license details from https://localhost/mgmt/cm/shared/licensing/pools/479a7259-f100-45aa-bf83-e77e41c7612e
[I][66759][23 Mar 2016 21:48:25 UTC][8100/cm/shared/licensing/pool-activation PoolLicenseActivationWorker][getLocalDeviceInfo] Pool license activation 6f5e9284-570b-4a1f-a160-d9fe709391bd: Getting device details from https://localhost/mgmt/shared/resolver/device-groups/cm-cloud-managed-devices/devices/f37e89b1-b223-4823-be5e-0785947113c8
[WARNING][66760][23 Mar 2016 21:48:25 UTC][8100/cm/shared/licensing/pool-activation PoolLicenseActivationWorker][patchFailed] java.lang.IllegalArgumentException: Unparseable license format
        at com.f5.rest.workers.em.license.PoolLicenseUtils.makeLicenseBlob(PoolLicenseUtils.java:203)
        at com.f5.rest.workers.em.license.PoolLicenseUtils.createDeviceLicense(PoolLicenseUtils.java:143)
        at com.f5.rest.workers.em.license.PoolLicenseActivationWorker$5.completed(PoolLicenseActivationWorker.java:259)
        at com.f5.rest.workers.em.license.PoolLicenseActivationWorker$5.completed(PoolLicenseActivationWorker.java:248)
        at com.f5.rest.common.RestOperation.complete(RestOperation.java:1684)
        at com.f5.rest.common.RestRequestSender.complete(RestRequestSender.java:685)
        at com.f5.rest.common.RestRequestSender.finish(RestRequestSender.java:599)
        at com.f5.rest.common.RestRequestSender.processNext(RestRequestSender.java:584)
        at com.f5.rest.common.RestHelper$3.run(RestHelper.java:2213)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)

And here's the rest calls I was running...

-bash-4.1$ cat /tmp/1.json
{
    "deviceReference":
    {
        "link":"https://localhost/mgmt/cm/cloud/managed-devices/f37e89b1-b223-4823-be5e-0785947113c8"
    }
}
-bash-4.1$ curl -ks -u admin:admin -X POST -d@/tmp/1.json https://XX.XX.XX.XX/mgmt/cm/shared/licensing/pools/479a7259-f100-45aa-bf83-e77e41c7612e/members | python -mjson.tool|more
{
    "deviceReference": {
        "link": "https://localhost/mgmt/cm/cloud/managed-devices/f37e89b1-b223-4823-be5e-0785947113c8"
    },
    "generation": 1,
    "kind": "cm:shared:licensing:pools:licensepoolmemberstate",
    "lastUpdateMicros": 1458822997032383,
    "selfLink": "https://localhost/mgmt/cm/shared/licensing/pools/479a7259-f100-45aa-bf83-e77e41c7612e/members/4aad78fc-8a8c-444e-9cbd-2eb48530b440",
    "state": "INSTALL",
    "uuid": "4aad78fc-8a8c-444e-9cbd-2eb48530b440"
}



-bash-4.1$ curl -ks -u admin:admin https://XX.XX.XX.XX/mgmt/cm/shared/licensing/pools/479a7259-f100-45aa-bf83-e77e41c7612e/members/4aad78fc-8a8c-444e-9cbd-2eb48530b440 | python -mjson.tool
{
    "deviceReference": {
        "link": "https://localhost/mgmt/cm/cloud/managed-devices/f37e89b1-b223-4823-be5e-0785947113c8"
    },
    "errorText": "Unparseable license format",
    "generation": 2,
    "kind": "cm:shared:licensing:pools:licensepoolmemberstate",
    "lastUpdateMicros": 1458822997126286,
    "selfLink": "https://localhost/mgmt/cm/shared/licensing/pools/479a7259-f100-45aa-bf83-e77e41c7612e/members/4aad78fc-8a8c-444e-9cbd-2eb48530b440",
    "state": "FAILED",
    "uuid": "4aad78fc-8a8c-444e-9cbd-2eb48530b440"
}
  • My first suggestion would be to upgrade to version 4.6. There has been a lot of testing/hardening between 4.4 and 4.6. It appears you may have hit Bug 570732.

     

    Here is the workaround suggested in that bug: Here is what the customer needs to do:

     

    1. Navigate to their license's properties

       

    2. Click "Reactivate" Note: since this license has already been put into "manual activation" mode, they must do manual activation again.

       

    3. Click "Generate dossier" They can ignore the dossier if they already have the license text, they just need to re-input it. If, on the other hand, they have misplaced their license text, it may be simplest just to go through the full activation process again with the web portal.

       

    4. Input the license text. Make 110% sure there are no leading or trailing blank lines, or any other stray input.

       

    5. Complete the activation.

       

    Now, they should be able to license their BIG-IP.

     

6 Replies

  • My first suggestion would be to upgrade to version 4.6. There has been a lot of testing/hardening between 4.4 and 4.6. It appears you may have hit Bug 570732.

     

    Here is the workaround suggested in that bug: Here is what the customer needs to do:

     

    1. Navigate to their license's properties

       

    2. Click "Reactivate" Note: since this license has already been put into "manual activation" mode, they must do manual activation again.

       

    3. Click "Generate dossier" They can ignore the dossier if they already have the license text, they just need to re-input it. If, on the other hand, they have misplaced their license text, it may be simplest just to go through the full activation process again with the web portal.

       

    4. Input the license text. Make 110% sure there are no leading or trailing blank lines, or any other stray input.

       

    5. Complete the activation.

       

    Now, they should be able to license their BIG-IP.

     

    • woliver_163458's avatar
      woliver_163458
      Icon for Altocumulus rankAltocumulus
      OK, I'm in the process of trying to get a 4.6 image that I can build an AMI off of. In the meantime, I reactivated the pool license (I did the BIGIQ device license as well, but I'm assuming the pool license was all that mattered). The pool license I got from the UI did have some trailing whitespace in it, so I removed that prior to importing it. I was able to successfully license a BIGIP device, so I think I'm good for now. Thanks
  • Kyle_Oliver_519's avatar
    Kyle_Oliver_519
    Historic F5 Account

    My first suggestion would be to upgrade to version 4.6. There has been a lot of testing/hardening between 4.4 and 4.6. It appears you may have hit Bug 570732.

     

    Here is the workaround suggested in that bug: Here is what the customer needs to do:

     

    1. Navigate to their license's properties

       

    2. Click "Reactivate" Note: since this license has already been put into "manual activation" mode, they must do manual activation again.

       

    3. Click "Generate dossier" They can ignore the dossier if they already have the license text, they just need to re-input it. If, on the other hand, they have misplaced their license text, it may be simplest just to go through the full activation process again with the web portal.

       

    4. Input the license text. Make 110% sure there are no leading or trailing blank lines, or any other stray input.

       

    5. Complete the activation.

       

    Now, they should be able to license their BIG-IP.

     

    • woliver_163458's avatar
      woliver_163458
      Icon for Altocumulus rankAltocumulus
      OK, I'm in the process of trying to get a 4.6 image that I can build an AMI off of. In the meantime, I reactivated the pool license (I did the BIGIQ device license as well, but I'm assuming the pool license was all that mattered). The pool license I got from the UI did have some trailing whitespace in it, so I removed that prior to importing it. I was able to successfully license a BIGIP device, so I think I'm good for now. Thanks