automatic tests
diff --git a/README.rst b/README.rst
index c71b7f6..8480aae 100644
--- a/README.rst
+++ b/README.rst
@@ -3,6 +3,9 @@
 Kubernetes Formula
 ==================
 
+Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
+
+This formula deploys production ready Kubernetes and generate Kubernetes manifests as well.
 
 Based on official Kubernetes salt
 https://github.com/kubernetes/kubernetes/tree/master/cluster/saltbase
@@ -16,14 +19,97 @@
 .. code-block:: yaml
 
     kubernetes:
-      master:
+        master:
+          addons:
+            dns:
+              domain: cluster.local
+              enabled: true
+              replicas: 1
+              server: 10.254.0.10
+            heapster_influxdb:
+              enabled: true
+              public_ip: 185.22.97.132
+            ui:
+              enabled: true
+              public_ip: 185.22.97.131
+          admin:
+            password: password
+            username: admin
+          apiserver:
+            address: 10.0.175.100
+            port: 8080
+          ca: kubernetes
+          enabled: true
+          etcd:
+            host: 127.0.0.1
+            members:
+            - host: 10.0.175.100
+              name: node040
+            name: node040
+            token: ca939ec9c2a17b0786f6d411fe019e9b
+          kubelet:
+            allow_privileged: true
+          network:
+            engine: calico
+            hash: fb5e30ebe6154911a66ec3fb5f1195b2
+            private_ip_range: 10.150.0.0/16
+            version: v0.19.0
+          service_addresses: 10.254.0.0/16
+          storage:
+            engine: glusterfs
+            members:
+            - host: 10.0.175.101
+              port: 24007
+            - host: 10.0.175.102
+              port: 24007
+            - host: 10.0.175.103
+              port: 24007
+            port: 24007
+          token:
+            admin: DFvQ8GJ9JD4fKNfuyEddw3rjnFTkUKsv
+            controller_manager: EreGh6AnWf8DxH8cYavB2zS029PUi7vx
+            dns: RAFeVSE4UvsCz4gk3KYReuOI5jsZ1Xt3
+            kube_proxy: DFvQ8GelB7afH3wClC9romaMPhquyyEe
+            kubelet: 7bN5hJ9JD4fKjnFTkUKsvVNfuyEddw3r
+            logging: MJkXKdbgqRmTHSa2ykTaOaMykgO6KcEf
+            monitoring: hnsj0XqABgrSww7Nqo7UVTSZLJUt2XRd
+            scheduler: HY1UUxEPpmjW4a1dDLGIANYQp1nZkLDk
+          version: v1.2.4
+
 
     kubernetes:
-      pool:
+        pool:
+          address: 0.0.0.0
+          allow_privileged: true
+          ca: kubernetes
+          cluster_dns: 10.254.0.10
+          cluster_domain: cluster.local
+          enabled: true
+          kubelet:
+            allow_privileged: true
+            config: /etc/kubernetes/manifests
+            frequency: 5s
+          master:
+            apiserver:
+              members:
+              - host: 10.0.175.100
+            etcd:
+              members:
+              - host: 10.0.175.100
+            host: 10.0.175.100
+          network:
+            engine: calico
+            hash: fb5e30ebe6154911a66ec3fb5f1195b2
+            version: v0.19.0
+          token:
+            kube_proxy: DFvQ8GelB7afH3wClC9romaMPhquyyEe
+            kubelet: 7bN5hJ9JD4fKjnFTkUKsvVNfuyEddw3r
+          version: v1.2.4
 
 
-Kubernetes with OpenContrail
-----------------------------
+
+Kubernetes with OpenContrail network plugin
+------------------------------------------------
 
 On Master:
 
@@ -105,8 +191,33 @@
         network:
           engine: calico
 
-Kubernetes Service Definitions
-------------------------------
+Kubernetes with GlusterFS for storage
+---------------------------------------------
+
+.. code-block:: yaml
+
+    kubernetes:
+      master
+        ...
+        storage:
+          engine: glusterfs
+          port: 24007
+          members:
+          - host: 10.0.175.101
+            port: 24007
+          - host: 10.0.175.102
+            port: 24007
+          - host: 10.0.175.103
+            port: 24007
+         ...
+
+Kubernetes Service Definitions in pillars
+==========================================
+
+Following samples show how to generate kubernetes manifest as well and provide single tool for complete infrastructure management.
+
+Deployment manifest
+---------------------
 
 .. code-block:: yaml
 
@@ -157,7 +268,7 @@
 -------
 
 hostPath
-===========
+==========
 
 .. code-block:: yaml
 
diff --git a/kubernetes/master/init.sls b/kubernetes/master/init.sls
index afbd5ea..3c28c89 100644
--- a/kubernetes/master/init.sls
+++ b/kubernetes/master/init.sls
@@ -1,4 +1,4 @@
-
+{%- from "kubernetes/map.jinja" import master with context %}
 include:
 - kubernetes.master.service
 - kubernetes.master.etcd
diff --git a/kubernetes/pool/init.sls b/kubernetes/pool/init.sls
index 3ef881e..81a7366 100644
--- a/kubernetes/pool/init.sls
+++ b/kubernetes/pool/init.sls
@@ -1,4 +1,4 @@
-
+{%- from "kubernetes/map.jinja" import pool with context %}
 include:
 - kubernetes.pool.service
 {%- if pool.network.engine == "calico" %}
diff --git a/metadata.yml b/metadata.yml
index 53b1371..dddea5b 100644
--- a/metadata.yml
+++ b/metadata.yml
@@ -1,3 +1,6 @@
 name: "kubernetes"
 version: "0.2"
 source: "https://github.com/tcpcloud/salt-formula-kubernetes"
+dependencies:
+- name: linux
+  source: "https://github.com/tcpcloud/salt-formula-linux"
\ No newline at end of file
diff --git a/tests/pillar/master_cluster.sls b/tests/pillar/master_cluster.sls
new file mode 100644
index 0000000..3dead17
--- /dev/null
+++ b/tests/pillar/master_cluster.sls
@@ -0,0 +1,61 @@
+kubernetes:
+  common:
+    binaries_version: v1.1.1
+    network:
+      engine: none
+  master:
+    addons:
+      dns:
+        domain: cluster.local
+        enabled: true
+        replicas: 1
+        server: 10.254.0.10
+      heapster_influxdb:
+        enabled: true
+        public_ip: 185.22.97.132
+      ui:
+        enabled: true
+        public_ip: 185.22.97.131
+    admin:
+      password: password
+      username: admin
+    apiserver:
+      address: 10.0.175.100
+      port: 8080
+    ca: kubernetes
+    enabled: true
+    etcd:
+      host: 127.0.0.1
+      members:
+      - host: 10.0.175.100
+        name: node040
+      name: node040
+      token: ca939ec9c2a17b0786f6d411fe019e9b
+    kubelet:
+      allow_privileged: true
+    network:
+      engine: calico
+      hash: fb5e30ebe6154911a66ec3fb5f1195b2
+      private_ip_range: 10.150.0.0/16
+      version: v0.19.0
+    service_addresses: 10.254.0.0/16
+    storage:
+      engine: glusterfs
+      members:
+      - host: 10.0.175.101
+        port: 24007
+      - host: 10.0.175.102
+        port: 24007
+      - host: 10.0.175.103
+        port: 24007
+      port: 24007
+    token:
+      admin: DFvQ8GJ9JD4fKNfuyEddw3rjnFTkUKsv
+      controller_manager: EreGh6AnWf8DxH8cYavB2zS029PUi7vx
+      dns: RAFeVSE4UvsCz4gk3KYReuOI5jsZ1Xt3
+      kube_proxy: DFvQ8GelB7afH3wClC9romaMPhquyyEe
+      kubelet: 7bN5hJ9JD4fKjnFTkUKsvVNfuyEddw3r
+      logging: MJkXKdbgqRmTHSa2ykTaOaMykgO6KcEf
+      monitoring: hnsj0XqABgrSww7Nqo7UVTSZLJUt2XRd
+      scheduler: HY1UUxEPpmjW4a1dDLGIANYQp1nZkLDk
+    version: v1.2.4
diff --git a/tests/pillar/pool_cluster.sls b/tests/pillar/pool_cluster.sls
new file mode 100644
index 0000000..2bde4fd
--- /dev/null
+++ b/tests/pillar/pool_cluster.sls
@@ -0,0 +1,35 @@
+kubernetes:
+  common:
+    binaries_version: v1.1.1
+    network:
+      engine: none
+  pool:
+    enabled: true
+    version: v1.2.0
+    master:
+      host: 127.0.0.1
+      apiserver:
+        members:
+          - host: 127.0.0.1
+          - host: 127.0.0.1
+          - host: 127.0.0.1
+      etcd:
+        members:
+          - host: 127.0.0.1
+          - host: 127.0.0.1
+          - host: 127.0.0.1
+    address: 0.0.0.0
+    cluster_dns: 10.254.0.10
+    cluster_domain: cluster.local
+    kubelet:
+      config: /etc/kubernetes/manifests
+      allow_privileged: True
+      frequency: 5s
+    token:
+      kubelet: 7bN5hJ9JD4fKjnFTkUKsvVNfuyEddw3r
+      kube_proxy: DFvQ8GelB7afH3wClC9romaMPhquyyEe
+    ca: kubernetes
+    network:
+      engine: calico
+      version: v0.19.0
+      hash: fb5e30ebe6154911a66ec3fb5f1195b2
\ No newline at end of file