Skip to content

tools: Build docker image cloudstack-simulator#13597

Open
weizhouapache wants to merge 3 commits into
mainfrom
docker-image-build
Open

tools: Build docker image cloudstack-simulator#13597
weizhouapache wants to merge 3 commits into
mainfrom
docker-image-build

Conversation

@weizhouapache

Copy link
Copy Markdown
Member

Description

This PR fixes docker image build errors

  • use ubuntu 24.04 instead of ubunutu 22.04
  • install openjdk 17 instead 11
  • install nodejs 24 instead 14
  • support both marvin*.tar.gz and Marvin*.tar.gz
  • remove unnecessary steps

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

How did you try to break this feature and the system with this change?

Copilot AI review requested due to automatic review settings July 13, 2026 10:05
@weizhouapache weizhouapache added this to the 4.23.0 milestone Jul 13, 2026
@weizhouapache weizhouapache changed the title tools: Build docker image tools: Build docker image cloudstack-simulator Jul 13, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the CloudStack simulator Docker image build to modernize the base OS/toolchain and address build breakages when building the image in CI.

Changes:

  • Upgrade base image to Ubuntu 24.04 and Java to OpenJDK 17.
  • Upgrade Node.js installation to Node 24 (NodeSource setup script).
  • Make Marvin tarball detection case-insensitive and simplify related build steps.
  • Trigger the Docker image workflow on an additional branch.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
tools/docker/Dockerfile Updates OS/toolchain versions and tweaks Marvin + Node install steps for the simulator image build.
.github/workflows/docker-cloudstack-simulator.yml Adds docker-image-build as an additional push branch trigger for the image build workflow.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tools/docker/Dockerfile
Comment thread tools/docker/Dockerfile
Comment thread tools/docker/Dockerfile
@codecov

codecov Bot commented Jul 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 19.50%. Comparing base (24fd90a) to head (8ef4579).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##               main   #13597   +/-   ##
=========================================
  Coverage     19.50%   19.50%           
- Complexity    19438    19441    +3     
=========================================
  Files          6303     6303           
  Lines        569288   569288           
  Branches      69792    69792           
=========================================
  Hits         111028   111028           
- Misses       446106   446108    +2     
+ Partials      12154    12152    -2     
Flag Coverage Δ
uitests 3.41% <ø> (ø)
unittests 20.77% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copilot AI review requested due to automatic review settings July 13, 2026 10:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

Comment thread tools/docker/supervisord.conf
Comment thread tools/docker/Dockerfile
Comment thread tools/docker/Dockerfile
Comment on lines 20 to 27
on:
push:
branches:
- main
- docker-image-build
tags:
- 4.*
- 5.*
@github-actions

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 24.31%
Branch coverage 18.44%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

Copilot AI review requested due to automatic review settings July 13, 2026 13:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

Comment on lines +20 to +21
environment=NODE_OPTIONS="--openssl-legacy-provider"
command=/bin/bash -c "NODE_OPTIONS=--openssl-legacy-provider npm run serve"
Comment thread tools/docker/Dockerfile
Comment on lines +65 to +66
MARVIN_FILE=`find /root/tools/marvin/dist/ -name "[mM]arvin*.tar.gz"`; \
pip3 install $MARVIN_FILE --break-system-packages
Comment on lines 21 to +24
push:
branches:
- main
- docker-image-build
@bernardodemarco

Copy link
Copy Markdown
Member

@weizhouapache, just out of curiosity, is the UI being built and executed correctly with Node.js 24?

@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 24.31%
Branch coverage 18.44%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

@weizhouapache

weizhouapache commented Jul 13, 2026

Copy link
Copy Markdown
Member Author

@weizhouapache, just out of curiosity, is the UI being built and executed correctly with Node.js 24?

Yes @bernardodemarco
It worked in my testing.
Some docker images have been uploaded by GHA to https://hub.docker.com/repository/docker/apache/cloudstack-simulator/tags

You can have a try with the last image :
https://hub.docker.com/repository/docker/apache/cloudstack-simulator/tags/4.23.0.0-SNAPSHOT-20260713-172300

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