Skip to content

Docker Container for MacOS Developers environment #10967

Description

@bri-harris

The required feature described as a wish

As a User/Admin/Operator or wishful developer/contributor using a MacOS system for the CloudStack open source project I would like a Docker Container which packages all the necessary dependencies.
There are a few known issues:

  • Python 2.7.16 reached end of life so MacOS no longer includes it by default.
  • When trying to install Python 2.7.16 or 2.7.18, MacOS requires older versions of OppenSSL and Zlib both of which are also blocked by security issues
  • CloudStack requires OpenSSL Libraries,but MacOS comes with a different implementation, LibreSSL, where TLS version conflicts restrict use of the correct OpenSSL version required for the legacy Python and Java Dependencies.
  • CloudStack is originally designed for linux, so some dependencies, like Marvin, are missing or outdated causing installation failures

Acceptance Criteria: contribute a Dockerfile which creates a docker image resulting in a linux based container packaged with all the required dependancies. The docker container should run

  • ubuntu:20.04
  • Python 2.7.16 or 2.7.18 (for older cloudstack tools)
  • Python3 / Python3-pip for build tools and package managers
  • Java 17, openjdk-17-jdk
  • Mavan
  • Git
  • MySQL Server and Client for Cloudstacks database
  • OpenSSL for TSL
  • CloudStack source code from github
  • Marvin for API Testing
  • (Optional) Node.js for UI

Activity

  1. boring-cyborg commented on Jun 5, 2025

    @boring-cyborg

    Thanks for opening your first issue here! Be sure to follow the issue template!

  2. bri-harris commented on Jun 5, 2025

    @bri-harris
    Author

    I have opened this issue as a MacOS user who attempted to set up a developers environment for #8837

  3. bri-harris commented on Jun 5, 2025

    @bri-harris
    Author

    In the tools/marvin/setup.py script, there is a package referenced that does not exist in the repository: marvin.cloudstackAPI does not exist. setup.py references it here

    packages=["marvin", "marvin.cloudstackAPI",
                    "marvin.lib", "marvin.config", "marvin.sandbox",
                    "marvin.sandbox.advanced", "marvin.sandbox.advancedsg",
                    "marvin.sandbox.basic"],
    
  4. added this to the 4.21.0 milestone on Jul 7, 2025
  5. DaanHoogland commented on Jul 7, 2025

    @DaanHoogland
    Contributor

    @bri-harris we plan to release 21 somewhere this summer. Will you be ready with this soon?

  6. linked a pull request that will close this issuedocker local environment #10993on Jul 14, 2025
  7. modified the milestones: 4.21.0, 4.22.0 on Aug 29, 2025
  8. 2 remaining items

  9. added this to the 4.22.1 milestone on Nov 12, 2025
  10. moved this from Dev In Progress to Todo in Apache CloudStack BugFest - Issueson Mar 5, 2026
  11. modified the milestones: 4.22.1, 4.23.0 on Apr 24, 2026
  12. modified the milestones: 4.23.0, 4.24.0 on Jun 29, 2026
  13. github-actions commented on Jul 1, 2026

    @github-actions

    🎯 Triage report

    A contributor is requesting a Dockerfile that provides a ready-to-use Linux-based developer environment for CloudStack on macOS. The macOS platform lacks compatible Python 2.7, correct OpenSSL, and some CloudStack/Marvin dependencies, making local development setup very painful. The issue includes detailed acceptance criteria with a checklist of required components.

    📊 Assessment

    Dimension Value Reasoning
    Type type:new-feature Adds a new artifact (Dockerfile) not currently present in the repo
    Component component:build Developer tooling / build environment
    Severity n/a Not a bug
    Labels type:new-feature, component:build As above
    Coding agent Suitable Clear acceptance criteria checklist; self-contained scope (a single Dockerfile + README); no design decisions needed

    🔗 Similar issues

    💡 Notes and suggestions
    • The existing tools/marvin/setup.py references marvin.cloudstackAPI which does not exist in-tree; this should be noted as a companion fix.
    • The milestone 4.24.0 has been set — maintainers should confirm whether this is in scope for that release.
    • Consider placing the Dockerfile under tools/docker/ or contrib/ and adding CI smoke-test for image build.
    • Python 2.7 is EOL; the Dockerfile should aim at Python 3 as the primary runtime and only add legacy tooling where strictly required.

    Generated by Daily Issue Triage · ◷

    Add this agentic workflows to your repo

    To install this agentic workflow, run

    gh aw add githubnext/agentics/workflows/daily-issue-triage.md@d7c1dc4b72b00607a67caaffdcc216cb64379cf9
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions