Skip to content
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

ROS | Update rolling to jammy base image #11917

Merged
merged 1 commit into from
Feb 25, 2022

Conversation

ruffsl
Copy link
Contributor

@ruffsl ruffsl commented Feb 23, 2022

Also removes ros1-bridge tag, given no ROS1 distro targets Ubuntu jammy
osrf/docker_images#601
https://discourse.ros.org/t/new-packages-for-ros-2-rolling-ridley/24431

@ruffsl
Copy link
Contributor Author

ruffsl commented Feb 23, 2022

Looks like the gpg key issue is still the same old eviction issues with the CI's proxy: #11727 (comment)

yosifkit added a commit to infosiftr/stackbrew that referenced this pull request Feb 24, 2022
@ruffsl
Copy link
Contributor Author

ruffsl commented Feb 24, 2022

Pardon the interruption, I'm going ask to hold on merging here until we resolve a rospkg/rosdep issue with jammy, just to insure the first rebuilt tags have working tools from the get go.

https://discourse.ros.org/t/new-packages-for-ros-2-rolling-ridley/24431/2

@ruffsl
Copy link
Contributor Author

ruffsl commented Feb 25, 2022

Ok, looks like it's fixed with the release of rospkg v1.4.0 that has just been synced into the Rolling release for Jammy:
http://packages.ros.org/ros2/ubuntu/dists/jammy/main/binary-amd64/Packages

I can also confirm rosdep is now working as expected on fresh builds on top of Jammy.
https://github.com/osrf/docker_images/runs/5334930359

@yosifkit or @tianon , we a clear for departure 🚢 !

@tianon
Copy link
Member

tianon commented Feb 25, 2022

Can you do a quick rebase to pick up #11924 (so you can be our guinea pig to help make sure it works correctly)? 🙏

@github-actions
Copy link

Diff for 32626f5:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index 75716b3..e4de5a3 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -26,10 +26,10 @@ Architectures: amd64, arm64v8
 GitCommit: 11c613986e35a1f36fd0fa18b49173e0c564cf1d
 Directory: ros/noetic/debian/buster/ros-core
 
-Tags: rolling-ros-core, rolling-ros-core-focal
+Tags: rolling-ros-core, rolling-ros-core-jammy
 Architectures: amd64, arm64v8
-GitCommit: 11c613986e35a1f36fd0fa18b49173e0c564cf1d
-Directory: ros/rolling/ubuntu/focal/ros-core
+GitCommit: 86029c8abad4b4e52d95a33af079bdb874fa0b0c
+Directory: ros/rolling/ubuntu/jammy/ros-core
 
 Tags: foxy-ros-base, foxy-ros-base-focal, foxy, latest
 Architectures: amd64, arm64v8
@@ -56,10 +56,10 @@ Architectures: amd64, arm64v8
 GitCommit: df19ab7d5993d3b78a908362cdcd1479a8e78b35
 Directory: ros/noetic/debian/buster/ros-base
 
-Tags: rolling-ros-base, rolling-ros-base-focal, rolling
+Tags: rolling-ros-base, rolling-ros-base-jammy, rolling
 Architectures: amd64, arm64v8
-GitCommit: a5644adacdca4a49faf10221620048175cdd7262
-Directory: ros/rolling/ubuntu/focal/ros-base
+GitCommit: 86029c8abad4b4e52d95a33af079bdb874fa0b0c
+Directory: ros/rolling/ubuntu/jammy/ros-base
 
 Tags: foxy-ros1-bridge, foxy-ros1-bridge-focal
 Architectures: amd64, arm64v8
@@ -100,8 +100,3 @@ Tags: noetic-robot-buster
 Architectures: amd64, arm64v8
 GitCommit: df19ab7d5993d3b78a908362cdcd1479a8e78b35
 Directory: ros/noetic/debian/buster/robot
-
-Tags: rolling-ros1-bridge, rolling-ros1-bridge-focal
-Architectures: amd64, arm64v8
-GitCommit: e471aedbeaee1e0309bfe5dd1f2e8eea45f1adac
-Directory: ros/rolling/ubuntu/focal/ros1-bridge
diff --git a/_bashbrew-list b/_bashbrew-list
index 4abcfbf..17dab17 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -36,9 +36,7 @@ ros:noetic-ros-core
 ros:noetic-ros-core-buster
 ros:noetic-ros-core-focal
 ros:rolling
-ros:rolling-ros1-bridge
-ros:rolling-ros1-bridge-focal
 ros:rolling-ros-base
-ros:rolling-ros-base-focal
+ros:rolling-ros-base-jammy
 ros:rolling-ros-core
-ros:rolling-ros-core-focal
+ros:rolling-ros-core-jammy
diff --git a/ros_rolling-ros-core-focal/Dockerfile b/ros_rolling-ros-core-jammy/Dockerfile
similarity index 89%
rename from ros_rolling-ros-core-focal/Dockerfile
rename to ros_rolling-ros-core-jammy/Dockerfile
index 78459ea..07e15fc 100644
--- a/ros_rolling-ros-core-focal/Dockerfile
+++ b/ros_rolling-ros-core-jammy/Dockerfile
@@ -1,6 +1,6 @@
 # This is an auto generated Dockerfile for ros:ros-core
 # generated from docker_images_ros2/create_ros_core_image.Dockerfile.em
-FROM ubuntu:focal
+FROM ubuntu:jammy
 
 # setup timezone
 RUN echo 'Etc/UTC' > /etc/timezone && \
@@ -16,7 +16,7 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \
     && rm -rf /var/lib/apt/lists/*
 
 # setup sources.list
-RUN echo "deb http://packages.ros.org/ros2/ubuntu focal main" > /etc/apt/sources.list.d/ros2-latest.list
+RUN echo "deb http://packages.ros.org/ros2/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-latest.list
 
 # setup keys
 RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
@@ -29,7 +29,7 @@ ENV ROS_DISTRO rolling
 
 # install ros2 packages
 RUN apt-get update && apt-get install -y --no-install-recommends \
-    ros-rolling-ros-core=0.9.3-1* \
+    ros-rolling-ros-core=0.9.3-2* \
     && rm -rf /var/lib/apt/lists/*
 
 # setup entrypoint
diff --git a/ros_rolling-ros-core-focal/ros_entrypoint.sh b/ros_rolling-ros-core-jammy/ros_entrypoint.sh
similarity index 100%
rename from ros_rolling-ros-core-focal/ros_entrypoint.sh
rename to ros_rolling-ros-core-jammy/ros_entrypoint.sh
diff --git a/ros_rolling-ros1-bridge-focal/Dockerfile b/ros_rolling-ros1-bridge-focal/Dockerfile
deleted file mode 100644
index 637b657..0000000
diff --git a/ros_rolling-ros1-bridge-focal/ros_entrypoint.sh b/ros_rolling-ros1-bridge-focal/ros_entrypoint.sh
deleted file mode 100755
index 662a9e7..0000000
diff --git a/ros_rolling/Dockerfile b/ros_rolling/Dockerfile
index 207aa2f..962abb1 100644
--- a/ros_rolling/Dockerfile
+++ b/ros_rolling/Dockerfile
@@ -1,6 +1,6 @@
 # This is an auto generated Dockerfile for ros:ros-base
 # generated from docker_images_ros2/create_ros_image.Dockerfile.em
-FROM ros:rolling-ros-core-focal
+FROM ros:rolling-ros-core-jammy
 
 # install bootstrap tools
 RUN apt-get update && apt-get install --no-install-recommends -y \
@@ -26,6 +26,6 @@ RUN colcon mixin add default \
 
 # install ros2 packages
 RUN apt-get update && apt-get install -y --no-install-recommends \
-    ros-rolling-ros-base=0.9.3-1* \
+    ros-rolling-ros-base=0.9.3-2* \
     && rm -rf /var/lib/apt/lists/*

Relevant Maintainers:

@ruffsl
Copy link
Contributor Author

ruffsl commented Feb 25, 2022

Oh look, all the 🚦 are now 🟢 !
Nice!

@yosifkit yosifkit merged commit 952bf24 into docker-library:master Feb 25, 2022
@ruffsl
Copy link
Contributor Author

ruffsl commented Feb 26, 2022

Odd, doesn't look like all of the tags for all the architectures propagated to the library registry:

image

Seems that the CI/CD tripped up on building the base tag,
so I'm not even sure how that amd64 image was even built, partially tagged, and pushed:

Perhaps that explains the missing ros:rolling-ros-base-jammy tag for amd64?

@ruffsl
Copy link
Contributor Author

ruffsl commented Feb 26, 2022

so I'm not even sure how that amd64 image was even built, partially tagged, and pushed:

Ok, it just wasn't. :'(
The armv8 images for the base tag updated to Jammy, while the amd64 images for the same tag are still FROM Focal.

@ruffsl
Copy link
Contributor Author

ruffsl commented Feb 28, 2022

ping @tianon or @yosifkit , any ideas on what may be tripping up the apt install stage in the second image tag?

+ bashbrew build ros:rolling-ros-base
Building bashbrew/cache:64ad3edf74e4743667b3b067088e67a8bed95e00a1ed4114db5a79693ed1c70c (ros:rolling-ros-base)
failed building "ros" (tags "rolling-ros-base, rolling-ros-base-jammy, rolling")
exit status 100
docker ["build" "--tag" "bashbrew/cache:64ad3edf74e4743667b3b067088e67a8bed95e00a1ed4114db5a79693ed1c70c" "--file" "Dockerfile" "--rm" "--force-rm" "-"] output:
Sending build context to Docker daemon  10.24kB

Step 1/5 : FROM ros:rolling-ros-core-jammy
 ---> 681a973fa09e
Step 2/5 : RUN apt-get update && apt-get install --no-install-recommends -y     build-essential     git     python3-colcon-common-extensions     python3-colcon-mixin     python3-rosdep     python3-vcstool     && rm -rf /var/lib/apt/lists/*
 ---> Running in 6f09897b2698
Get:1 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [90.7 kB]
Get:3 http://packages.ros.org/ros2/ubuntu jammy InRelease [4661 B]
Get:4 http://packages.ros.org/ros2/ubuntu jammy/main amd64 Packages [238 kB]
Get:5 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [90.7 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [90.7 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [269 kB]
Get:8 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.4 MB]
Get:9 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [135 kB]
Get:10 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1814 kB]
Fetched 20.4 MB in 3s (7535 kB/s)
Reading package lists...
�[91mE: Problem executing scripts APT::Update::Post-Invoke 'rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true'
E: Sub-process returned an error code
�[0mRemoving intermediate container 6f09897b2698
The command '/bin/sh -c apt-get update && apt-get install --no-install-recommends -y     build-essential     git     python3-colcon-common-extensions     python3-colcon-mixin     python3-rosdep     python3-vcstool     && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100

https://doi-janky.infosiftr.net/job/multiarch/job/amd64/job/ros/237

@ruffsl
Copy link
Contributor Author

ruffsl commented Feb 28, 2022

I just locally tried to reproduce the build issue above (by building the exact parent image pushed to dockerhub sha256:7cb23184ce64af595bd46a022a59e49209848a4bc024bd2971e9bd667cf9a95c) but encountered no issues.

I'm puzzled as to how bashbrew is failing at the same exact build, and only for amd64.

@yosifkit
Copy link
Member

After some investigation, it seems to be that the dockerd on many of our build hosts was a bit outdated, so the newer libc of Jammy was hitting seccomp issues. We are getting it updated as soon as possible.

@tianon
Copy link
Member

tianon commented Mar 1, 2022

This was updated/fixed yesterday 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants