APAR status
Closed as program error.
Error description
If a v5 custom policy does not have a properties section, then the extension processor will throw an exception and reject the installation of the extension. The API Connect Migration Uility (AMU) should make sure that the required properties section is added when creating the extension. Steps to reproduce: 1- Converted the API's to APIGW for emulation layer. 2- Follow the process defined for the user defined policies (UDP) and so that the Gateway extensions zip file gets automatically created by AMU tool. 3- Migrate the admin org. Result: The UDPs are not depolyed and extension has been rejected. You see the error in the gwd.log === apic-gw-service (default): Stack trace for previous error: at Function.keys (<anonymous>) at processPolicyJson (/root/gateway-director/lib/gateway-controller/apigateway/Gatewa yExtensionProcessor.js:384:25) at buildAssembyFunctionConfig (/root/gateway-director/lib/gateway-controller/apigateway/Gatewa yExtensionProcessor.js:277:25) at processV5Policy (/root/gateway-director/lib/gateway-controller/apigateway/Gatewa yExtensionProcessor.js:240:23) at <anonymous> 11.26.33 apic-gw-service error 4960516 0x88e00259 apic-gw-service (default): Unable to preprocess gateway extension zip file. Error: TypeError: Cannot convert undefined or null to object 11.26.33 apic-gw-service error 4960516 0x88e00127 apic-gw-service (default): Stack trace for previous error: at Function.keys (<anonymous>) at processPolicyJson (/root/gateway-director/lib/gateway-controller/apigateway/Gatewa yExtensionProcessor.js:384:25) at buildAssembyFunctionConfig (/root/gateway-director/lib/gateway-controller/apigateway/Gatewa yExtensionProcessor.js:277:25) at processV5Policy (/root/gateway-director/lib/gateway-controller/apigateway/Gatewa yExtensionProcessor.js:240:23) at <anonymous> 11.26.33 apic-gw-service error 4960516 0x88e0025a apic-gw-service (default): Unable to process v5 policy file append-trace-id-1.0.0.zip. Error: TypeError: Cannot convert undefined or null to object ===
Local fix
Add manually the empty properties section For example: policy.yaml inside of UDP zip Before manual fix: attach: - rest info: contact: email: user@ibm.com name: User description: Adds a trace id to the request name: append-trace-id title: Append trace ID version: 1.0.0 policy: 1.0.0 properties: $schema: http://json-schema.org/draft-04/schema# type: object After manual fixes it: attach: - rest info: contact: email: user@ibm.com name: User description: Adds a trace id to the request name: append-trace-id title: Append trace ID version: 1.0.0 policy: 1.0.0 properties: $schema: http://json-schema.org/draft-04/schema# type: object properties: {} required: []
Problem summary
If a user has a custom policy in their v5 backup that contains an empty properties section under the UDP definition, the AMU will fail to push it properly to the DP. An empty properties section is injected into the definition by the AMU to fix it.
Problem conclusion
Fix targeted for v10.0.1.1, customer has workaround: Manually open UDP in cloud folder and add properties section to UDP with empty properties.
Temporary fix
Comments
APAR Information
APAR number
LI81799
Reported component name
API CONNECT ENT
Reported component ID
5725Z2201
Reported release
A0X
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-10-27
Closed date
2020-12-10
Last modified date
2020-12-10
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
API CONNECT ENT
Fixed component ID
5725Z2201
Applicable component levels
RA0X PSY
UP
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSMNED","label":"IBM API Connect"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"A0X","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
29 September 2021