search cancel

Docker Action Pack execution result in error java.lang.ClassNotFoundException

book

Article ID: 201670

calendar_today

Updated On:

Products

CA Release Automation - Release Operations Center (Nolio) CA Release Automation - DataManagement Server (Nolio)

Issue/Introduction

Hello,

we have problems using the nolio action pack for Docker

We have a simple test process that just run the action Docker Images - Pull an image from a repository

We we run the process it is just canceled by Nolio without any other message.

On the log we have found the following error:

2020-09-25T10:10:56.810+03:00 [Communication Msg Processor-81] DEBUG (com.nolio.platform.shared.datamodel.Action:413) - Next Action Execution State ResolveInParameters
2020-09-25T10:10:56.811+03:00 [Communication Msg Processor-81] DEBUG (com.nolio.platform.shared.datamodel.Action:413) - Next Action Execution State ResolveInParameters
2020-09-25T10:10:56.816+03:00 [Communication Msg Processor-81] ERROR (com.nolio.platform.shared.datamodel.Action:111) - Lcom/spotify/docker/client/messages/RegistryAuth;
java.lang.NoClassDefFoundError: Lcom/spotify/docker/client/messages/RegistryAuth;
        at java.lang.Class.getDeclaredFields0(Native Method)
        at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
        at java.lang.Class.getDeclaredFields(Class.java:1916)
        at com.nolio.platform.shared.utils.ReflectionUtils.getField(ReflectionUtils.java:40)
        at com.nolio.platform.shared.utils.ReflectionUtils.getField(ReflectionUtils.java:58)
        at com.nolio.platform.shared.utils.ReflectionUtils.setFieldInObject(ReflectionUtils.java:118)
        at com.nolio.platform.shared.datamodel.ActionProxy.createAction(ActionProxy.java:105)
        at com.nolio.platform.shared.flowcontrol.service.FlowActionProxyReplacer.createActionFromActionProxy(FlowActionProxyReplacer.java:74)
        at com.nolio.platform.shared.flowcontrol.service.FlowActionProxyReplacer.replaceSingleStepActionProxies(FlowActionProxyReplacer.java:45)
        at com.nolio.platform.shared.flowcontrol.service.FlowActionProxyReplacer.replaceActionProxies(FlowActionProxyReplacer.java:38)
        at com.nolio.platform.shared.flowcontrol.service.FlowDataFactory.initFlow(FlowDataFactory.java:93)
        at com.nolio.platform.shared.flowcontrol.service.FlowDataFactory.create(FlowDataFactory.java:85)
        at com.nolio.platform.shared.flowcontrol.service.FlowDataFactory.create(FlowDataFactory.java:46)
        at com.nolio.platform.shared.flowcontrol.service.FlowControlService.init(FlowControlService.java:80)
        at com.nolio.platform.shared.flowcontrol.service.FlowControlService.handleServiceRequest(FlowControlService.java:49)
        at com.nolio.platform.shared.communication.CommunicationNetworkServiceManager$1.run(CommunicationNetworkServiceManager.java:232)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: com.spotify.docker.client.messages.RegistryAuth
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 19 more

Cause

During analysis of the issue we observed that the dependency jar related with this action pack is not downloaded and installed along with action pack install via ROC.

Environment

Release : 6.6, 6.7

Component : CA RELEASE AUTOMATION CORE

Resolution

Please find instruction below to resolve the issue.

1: On the NAC server create a backup/zip of actionslib directory

2: Download the dependency.zip either from Action Packs FTP site

3: Extract the zip on the computer from where you can access the ROC UI

4: Go to ROC UI -> Administration -> Action Management -> Import and import all the jars from extracted directory(in step 3)

5: Try to run the action again and validate, the error should not be visible any more with dependency jars available.