{ "info": { "author": "OpenStack", "author_email": "openstack-dev@lists.openstack.org", "bugtrack_url": null, "classifiers": [ "Environment :: OpenStack", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: Implementation", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "================================\nSatori - Configuration Discovery\n================================\n\nSatori provides configuration discovery for existing infrastructure. It is\na `related OpenStack project`_.\n\nThe charter for the project is to focus narrowly on discovering pre-existing\ninfrastructure and installed or running software. For example, given a URL and\nsome credentials, discover which resources (load balancer and servers) the URL\nis hosted on and what software is running on those servers.\n\nConfiguration discovery output could be used for:\n\n* Configuration analysis (ex. compared against a library of best practices)\n* Configuration monitoring (ex. has the configuration changed?)\n* Troubleshooting\n* Heat Template generation\n* Solum Application creation/import\n* Creation of Chef recipes/cookbooks, Puppet modules, Ansible playbooks, setup\n scripts, etc..\n\nGetting Started\n===============\n\nRun discovery on the local system::\n\n $ pip install satori\n\n $ satori localhost --system-info=ohai-solo -F json\n # Installs and runs ohai-solo, outputs the data as JSON\n\n\nRun against a URL with OpenStack credentials::\n\n $ pip install satori\n\n $ satori https://www.foo.com\n Address:\n www.foo.com resolves to IPv4 address 192.0.2.24\n Domain: foo.com\n Registrar: TUCOWS, INC.\n Nameservers: NS1.DIGIMEDIA.COM, NS2.DIGIMEDIA.COM\n Expires: 457 days\n Host not found\n\nDeeper discovery is available if the network location (IP or hostname) is\nhosted on an OpenStack cloud tenant that Satori can access.\n\nCloud settings can be passed in on the command line or via `OpenStack tenant environment\nvariables`_.\n\nRun with OpenStack credentials::\n\n $ satori 192.0.2.24 --os-username yourname --os-password yadayadayada --os-tenant-name myproject --os-auth-url http://...\n\nOr::\n\n $ export OS_USERNAME=yourname\n $ export OS_PASSWORD=yadayadayada\n $ export OS_TENANT_NAME=myproject\n $ export OS_AUTH_URL=http://...\n $ satori foo.com\n\nNotice the discovery result now contains a ``Host`` section::\n\n $ satori 192.0.2.24 --os-username yourname --os-password yadayadayada --os-tenant-name myproject --os-auth-url http://...\n Host:\n 192.0.2.24 is hosted on a Nova Instance\n Instance Information:\n URI: https://nova.api.somecloud.com/v2/111222/servers/d9119040-f767-414\n 1-95a4-d4dbf452363a\n Name: sampleserver01.foo.com\n ID: d9119040-f767-4141-95a4-d4dbf452363a\n ip-addresses:\n public:\n ::ffff:404:404\n 192.0.2.24\n private:\n 10.1.1.156\n System Information:\n Ubuntu 12.04 installed\n Server was rebooted 11 days, 22 hours ago\n /dev/xvda1 is using 9% of its inodes.\n Running Services:\n httpd on 127.0.0.1:8080\n varnishd on 0.0.0.0:80\n sshd on 0.0.0.0:22\n httpd:\n Using 7 of 100 MaxClients\n\nDocumentation\n=============\n\nAdditional documentation is located in the ``doc/`` directory and is hosted at\nhttp://satori.readthedocs.org/.\n\nStart Hacking\n=============\n\nWe recommend using a virtualenv to install the client. This description\nuses the `install virtualenv`_ script to create the virtualenv::\n\n $ python tools/install_venv.py\n $ source .venv/bin/activate\n $ python setup.py develop\n\nUnit tests can be ran simply by running::\n\n $ tox\n\n # or, just style checks\n $ tox -e pep8\n\n # or, just python 2.7 checks\n $ tox -e py27\n\n\nChecking test coverage::\n\n # Run tests with coverage\n $ tox -ecover\n\n # generate the report\n $ coverage html -d covhtml -i\n\n # open it in a broweser\n $ open covhtml/index.html\n\n\nLinks\n=====\n- `OpenStack Wiki`_\n- `Documentation`_\n- `Code`_\n- `Launchpad Project`_\n- `Features`_\n- `Issues`_\n\n.. _OpenStack Wiki: https://wiki.openstack.org/Satori\n.. _Documentation: http://satori.readthedocs.org/\n.. _OpenStack tenant environment variables: http://docs.openstack.org/developer/python-novaclient/shell.html\n.. _related OpenStack project: https://wiki.openstack.org/wiki/ProjectTypes\n.. _install virtualenv: https://github.com/stackforge/satori/blob/master/tools/install_venv.py\n.. _Code: https://github.com/stackforge/satori\n.. _Launchpad Project: https://launchpad.net/satori\n.. _Features: https://blueprints.launchpad.net/satori\n.. _Issues: https://bugs.launchpad.net/satori/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://wiki.openstack.org/Satori", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "satori", "package_url": "https://pypi.org/project/satori/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/satori/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://wiki.openstack.org/Satori" }, "release_url": "https://pypi.org/project/satori/0.1.5/", "requires_dist": null, "requires_python": null, "summary": "OpenStack Configuration Discovery", "version": "0.1.5" }, "last_serial": 1198368, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "81e140d9318eae688d3f954152fa9e27", "sha256": "2e45595daa471419b7be5e4f26df3b2b6b0369c5a1b70c03e6607e1dece9ce2c" }, "downloads": -1, "filename": "satori-0.1.1.tar.gz", "has_sig": false, "md5_digest": "81e140d9318eae688d3f954152fa9e27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23628, "upload_time": "2014-01-30T06:24:19", "url": "https://files.pythonhosted.org/packages/32/20/30d982de292d8f00ad50a9496c062cb856aa5586e11ec6f4efed51502b4b/satori-0.1.1.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "a3285e0e703703542f3060ec18ef0735", "sha256": "fcdc7265e28d90ac594fece6c3d1287d73141cced74a93f7017ab9878345a35f" }, "downloads": -1, "filename": "satori-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a3285e0e703703542f3060ec18ef0735", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26531, "upload_time": "2014-02-18T23:41:06", "url": "https://files.pythonhosted.org/packages/ea/df/e6fc7a70559cea5e07d127d2a8220097d5212a8b5f23090b71b1443102c0/satori-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "8703e6ffd0ca12b99143bbd1aec642e0", "sha256": "f84a2aa2d241c649ba0da05ca5f5008cf5156797477c9d900995a1aa44197135" }, "downloads": -1, "filename": "satori-0.1.4.tar.gz", "has_sig": false, "md5_digest": "8703e6ffd0ca12b99143bbd1aec642e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48005, "upload_time": "2014-03-20T08:08:42", "url": "https://files.pythonhosted.org/packages/ec/38/570b6427f806264a2d2c7f4f69fd8b797b01bf449146e5b83df09fbd2696/satori-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "d7213563cbd0550d7c8ff23450cf44af", "sha256": "afc69d7f1fb74956b0656eb20fbaeb1ac29c76bd9d45644115f60fa4f85e2699" }, "downloads": -1, "filename": "satori-0.1.5.tar.gz", "has_sig": false, "md5_digest": "d7213563cbd0550d7c8ff23450cf44af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57608, "upload_time": "2014-08-22T03:06:51", "url": "https://files.pythonhosted.org/packages/6a/a5/3a347e8a39f2c113c53297b519316bf4c073d4faf7edf7e149f441a43baf/satori-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d7213563cbd0550d7c8ff23450cf44af", "sha256": "afc69d7f1fb74956b0656eb20fbaeb1ac29c76bd9d45644115f60fa4f85e2699" }, "downloads": -1, "filename": "satori-0.1.5.tar.gz", "has_sig": false, "md5_digest": "d7213563cbd0550d7c8ff23450cf44af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57608, "upload_time": "2014-08-22T03:06:51", "url": "https://files.pythonhosted.org/packages/6a/a5/3a347e8a39f2c113c53297b519316bf4c073d4faf7edf7e149f441a43baf/satori-0.1.5.tar.gz" } ] }