Skip to main content

OpenStack Configuration Discovery

Project description

Satori provides configuration discovery for existing infrastructure. It is a related OpenStack project.

The charter for the project is to focus narrowly on discovering pre-existing infrastructure and installed or running software. For example, given a URL and some credentials, discover which resources (load balancer and servers) the URL is hosted on and what software is running on those servers.

Configuration discovery output could be used for:

  • Configuration analysis (ex. compared against a library of best practices)
  • Configuration monitoring (ex. has the configuration changed?)
  • Troubleshooting
  • Heat Template generation
  • Solum Application creation/import
  • Creation of Chef recipes/cookbooks, Puppet modules, Ansible playbooks, setup scripts, etc..

Getting Started

Run WITHOUT OpenStack credentials:

$ pip install satori

$ satori
 Address: resolves to IPv4 address
     Registrar: TUCOWS, INC.
     Expires: 457 days
 Host not found

Deeper discovery is available if the network location (IP or hostname) is hosted on an OpenStack cloud tenant that Satori can access.

Cloud settings can be passed in on the command line or via OpenStack tenant environment variables.


$ pip install satori

$ satori localhost –system-info=ohai-solo # Installs and runs ohai-solo

Run WITH OpenStack credentials:

$ satori --os-username yourname --os-password yadayadayada --os-tenant-name myproject --os-auth-url http://...


$ export OS_USERNAME=yourname
$ export OS_PASSWORD=yadayadayada
$ export OS_TENANT_NAME=myproject
$ export OS_AUTH_URL=http://...
$ satori

Notice the discovery result now contains a Host section:

$ satori
  Registered at TUCOWS DOMAINS INC.
  Expires in 475 days.
  Name servers:
Address: resolves to IPv4 address
Host: ( is hosted on a Nova Instance
  Instance Information:
      ID: d9119040-f767-4141-95a4-d4dbf452363a


  System Information:
      Ubuntu 12.04 installed
      Server was rebooted 11 days, 22 hours ago
      /dev/xvda1 is using 9% of its inodes.
  Running Services:
      httpd on
      varnishd on
      sshd on
      Using 7 of 100 MaxClients


Additional documentation is located in the doc/ directory and is hosted at

Start Hacking

We recommend using a virtualenv to install the client. This description uses the install virtualenv script to create the virtualenv:

$ python tools/
$ source .venv/bin/activate
$ python develop

Unit tests can be ran simply by running:

$ tox

# or, just style checks
$ tox -e pep8

# or, just python 2.7 checks
$ tox -e py27

Running a test coverage report:

# cleanup previous runs $ rm -rf cover && rm -rf covhtml && rm .coverage

# Run tests and generate the report $ tox -ecover && coverage html -d covhtml -i

# open it in a broweser $ open covhtml/index.html

Checking test coverage:

$ tox -ecover
$ coverage html -d covhtml -i
$ open covhtml/index.html  # opens the report in a browser

Release history Release notifications

History Node


This version
History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
satori-0.1.4.tar.gz (48.0 kB) Copy SHA256 hash SHA256 Source None Mar 20, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page