Delete etcd definition from k8s formula - use etcd formula instead

Change-Id: Idb04c9ca310d29d3f53fcefd7783a98026eec8c4
diff --git a/kubernetes/files/etcd/default b/kubernetes/files/etcd/default
deleted file mode 100644
index 78e57ea..0000000
--- a/kubernetes/files/etcd/default
+++ /dev/null
@@ -1,264 +0,0 @@
-{%- from "kubernetes/map.jinja" import master with context %}
-## etcd(1) daemon options
-## See "/usr/share/doc/etcd/Documentation/configuration.md.gz".
-
-### Member Flags
-
-##### -name
-## Human-readable name for this member.
-## default: host name returned by `hostname`.
-## This value is referenced as this node's own entries listed in the `-initial-cluster`
-## flag (Ex: `default=http://localhost:2380` or `default=http://localhost:2380,default=http://localhost:7001`).
-## This needs to match the key used in the flag if you're using [static boostrapping](clustering.md#static).
-# ETCD_NAME="hostname"
-ETCD_NAME="{{ master.etcd.name }}"
-
-##### -data-dir
-## Path to the data directory.
-# ETCD_DATA_DIR="/var/lib/etcd/default"
-ETCD_DATA_DIR="/var/lib/etcd/default"
-
-##### -wal-dir
-## Path to the dedicated wal directory. If this flag is set, etcd will write the
-## WAL files to the walDir rather than the dataDir. This allows a dedicated disk
-## to be used, and helps avoid io competition between logging and other IO operations.
-## default: ""
-# ETCD_WAL_DIR
-
-##### -snapshot-count
-## Number of committed transactions to trigger a snapshot to disk.
-## default: "10000"
-# ETCD_SNAPSHOT_COUNT="10000"
-
-##### -heartbeat-interval
-## Time (in milliseconds) of a heartbeat interval.
-## default: "100"
-# ETCD_HEARTBEAT_INTERVAL="100"
-
-##### -election-timeout
-## Time (in milliseconds) for an election to timeout.
-## See /usr/share/doc/etcd/Documentation/tuning.md
-## default: "1000"
-# ETCD_ELECTION_TIMEOUT="1000"
-
-##### -listen-peer-urls
-## List of URLs to listen on for peer traffic. This flag tells the etcd to accept
-## incoming requests from its peers on the specified scheme://IP:port combinations.
-## Scheme can be either http or https. If 0.0.0.0 is specified as the IP, etcd
-## listens to the given port on all interfaces. If an IP address is given as
-## well as a port, etcd will listen on the given port and interface.
-## Multiple URLs may be used to specify a number of addresses and ports to listen on.
-## The etcd will respond to requests from any of the listed addresses and ports.
-## example: "http://10.0.0.1:2380"
-## invalid example: "http://example.com:2380" (domain name is invalid for binding)
-## default: "http://localhost:2380,http://localhost:7001"
-# ETCD_LISTEN_PEER_URLS="http://localhost:2380,http://localhost:7001"
-ETCD_LISTEN_PEER_URLS="http://{{ master.etcd.host }}:2380"
-
-##### -listen-client-urls
-## List of URLs to listen on for client traffic. This flag tells the etcd to accept
-## incoming requests from the clients on the specified scheme://IP:port combinations.
-## Scheme can be either http or https. If 0.0.0.0 is specified as the IP, etcd
-## listens to the given port on all interfaces. If an IP address is given as
-## well as a port, etcd will listen on the given port and interface.
-## Multiple URLs may be used to specify a number of addresses and ports to listen on.
-## The etcd will respond to requests from any of the listed addresses and ports.
-## (ADVERTISE_CLIENT_URLS is required when LISTEN_CLIENT_URLS is set explicitly).
-## example: "http://10.0.0.1:2379"
-## invalid example: "http://example.com:2379" (domain name is invalid for binding)
-## default: "http://localhost:2379,http://localhost:4001"
-# ETCD_LISTEN_CLIENT_URLS="http://localhost:2379,http://localhost:4001"
-ETCD_LISTEN_CLIENT_URLS="{%- if master.etcd.host == '127.0.0.1' %}{% for member in master.etcd.members %} http://{{ member.host }}:4001{% endfor %}{% else %} http://{{ master.etcd.host }}:4001{% endif %},http://127.0.0.1:4001"
-##### -max-snapshots
-## Maximum number of snapshot files to retain (0 is unlimited)
-## default: 5
-# ETCD_MAX_SNAPSHOTS="5"
-
-##### -max-wals
-## Maximum number of wal files to retain (0 is unlimited)
-## default: 5
-# ETCD_MAX_WALS="5"
-
-##### -cors
-## Comma-separated whitelist of origins for CORS (cross-origin resource sharing).
-## default: none
-# ETCD_CORS
-
-### Clustering Flags
-## For an explanation of the various ways to do cluster setup, see:
-## /usr/share/doc/etcd/Documentation/clustering.md.gz
-##
-## The command line parameters starting with -initial-cluster will be
-## ignored on subsequent runs of etcd as they are used only during initial
-## bootstrap process.
-
-##### -initial-advertise-peer-urls
-## List of this member's peer URLs to advertise to the rest of the cluster.
-## These addresses are used for communicating etcd data around the cluster.
-## At least one must be routable to all cluster members.
-## These URLs can contain domain names.
-## example: "http://example.com:2380, http://10.0.0.1:2380"
-## default: "http://localhost:2380,http://localhost:7001"
-# ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380,http://localhost:7001"
-ETCD_INITIAL_ADVERTISE_PEER_URLS="http://{{ master.etcd.host }}:2380"
-
-##### -initial-cluster
-## initial cluster configuration for bootstrapping.
-## The key is the value of the `-name` flag for each node provided.
-## The default uses `default` for the key because this is the default for the `-name` flag.
-## default: "default=http://localhost:2380,default=http://localhost:7001"
-# ETCD_INITIAL_CLUSTER="default=http://localhost:2380,default=http://localhost:7001"
-ETCD_INITIAL_CLUSTER="{% for member in master.etcd.members %}{{ member.name }}={%- if master.etcd.host == '127.0.0.1' %}http://127.0.0.1:2380{% else %}http://{{ member.host }}:2380{% if not loop.last %},{% endif %}{% endif %}{% endfor %}"
-##### -initial-cluster-state
-## Initial cluster state ("new" or "existing"). Set to `new` for all members
-## present during initial static or DNS bootstrapping. If this option is set to
-## `existing`, etcd will attempt to join the existing cluster. If the wrong
-## value is set, etcd will attempt to start but fail safely.
-## default: "new"
-# ETCD_INITIAL_CLUSTER_STATE="existing"
-ETCD_INITIAL_CLUSTER_STATE="new"
-
-##### -initial-cluster-token
-## Initial cluster token for the etcd cluster during bootstrap.
-## If you are spinning up multiple clusters (or creating and destroying a
-## single cluster) with same configuration for testing purpose, it is highly
-## recommended that you specify a unique initial-cluster-token for the
-## different clusters.
-## default: "etcd-cluster"
-# ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
-ETCD_INITIAL_CLUSTER_TOKEN="{{ master.etcd.token }}"
-
-##### -advertise-client-urls
-## List of this member's client URLs to advertise to the rest of the cluster.
-## These URLs can contain domain names.
-## example: "http://example.com:2379, http://10.0.0.1:2379"
-## Be careful if you are advertising URLs such as http://localhost:2379 from a
-## cluster member and are using the proxy feature of etcd. This will cause loops,
-## because the proxy will be forwarding requests to itself until its resources
-## (memory, file descriptors) are eventually depleted.
-## default: "http://localhost:2379,http://localhost:4001"
-# ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379,http://localhost:4001"
-ETCD_ADVERTISE_CLIENT_URLS="http://{{ master.etcd.host }}:4001"
-
-##### -discovery
-## Discovery URL used to bootstrap the cluster.
-## default: none
-# ETCD_DISCOVERY
-
-##### -discovery-srv
-## DNS srv domain used to bootstrap the cluster.
-## default: none
-# ETCD_DISCOVERY_SRV
-
-##### -discovery-fallback
-## Expected behavior ("exit" or "proxy") when discovery services fails.
-## default: "proxy"
-# ETCD_DISCOVERY_FALLBACK="proxy"
-
-##### -discovery-proxy
-## HTTP proxy to use for traffic to discovery service.
-## default: none
-# ETCD_DISCOVERY_PROXY
-
-### Proxy Flags
-
-##### -proxy
-## Proxy mode setting ("off", "readonly" or "on").
-## default: "off"
-# ETCD_PROXY="on"
-
-##### -proxy-failure-wait
-## Time (in milliseconds) an endpoint will be held in a failed state before being
-## reconsidered for proxied requests.
-## default: 5000
-# ETCD_PROXY_FAILURE_WAIT="5000"
-
-##### -proxy-refresh-interval
-## Time (in milliseconds) of the endpoints refresh interval.
-## default: 30000
-# ETCD_PROXY_REFRESH_INTERVAL="30000"
-
-##### -proxy-dial-timeout
-## Time (in milliseconds) for a dial to timeout or 0 to disable the timeout
-## default: 1000
-# ETCD_PROXY_DIAL_TIMEOUT="1000"
-
-##### -proxy-write-timeout
-## Time (in milliseconds) for a write to timeout or 0 to disable the timeout.
-## default: 5000
-# ETCD_PROXY_WRITE_TIMEOUT="5000"
-
-##### -proxy-read-timeout
-## Time (in milliseconds) for a read to timeout or 0 to disable the timeout.
-## Don't change this value if you use watches because they are using long polling requests.
-## default: 0
-# ETCD_PROXY_READ_TIMEOUT="0"
-
-### Security Flags
-
-##### -ca-file [DEPRECATED]
-## Path to the client server TLS CA file.
-## default: none
-# ETCD_CA_FILE=""
-
-##### -cert-file
-## Path to the client server TLS cert file.
-## default: none
-# ETCD_CERT_FILE=""
-
-##### -key-file
-## Path to the client server TLS key file.
-## default: none
-# ETCD_KEY_FILE=""
-
-##### -client-cert-auth
-## Enable client cert authentication.
-## default: false
-# ETCD_CLIENT_CERT_AUTH
-
-##### -trusted-ca-file
-## Path to the client server TLS trusted CA key file.
-## default: none
-# ETCD_TRUSTED_CA_FILE
-
-##### -peer-ca-file [DEPRECATED]
-## Path to the peer server TLS CA file. `-peer-ca-file ca.crt` could be replaced
-## by `-peer-trusted-ca-file ca.crt -peer-client-cert-auth` and etcd will perform the same.
-## default: none
-# ETCD_PEER_CA_FILE
-
-##### -peer-cert-file
-## Path to the peer server TLS cert file.
-## default: none
-# ETCD_PEER_CERT_FILE
-
-##### -peer-key-file
-## Path to the peer server TLS key file.
-## default: none
-# ETCD_PEER_KEY_FILE
-
-##### -peer-client-cert-auth
-## Enable peer client cert authentication.
-## default: false
-# ETCD_PEER_CLIENT_CERT_AUTH
-
-##### -peer-trusted-ca-file
-## Path to the peer server TLS trusted CA file.
-## default: none
-# ETCD_PEER_TRUSTED_CA_FILE
-
-### Logging Flags
-##### -debug
-## Drop the default log level to DEBUG for all subpackages.
-## default: false (INFO for all packages)
-# ETCD_DEBUG
-
-##### -log-package-levels
-## Set individual etcd subpackages to specific log levels.
-## An example being `etcdserver=WARNING,security=DEBUG`
-## default: none (INFO for all packages)
-# ETCD_LOG_PACKAGE_LEVELS
-
-
-#### Daemon parameters:
-# DAEMON_ARGS=""
diff --git a/kubernetes/files/manifest/etcd.manifest b/kubernetes/files/manifest/etcd.manifest
deleted file mode 100644
index b3bca45..0000000
--- a/kubernetes/files/manifest/etcd.manifest
+++ /dev/null
@@ -1,65 +0,0 @@
-{%- from "kubernetes/map.jinja" import master with context %}
-{
-"apiVersion": "v1",
-"kind": "Pod",
-"metadata": {
-  "name":"etcd-server",
-  "namespace": "kube-system"
-},
-"spec":{
-"hostNetwork": true,
-"containers":[
-    {
-    "name": "etcd-container",
-    "image": "{{ master.etcd.registry }}/etcd:{{ master.etcd.version }}",
-    "resources": {
-      "requests": {
-        "cpu": "200m"      }
-    },
-    "command": [
-              "/bin/sh",
-              "-c",
-              "/usr/local/bin/etcd --name {{ master.etcd.name }} --initial-cluster-state new --initial-advertise-peer-urls http://{{ master.etcd.host }}:2380 --listen-peer-urls http://{{ master.etcd.host }}:2380 --advertise-client-urls http://{{ master.etcd.host }}:4001 --listen-client-urls {%- if master.etcd.host == '127.0.0.1' %}{% for member in master.etcd.members %} http://{{ member.host }}:4001{% endfor %}{% else %} http://{{ master.etcd.host }}:4001{% endif %},http://127.0.0.1:4001 --initial-cluster {% for member in master.etcd.members %}{{ member.name }}={%- if master.etcd.host == '127.0.0.1' %}http://127.0.0.1:2380{% else %}http://{{ member.host }}:2380{% if not loop.last %},{% endif %}{% endif %}{% endfor %} --initial-cluster-token {{ master.etcd.token }} --data-dir /var/lib/etcd/default 1>>/var/log/etcd.log 2>&1"
-            ],
-    "livenessProbe": {
-      "httpGet": {
-        "host": "127.0.0.1",
-        "port": 4001,
-        "path": "/health"
-      },
-      "initialDelaySeconds": 15,
-      "timeoutSeconds": 15
-    },
-    "ports":[
-      { "name": "serverport",
-        "containerPort": 2380,
-        "hostPort": 2380 
-      },{
-       "name": "clientport",
-        "containerPort": 4001,
-        "hostPort": 4001
-      }
-        ],
-    "volumeMounts": [
-      {"name": "varetcd",
-       "mountPath": "/var/lib/etcd",
-       "readOnly": false
-      },
-      {"name": "varlogetcd",
-       "mountPath": "/var/log/etcd.log",
-       "readOnly": false
-      }
-     ]
-    }
-],
-"volumes":[
-  { "name": "varetcd",
-    "hostPath": {
-        "path": "/var/lib/etcd"}
-  },
-  { "name": "varlogetcd",
-    "hostPath": {
-        "path": "/var/log/etcd.log"}
-  }
-]
-}}
diff --git a/kubernetes/map.jinja b/kubernetes/map.jinja
index 8b60d65..6c6e9b7 100644
--- a/kubernetes/map.jinja
+++ b/kubernetes/map.jinja
@@ -1,6 +1,6 @@
 {% set common = salt['grains.filter_by']({
     'Debian': {
-        'pkgs': ['curl', 'git', 'apt-transport-https', 'python-apt', 'nfs-common', 'socat', 'netcat-traditional', 'openssl', 'python-etcd'],
+        'pkgs': ['curl', 'git', 'apt-transport-https', 'python-apt', 'nfs-common', 'socat', 'netcat-traditional', 'openssl'],
         'services': [],
     },
     'RedHat': {
diff --git a/kubernetes/master/etcd.sls b/kubernetes/master/etcd.sls
deleted file mode 100644
index 492ec8f..0000000
--- a/kubernetes/master/etcd.sls
+++ /dev/null
@@ -1,45 +0,0 @@
-{%- from "kubernetes/map.jinja" import master with context %}
-{%- if master.enabled %}
-
-{%- if master.get('container', 'true') %}
-
-/var/log/etcd.log:
-  file.managed:
-  - user: root
-  - group: root
-  - mode: 644
-
-/etc/kubernetes/manifests/etcd.manifest:
-  file.managed:
-    - source: salt://kubernetes/files/manifest/etcd.manifest
-    - template: jinja
-    - user: root
-    - group: root
-    - mode: 644
-    - makedirs: true
-    - dir_mode: 755
-
-{%- else %}
-
-/etc/default/etcd:
-  file.managed:
-    - source: salt://kubernetes/files/etcd/default
-    - template: jinja
-    - user: root
-    - group: root
-    - mode: 644
-
-etcd_pkg:
-  pkg.installed:
-  - name: etcd
-
-etcd_service:
-  service.running:
-  - name: etcd
-  - enable: True
-  - watch:
-    - file: /etc/default/etcd
-
-{%- endif %}
-
-{%- endif %}
\ No newline at end of file
diff --git a/kubernetes/master/init.sls b/kubernetes/master/init.sls
index cd7a77c..a1e2376 100644
--- a/kubernetes/master/init.sls
+++ b/kubernetes/master/init.sls
@@ -1,7 +1,6 @@
 {%- from "kubernetes/map.jinja" import master with context %}
 include:
 - kubernetes.master.service
-- kubernetes.master.etcd
 - kubernetes.master.kube-addons
 {%- if master.network.engine == "opencontrail" %}
 - kubernetes.master.opencontrail-network-manager
diff --git a/metadata/service/master/cluster.yml b/metadata/service/master/cluster.yml
index fb4efd5..4076dd8 100644
--- a/metadata/service/master/cluster.yml
+++ b/metadata/service/master/cluster.yml
@@ -20,11 +20,6 @@
         address: ${_param:cluster_local_address}
         insecure_address: ${_param:cluster_local_address}
       etcd:
-        host: ${_param:cluster_local_address}
-        registry: quay.io/coreos
-        version: ${_param:etcd_version}
-        token: ${_param:etcd_initial_token}
-        name: ${linux:system:name}
         members:
           - host: ${_param:cluster_node01_address}
             name: ${_param:cluster_node01_hostname}
diff --git a/metadata/service/master/single.yml b/metadata/service/master/single.yml
index 2e76deb..21f2eb7 100644
--- a/metadata/service/master/single.yml
+++ b/metadata/service/master/single.yml
@@ -20,11 +20,6 @@
         address: ${_param:single_address}
         insecure_address: 0.0.0.0
       etcd:
-        host: ${_param:single_address}
-        registry: quay.io/coreos
-        version: ${_param:etcd_version}
-        token: ${_param:etcd_initial_token}
-        name: ${linux:system:name}
         members:
           - host: ${_param:single_address}
             name: ${linux:system:name}
diff --git a/tests/pillar/master_cluster.sls b/tests/pillar/master_cluster.sls
index ca67790..35ad288 100644
--- a/tests/pillar/master_cluster.sls
+++ b/tests/pillar/master_cluster.sls
@@ -26,12 +26,9 @@
     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: