-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update deployment container script #396
Conversation
…eployment-container
de80591
to
79b6736
Compare
Just checking in, I can get to this today or tomorrow most likely |
2372040
to
589479e
Compare
Ran [0.257s] WARNING:colcon.colcon_core.package_discovery:ignoring unknown package 'virtual_iridium' in --packages-ignore Summary: 0 packages finished [0.17s] Any thoughts?
|
Also:
but now when I run
|
Run the scripts without |
Ah okay. I tried sudo since I was getting permission denied for everything. Maybe I need to run chmod? |
What is the output of If that's the case, running Also I see you checked off the second point, that means you were able to get to the point that the global launch file was running when not running interactively? |
If the permissions of the files are transferred to the |
Try running this in WSL/Ubuntu
Then in prompt (inside the sailbot workspace container) run
I am also surprised that running it without the interactive flag doesn't work. If the above commands don't work then we should hop on a call to debug it faster |
Okay so both of these do work, running from WSL |
Do these fail when launching the global launch file in sailbot workspace? If so, not a problem with this workflow.
Did you run once with internet before? And do you have wget installed? |
Yes they do, so no worries there.
Yup I tried changing I found a work around here but its not ideal and it involves changing the Dockerfile. It seems like this is an issue with buildkit. I tried disabling it and running again but then rosdep complains about not being connected to the internet further down the line, but the containers start at least.
|
Running the global launch file without internet works on my computer. Maybe it's a version issue? $ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
$ docker --version
Docker version 26.1.4, build 5650f9b
$ docker compose version
Docker Compose version v2.27.1-desktop.1
$ wget --version
GNU Wget 1.21.2 built on linux-gnu. My logs$ ./scripts/deployment/start_containers.sh --website
[+] Building 0.7s (14/14) FINISHED docker:default
=> [sailbot-workspace internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 857B 0.0s
=> [sailbot-workspace internal] load metadata for ghcr.io/ubcsailbot/sailbot_workspace/dev:moved-network-deps 0.0s
=> [sailbot-workspace internal] load .dockerignore 0.0s
=> => transferring context: 57B 0.0s
=> [sailbot-workspace internal] load build context 0.0s
=> => transferring context: 143B 0.0s
=> [sailbot-workspace 1/3] FROM ghcr.io/ubcsailbot/sailbot_workspace/dev:moved-network-deps 0.0s
=> CACHED [sailbot-workspace 2/3] COPY --chown=ros:ros config /home/ros 0.0s
=> CACHED [sailbot-workspace 3/3] WORKDIR /workspaces/sailbot_workspace 0.0s
=> [sailbot-workspace] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:0b59fe62f19a35e9ca3b8f217c9af2eded924833a862d4bf6648922c92efb5b2 0.0s
=> => naming to docker.io/library/deployment-sailbot-workspace 0.0s
=> [website internal] load build definition from website.Dockerfile.prod 0.0s
=> => transferring dockerfile: 813B 0.0s
=> [website internal] load metadata for docker.io/library/node:20-alpine 0.0s
=> [website internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [website 1/2] FROM docker.io/library/node:20-alpine 0.0s
=> CACHED [website 2/2] WORKDIR /website 0.0s
=> [website] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:90989f66e12db12b4223db1a68bb6b84ad4b34335782e2c221c2bdaca0eeee3e 0.0s
=> => naming to docker.io/library/deployment-website 0.0s
[+] Running 3/3
✔ Container deployment-sailbot-workspace-1 Started 0.4s
✔ Container deployment-website-1 Started 0.6s
✔ Container deployment-mongodb-1 Started 0.6s
Adding /workspaces/sailbot_workspace/src/integration_tests/custom-rosdep.yaml to /etc/ros/rosdep/sources.list.d/20-sailbot.list
Ign:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Ign:3 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Ign:4 http://packages.ros.org/ros2/ubuntu jammy InRelease
Ign:5 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ign:6 http://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 InRelease
Ign:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Ign:4 http://packages.ros.org/ros2/ubuntu jammy InRelease
Ign:3 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Ign:5 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ign:6 http://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 InRelease
Ign:4 http://packages.ros.org/ros2/ubuntu jammy InRelease
Ign:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:5 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ign:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Ign:3 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Ign:6 http://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 InRelease
Err:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Could not resolve 'archive.ubuntu.com'
Err:5 http://security.ubuntu.com/ubuntu jammy-security InRelease
Could not resolve 'security.ubuntu.com'
Err:4 http://packages.ros.org/ros2/ubuntu jammy InRelease
Could not resolve 'packages.ros.org'
Err:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Could not resolve 'archive.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Could not resolve 'archive.ubuntu.com'
Err:6 http://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 InRelease
Could not resolve 'repo.mongodb.org'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease Could not resolve 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease Could not resolve 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease Could not resolve 'archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease Could not resolve 'security.ubuntu.com'
W: Failed to fetch http://repo.mongodb.org/apt/ubuntu/dists/jammy/mongodb-org/6.0/InRelease Could not resolve 'repo.mongodb.org'
W: Failed to fetch http://packages.ros.org/ros2/ubuntu/dists/jammy/InRelease Could not resolve 'packages.ros.org'
W: Some index files failed to download. They have been ignored, or old ones used instead.
#All required rosdeps installed successfully
Starting >>> custom_interfaces
Starting >>> diagnostics
Finished <<< diagnostics [0.23s]
Finished <<< custom_interfaces [1.30s]
Starting >>> boat_simulator
Starting >>> controller
Starting >>> integration_tests
Starting >>> local_pathfinding
Starting >>> network_systems
Finished <<< network_systems [1.51s]
Finished <<< boat_simulator [2.08s]
Finished <<< integration_tests [2.09s]
Finished <<< controller [2.11s]
Finished <<< local_pathfinding [2.11s]
Summary: 7 packages finished [4.02s]
[INFO] [launch]: All log files can be found below /home/ros/.ros/log/2024-06-17-13-53-53-188909-9cae12a476e8-1654
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [navigate-5]: process started with pid [1663]
[INFO] [mock_global_path-6]: process started with pid [1665]
[INFO] [wingsail_ctrl_node-1]: process started with pid [1655]
[INFO] [physics_engine_node-2]: process started with pid [1657]
[INFO] [low_level_control_node-3]: process started with pid [1659]
[INFO] [data_collection_node-4]: process started with pid [1661]
[INFO] [example-7]: process started with pid [1667]
[INFO] [mock_ais-8]: process started with pid [1669]
[INFO] [can_transceiver-9]: process started with pid [1671]
[INFO] [remote_transceiver-10]: process started with pid [1673]
[INFO] [local_transceiver-11]: process started with pid [1675]
[local_transceiver-11] [INFO] [1718657633.461675549] [local_transceiver_node]: Running Local Transceiver in mode: development, with port: /tmp/local_transceiver_test_port.
[local_transceiver-11] open: No such file or directory
[remote_transceiver-10] [INFO] [1718657633.498269590] [remote_transceiver_node]: Running Remote Transceiver in mode: development, with database: test, host: 127.0.0.1, port: 8081, num_threads: 2
[mock_ais-8] [INFO] [1718657633.514452200] [mock_ais_node]: Mock AIS is DISABLED
[can_transceiver-9] [INFO] [1718657633.522748712] [can_transceiver_node]: Running CAN Transceiver in development mode with CAN Sim Intf
[ERROR] [local_transceiver-11]: process has died [pid 1675, exit code 255, cmd '/workspaces/sailbot_workspace/install/lib/network_systems/local_transceiver --ros-args --log-level local_transceiver_node:=info --ros-args -r __node:=local_transceiver_node -r __ns:=/ --params-file /workspaces/sailbot_workspace/src/global_launch/config/globals.yaml --params-file /tmp/launch_params_epzoi4yr --params-file /workspaces/sailbot_workspace/src/global_launch/config/globals.yaml'].
[data_collection_node-4] [WARN] [1718657634.118009581] [data_collection_node]: JSON file with name ros_data_collection already exists. Overwriting old file...
[INFO] [data_collection_node-4]: process has finished cleanly [pid 1661]
[navigate-5] Traceback (most recent call last):
[navigate-5] File "/workspaces/sailbot_workspace/install/lib/local_pathfinding/navigate", line 33, in <module>
[navigate-5] sys.exit(load_entry_point('local-pathfinding', 'console_scripts', 'navigate')())
[navigate-5] File "/workspaces/sailbot_workspace/build/local_pathfinding/local_pathfinding/node_navigate.py", line 14, in main
[navigate-5] rclpy.spin(node=sailbot)
[navigate-5] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/__init__.py", line 222, in spin
[navigate-5] executor.spin_once()
[navigate-5] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 739, in spin_once
[navigate-5] self._spin_once_impl(timeout_sec)
[navigate-5] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 736, in _spin_once_impl
[navigate-5] raise handler.exception()
[navigate-5] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/task.py", line 239, in __call__
[navigate-5] self._handler.send(None)
[navigate-5] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 437, in handler
[navigate-5] await call_coroutine(entity, arg)
[navigate-5] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 351, in _execute_timer
[navigate-5] await await_or_execute(tmr.callback)
[navigate-5] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 107, in await_or_execute
[navigate-5] return callback(*args)
[navigate-5] File "/workspaces/sailbot_workspace/build/local_pathfinding/local_pathfinding/node_navigate.py", line 141, in desired_heading_callback
[navigate-5] desired_heading = self.get_desired_heading()
[navigate-5] File "/workspaces/sailbot_workspace/build/local_pathfinding/local_pathfinding/node_navigate.py", line 174, in get_desired_heading
[navigate-5] self.local_path.update_if_needed(
[navigate-5] File "/workspaces/sailbot_workspace/build/local_pathfinding/local_pathfinding/local_path.py", line 91, in update_if_needed
[navigate-5] ompl_path = OMPLPath(
[navigate-5] File "/workspaces/sailbot_workspace/build/local_pathfinding/local_pathfinding/ompl_path.py", line 79, in __init__
[navigate-5] self.state = OMPLPathState(local_path_state, self._logger)
[navigate-5] File "/workspaces/sailbot_workspace/build/local_pathfinding/local_pathfinding/ompl_path.py", line 42, in __init__
[navigate-5] if local_path_state and len(local_path_state.global_path) > 0
[navigate-5] AttributeError: 'LocalPathState' object has no attribute 'global_path'
[mock_global_path-6] [INFO] [1718657634.577050969] [mgp_main]: Retreiving current position from http://localhost:3005/api/gps
[mock_global_path-6] URL Error: [Errno 111] Connection refused
[mock_global_path-6] [INFO] [1718657634.580704667] [mgp_main]: Global path file is: mock_global_path.csv
[mock_global_path-6] Reading path
[mock_global_path-6] [INFO] [1718657634.585210219] [mgp_main]: Some waypoints in the global path exceed the maximum interval spacing of 30.0 km. Interpolating between waypoints and generating path
[physics_engine_node-2] [INFO] [1718657634.638956780] [physics_engine_node]: Received data from sail_cmd
[wingsail_ctrl_node-1] [INFO] [1718657634.643312898] [wingsail_ctrl_node]: Published to sail_cmd the following angle: 5.75
[physics_engine_node-2] [INFO] [1718657634.673744226] [physics_engine_node]: Publishing to mock_gps
[physics_engine_node-2] [INFO] [1718657634.674398163] [physics_engine_node]: Publishing to mock_wind_sensors
[physics_engine_node-2] [INFO] [1718657634.675141159] [physics_engine_node]: Publishing to mock_kinematics
[low_level_control_node-3] [INFO] [1718657634.695390854] [low_level_control_node]: Received data from mock_gps
[ERROR] [navigate-5]: process has died [pid 1663, exit code 1, cmd '/workspaces/sailbot_workspace/install/lib/local_pathfinding/navigate --ros-args --log-level navigate_main:=info --ros-args -r __node:=navigate_main --params-file /workspaces/sailbot_workspace/src/global_launch/config/globals.yaml'].
[wingsail_ctrl_node-1] [INFO] [1718657635.107923901] [wingsail_ctrl_node]: Published to sail_cmd the following angle: 5.75
[wingsail_ctrl_node-1] [INFO] [1718657635.608827207] [wingsail_ctrl_node]: Published to sail_cmd the following angle: 5.75
[wingsail_ctrl_node-1] [INFO] [1718657636.107789007] [wingsail_ctrl_node]: Published to sail_cmd the following angle: 5.75
^Ccanceled
[+] Stopping 3/3
✔ Container deployment-mongodb-1 Stopped 0.1s
✔ Container deployment-website-1 Stopped 10.1s
✔ Container deployment-sailbot-workspace-1 Stopped |
You're running on native linux right? If you're also running wsl2 it must be a version issue. or some docker/buildkit config I'm not getting those versions with apt-get upgrade so I'll try to get pin docker and docker compose to the same versions as you and test it again. |
I'm also running wsl2. docker and docker compose come bundled with docker desktop, I have the latest version v4.31.1 |
Yeah I'm not able to get this working without internet. When do you have time to hop on a call to debug? |
Description
sailbot_workspace_devcontainer_mongodb-data
To Do
mongo:4.4.18
)Verification
@SPDonaghy can try the following steps?
./scripts/deployment/start_containers.sh --website
runs the global launch file Works in WSL, Navigate and Local Transceiver nodes fail./scripts/deployment/start_containers.sh --website --interactive
then run./scripts/test.sh
and all tests pass./scripts/deployment/start_containers.sh --website
still runs the global launch file