<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GusMaskowitz</id>
		<title>OpenStack - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GusMaskowitz"/>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/wiki/Special:Contributions/GusMaskowitz"/>
		<updated>2026-07-08T20:42:31Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori/Specialize-in-Tripple-O-Discovery&amp;diff=47620</id>
		<title>Satori/Specialize-in-Tripple-O-Discovery</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori/Specialize-in-Tripple-O-Discovery&amp;diff=47620"/>
				<updated>2014-04-03T12:59:28Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WORK IN PROGRESS - &amp;quot;poc-tripple-o-discovery&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Blueprint:&lt;br /&gt;
https://blueprints.launchpad.net/satori/+spec/satori-specialize-in-tripple-o&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
For OpenStack administrators it could be valuable to sanity-check their OpenStack configs using a tool like Satori.&lt;br /&gt;
&lt;br /&gt;
That would be simple where OpenStack is run ON OpenStack (Tripple-O). In such cases Satori can easily discover control-plane and data-plane details. Then we can apply opinions from other OpenStack administrators/engineering teams rather than rely on technical documentation.&lt;br /&gt;
&lt;br /&gt;
Having technical documentation/process codified and actively working for humans is one of the major goals of satori for tenants of OpenStack clouds. Let's specialize to help OpenStack administrators get good help from other admins to make running a cloud at scale a little bit simpler.&lt;br /&gt;
&lt;br /&gt;
Why try?&lt;br /&gt;
Even with config management (which should be present in any proper web-scale cloud), there can be config in production that is not documented and affecting the performance of the system. Satori could become the silent, but always on &amp;quot;sanity checker&amp;quot; applying thing learned all over the world to your cloud in a very simple way. &lt;br /&gt;
&lt;br /&gt;
This use case also makes Satori a part key of OpenStack, rather than just another tool for quality checking systems.&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori/Specialize-in-Tripple-O-Discovery&amp;diff=47271</id>
		<title>Satori/Specialize-in-Tripple-O-Discovery</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori/Specialize-in-Tripple-O-Discovery&amp;diff=47271"/>
				<updated>2014-04-01T13:09:14Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WORK IN PROGRESS - &amp;quot;poc-tripple-o-discovery&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Blueprint:&lt;br /&gt;
https://blueprints.launchpad.net/satori/+spec/satori-specialize-in-tripple-o&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
For OpenStack administrators it would be incredibly valuable to &amp;quot;remember what others before them have learned&amp;quot; in terms of running a cloud at scale. Where OpenStack is run ON OpenStack (Tripple-O) Satori can do this by discovering config-plane and data-plane and apply opinions. This is one of the major goals of satori for tenants of OpenStack clouds. Let's specialize in the same way but help OpenStack *admins* stand on the shoulders of giants when they run OpenStack for others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why try?&lt;br /&gt;
With or without config management, there can be config in production that is not documented and affecting the performance of the system. If we go find it and apply best practises from all the admins in the world together, then each openstack cloud can be better.&lt;br /&gt;
&lt;br /&gt;
Let's build the framework to capture that expertise and help more OpenStack clouds be run really really well. &lt;br /&gt;
&lt;br /&gt;
This is possible with Satori - but I want us to specialize early so that there is more immediate help for OpenStack admins.&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori/Specialize-in-Tripple-O-Discovery&amp;diff=47227</id>
		<title>Satori/Specialize-in-Tripple-O-Discovery</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori/Specialize-in-Tripple-O-Discovery&amp;diff=47227"/>
				<updated>2014-04-01T10:36:20Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: Created page with &amp;quot;WORK IN PROGRESS - &amp;quot;poc-tripple-o-discovery&amp;quot;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WORK IN PROGRESS - &amp;quot;poc-tripple-o-discovery&amp;quot;&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=45809</id>
		<title>Satori</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=45809"/>
				<updated>2014-03-18T15:25:06Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenStack Configuration Discovery =&lt;br /&gt;
&lt;br /&gt;
The charter for the project is focused narrowly on discovering pre-existing infrastructure and installed or running software.  For example, given a URL and some credentials, discover which server(s) the URL is hosted on, the topology of the infrastructure and what software is running on each server, as well as, pertinent settings for commonly encountered software like apache, varnish, and mysql.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quick overview ==&lt;br /&gt;
* Source code	https://github.com/stackforge/satori&lt;br /&gt;
* Feature tracker	https://blueprints.launchpad.net/satori&lt;br /&gt;
* Bug tracker	https://bugs.launchpad.net/satori/&lt;br /&gt;
* Developer doc	http://satori.readthedocs.org/en/latest/&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
We expect that the output of a configuration discovery tool could be used for:&lt;br /&gt;
* Troubleshooting unfamiliar environments&lt;br /&gt;
* Configuration analysis (compare the discovered state vs a library of best practices)&lt;br /&gt;
* System State Verification&lt;br /&gt;
* Detecting configuration changes over time&lt;br /&gt;
* Heat Template generation&lt;br /&gt;
* Solum Application creation/import&lt;br /&gt;
* Creation of Chef recipes/cookbooks, Puppet modules, Ansible playbooks, setup scripts, etc.&lt;br /&gt;
&lt;br /&gt;
==  Getting Started ==&lt;br /&gt;
&lt;br /&gt;
The project will begin with a simple command-line tool so that new users can discover a configuration without needing to setup additional infrastructure. A mockup for the output is listed below:&lt;br /&gt;
&lt;br /&gt;
 $ satori www.foo.com&lt;br /&gt;
&lt;br /&gt;
 Address:&lt;br /&gt;
    www.foo.com resolves to IPv4 address 4.4.4.4&lt;br /&gt;
 Domain: foo.com&lt;br /&gt;
    Registered at TUCOWS DOMAINS INC.&lt;br /&gt;
    Expires in 475 days.&lt;br /&gt;
    Name servers:&lt;br /&gt;
        DNS1.STABLETRANSIT.COM&lt;br /&gt;
        DNS2.STABLETRANSIT.COM&lt;br /&gt;
 Host:&lt;br /&gt;
    4.4.4.4 (www.foo.com) is hosted on a Nova Instance&lt;br /&gt;
    Instance Information:&lt;br /&gt;
        URI: https://nova.api.somecloud.com/v2/111222/servers/d9119040-f767-414&lt;br /&gt;
             1-95a4-d4dbf452363a&lt;br /&gt;
        Name: sampleserver01.foo.com&lt;br /&gt;
        ID: d9119040-f767-4141-95a4-d4dbf452363a&lt;br /&gt;
    ip-addresses:&lt;br /&gt;
        public:&lt;br /&gt;
            ::ffff:404:404&lt;br /&gt;
            4.4.4.4&lt;br /&gt;
        private:&lt;br /&gt;
            10.1.1.156&lt;br /&gt;
    System Information:&lt;br /&gt;
        Ubuntu 12.04 installed&lt;br /&gt;
        Server was rebooted 11 days, 22 hours ago&lt;br /&gt;
        /dev/xvda1 is using 9% of its inodes.&lt;br /&gt;
    Running Services:&lt;br /&gt;
        httpd on 127.0.0.1:8080&lt;br /&gt;
        varnishd on 0.0.0.0:80&lt;br /&gt;
        sshd on 0.0.0.0:22&lt;br /&gt;
    httpd:&lt;br /&gt;
        Using 7 of 100 MaxClients&lt;br /&gt;
&lt;br /&gt;
== Initial Design Ideas ==&lt;br /&gt;
&lt;br /&gt;
Though not yet proposed in Blueprints, these are some of the initial thoughts for the project to help guide discussion:&lt;br /&gt;
&lt;br /&gt;
* A pluggable implementation to allow discovering:&lt;br /&gt;
** OpenStack infrastructure (instances, networks, et al.)&lt;br /&gt;
** Non-OpenStack Infrastructure (APIs for other clouds, nodes in a Chef server, vendor management interfaces)&lt;br /&gt;
** External infrastructure: DNS ownership and configuration, SSL Certificate validity, etc.&lt;br /&gt;
** Operating system and application configuration (See: [[Satori#Related_Work|Related Work]])&lt;br /&gt;
** Runtime information such as active processes and connections between systems.&lt;br /&gt;
* An API service for tenants to make discovery requests.&lt;br /&gt;
* A backend datastore to record the results of discoveries.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
# [https://github.com/opscode/ohai Ohai]&lt;br /&gt;
# [https://github.com/puppetlabs/facter Facter]&lt;br /&gt;
# Ansible [https://github.com/ansible/ansible/blob/devel/library/system/setup#L101 facts.d/setup]&lt;br /&gt;
# Devstructure [https://github.com/devstructure/blueprint Blueprint]&lt;br /&gt;
&lt;br /&gt;
== Satori Resources ==&lt;br /&gt;
* [https://launchpad.net/satori Satori on LaunchPad] (Blueprints, and bugs)&lt;br /&gt;
* [https://launchpad.net/~satori-drivers The Team (Join us!)]&lt;br /&gt;
* [https://github.com/stackforge/satori Source Code]&lt;br /&gt;
* [https://wiki.openstack.org/wiki/Satori/glossary Glossary]&lt;br /&gt;
* IRC: &amp;lt;code&amp;gt;#openstack-satori&amp;lt;/code&amp;gt; on [http://freenode.net/ Freenode] for development discussion.&lt;br /&gt;
* [[Meetings/Satori|Weekly meeting schedule]], [[Satori/MeetingLogs|Previous meetings]]&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=45307</id>
		<title>Satori</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=45307"/>
				<updated>2014-03-11T20:53:54Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenStack Configuration Discovery =&lt;br /&gt;
&lt;br /&gt;
The charter for the project is focused narrowly on discovering pre-existing infrastructure and installed or running software.  For example, given a URL and some credentials, discover which server(s) the URL is hosted on, the topology of the infrastructure and what software is running on each server, as well as, pertinent settings for commonly encountered software like apache, varnish, and mysql.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quick overview ==&lt;br /&gt;
* Source code	https://github.com/stackforge/satori&lt;br /&gt;
* Feature tracker	https://blueprints.launchpad.net/satori&lt;br /&gt;
* Bug tracker	https://bugs.launchpad.net/satori/&lt;br /&gt;
* Developer doc	http://satori.readthedocs.org/en/latest/&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
We expect that the output of a configuration discovery tool could be used for:&lt;br /&gt;
* Troubleshooting unfamiliar environments&lt;br /&gt;
* Configuration analysis (compare the discovered state vs a library of best practices)&lt;br /&gt;
* System State Verification&lt;br /&gt;
* Detecting configuration changes over time&lt;br /&gt;
* Heat Template generation&lt;br /&gt;
* Solum Application creation/import&lt;br /&gt;
* Creation of Chef recipes/cookbooks, Puppet modules, Ansible playbooks, setup scripts, etc.&lt;br /&gt;
&lt;br /&gt;
==  Getting Started ==&lt;br /&gt;
&lt;br /&gt;
The project will begin with a simple command-line tool so that new users can discover a configuration without needing to setup additional infrastructure. A mockup for the output is listed below:&lt;br /&gt;
&lt;br /&gt;
 $ satori discover www.foo.com&lt;br /&gt;
&lt;br /&gt;
 Address:&lt;br /&gt;
    www.foo.com resolves to IPv4 address 4.4.4.4&lt;br /&gt;
 Domain: foo.com&lt;br /&gt;
    Registered at TUCOWS DOMAINS INC.&lt;br /&gt;
    Expires in 475 days.&lt;br /&gt;
    Name servers:&lt;br /&gt;
        DNS1.STABLETRANSIT.COM&lt;br /&gt;
        DNS2.STABLETRANSIT.COM&lt;br /&gt;
 Host:&lt;br /&gt;
    4.4.4.4 (www.foo.com) is hosted on a Nova Instance&lt;br /&gt;
    Instance Information:&lt;br /&gt;
        URI: https://nova.api.somecloud.com/v2/111222/servers/d9119040-f767-414&lt;br /&gt;
             1-95a4-d4dbf452363a&lt;br /&gt;
        Name: sampleserver01.foo.com&lt;br /&gt;
        ID: d9119040-f767-4141-95a4-d4dbf452363a&lt;br /&gt;
    ip-addresses:&lt;br /&gt;
        public:&lt;br /&gt;
            ::ffff:404:404&lt;br /&gt;
            4.4.4.4&lt;br /&gt;
        private:&lt;br /&gt;
            10.1.1.156&lt;br /&gt;
    System Information:&lt;br /&gt;
        Ubuntu 12.04 installed&lt;br /&gt;
        Server was rebooted 11 days, 22 hours ago&lt;br /&gt;
        /dev/xvda1 is using 9% of its inodes.&lt;br /&gt;
    Running Services:&lt;br /&gt;
        httpd on 127.0.0.1:8080&lt;br /&gt;
        varnishd on 0.0.0.0:80&lt;br /&gt;
        sshd on 0.0.0.0:22&lt;br /&gt;
    httpd:&lt;br /&gt;
        Using 7 of 100 MaxClients&lt;br /&gt;
&lt;br /&gt;
== Initial Design Ideas ==&lt;br /&gt;
&lt;br /&gt;
Though not yet proposed in Blueprints, these are some of the initial thoughts for the project to help guide discussion:&lt;br /&gt;
&lt;br /&gt;
* A pluggable implementation to allow discovering:&lt;br /&gt;
** OpenStack infrastructure (instances, networks, et al.)&lt;br /&gt;
** Non-OpenStack Infrastructure (APIs for other clouds, nodes in a Chef server, vendor management interfaces)&lt;br /&gt;
** External infrastructure: DNS ownership and configuration, SSL Certificate validity, etc.&lt;br /&gt;
** Operating system and application configuration (See: [[Satori#Related_Work|Related Work]])&lt;br /&gt;
** Runtime information such as active processes and connections between systems.&lt;br /&gt;
* An API service for tenants to make discovery requests.&lt;br /&gt;
* A backend datastore to record the results of discoveries.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
# [https://github.com/opscode/ohai Ohai]&lt;br /&gt;
# [https://github.com/puppetlabs/facter Facter]&lt;br /&gt;
# Ansible [https://github.com/ansible/ansible/blob/devel/library/system/setup#L101 facts.d/setup]&lt;br /&gt;
# Devstructure [https://github.com/devstructure/blueprint Blueprint]&lt;br /&gt;
&lt;br /&gt;
== Satori Resources ==&lt;br /&gt;
* [https://launchpad.net/satori Satori on LaunchPad] (Blueprints, and bugs)&lt;br /&gt;
* [https://launchpad.net/~satori-drivers The Team (Join us!)]&lt;br /&gt;
* [https://github.com/stackforge/satori Source Code]&lt;br /&gt;
* [https://wiki.openstack.org/wiki/Satori/glossary Glossary]&lt;br /&gt;
* IRC: &amp;lt;code&amp;gt;#satori&amp;lt;/code&amp;gt; on [http://freenode.net/ Freenode] for development discussion.&lt;br /&gt;
* [[Meetings/Satori|Weekly meeting schedule]], [[Satori/MeetingLogs|Previous meetings]]&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=45306</id>
		<title>Satori</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=45306"/>
				<updated>2014-03-11T20:53:22Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenStack Configuration Discovery =&lt;br /&gt;
&lt;br /&gt;
The charter for the project is focused narrowly on discovering pre-existing infrastructure and installed or running software.  For example, given a URL and some credentials, discover which server(s) the URL is hosted on, the topology of the infrastructure and what software is running on each server, as well as, pertinent settings for commonly encountered software like apache, varnish, and mysql.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quick overview ==&lt;br /&gt;
* Source code	https://github.com/stackforge/satori&lt;br /&gt;
* Feature tracker	https://blueprints.launchpad.net/satori&lt;br /&gt;
* Bug tracker	https://bugs.launchpad.net/satori/&lt;br /&gt;
* Developer doc	http://satori.readthedocs.org/en/latest/&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
We expect that the output of a configuration discovery tool could be used for:&lt;br /&gt;
* Troubleshooting unfamiliar environments&lt;br /&gt;
* Configuration analysis (compare the discovered state vs a library of best practices)&lt;br /&gt;
* System State Verification&lt;br /&gt;
* Detecting configuration changes over time&lt;br /&gt;
* Heat Template generation&lt;br /&gt;
* Solum Application creation/import&lt;br /&gt;
* Creation of Chef recipes/cookbooks, Puppet modules, Ansible playbooks, setup scripts, etc.&lt;br /&gt;
&lt;br /&gt;
==  Getting Started ==&lt;br /&gt;
&lt;br /&gt;
The project will begin with a simple command-line tool so that new users can discover a configuration without needing to setup additional infrastructure. A mockup for the output is listed below:&lt;br /&gt;
&lt;br /&gt;
 $ satori discover www.foo.com&lt;br /&gt;
Address:&lt;br /&gt;
    www.foo.com resolves to IPv4 address 4.4.4.4&lt;br /&gt;
 Domain: foo.com&lt;br /&gt;
    Registered at TUCOWS DOMAINS INC.&lt;br /&gt;
    Expires in 475 days.&lt;br /&gt;
    Name servers:&lt;br /&gt;
        DNS1.STABLETRANSIT.COM&lt;br /&gt;
        DNS2.STABLETRANSIT.COM&lt;br /&gt;
 Host:&lt;br /&gt;
    4.4.4.4 (www.foo.com) is hosted on a Nova Instance&lt;br /&gt;
    Instance Information:&lt;br /&gt;
        URI: https://nova.api.somecloud.com/v2/111222/servers/d9119040-f767-414&lt;br /&gt;
             1-95a4-d4dbf452363a&lt;br /&gt;
        Name: sampleserver01.foo.com&lt;br /&gt;
        ID: d9119040-f767-4141-95a4-d4dbf452363a&lt;br /&gt;
    ip-addresses:&lt;br /&gt;
        public:&lt;br /&gt;
            ::ffff:404:404&lt;br /&gt;
            4.4.4.4&lt;br /&gt;
        private:&lt;br /&gt;
            10.1.1.156&lt;br /&gt;
    System Information:&lt;br /&gt;
        Ubuntu 12.04 installed&lt;br /&gt;
        Server was rebooted 11 days, 22 hours ago&lt;br /&gt;
        /dev/xvda1 is using 9% of its inodes.&lt;br /&gt;
    Running Services:&lt;br /&gt;
        httpd on 127.0.0.1:8080&lt;br /&gt;
        varnishd on 0.0.0.0:80&lt;br /&gt;
        sshd on 0.0.0.0:22&lt;br /&gt;
    httpd:&lt;br /&gt;
        Using 7 of 100 MaxClients&lt;br /&gt;
&lt;br /&gt;
== Initial Design Ideas ==&lt;br /&gt;
&lt;br /&gt;
Though not yet proposed in Blueprints, these are some of the initial thoughts for the project to help guide discussion:&lt;br /&gt;
&lt;br /&gt;
* A pluggable implementation to allow discovering:&lt;br /&gt;
** OpenStack infrastructure (instances, networks, et al.)&lt;br /&gt;
** Non-OpenStack Infrastructure (APIs for other clouds, nodes in a Chef server, vendor management interfaces)&lt;br /&gt;
** External infrastructure: DNS ownership and configuration, SSL Certificate validity, etc.&lt;br /&gt;
** Operating system and application configuration (See: [[Satori#Related_Work|Related Work]])&lt;br /&gt;
** Runtime information such as active processes and connections between systems.&lt;br /&gt;
* An API service for tenants to make discovery requests.&lt;br /&gt;
* A backend datastore to record the results of discoveries.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
# [https://github.com/opscode/ohai Ohai]&lt;br /&gt;
# [https://github.com/puppetlabs/facter Facter]&lt;br /&gt;
# Ansible [https://github.com/ansible/ansible/blob/devel/library/system/setup#L101 facts.d/setup]&lt;br /&gt;
# Devstructure [https://github.com/devstructure/blueprint Blueprint]&lt;br /&gt;
&lt;br /&gt;
== Satori Resources ==&lt;br /&gt;
* [https://launchpad.net/satori Satori on LaunchPad] (Blueprints, and bugs)&lt;br /&gt;
* [https://launchpad.net/~satori-drivers The Team (Join us!)]&lt;br /&gt;
* [https://github.com/stackforge/satori Source Code]&lt;br /&gt;
* [https://wiki.openstack.org/wiki/Satori/glossary Glossary]&lt;br /&gt;
* IRC: &amp;lt;code&amp;gt;#satori&amp;lt;/code&amp;gt; on [http://freenode.net/ Freenode] for development discussion.&lt;br /&gt;
* [[Meetings/Satori|Weekly meeting schedule]], [[Satori/MeetingLogs|Previous meetings]]&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=45120</id>
		<title>Satori</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=45120"/>
				<updated>2014-03-10T15:30:28Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: /* Satori Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenStack Configuration Discovery =&lt;br /&gt;
&lt;br /&gt;
The charter for the project is focused narrowly on discovering pre-existing infrastructure and installed or running software.  For example, given a URL and some credentials, discover which server(s) the URL is hosted on, the topology of the infrastructure and what software is running on each server, as well as, pertinent settings for commonly encountered software like apache, varnish, and mysql.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quick overview ==&lt;br /&gt;
* Source code	https://github.com/stackforge/satori&lt;br /&gt;
* Feature tracker	https://blueprints.launchpad.net/satori&lt;br /&gt;
* Bug tracker	https://bugs.launchpad.net/satori/&lt;br /&gt;
* Developer doc	http://satori.readthedocs.org/en/latest/&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
We expect that the output of a configuration discovery tool could be used for:&lt;br /&gt;
* Troubleshooting unfamiliar environments&lt;br /&gt;
* Configuration analysis (compare the discovered state vs a library of best practices)&lt;br /&gt;
* System State Verification&lt;br /&gt;
* Detecting configuration changes over time&lt;br /&gt;
* Heat Template generation&lt;br /&gt;
* Solum Application creation/import&lt;br /&gt;
* Creation of Chef recipes/cookbooks, Puppet modules, Ansible playbooks, setup scripts, etc.&lt;br /&gt;
&lt;br /&gt;
==  Getting Started ==&lt;br /&gt;
&lt;br /&gt;
The project will begin with a simple command-line tool so that new users can discover a configuration without needing to setup additional infrastructure. A mockup for the output is listed below:&lt;br /&gt;
&lt;br /&gt;
 $ satori discover www.foo.com&lt;br /&gt;
 Domain: foo.com&lt;br /&gt;
    Registered at TUCOWS DOMAINS INC.&lt;br /&gt;
    Expires in 475 days.&lt;br /&gt;
    Name servers:&lt;br /&gt;
        DNS1.STABLETRANSIT.COM&lt;br /&gt;
        DNS2.STABLETRANSIT.COM    &lt;br /&gt;
 Address:&lt;br /&gt;
    www.foo.com resolves to IPv4 address 4.4.4.4&lt;br /&gt;
 Host:&lt;br /&gt;
    4.4.4.4 (www.foo.com) is hosted on a Nova Instance&lt;br /&gt;
    Instance Information:&lt;br /&gt;
        URI: https://nova.api.somecloud.com/v2/111222/servers/d9119040-f767-414&lt;br /&gt;
             1-95a4-d4dbf452363a&lt;br /&gt;
        Name: sampleserver01.foo.com&lt;br /&gt;
        ID: d9119040-f767-4141-95a4-d4dbf452363a&lt;br /&gt;
    ip-addresses:&lt;br /&gt;
        public:&lt;br /&gt;
            ::ffff:404:404&lt;br /&gt;
            4.4.4.4&lt;br /&gt;
        private:&lt;br /&gt;
            10.1.1.156&lt;br /&gt;
    System Information:&lt;br /&gt;
        Ubuntu 12.04 installed&lt;br /&gt;
        Server was rebooted 11 days, 22 hours ago&lt;br /&gt;
        /dev/xvda1 is using 9% of its inodes.&lt;br /&gt;
    Running Services:&lt;br /&gt;
        httpd on 127.0.0.1:8080&lt;br /&gt;
        varnishd on 0.0.0.0:80&lt;br /&gt;
        sshd on 0.0.0.0:22&lt;br /&gt;
    httpd:&lt;br /&gt;
        Using 7 of 100 MaxClients&lt;br /&gt;
&lt;br /&gt;
== Initial Design Ideas ==&lt;br /&gt;
&lt;br /&gt;
Though not yet proposed in Blueprints, these are some of the initial thoughts for the project to help guide discussion:&lt;br /&gt;
&lt;br /&gt;
* A pluggable implementation to allow discovering:&lt;br /&gt;
** OpenStack infrastructure (instances, networks, et al.)&lt;br /&gt;
** Non-OpenStack Infrastructure (APIs for other clouds, nodes in a Chef server, vendor management interfaces)&lt;br /&gt;
** External infrastructure: DNS ownership and configuration, SSL Certificate validity, etc.&lt;br /&gt;
** Operating system and application configuration (See: [[Satori#Related_Work|Related Work]])&lt;br /&gt;
** Runtime information such as active processes and connections between systems.&lt;br /&gt;
* An API service for tenants to make discovery requests.&lt;br /&gt;
* A backend datastore to record the results of discoveries.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
# [https://github.com/opscode/ohai Ohai]&lt;br /&gt;
# [https://github.com/puppetlabs/facter Facter]&lt;br /&gt;
# Ansible [https://github.com/ansible/ansible/blob/devel/library/system/setup#L101 facts.d/setup]&lt;br /&gt;
# Devstructure [https://github.com/devstructure/blueprint Blueprint]&lt;br /&gt;
&lt;br /&gt;
== Satori Resources ==&lt;br /&gt;
* [https://launchpad.net/satori Satori on LaunchPad] (Blueprints, and bugs)&lt;br /&gt;
* [https://launchpad.net/~satori-drivers The Team (Join us!)]&lt;br /&gt;
* [https://github.com/stackforge/satori Source Code]&lt;br /&gt;
* [https://wiki.openstack.org/wiki/Satori/glossary Glossary]&lt;br /&gt;
* IRC: &amp;lt;code&amp;gt;#satori&amp;lt;/code&amp;gt; on [http://freenode.net/ Freenode] for development discussion.&lt;br /&gt;
* [[Meetings/Satori|Weekly meeting schedule]], [[Satori/MeetingLogs|Previous meetings]]&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori/glossary&amp;diff=45118</id>
		<title>Satori/glossary</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori/glossary&amp;diff=45118"/>
				<updated>2014-03-10T15:16:53Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: /* Configuration Discovery Terms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration Discovery Terms ===&lt;br /&gt;
:&amp;lt;big&amp;gt;The following terms are used to describe discovery more narrowly and differentiate configuration discovery concepts, while in combination they specify much of what Satori aims to accomplish.&amp;lt;/big&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== Control Plane Discovery ====&lt;br /&gt;
:Using native bindings, client libraries ([https://github.com/rackspace/pyrax pyrax], [https://github.com/boto/boto boto], [https://github.com/openstack/python-novaclient novaclient], [https://github.com/apache/libcloud libcloud], [https://www.destroyallsoftware.com/talks/wat etc.]) or cloud APIs to attain information about a configuration. This requires credentials/api tokens, and could provide: a server's image data, a server's region, a load-balancer's VIPs and nodes, networking info, etc.&lt;br /&gt;
&lt;br /&gt;
==== Data Plane Discovery ====&lt;br /&gt;
:Making direct observations about a configuration by running commands/utilities directly on the system, or accessing and analyzing a system's network interface. This might require login credentials for the host resource, and could provide information ranging from disk usage to packages installed to motherboard fan speeds.&lt;br /&gt;
&lt;br /&gt;
==== SysInfo Provider ====&lt;br /&gt;
:One of any open source applications or utilities that will examine a host machine and return verbose information about that system. Satori will leverage/support these tools for Data Plane Discovery.&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori/glossary&amp;diff=45113</id>
		<title>Satori/glossary</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori/glossary&amp;diff=45113"/>
				<updated>2014-03-10T13:30:55Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: /* Configuration Discovery Terms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration Discovery Terms ===&lt;br /&gt;
:&amp;lt;big&amp;gt;The following terms are used to describe discovery more narrowly and differentiate configuration discovery concepts, while in combination they specify much of what Satori aims to accomplish.&amp;lt;/big&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== Control Plane Discovery ====&lt;br /&gt;
:Using native bindings, client libraries ([https://github.com/rackspace/pyrax pyrax], [https://github.com/boto/boto boto], [https://github.com/openstack/python-novaclient novaclient], [https://github.com/apache/libcloud libcloud], [https://www.destroyallsoftware.com/talks/wat etc.]) or cloud APIs to attain information about a configuration. This requires credentials/api tokens, and could provide: a server's image data, a server's region, a load-balancer's VIPs and nodes, networking info, etc.&lt;br /&gt;
&lt;br /&gt;
==== Data Plane Discovery ====&lt;br /&gt;
:Making direct observations about a configuration by running commands/utilities directly on the system, or accessing and analyzing a system's network interface. This might require login credentials for the host resource, and could provide information ranging from disk usage to packages installed to motherboard fan speeds.&lt;br /&gt;
&lt;br /&gt;
==== SysInfo Provider ====&lt;br /&gt;
:One of any open source applications or utilities that will examine a host machine and return verbose information about that system. Satori will leverage/support these tools for Data Plane Discovery.&lt;br /&gt;
&lt;br /&gt;
==== Opinions ====&lt;br /&gt;
:The term used for applying knowledge and experience-as-code to the discovered information. Using this method we can provide an opinionated report on top of the discovery data to assist the site admin with decision making. E.g: In this triple-O (openstack-on-openstack) deployment we see you've chosen 1G networking for section X. That causes a problem Y which you might hit soon, based on Z. Consider changing to 10G.&amp;quot;&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=45112</id>
		<title>Satori</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=45112"/>
				<updated>2014-03-10T13:22:18Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: /* Satori Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenStack Configuration Discovery =&lt;br /&gt;
&lt;br /&gt;
The charter for the project is focused narrowly on discovering pre-existing infrastructure and installed or running software.  For example, given a URL and some credentials, discover which server(s) the URL is hosted on, the topology of the infrastructure and what software is running on each server, as well as, pertinent settings for commonly encountered software like apache, varnish, and mysql.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quick overview ==&lt;br /&gt;
* Source code	https://github.com/stackforge/satori&lt;br /&gt;
* Feature tracker	https://blueprints.launchpad.net/satori&lt;br /&gt;
* Bug tracker	https://bugs.launchpad.net/satori/&lt;br /&gt;
* Developer doc	http://satori.readthedocs.org/en/latest/&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
We expect that the output of a configuration discovery tool could be used for:&lt;br /&gt;
* Troubleshooting unfamiliar environments&lt;br /&gt;
* Configuration analysis (compare the discovered state vs a library of best practices)&lt;br /&gt;
* System State Verification&lt;br /&gt;
* Detecting configuration changes over time&lt;br /&gt;
* Heat Template generation&lt;br /&gt;
* Solum Application creation/import&lt;br /&gt;
* Creation of Chef recipes/cookbooks, Puppet modules, Ansible playbooks, setup scripts, etc.&lt;br /&gt;
&lt;br /&gt;
==  Getting Started ==&lt;br /&gt;
&lt;br /&gt;
The project will begin with a simple command-line tool so that new users can discover a configuration without needing to setup additional infrastructure. A mockup for the output is listed below:&lt;br /&gt;
&lt;br /&gt;
 $ satori discover www.foo.com&lt;br /&gt;
 Domain: foo.com&lt;br /&gt;
    Registered at TUCOWS DOMAINS INC.&lt;br /&gt;
    Expires in 475 days.&lt;br /&gt;
    Name servers:&lt;br /&gt;
        DNS1.STABLETRANSIT.COM&lt;br /&gt;
        DNS2.STABLETRANSIT.COM    &lt;br /&gt;
 Address:&lt;br /&gt;
    www.foo.com resolves to IPv4 address 4.4.4.4&lt;br /&gt;
 Host:&lt;br /&gt;
    4.4.4.4 (www.foo.com) is hosted on a Nova Instance&lt;br /&gt;
    Instance Information:&lt;br /&gt;
        URI: https://nova.api.somecloud.com/v2/111222/servers/d9119040-f767-414&lt;br /&gt;
             1-95a4-d4dbf452363a&lt;br /&gt;
        Name: sampleserver01.foo.com&lt;br /&gt;
        ID: d9119040-f767-4141-95a4-d4dbf452363a&lt;br /&gt;
    ip-addresses:&lt;br /&gt;
        public:&lt;br /&gt;
            ::ffff:404:404&lt;br /&gt;
            4.4.4.4&lt;br /&gt;
        private:&lt;br /&gt;
            10.1.1.156&lt;br /&gt;
    System Information:&lt;br /&gt;
        Ubuntu 12.04 installed&lt;br /&gt;
        Server was rebooted 11 days, 22 hours ago&lt;br /&gt;
        /dev/xvda1 is using 9% of its inodes.&lt;br /&gt;
    Running Services:&lt;br /&gt;
        httpd on 127.0.0.1:8080&lt;br /&gt;
        varnishd on 0.0.0.0:80&lt;br /&gt;
        sshd on 0.0.0.0:22&lt;br /&gt;
    httpd:&lt;br /&gt;
        Using 7 of 100 MaxClients&lt;br /&gt;
&lt;br /&gt;
== Initial Design Ideas ==&lt;br /&gt;
&lt;br /&gt;
Though not yet proposed in Blueprints, these are some of the initial thoughts for the project to help guide discussion:&lt;br /&gt;
&lt;br /&gt;
* A pluggable implementation to allow discovering:&lt;br /&gt;
** OpenStack infrastructure (instances, networks, et al.)&lt;br /&gt;
** Non-OpenStack Infrastructure (APIs for other clouds, nodes in a Chef server, vendor management interfaces)&lt;br /&gt;
** External infrastructure: DNS ownership and configuration, SSL Certificate validity, etc.&lt;br /&gt;
** Operating system and application configuration (See: [[Satori#Related_Work|Related Work]])&lt;br /&gt;
** Runtime information such as active processes and connections between systems.&lt;br /&gt;
* An API service for tenants to make discovery requests.&lt;br /&gt;
* A backend datastore to record the results of discoveries.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
# [https://github.com/opscode/ohai Ohai]&lt;br /&gt;
# [https://github.com/puppetlabs/facter Facter]&lt;br /&gt;
# Ansible [https://github.com/ansible/ansible/blob/devel/library/system/setup#L101 facts.d/setup]&lt;br /&gt;
# Devstructure [https://github.com/devstructure/blueprint Blueprint]&lt;br /&gt;
&lt;br /&gt;
== Satori Resources ==&lt;br /&gt;
* [https://launchpad.net/satori Satori on LaunchPad] (Blueprints, and bugs)&lt;br /&gt;
* [https://launchpad.net/~satori-drivers The Team (Join us!)]&lt;br /&gt;
* [https://github.com/stackforge/satori Source Code]&lt;br /&gt;
* [https://wiki.openstack.org/wiki/Satori/glossary Glossary/Terminology]&lt;br /&gt;
* IRC: &amp;lt;code&amp;gt;#satori&amp;lt;/code&amp;gt; on [http://freenode.net/ Freenode] for development discussion.&lt;br /&gt;
* [[Meetings/Satori|Weekly meeting schedule]], [[Satori/MeetingLogs|Previous meetings]]&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=44617</id>
		<title>Satori</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=44617"/>
				<updated>2014-03-06T22:36:53Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: /* Quick overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenStack Configuration Discovery =&lt;br /&gt;
&lt;br /&gt;
The charter for the project is focused narrowly on discovering pre-existing infrastructure and installed or running software.  For example, given a URL and some credentials, discover which server(s) the URL is hosted on, the topology of the infrastructure and what software is running on each server, as well as, pertinent settings for commonly encountered software like apache, varnish, and mysql.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quick overview ==&lt;br /&gt;
* Source code	https://github.com/stackforge/satori&lt;br /&gt;
* Feature tracker	https://blueprints.launchpad.net/satori&lt;br /&gt;
* Bug tracker	https://bugs.launchpad.net/satori/&lt;br /&gt;
* Developer doc	http://satori.readthedocs.org/en/latest/&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
We expect that the output of a configuration discovery tool could be used for:&lt;br /&gt;
* Troubleshooting unfamiliar environments&lt;br /&gt;
* Configuration analysis (compare the discovered state vs a library of best practices)&lt;br /&gt;
* System State Verification&lt;br /&gt;
* Detecting configuration changes over time&lt;br /&gt;
* Heat Template generation&lt;br /&gt;
* Solum Application creation/import&lt;br /&gt;
* Creation of Chef recipes/cookbooks, Puppet modules, Ansible playbooks, setup scripts, etc.&lt;br /&gt;
&lt;br /&gt;
==  Getting Started ==&lt;br /&gt;
&lt;br /&gt;
The project will begin with a simple command-line tool so that new users can discover a configuration without needing to setup additional infrastructure. A mockup for the output is listed below:&lt;br /&gt;
&lt;br /&gt;
 $ satori discover www.foo.com&lt;br /&gt;
 Domain: foo.com&lt;br /&gt;
    Registered at TUCOWS DOMAINS INC.&lt;br /&gt;
    Expires in 475 days.&lt;br /&gt;
    Name servers:&lt;br /&gt;
        DNS1.STABLETRANSIT.COM&lt;br /&gt;
        DNS2.STABLETRANSIT.COM    &lt;br /&gt;
 Address:&lt;br /&gt;
    www.foo.com resolves to IPv4 address 4.4.4.4&lt;br /&gt;
 Host:&lt;br /&gt;
    4.4.4.4 (www.foo.com) is hosted on a Nova Instance&lt;br /&gt;
    Instance Information:&lt;br /&gt;
        URI: https://nova.api.somecloud.com/v2/111222/servers/d9119040-f767-414&lt;br /&gt;
             1-95a4-d4dbf452363a&lt;br /&gt;
        Name: sampleserver01.foo.com&lt;br /&gt;
        ID: d9119040-f767-4141-95a4-d4dbf452363a&lt;br /&gt;
    ip-addresses:&lt;br /&gt;
        public:&lt;br /&gt;
            ::ffff:404:404&lt;br /&gt;
            4.4.4.4&lt;br /&gt;
        private:&lt;br /&gt;
            10.1.1.156&lt;br /&gt;
    System Information:&lt;br /&gt;
        Ubuntu 12.04 installed&lt;br /&gt;
        Server was rebooted 11 days, 22 hours ago&lt;br /&gt;
        /dev/xvda1 is using 9% of its inodes.&lt;br /&gt;
    Running Services:&lt;br /&gt;
        httpd on 127.0.0.1:8080&lt;br /&gt;
        varnishd on 0.0.0.0:80&lt;br /&gt;
        sshd on 0.0.0.0:22&lt;br /&gt;
    httpd:&lt;br /&gt;
        Using 7 of 100 MaxClients&lt;br /&gt;
&lt;br /&gt;
== Initial Design Ideas ==&lt;br /&gt;
&lt;br /&gt;
Though not yet proposed in Blueprints, these are some of the initial thoughts for the project to help guide discussion:&lt;br /&gt;
&lt;br /&gt;
* A pluggable implementation to allow discovering:&lt;br /&gt;
** OpenStack infrastructure (instances, networks, et al.)&lt;br /&gt;
** Non-OpenStack Infrastructure (APIs for other clouds, nodes in a Chef server, vendor management interfaces)&lt;br /&gt;
** External infrastructure: DNS ownership and configuration, SSL Certificate validity, etc.&lt;br /&gt;
** Operating system and application configuration (See: [[Satori#Related_Work|Related Work]])&lt;br /&gt;
** Runtime information such as active processes and connections between systems.&lt;br /&gt;
* An API service for tenants to make discovery requests.&lt;br /&gt;
* A backend datastore to record the results of discoveries.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
# [https://github.com/opscode/ohai Ohai]&lt;br /&gt;
# [https://github.com/puppetlabs/facter Facter]&lt;br /&gt;
# Ansible [https://github.com/ansible/ansible/blob/devel/library/system/setup#L101 facts.d/setup]&lt;br /&gt;
# Devstructure [https://github.com/devstructure/blueprint Blueprint]&lt;br /&gt;
&lt;br /&gt;
== Satori Resources ==&lt;br /&gt;
* [https://launchpad.net/satori Satori on LaunchPad] (Blueprints, and bugs)&lt;br /&gt;
* [https://launchpad.net/~satori-drivers The Team (Join us!)]&lt;br /&gt;
* [https://github.com/stackforge/satori Source Code]&lt;br /&gt;
* IRC: &amp;lt;code&amp;gt;#satori&amp;lt;/code&amp;gt; on [http://freenode.net/ Freenode] for development discussion.&lt;br /&gt;
* [[Meetings/Satori|Weekly meeting schedule]], [[Satori/MeetingLogs|Previous meetings]]&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=44523</id>
		<title>Satori</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Satori&amp;diff=44523"/>
				<updated>2014-03-06T15:39:36Z</updated>
		
		<summary type="html">&lt;p&gt;GusMaskowitz: /* OpenStack Configuration Discovery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenStack Configuration Discovery =&lt;br /&gt;
&lt;br /&gt;
The charter for the project is focused narrowly on discovering pre-existing infrastructure and installed or running software.  For example, given a URL and some credentials, discover which server(s) the URL is hosted on, the topology of the infrastructure and what software is running on each server, as well as, pertinent settings for commonly encountered software like apache, varnish, and mysql.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quick overview ==&lt;br /&gt;
Source code	https://github.com/stackforge/satori&lt;br /&gt;
Bug tracker	https://bugs.launchpad.net/satori/&lt;br /&gt;
Feature tracker	https://blueprints.launchpad.net/satori&lt;br /&gt;
Developer doc	http://satori.readthedocs.org/en/latest/&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
We expect that the output of a configuration discovery tool could be used for:&lt;br /&gt;
* Troubleshooting unfamiliar environments&lt;br /&gt;
* Configuration analysis (compare the discovered state vs a library of best practices)&lt;br /&gt;
* System State Verification&lt;br /&gt;
* Detecting configuration changes over time&lt;br /&gt;
* Heat Template generation&lt;br /&gt;
* Solum Application creation/import&lt;br /&gt;
* Creation of Chef recipes/cookbooks, Puppet modules, Ansible playbooks, setup scripts, etc.&lt;br /&gt;
&lt;br /&gt;
==  Getting Started ==&lt;br /&gt;
&lt;br /&gt;
The project will begin with a simple command-line tool so that new users can discover a configuration without needing to setup additional infrastructure. A mockup for the output is listed below:&lt;br /&gt;
&lt;br /&gt;
 $ satori discover www.foo.com&lt;br /&gt;
 Domain: foo.com&lt;br /&gt;
    Registered at TUCOWS DOMAINS INC.&lt;br /&gt;
    Expires in 475 days.&lt;br /&gt;
    Name servers:&lt;br /&gt;
        DNS1.STABLETRANSIT.COM&lt;br /&gt;
        DNS2.STABLETRANSIT.COM    &lt;br /&gt;
 Address:&lt;br /&gt;
    www.foo.com resolves to IPv4 address 4.4.4.4&lt;br /&gt;
 Host:&lt;br /&gt;
    4.4.4.4 (www.foo.com) is hosted on a Nova Instance&lt;br /&gt;
    Instance Information:&lt;br /&gt;
        URI: https://nova.api.somecloud.com/v2/111222/servers/d9119040-f767-414&lt;br /&gt;
             1-95a4-d4dbf452363a&lt;br /&gt;
        Name: sampleserver01.foo.com&lt;br /&gt;
        ID: d9119040-f767-4141-95a4-d4dbf452363a&lt;br /&gt;
    ip-addresses:&lt;br /&gt;
        public:&lt;br /&gt;
            ::ffff:404:404&lt;br /&gt;
            4.4.4.4&lt;br /&gt;
        private:&lt;br /&gt;
            10.1.1.156&lt;br /&gt;
    System Information:&lt;br /&gt;
        Ubuntu 12.04 installed&lt;br /&gt;
        Server was rebooted 11 days, 22 hours ago&lt;br /&gt;
        /dev/xvda1 is using 9% of its inodes.&lt;br /&gt;
    Running Services:&lt;br /&gt;
        httpd on 127.0.0.1:8080&lt;br /&gt;
        varnishd on 0.0.0.0:80&lt;br /&gt;
        sshd on 0.0.0.0:22&lt;br /&gt;
    httpd:&lt;br /&gt;
        Using 7 of 100 MaxClients&lt;br /&gt;
&lt;br /&gt;
== Initial Design Ideas ==&lt;br /&gt;
&lt;br /&gt;
Though not yet proposed in Blueprints, these are some of the initial thoughts for the project to help guide discussion:&lt;br /&gt;
&lt;br /&gt;
* A pluggable implementation to allow discovering:&lt;br /&gt;
** OpenStack infrastructure (instances, networks, et al.)&lt;br /&gt;
** Non-OpenStack Infrastructure (APIs for other clouds, nodes in a Chef server, vendor management interfaces)&lt;br /&gt;
** External infrastructure: DNS ownership and configuration, SSL Certificate validity, etc.&lt;br /&gt;
** Operating system and application configuration (See: [[Satori#Related_Work|Related Work]])&lt;br /&gt;
** Runtime information such as active processes and connections between systems.&lt;br /&gt;
* An API service for tenants to make discovery requests.&lt;br /&gt;
* A backend datastore to record the results of discoveries.&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
# [https://github.com/opscode/ohai Ohai]&lt;br /&gt;
# [https://github.com/puppetlabs/facter Facter]&lt;br /&gt;
# Ansible [https://github.com/ansible/ansible/blob/devel/library/system/setup#L101 facts.d/setup]&lt;br /&gt;
# Devstructure [https://github.com/devstructure/blueprint Blueprint]&lt;br /&gt;
&lt;br /&gt;
== Satori Resources ==&lt;br /&gt;
* [https://launchpad.net/satori Satori on LaunchPad] (Blueprints, and bugs)&lt;br /&gt;
* [https://launchpad.net/~satori-drivers The Team (Join us!)]&lt;br /&gt;
* [https://github.com/rackerlabs/satori Source Code] (to be moved to Stackforge soon)&lt;br /&gt;
* IRC: &amp;lt;code&amp;gt;#satori&amp;lt;/code&amp;gt; on [http://freenode.net/ Freenode] for development discussion.&lt;br /&gt;
* [[Meetings/Satori|Weekly meeting schedule]], [[Satori/MeetingLogs|Previous meetings]]&lt;/div&gt;</summary>
		<author><name>GusMaskowitz</name></author>	</entry>

	</feed>