RETIRED, Configuration Discovery
Go to file
Ziad Sawalha 6c5bb19fd7 Fixes to Tests
- Now runs with testr
- flake8 skips contrib
2014-02-25 17:19:56 -06:00
doc Update README 2014-02-16 19:33:12 -06:00
satori Fixes to Tests 2014-02-25 17:19:56 -06:00
tools Add virtual env, testing tools, and blank tests 2014-01-28 16:19:40 -06:00
.coveragerc Add virtual env, testing tools, and blank tests 2014-01-28 16:19:40 -06:00
.gitignore Add to .gitignore 2014-01-28 16:14:45 -06:00
.testr.conf Add virtual env, testing tools, and blank tests 2014-01-28 16:19:40 -06:00
HACKING.rst Add HACKING.rst 2014-01-28 16:15:10 -06:00
LICENSE Initial commit 2014-01-27 11:45:28 -08:00
README.rst README updates for arg changes 2014-02-18 17:15:11 -06:00
requirements.txt Fixes to Tests 2014-02-25 17:19:56 -06:00
run_tests.sh Fixes to Tests 2014-02-25 17:19:56 -06:00
setup.cfg Prepare doc building 2014-01-28 16:18:14 -06:00
setup.py Add main module, setup, and requirements 2014-01-28 16:17:19 -06:00
test-requirements.txt Add DNS detection, bp poc-dns-detection 2014-02-18 10:19:40 -06:00
tox.ini Fixes to Tests 2014-02-25 17:19:56 -06:00

Satori - Configuration Discovery

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:

$ pip install satori
$ satori foo.com
Address:
  foo.com resolves to IPv4 address 4.4.4.4

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:

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

Or:

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

Notice the discovery result now contains a Host section:

Address:
    www.foo.com resolves to IPv4 address 4.4.4.4
Host:
    4.4.4.4 (www.foo.com) is hosted on a Nova Instance
    Instance Information:
        URI: https://nova.api.somecloud.com/v2/111222/servers/d9119040-f767-
             4141-95a4-d4dbf452363a
        Name: sampleserver01.foo.com
        ID: d9119040-f767-4141-95a4-d4dbf452363a
    ip-addresses:
        public:
            ::ffff:404:404
            4.4.4.4
        private:
            10.1.1.156

Documentation

Additional documentation is located in the doc/ directory and is hosted at http://satori.readthedocs.org/.

Start Hacking

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

$ python tools/install_venv.py
$ source .venv/bin/activate
$ python setup.py develop

Unit tests can be ran simply by running:

$ run_tests.sh