Inleiding
Dit document beschrijft hoe de kwestie moet worden opgelost wanneer een gebruiker "geen toegang kan krijgen tot de fout van het Jar-bestand cliqr-storage-client-*-jar-with-dependence.jar".
Voorwaarden
Vereisten
Er zijn geen specifieke vereisten van toepassing op dit document.
Gebruikte componenten
De informatie in dit document is gebaseerd op versie 4.6 en hoger van het Cloud Center.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.
Probleem
Wanneer je een toepassing probeert in te zetten met behulp van een externe levenscyclusactie, probeert Docker meestal de scripts uit te voeren die door CCO geïnitieerd zijn. Het mislukt echter omdat het script zelf niet kan lezen omdat de docker corrupt is.
Foutbericht:
2017-03-12 17:08:01,085 DEBUG service.LifecycleExternalServiceAction [nodeMessageTaskExecutor-12] - reading container
script timeout value from gateway configuration 10m
2017-03-12 17:08:05,181 DEBUG container.GatewayContainerService [nodeMessageTaskExecutor-12] - 306: Output
Error: Unable to access jarfile cliqr-repository-client-*-jar-with-dependencies.jar^M
CLIQR_EXTERNAL_SERVICE_ERR_MSG_START^M
Failed to download files specified in environment variables^M
CLIQR_EXTERNAL_SERVICE_ERR_MSG_END^M
2017-03-12 17:08:05,182 ERROR service.LifecycleExternalServiceAction [nodeMessageTaskExecutor-12] -
java.lang.ArrayIndexOutOfBoundsException: 4
java.lang.ArrayIndexOutOfBoundsException: 4
at com.osmosix.gateway.container.ContainerWorkerBuilder.build(ContainerWorkerBuilder.java:31)
at com.osmosix.gateway.container.GatewayContainerService.execute(GatewayContainerService.java:94)
at com.osmosix.gateway.lifecycle.action.orchestration.service.LifecycleExternalServiceAction.
executeContainerCommand(LifecycleExternalServiceAction.java:198)
Opmerking: In GUI, toont het alleen met fout 4.
Om dit probleem op te lossen, moet u deze stappen volgen:
Verifiëren
Start deze opdracht vanuit CCO/Docker machine (waar docker is geïnstalleerd):
#docker run 'cliqr/worker:latest' sleep 100000
Error: Unable to access jarfile cliqr-repository-client-*-jar-with-dependencies.jar^M
CLIQR_EXTERNAL_SERVICE_ERR_MSG_START^M
Failed to download files specified in environment variables^M
CLIQR_EXTERNAL_SERVICE_ERR_MSG_END^M
Oplossing
1. Meld u aan bij CCO of docker machine (indien standalone).
2. De oude Docker-afbeelding opslaan.
3. Gebruik root@abc-cco ~]# docker save cliqr/worker:last > oldimage.tar.
4. Verwijder de Docker-afbeelding.
[root@abc-cco ~]# docker rmi -f a81630771eec
Untagged: cliqr/worker:latest
Deleted: sha256:a816567771eec9e8727162ab140b4e4a39fffwer43b3d403e56f2f12ed7c6d05f8
Deleted: sha256:167e65676beb12727aa74ddac2b7d87e113d1ee80cbecf93980595ca38cb92d37
Deleted: sha256:7f65225671815905d1b077b79c838f3fcff305a07dfg0129800605b104e7a71
Deleted: sha256:68f724567derd4031368a20e1ad72a15d0dfgdfg4ebf3dd5025932a2a625ee8a8c3
5. haal het nieuwe docker bestand in dat vervolgens gedownload wordt.
root@abc-cco ~]#wget http://repo.cliqrtech.com/bin/docker/docker.tar
6. Koppel de Docker-afbeelding los.
[root@abc-cco ~]# tar -xvf docker.tar
cliqr-container-worker/
cliqr-container-worker/Dockerfile
cliqr-container-worker/utils.sh
cliqr-container-worker/worker.sh
cliqr-container-worker/cliqr-repository-client-4.7.0-jar-with-dependencies.jar
[root@abc-cco ~]# cd cliqr-container-worker
7. Maak de Docker-afbeelding.
[root@abc-cco cliqr-container-worker]# docker build -t 'cliqr/worker:latest' .
Sending build context to Docker daemon 73.26 MB
Step 1 : FROM centos:7
---> 0584b3d2cf6d
Step 2 : ENV JAVA_VERSION 1.7.0
---> Running in 5a30ce6e6e2f
---> ef6176cc1816
Removing intermediate container 5a30ce6e6e2f
Step 3 : RUN rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm && sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo && yum clean all && yum -y update && yum -y install python-pip wget unzip ssh vim && yum -y install java-${JAVA_VERSION}-openjdk-headless
---> Running in f20c66af5d98
.......
.....
... output shorted for space
8. Zodra de docker opnieuw is gebouwd en wanneer u deze opdracht gebruikt, kunt u deze verifiëren:
[root@abc-cco cliqr-container-worker]# docker run 'cliqr/worker:latest' sleep 100000
CLIQR_EXTERNAL_SERVICE_LOG_MSG_START
Download service bundle: success.
CLIQR_EXTERNAL_SERVICE_LOG_MSG_END
CLIQR_EXTERNAL_SERVICE_LOG_MSG_START
Executing service sleep action with command: "" from directory:
CLIQR_EXTERNAL_SERVICE_LOG_MSG_END
[root@abc-cco cliqr-container-worker]#
9. Plaats een nieuwe toepassing met de externe levenscyclusactie op CO2. Toepassingsversie:? 4.7.2