ā04-02-2010 06:12 AM - edited ā03-01-2019 02:18 PM
We are facing an issue while applying service configuration to SCE 8000 device using SCE API supplied by CISCO.
We have sample .pqb file which we are using to upload to SCE 8000. We are using 3.5.5 version of firmware on SCE.
Attached is exception file which contains sample .pqb and trace log that we see when we apply configuration. Please note, that we are using RHEL5 platform, JDK 1.5.0_1 and standalone java program to apply configuration on SCE using API
com.pcube.management.common.InvocationException: null ### java.lang.NullPointerException java.lang.NullPointerException
at com.pcube.management.framework.fsmanager.RFileInputStream.close(RFileInputStream.java:240)
at java.io.BufferedInputStream.close(BufferedInputStream.java:440)
at com.pcube.apps.engage.management.Utilities.copyDeviceToLocalRMI(Utilities.java:357)
at com.pcube.apps.engage.policy.ConfigurationRetriever.retrievePolicy(ConfigurationRetriever.java:85)
at com.pcube.apps.engage.policy.Test.fetchPpUpgradeVersion(Test.java:15)
at com.elitecore.pm.SCEConfiguration.main(SCEConfiguration.java:460)
com.pcube.management.common.InvocationException: null ### java.lang.NullPointerException java.lang.NullPointerException
failed to fetch current pp upgrade version listjava.lang.NullPointerException0.0.0 PP0com.pcube.apps.engage.common.ApplyException: Client version 3.5.5 PP20 is different than SCE version 0.0.0 PP0, therefore apply is not allowed
at com.pcube.apps.engage.policy.SEPolicyMediator.checkPpVersion(SEPolicyMediator.java:335)
at com.pcube.apps.engage.policy.SEPolicyMediator.applyPolicy(SEPolicyMediator.java:114)
at com.pcube.apps.engage.policy.SEPolicyMediator.applyPolicy(SEPolicyMediator.java:95)
at com.elitecore.pm.SCEConfiguration.main(SCEConfiguration.java:461)
com.pcube.management.common.InvocationException: null ### java.lang.NullPointerException java.lang.NullPointerException
at com.pcube.management.framework.fsmanager.RFileInputStream.close(RFileInputStream.java:240)
at java.io.BufferedInputStream.close(BufferedInputStream.java:440)
at com.pcube.apps.engage.management.Utilities.copyDeviceToLocalRMI(Utilities.java:357)
at com.pcube.apps.engage.policy.ConfigurationRetriever.retrievePolicy(ConfigurationRetriever.java:85)
at com.pcube.apps.engage.policy.Test.fetchPpUpgradeVersion(Test.java:15)
at com.elitecore.pm.SCEConfiguration.main(SCEConfiguration.java:460)
com.pcube.apps.engage.common.ApplyException: Client version 3.5.5 PP20 is different than SCE version 0.0.0 PP0, therefore apply is not allowed
at com.pcube.apps.engage.policy.SEPolicyMediator.checkPpVersion(SEPolicyMediator.java:335)
at com.pcube.apps.engage.policy.SEPolicyMediator.applyPolicy(SEPolicyMediator.java:114)
at com.pcube.apps.engage.policy.SEPolicyMediator.applyPolicy(SEPolicyMediator.java:95)
at com.elitecore.pm.SCEConfiguration.main(SCEConfiguration.java:461)
ā04-13-2010 11:56 PM
Hi,
I have never worked with SCE API, but it seems that it is needed to compare version compatibility before applying configuration, but current SCA-BB and PP (protocol pack) version cannot be retreived from the SCE: "failed to fetch current pp upgrade version".
Sorry for not being able to help more...
Best regards,
Jasmina
ā05-19-2010 07:44 PM
You are likely hitting CSCtb94072.
The policy file should be manipulated by development engineer.
Please open a case with TAC and ask the CSE to fix the policy (by getting development engineer assistance).
Once you have the fixed policy PQB file perform the following CLI procedure on all SCEs on which the problem was observed:
SCE2000>enable
Password:
SCE2000#cd engage
SCE2000#delete MYENGAGE.PQB
SCE2000#rename MYENGAG1.PQB MYENGAGE.PQB
SCE2000#
Once done you should be able to apply the fixed policy without any issue.
Note: after performing the above CLI procedure, you can also successfully retrieve the policy,
however, you must avoid doing it since the retrieved poilcy would not be the last applied one, it would be the penultimate one which you probably don't want to use.
After applying the fixed policy, you should be able to retrieve policy successfully with no fear.
====
This is more of a clarification regarding the workaround procedure:
To get you better understand the issue.
The last policy applied to the SCE successfully is kept under the SCE "/engage" directory by the name MYENGAGE.PQB
The penultimate applied policy is also kept there under the name MYENGAG1.PQB
When the SCA-BB GUI applies a policy it first verifies the matching SCA-BB and PP version by inspecting this MYENGAGE.PQB file.
If the file has the corruption dealt in this defect, the apply will fail with the message of the kind:
"Client version 3.5.5 PP18 is different than SCE version 0.0.0 PP0, therefore apply is not allowed"
The MYENGAG1.PQB is the penultimate applied policy and it's not corrupted, renaming it MYENGAGE.PQB will assure us that the apply operation won't fail when verifying the versions are matched.
Alternatively (for the renaming procedure) user may copy the fixed policy file into the SCE disk space under /engage directory and name it MYENGAGE.PQB, then the apply should also work fine.
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: