View Issue Details

IDProjectCategoryView StatusLast Update
0007360CTT UA Binary2 - CTT Binarypublic2023-07-29 16:43
Reporterepetrevska@de.pepperl-fuchs.com Assigned ToAlexander Allmendinger  
PrioritynormalSeveritymajorReproducibilityalways
Status feedbackResolutionopen 
OSUbuntuOS Version20.04 
Summary0007360: Creating PKI folder for Linux (.AppImage) is not possible on the fly for the CI usage (Jenkins)
Description

Hello,

We were using previously the Linux Debian package for the UA CTT Tool on Jenkins, where with dpkg -i, the UA CTT tool was installed (and through that, all certificates and scripts were installed as well). Now, with the new AppImage executable file for Linux, I cannot find a way of how to install the certificates on the fly in the CI (Jenkins). I want to run the UA CTT Tool in a docker container, where on the fly everything will be set up, the tests will run, and the program will be closed. Is that possible now with the AppImage?

Thank You for Your help.
Best regards,
Elena Petrevska

TagsNo tags attached.
Files Affected

Activities

Alexander Allmendinger

2021-10-15 16:12

developer   ~0015192

When creating a new project or loading a new project, the CTT is checking if certificates are available in that project, if not a dialog pops up asking whether scripts should be created or not.
In a CI System we usually expect that the CTT project to be loaded and being created beforehand and then copied where needed to be loaded and run. Are you using the CTT in this manner in your CI system or are you using a different approach?

Also whenever upgrading to a new CTT release I do highly recommend to create a new project and import the settings from the old project to make sure all the latest updates are picked up in the system.

I hope this helps.

epetrevska@de.pepperl-fuchs.com

2021-10-18 09:39

reporter   ~0015196

Hi, thank you for your answer.

We were using the CTT tool a little bit differently in a CI scenario. The tool was running previously in a docker container, where, before the tests were run, we would install the tool, generate the certificates, and then open the project file. Example:

RUN dpkg -i /tmp/uactt_1.2.336.273_i386.deb
&& chmod 777 -R /opt/opcfoundation/uactt/ServerProjects/PKI
RUN sed -i 's/CERTNO/CERTO/g' /opt/opcfoundation/uactt/certificate_generator/create_ctt_pki.sh

And then, the test would be started in the normal way like this:
xvfb-run /bin/sh /opt/opcfoundation/uactt/uacompliancetest.sh --result log.result.xml --settings UaServer_ExampleProject.ctt.xml --close 2> stderr_logs.txt

But that does not function anymore with the AppImage file, and we need to save all certificates files and javascript tests (which are normally generated on the fly).
It is not a problem at all, it will work like that, I just wanted to ask if there is a way out of saving them, if I am maybe missing something.

Thank you and many regards.

Bernd Edlinger

2021-10-19 06:57

reporter   ~0015198

Hello epetrevska,

may I ask you something?

I tried to run the AppImage in a Jenkins slave, but alothough the parameters are given like -h -c -s <project> -r <result>
The test won't start because there is no X-server, the DISPLAY environment is missing, because the VM has no monitor.

How do you overcome this obstacle?

Thanks
Bernd.

epetrevska@de.pepperl-fuchs.com

2021-10-19 07:39

reporter   ~0015199

Hi Bernd,

I had to install "xvfb" and then run it with "xvfb-run" (also visible in the previous comment). But, I have only tested this with the previous version of the UA CTT Tool, when the tool was still a Debian file. But, it is exactly solving the problem you described - the display environment problem.
https://manpages.ubuntu.com/manpages/xenial/man1/xvfb-run.1.html

I hope that helps you further,
Many greetings,
Elena

Bernd Edlinger

2021-10-19 08:32

reporter   ~0015200

Hi Elena,

thanks a lot, that solved my problem.
BTW, regarding your problem, did you know that app image can also be started with the
option --appimage-mount ?
This mounts only a read-only file system with everything in it, and prints the path name.
From there you could in theory copy everything to a different path, do your mods and run
the usr/bin/uacompliancetest directly.

Thanks
Bernd.

epetrevska@de.pepperl-fuchs.com

2021-10-19 08:47

reporter   ~0015201

Hi Bernd,

Anytime, I am glad it helped.
Thank you so much for the info, I will try it out.

Thank you and have a great day,
Elena

Alexander Allmendinger

2023-06-26 15:02

developer   ~0019676

After the discussion with Bernd I assumed the describe approach would be sufficient. Please let me know, if there is still a change to the CTT deliverables needed.

Paul Hunkar

2023-07-29 16:43

administrator   ~0019747

would we want to copy some of the notes in this issue into the help file?

Issue History

Date Modified Username Field Change
2021-10-14 14:58 epetrevska@de.pepperl-fuchs.com New Issue
2021-10-15 15:42 Paul Hunkar Assigned To => Alexander Allmendinger
2021-10-15 15:42 Paul Hunkar Status new => assigned
2021-10-15 16:12 Alexander Allmendinger Status assigned => feedback
2021-10-15 16:12 Alexander Allmendinger Note Added: 0015192
2021-10-18 09:39 epetrevska@de.pepperl-fuchs.com Note Added: 0015196
2021-10-18 09:39 epetrevska@de.pepperl-fuchs.com Status feedback => assigned
2021-10-19 06:57 Bernd Edlinger Note Added: 0015198
2021-10-19 07:39 epetrevska@de.pepperl-fuchs.com Note Added: 0015199
2021-10-19 08:32 Bernd Edlinger Note Added: 0015200
2021-10-19 08:47 epetrevska@de.pepperl-fuchs.com Note Added: 0015201
2022-08-02 18:59 Paul Hunkar Project Compliance Test Tool (CTT) Unified Architecture => CTT UA Binary
2023-06-26 15:02 Alexander Allmendinger Status assigned => feedback
2023-06-26 15:02 Alexander Allmendinger Note Added: 0019676
2023-07-29 16:43 Paul Hunkar Note Added: 0019747