OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins as a part of the Git hosting and code review systems migration detailed in these mailing list posts: http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html Attempts have been made to correct repository namespaces and hostnames based on simple pattern matching, but it's possible some were updated incorrectly or missed entirely. Please reach out to us via the contact information listed at https://opendev.org/ with any questions you may have.
|1 day ago|
|bin||2 years ago|
|compass||2 years ago|
|conf||2 years ago|
|imgs||3 years ago|
|install||2 years ago|
|mibs||5 years ago|
|misc||2 years ago|
|monitor||5 years ago|
|plugins||3 years ago|
|project-config||3 weeks ago|
|regtest||3 weeks ago|
|service||2 years ago|
|vagrant||3 weeks ago|
|.coveragerc||3 years ago|
|.gitignore||4 years ago|
|.gitreview||1 day ago|
|.testr.conf||3 years ago|
|LICENSE||5 years ago|
|README.md||3 weeks ago|
|ez_setup.py||3 years ago|
|requirements.txt||2 years ago|
|setup.cfg||5 years ago|
|setup.py||3 years ago|
|test-requirements.txt||3 years ago|
|tox.ini||2 years ago|
As a platform-independent deployment automation system, Compass simplifies the complex and error-prone deployment process of various distributed systems such as Openstack, Ceph and so on. It dramatically reduces the time of datacenter server management. Compass, designed with an extensible architecture, can be easily integrated with most of the popular automation tools (Cobbler, Chef, Ansible) and allows third-parties (vendors) plugins for hardware discovery.
** Before everything, setup your environment:**
i. Make sure MySQL is installed on your development box:
e.g., ```brew install mysql``` (for your Mac OSX box)
ii. Dedicatedly create a virtual environment for your development. You can use virtualenvwrapper to help you manage your virtual environment.
$mkvirtualenv compass-core (skip this if you already created compass-core-env)
$workon compass-core (get into compass-core-env)
Note: the above assumes you use virtualenvwrapper to manage your virtualenv
1. Checkout source
(compass-core-env)$git checkout https://github.com/openstack/compass-core.git
2. Run the tests making sure you are working on a clean and working code base (i.e., did someone else break the code)
3. Write your change, and make sure test your code thoroughly (otherwise, reviewers won’t approve it)
(compass-core-env)$git branch -b [TOPIC]
working, working, working on the [TOPIC] branch …
(compass-core-env)$tox -r (make sure your new code still works)
4. Submit for review
* bin/ - contains Compass utility scripts * compass/ - contains all Compass business logic including database & backend * api/ - contains Compass RESTful APIs implementation * actions/ - interface to essential functionalities executed by Celery tasks, including deploy, find servers and so on * apiclient/ - contains Compass RESTful API client * db/ - contains database model and supported database operations * deployment/ - contains the module for deploying a distributed system from OS installation to package installation based on user configuration via RESTful or Web UI. * hdsdiscovery/ - contains the module for learning server hardware spec * log_analyzor/ - library to calculate installation progress by processing logs from the servers being deployed * tasks/ - definition of Celery tasks triggering Compass actions * utils/ - contains utility functions for other modules * tests/ - unittests level testing code * tests_serverside/ - tests that Compass's functionality to communicate with a known chef server * install/ - contains scripts for Compass installation on virtual machine or bare metal server * service/ - contains Compass messaging service and cluster installation progress service * vagrant/ - contains scripts of downloading compass-adapters and installing the target systems onto the virtual machine(s), this directory is for testing purpose * regtest/ - contains the scripts that will be used by the continuous integrations. * monitor/ - contains a script monitor Compass server's resource utilization during an installation * misc/ - configuration files for Compass server setup * conf/ - legacy configuration files related to supported target systems are stored here. * plugins/ - new configuration files and/or package installers will be added here (see plugins/README.md)
Code Structure in Runtime:
![alt text](./imgs/runtime_code_path.jpg "Modular Components")
git clone -b dev/exeperimental https://git.openstack.org/openstack/compass-core.git
cd compassto the Compass project directory.
./install/install.shto setup compass environment. Please note that before you execute
install.sh, you may setup your environment variables in
install/install.conf, explanations and examples of those variables can be found in
./bin/refresh.shto initialize database.
service compass-celeryd startto start compass celery daemon service.
service compass-progress-updated startto start compass progress update daemon service.
git clone -b dev/experimental https://git.openstack.org/openstack/compass-core.git
./launch.shNote: all the vboxnet interfaces and compass related vms should be removed prior to another launch.
Why doesn’t celery start? What should I do if I get
celery died but pid file exists message after running
service compassd status?
How to check if the compass services run properly?
service compass-celeryd statusand
compass-progress-updated statusto check compass services status.
service httpd statusto check web service status.
How to troubleshoot if
compassd can not start the services?
How to use compass to install distributed systems?
http://www.syscompass.org/install.html has some UI instructions.
How to run unittest?
. ~/.virtualenvs/compass-core/bin/activateto activate compass python venv
tox -pey27depending on your python version.
Where to find the log file?
/var/log/compass/compass.logis the compass web log.
/var/log/compass/celery.logis the celery log, celery logs contain most important debugging information.
Where to find the compass config file?
Where are the utility scripts for compass?
They will be at