This repository contains all tools used with so-called Bubbles. To setup a Bubble, follow the instructions here. This repo is available om the /data/shared
folder on your Bubble.
Bubbles are used for Cosmic development and testing. You can see them in action in Jenkins. They were originally developed for CloudStack at the time we did Release Management of versions 4.6
, 4.7
and 4.8
. It is still compatible with CloudStack today and being used by multiple people to test Pull Requests.
After cloning the repository (that may be done automatic when you setup a Bubble), you may want to tweak the deploy config file.
The deploy script spins all neccessary VMs inside The Bubble, such as a management server and KVM hypervisor. The VMs have roles defined in config files. Groups of roles
are defined in so-called clouds
. The config is read from a folder named default
in the deploy
folder.
The mct
section has an option section_name
that allows you to choose between cosmic
and cloudstack
(and any other you might want to add). It will read a section with the same name that you find in the same config file. Most interesting is the override_dir
.
The override_dir
allows you to override all files that are found in the default
folder, and also allows for new files to be added. This was done to make it flexible and share one tool between multiple projects that are incompatible in some areas. An example is the Java version: CloudStack uses Java 7, Cosmic uses Java 8. Using overrides both can use the same deploy command and get a working setup.
This will build a VM capable of running the management server:
cd /data/shared/deploy/
./kvm_local_deploy.py -r cloudstack-mgt-dev
This will build the hypervisors:
./kvm_local_deploy.py -m /data/shared/marvin/mct-zone1-kvm1-kvm2.cfg
ssh cs1
cd /data/shared/helper_script/cloudstack
./check-pr.sh -m /data/shared/marvin/mct-zone1-kvm1-kvm2.cfg -p PRNR -b BASE_BRANCH -t
Example:
./check-pr.sh -m /data/shared/marvin/mct-zone1-kvm1-kvm2.cfg -p 1348 -b 4.8 -t
If you want to run your own tests, you can specify the -f test_file_name.sh
flag.
If you don't specify a test file with the -f
flag, it will automatically default to the following test scenario:
./check-pr.sh -m /data/shared/marvin/mct-zone1-kvm1-kvm2.cfg -p 1348 -b 4.8 -t -f run_marvin_router_tests.sh
This will run the tests defined in the /data/share/helper_scripts/cloudstack/run_marvin_router_tests.sh
file.
Authors:
- Fred Neubauer
- Remi Bergsma
- Bob van den Heuvel
- Boris Schrijver
- Miguel Ferreira
- Wilder Rodrigues
Copyright 2016, Schuberg Philis
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.