Add api and manager states and metadata

* api state configures and starts octavia-api service
* manager state configures and starts the following services:
  - octavia-worker
  - octavia-health-manager
  - octavia-housekeeping

Added tests and updated the README.rst

Change-Id: I41c3097ff400b07d659d8aa845d295fbda480cd3
diff --git a/README.rst b/README.rst
index 8790ce0..169e463 100644
--- a/README.rst
+++ b/README.rst
@@ -2,16 +2,112 @@
 Octavia
 =======
 
-Install and configure Octavia.
+Octavia is an open source, operator-scale load balancing solution designed to
+work with OpenStack. It accomplishes its delivery of load balancing services
+by managing a fleet of virtual machines, known as amphorae, which it spins up
+on demand.
+
+Octavia is designed to “plug in” to Neutron LBaaS in the same way that any
+proprietary vendor solution would: through a Neutron LBaaS version 2 driver
+interface. Octavia plans to supplant Neutron LBaaS as the load balancing
+solution for OpenStack. At that time, third-party vendor drivers that presently
+“plug in” to Neutron LBaaS will plug in to Octavia instead. For end-users,
+this transition should be relatively seamless, because Octavia supports
+the Neutron LBaaS v2 API and it has a similar CLI interface.
+
 
 Sample pillars
 ==============
 
+Octavia API service pillar:
+
 .. code-block:: yaml
 
     octavia:
-      server:
+      api:
         enabled: true
+        version: ocata
+        bind:
+          address: 127.0.0.1
+          port: 9876
+        database:
+          engine: mysql
+          host: 127.0.0.1
+          port: 3306
+          name: octavia
+          user: octavia
+          password: password
+        identity:
+          engine: keystone
+          region: RegionOne
+          host: 127.0.0.1
+          port: 35357
+          user: octavia
+          password: password
+          tenant: service
+        message_queue:
+          engine: rabbitmq
+          host: 127.0.0.1
+          port: 5672
+          user: openstack
+          password: password
+          virtual_host: '/openstack'
+        haproxy_amphora:
+          client_cert: '/etc/octavia/certs/client.pem'
+          server_ca: '/etc/octavia/certs/ca_01.pem'
+
+
+Octavia manager service pillar:
+
+.. code-block:: yaml
+
+    octavia:
+      manager:
+        enabled: true
+        version: ocata
+        database:
+          engine: mysql
+          host: 127.0.0.1
+          port: 3306
+          name: octavia
+          user: octavia
+          password: password
+        identity:
+          engine: keystone
+          region: RegionOne
+          host: 127.0.0.1
+          port: 35357
+          user: octavia
+          password: password
+          tenant: service
+        message_queue:
+          engine: rabbitmq
+          host: 127.0.0.1
+          port: 5672
+          user: openstack
+          password: password
+          virtual_host: '/openstack'
+        certificates:
+          ca_private_key_passphrase: foobar
+          ca_private_key: '/etc/octavia/certs/private/cakey.pem'
+          ca_certificate: '/etc/octavia/certs/ca_01.pem'
+        controller_worker:
+          amp_boot_network_list: '01d3edaa-422c-40b9-b265-425c981691e7'
+          amp_flavor_id: '967972bb-ab54-4679-9f53-bf81d5e28154'
+          amp_image_owner_id: '68520e9f926441ddb37b7c744c4005b7'
+          amp_image_tag: amphora
+          amp_secgroup_list: '9fcd532e-5715-423a-8e3f-51abddbe7705'
+          amp_ssh_key_name: octavia_ssh_key
+          loadbalancer_topology: 'SINGLE'
+        haproxy_amphora:
+          client_cert: '/etc/octavia/certs/client.pem'
+          server_ca: '/etc/octavia/certs/ca_01.pem'
+        health_manager:
+          bind_ip: 192.168.0.12
+          heartbeat_key: 'insecure'
+        house_keeping:
+          spare_amphora_pool_size: 0
+
 
 
 More information