cloudstack
cloudstack copied to clipboard
Docker Container for MacOS Developers environment
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
Thanks for opening your first issue here! Be sure to follow the issue template!
I have opened this issue as a MacOS user who attempted to set up a developers environment for https://github.com/apache/cloudstack/issues/8837
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"],
@bri-harris we plan to release 21 somewhere this summer. Will you be ready with this soon?