IVCTool / IVCT_Framework

For IVCT Framework Developers. Core System for the IVCT (Integration, Verification and Certification Tool) for HLA Federates
Apache License 2.0
16 stars 4 forks source link

Test case libraries within docker image is empty #160

Closed rhzg closed 5 years ago

rhzg commented 5 years ago

after starting the IVCT_Compositions/HelloWorld, it seems that the test suite libraries are empty. When login into the tc-runner image, there is a folder for the test suite, but it is empty:

~/conf/TestSuites/TS_HelloWorld-1.0.1 # ls
~/conf/TestSuites/TS_HelloWorld-1.0.1 #

(I believe we observed a similiar issue during one of our webex meetings, but I can't remember how we solved that)

PHameete commented 5 years ago

Hey Reinhard,

I'm pretty confident that the libs are present in the HelloWorld image, but not mounted correctly into the tc runner container. @bergtwvd knows more about how the mounting is currently configured.. perhaps you can check your compose file against his?

bergtwvd commented 5 years ago

There was a typo in the composition file in the volume mount path (the 1.0.1 version was missing). Fixed and tested; works now. See composition repository.

rhzg commented 5 years ago

is there another issue with the image version for the tc-runner? The yml requests the image

    image: msg134/tc-runner:development-latest

but in the hub.docker.com I just see

po-development-latest
po-development-1.0.1
pi-development-latest
pi-development-1.0.1
ma-development-latest
ma-development-1.0.1
bergtwvd commented 5 years ago

Ough! There has been an update in the tag that only made to my local dev environment: development-latest => pi-development-latest for the Pitch RTI.

I pushed that version. Sorry :-(.

rhzg commented 5 years ago

the typo fix is not working for me. Also with this reverence:

    - ts-helloworld:/root/conf/TestSuites/TS_HelloWorld-1.0.1:nocopy

the TestSuites are empty in the images.

rhzg commented 5 years ago

Maybe I found the issue. It seems that the copy command within the docker test suite images was not executed. To my understanding there is a $1 command missing in the endpoint command. I have now changed my yml config for the test suite as follows:

ts-helloworld:
  image: msg134/ts-helloworld:1.0.1
  command: /mnt/test
  volumes:
  - ts-helloworld:/mnt/test

with the added "command" the content is now copied into the tc-runner image. With that change my test cases libraries are available.

bergtwvd commented 5 years ago

Try the following:

bergtwvd commented 5 years ago

The copy command is not needed, since Docker does that automatically. The issue is - I am quite sure - that the old data volume is still present on the Docker Host. In that case Docker will not copy in the data. The old data volume need to be removed with docker volume prune.

The copy option is meant for Kubernetes, which does not like Docker automatically copy data to the host.

rhzg commented 5 years ago

you are right - after cleaning my images, it worked.

thx a lot