Closed olliesilvester closed 12 months ago
Is not clear to me why your error mentions docker compose! Or TCL for that matter.
The first thing I need to ask is are you running this on a DLS Red hat 8 workstation? 2nd did you run the podman setup script supplied by the cloud team? (If not search for podman in confluence to find it)
Yes this is a DLS red hat 8 workstation, and I have run the startup script. I had some issues with it but it seems to have worked eventually (https://jira.diamond.ac.uk/browse/HLA-767)
Ok. Can you try podman system reset and report any errors you see.
Then try c7 again
[qqh35939@ws103 hyperion]$ podman system reset
WARNING! This will remove:
- all containers
- all pods
- all images
- all networks
- all build cache
- all machines
- all volumes
Are you sure you want to continue? [y/N] y
WARN[0015] StopSignal SIGTERM failed to stop container dev-c7 in 10 seconds, resorting to SIGKILL
A "/home/qqh35939/.config/containers/storage.conf" config file exists.
Remove this file if you did not modify the configuration.
ERRO[0040] failed to remove runtime root dir /run/user/1221713, since it is the same as XDG_RUNTIME_DIR
[qqh35939@ws103 hyperion]$ cd ~/bin
[qqh35939@ws103 bin]$ ls
c7
[qqh35939@ws103 bin]$ ./c7
Trying to pull ghcr.io/dls-controls/dev-c7:latest...
Getting image source signatures
Copying blob ca73f4efb552 done
Copying blob 4cd3b329699e done
Copying blob 2d473b07cdd5 done
Copying blob 9736ae6a26d1 done
Copying blob 60e2847583a5 done
Copying blob 548cf2ca3702 done
Copying blob f3fe55e60258 done
Copying blob e3888c4df7fd done
Copying config 414e5c9b56 done
Writing manifest to image destination
Storing signatures
414e5c9b5641b806b8ba5642adb38d0fe3c0c135bb8b5ba5243c3c979d9d51f7
Creating new dev-c7 container version latest ...
5cb9d9ce09c04c88da26b214b7576a95e3c50a733740f36b9dc4f2e2898c973e
docker-compose/2.23.0(30):ERROR:102: Tcl command execution failed: if { [ module-info mode load ] } {
set podman_version [lindex [split [exec podman --version]] 2]
# Don't try to turn on podman socket if we are on RHEL7 (proxy via old podman)
if { [lindex [split $podman_version .] 0] < 3 } {
puts stderr "Warning: System podman version ${podman_version} is <3.0.0. Loading module but will not work on RHEL7."
} else {
if { ! [file exists "/run/user/${uid}/podman/podman.sock"] } {
puts stderr "docker-compose: First time setup on this machine, enabling podman socket"
exec systemctl --user enable podman.socket
exec systemctl --user start podman.socket
exec systemctl --user start podman
}
## WIP Checking that it has worked
#if {[catch {exec docker-compose ls} err]} {
# puts stderr "Error running: $err"
#}
}
}
I'm going to need to take a look at your machine probably.
I'm not back in the office until Thurs.
In the mean time what happens if you run
podman run -it ubuntu
From: olliesilvester @.> Sent: 14 November 2023 11:38 To: dls-controls/dev-c7 @.> Cc: Knap, Giles (DLSLtd,RAL,LSCI) @.>; Comment @.> Subject: Re: [dls-controls/dev-c7] Error upon starting container - ERROR 102: Tcl command execution failed (Issue #97)
@.*** hyperion]$ podman system reset WARNING! This will remove:
Creating new dev-c7 container version latest ... 5cb9d9ce09c04c88da26b214b7576a95e3c50a733740f36b9dc4f2e2898c973e docker-compose/2.23.0(30):ERROR:102: Tcl command execution failed: if { [ module-info mode load ] } { set podman_version [lindex [split [exec podman --version]] 2]
if { [lindex [split $podman_version .] 0] < 3 } {
puts stderr "Warning: System podman version ${podman_version} is <3.0.0. Loading module but will not work on RHEL7."
} else {
if { ! [file exists "/run/user/${uid}/podman/podman.sock"] } {
puts stderr "docker-compose: First time setup on this machine, enabling podman socket"
exec systemctl --user enable podman.socket
exec systemctl --user start podman.socket
exec systemctl --user start podman
}
## WIP Checking that it has worked
#if {[catch {exec docker-compose ls} err]} {
# puts stderr "Error running: $err"
#}
}
}
— Reply to this email directly, view it on GitHubhttps://github.com/dls-controls/dev-c7/issues/97#issuecomment-1810042895, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAHLRW5YYMWBPVKUJXYQGK3YENJ3PAVCNFSM6AAAAAA7KNYE7SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJQGA2DEOBZGU. You are receiving this because you commented.Message ID: @.***>
-- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
OK, thanks!
That command gives:
[qqh35939@ws103 bin]$ podman run -it ubuntu
Resolving "ubuntu" using unqualified-search registries (/home/qqh35939/.config/containers/registries.conf)
Trying to pull docker.io/library/ubuntu:latest...
Getting image source signatures
Copying blob aece8493d397 done
Copying config e4c5895818 done
Writing manifest to image destination
Storing signatures
root@3cfd8bc7f348:/#
That is as expected so podman is working on your workstation.
I've just verified that c7 is working for me as per the instructions here https://dls-controls.github.io/dev-c7/main/tutorials/start.html.
One thing I note about those instructions is that they assume $HOME/bin is in your path. Are you able to verify that:
You are using the latest c7 script from https://raw.githubusercontent.com/dls-controls/dev-c7/main/c7
That you are definitely launching that script (i.e. if you type which c7
it shows the file you downloaded from the above.
I expect I need to come an have a look at your workstation tomorrow as this is probably something specific to your setup.
$HOME/bin wasn't on my path, although I get the same error after adding it. I can verify my script is the latest one and that which c7 points to ~/bin/c7
Hi @olliesilvester unfortunately I'm going to be working from home for a few more days because my car is broken.
Let me know what your machine name is and I'll see if I can connect an reproduce the issue.
No problem, I am ws103
Sorry for the delay, I'm still stuck at home for this week. Back on Mon next.
I could not reproduce any problems on your ws103 machine.
I did notice that your account loads modules that add docker-compose to the path. Please can you report what happens if you remove "/dls_sw/dasc/tools:/dls_sw/apps/docker-compose/2.23.0/bin:" from your PATH and run c7 again.
Removing this from the path seemed to fix it, thank you!
I guess that is not a permanent fix as you might need those things - now we need to track down who provides the modulet that adds it to your path.
It was on my bash rc - I think someone recommended I add it when I first joined diamond but I guess it's outdated now
OK great, I figure we can close this issue then. I have used docker compose in the past and I may not have tried launching dev-c7 with it - I don't fully understand the interaction but will look into it again if it becomes an issue for anyone.
Thanks for your help!