Automating Distributed System Deployment to Baremetal Resources
Go to file
OpenDev Sysadmins 8df124774a 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.
2019-04-19 19:50:20 +00:00
bin Changed ansible directory structure 2015-05-22 17:06:47 -07:00
compass add log suffix in log filename 2015-06-03 17:06:09 -07:00
conf Now ansible takes credentials passed by compass 2015-05-26 14:29:34 -07:00
install update cluster state to error when deployment fails 2015-04-29 23:40:00 -07:00
mibs Migrate repo of 'compass' to repo of 'compass-core', leave 'compass' to host project homepage 2014-01-08 19:18:04 -08:00
misc setup installation interface ip before regtest 2015-04-25 15:28:08 -07:00
monitor add monitoring script 2014-04-03 23:53:27 -07:00
regtest Add ansible regtest 2015-05-29 15:42:43 -07:00
service make init db, load adapters/metadatas lazy initialization 2014-10-05 11:29:43 -07:00
vagrant Switch vbox storage from hashicorp to aws 2015-05-27 10:56:49 -07:00
.coveragerc Omit tests code in coverage report 2014-03-21 02:22:27 +00:00
.gitignore make compass install robust 2014-11-10 16:22:42 -08:00
.gitreview OpenDev Migration Patch 2019-04-19 19:50:20 +00:00
.testr.conf Add test environment configurations to support tox 2014-02-08 02:43:41 +00:00
LICENSE Migrate repo of 'compass' to repo of 'compass-core', leave 'compass' to host project homepage 2014-01-08 19:18:04 -08:00
README.md update readme 2015-06-04 11:56:26 -07:00
ez_setup.py Changed ansible directory structure 2015-05-22 17:06:47 -07:00
requirements.txt Add api to convert os metadata to ui os metadata 2015-03-30 14:22:52 -07:00
setup.cfg Migrate repo of 'compass' to repo of 'compass-core', leave 'compass' to host project homepage 2014-01-08 19:18:04 -08:00
setup.py Use setup.py to install config data to python library 2014-12-18 14:33:53 -08:00
test-requirements.txt Changed ansible directory structure 2015-05-22 17:06:47 -07:00
tox.ini Changed ansible directory structure 2015-05-22 17:06:47 -07:00

README.md

Compass

A Deoployment Automation System. See Wiki page at https://wiki.openstack.org/wiki/Compass.

Porject homepage: http://www.syscompass.org/

How to use in production environments: http://www.syscompass.org/install.html

Try compass out: http://www.syscompass.org/user.html

Quick Guide

How to install Compass?

  1. Run git clone -b dev/exeperimental git://git.openstack.org/stackforge/compass-core.git
  2. Run cd compass to the Compass project directory.
  3. Run ./install/install.sh to 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 install.conf.
  4. Run ./bin/refresh.sh to initialize database.
  5. Run service compass-celeryd start to start compass celery daemon service.
  6. Run service compass-progress-updated start to start compass progress update daemon service.

How to play Compass?

  1. Make sure your host is one of: mac/ubuntu trusty/ubuntu precise.
  2. Make sure your OS and CPU architecture are both 64-bit.
  3. Make sure you have virtualbox installed.
  4. Make sure you have virtualbox extension pack installed to support pxe.
  5. Run git clone -b dev/experimental git://git.openstack.org/stackforge/compass-core.git
  6. Go to directory compass-core/vagrant
  7. Run ./launch.sh Note: all the vboxnet interfaces and compass related vms should be removed prior to another launch.

FAQ

  • Why doesn't celery start? What should I do if I get celery died but pid file exists message after running service compassd status?
  1. Simply remove celery pid file (/var/run/celery.pid).
  2. Try running export C_FORCE_ROOT=1
  3. Restart Compass celery daemon.
  • How to check if the compass services run properly?
  1. Run service compass-celeryd status and compass-progress-updated status to check compass services status.
  2. Run service httpd status to check web service status.
  • How to troubleshoot if compassd can not start the services?

    1. Try to remove /var/run/celeryd.pid to release the celeryd lock
    2. Try to remove /var/run/progress_update.pid to release the progress_update lock.
  • How to use compass to install distributed systems?

Access http://<server_ip>. http://www.syscompass.org/install.html has some UI instructions.

  • How to run unittest?

    1. . ~/.virtualenvs/compass-core/bin/activate to activate compass python venv
    2. go to compass-core directory
    3. make sure you have dependency packages installed, if you used compass install scripts to install compass, they are already installed
    4. run tox -epy26 or tox -pey27 depending on your python version.
  • Where to find the log file?

    1. /var/log/compass/compass.log is the compass web log.
    2. /var/log/compass/celery.log is the celery log, celery logs contain most important debugging information.
    3. The redirected celeryd stdout/stderr is at /tmp/celeryd.log.
    4. The redirected progress_update.py stdout/stderr is at /tmp/progress_update.log
    5. The web server (httpd) log files are under /var/log/httpd/.
  • Where to find the compass config file?

    1. the compass setting file is at /etc/compass/setting.
    2. the default global config file for installing distributed system is at /etc/compass/setting
    3. the default celery config file is at /etc/compass/celeryconfig
    4. adapters, templates and flavor configs are at /etc/compass/ as well.
  • Where are the utility scripts for compass? They are at /opt/compass/bin/