Merge "Add contrail linklocal for apiserver"
diff --git a/kubernetes/_common.sls b/kubernetes/_common.sls
index a238128..113e67d 100644
--- a/kubernetes/_common.sls
+++ b/kubernetes/_common.sls
@@ -25,12 +25,8 @@
     - group: root
 
 hyperkube-copy:
-  dockerng.running:
-    - image: {{ common.hyperkube.image }}
-    - command: cp -v /hyperkube /tmp/hyperkube
-    - binds:
-      - /tmp/hyperkube/:/tmp/hyperkube/
-    - force: True
+  cmd.run:
+    - name: docker run --rm -v /tmp/hyperkube:/tmp/hyperkube --entrypoint cp {{ common.hyperkube.image }} -vr /hyperkube /tmp/hyperkube
     - require:
       - file: /tmp/hyperkube
     {%- if grains.get('noservices') %}
@@ -45,7 +41,7 @@
     - user: root
     - group: root
     - require:
-      - dockerng: hyperkube-copy
+      - cmd: hyperkube-copy
     {%- if grains.get('noservices') %}
     - onlyif: /bin/false
     {%- endif %}
diff --git a/kubernetes/files/kube-addons/netchecker/netchecker-agent.yml b/kubernetes/files/kube-addons/netchecker/netchecker-agent.yml
index 755bf11..855884a 100644
--- a/kubernetes/files/kube-addons/netchecker/netchecker-agent.yml
+++ b/kubernetes/files/kube-addons/netchecker/netchecker-agent.yml
@@ -20,6 +20,10 @@
         - name: netchecker-agent
           image: {{ master.addons.netchecker.agent_image }}
           env:
+            - name: MY_NODE_NAME
+              valueFrom:
+                fieldRef:
+                  fieldPath: spec.nodeName
             - name: MY_POD_NAME
               valueFrom:
                 fieldRef:
@@ -29,3 +33,6 @@
             - "-alsologtostderr=true"
             - "-serverendpoint=netchecker:{{ master.addons.netchecker.port }}"
             - "-reportinterval={{ master.addons.netchecker.interval }}"
+{%- if master.addons.netchecker.get('agent_probeurls') %}
+            - "-probeurls={{ master.addons.netchecker.agent_probeurls }}"
+{%- endif %}
diff --git a/kubernetes/files/kube-addons/netchecker/netchecker-server.yml b/kubernetes/files/kube-addons/netchecker/netchecker-server.yml
index fdd52ab..8d37948 100644
--- a/kubernetes/files/kube-addons/netchecker/netchecker-server.yml
+++ b/kubernetes/files/kube-addons/netchecker/netchecker-server.yml
@@ -10,6 +10,9 @@
     metadata:
       labels:
         app: netchecker-server
+      annotations:
+        prometheus.io/scrape: true
+        prometheus.io/port: {{ master.addons.netchecker.port }}
     spec:
       tolerations:
         - key: node-role.kubernetes.io/master
diff --git a/kubernetes/pool/calico.sls b/kubernetes/pool/calico.sls
index 9e31551..4b1a8d1 100644
--- a/kubernetes/pool/calico.sls
+++ b/kubernetes/pool/calico.sls
@@ -7,17 +7,10 @@
       - group: root
 
 copy-calico-ctl:
-  dockerng.running:
-    - image: {{ pool.network.calicoctl.image }}
-    {%- if grains.get('noservices') %}
-    - onlyif: /bin/false
-    {%- endif %}
-
-copy-calico-ctl-cmd:
   cmd.run:
-    - name: docker cp copy-calico-ctl:calicoctl /tmp/calico/
+    - name: docker run --rm -v /tmp/calico/:/tmp/calico/ --entrypoint cp {{ pool.network.calicoctl.image }} -v /calicoctl /tmp/calico/
     - require:
-      - dockerng: copy-calico-ctl
+      - file: /tmp/calico/
     {%- if grains.get('noservices') %}
     - onlyif: /bin/false
     {%- endif %}
@@ -29,23 +22,16 @@
     - user: root
     - group: root
     - require:
-      - cmd: copy-calico-ctl-cmd
+      - cmd: copy-calico-ctl
     {%- if grains.get('noservices') %}
     - onlyif: /bin/false
     {%- endif %}
 
 copy-calico-node:
-  dockerng.running:
-    - image: {{ pool.network.get('image', 'calico/node') }}
-    {%- if grains.get('noservices') %}
-    - onlyif: /bin/false
-    {%- endif %}
-
-copy-bird-cl-cmd:
   cmd.run:
-    - name: docker cp copy-calico-node:/bin/birdcl /tmp/calico/
+    - name: docker run --rm -v /tmp/calico/:/tmp/calico/ --entrypoint cp {{ pool.network.get('image', 'calico/node') }} -v /bin/birdcl /tmp/calico/
     - require:
-      - dockerng: copy-calico-node
+      - file: /tmp/calico/
     {%- if grains.get('noservices') %}
     - onlyif: /bin/false
     {%- endif %}
@@ -57,18 +43,16 @@
     - user: root
     - group: root
     - require:
-      - cmd: copy-bird-cl-cmd
+      - cmd: copy-calico-node
     {%- if grains.get('noservices') %}
     - onlyif: /bin/false
     {%- endif %}
 
 copy-calico-cni:
-  dockerng.running:
-    - image: {{ pool.network.cni.image }}
-    - command: cp -vr /opt/cni/bin/ /tmp/calico/
-    - binds:
-      - /tmp/calico/:/tmp/calico/
-    - force: True
+  cmd.run:
+    - name: docker run --rm -v /tmp/calico/:/tmp/calico/ --entrypoint cp {{ pool.network.cni.image }} -vr /opt/cni/bin/ /tmp/calico/
+    - require:
+      - file: /tmp/calico/
     {%- if grains.get('noservices') %}
     - onlyif: /bin/false
     {%- endif %}
@@ -83,7 +67,7 @@
     - user: root
     - group: root
     - require:
-      - dockerng: copy-calico-cni
+      - cmd: copy-calico-cni
     - require_in:
       - service: calico_node
     {%- if grains.get('noservices') %}
diff --git a/kubernetes/pool/cni.sls b/kubernetes/pool/cni.sls
index ffcf2ad..bf896ae 100644
--- a/kubernetes/pool/cni.sls
+++ b/kubernetes/pool/cni.sls
@@ -10,12 +10,8 @@
     - group: root
 
 copy-network-cni:
-  dockerng.running:
-    - image: {{ common.hyperkube.image }}
-    - command: cp -vr /opt/cni/bin/ /tmp/cni/
-    - binds:
-      - /tmp/cni/:/tmp/cni/
-    - force: True
+  cmd.run:
+    - name: docker run --rm -v /tmp/cni/:/tmp/cni/ --entrypoint cp {{ common.hyperkube.image }} -vr /opt/cni/bin/ /tmp/cni/
     - require:
         - file: /tmp/cni/
     {%- if grains.get('noservices') %}
@@ -33,7 +29,7 @@
     - watch_in:
       - service: kubelet_service
     - require:
-      - dockerng: copy-network-cni
+      - cmd: copy-network-cni
     {%- if grains.get('noservices') %}
     - onlyif: /bin/false
     {%- endif %}
diff --git a/metadata/service/master/cluster.yml b/metadata/service/master/cluster.yml
index ffb5754..1665afa 100644
--- a/metadata/service/master/cluster.yml
+++ b/metadata/service/master/cluster.yml
@@ -59,8 +59,8 @@
           interval: 60
           namespace: netchecker
           port: 80
-          agent_image: quay.io/l23network/k8s-netchecker-agent:v1.0
-          server_image: quay.io/l23network/k8s-netchecker-server:v1.0
+          agent_image: mirantis/k8s-netchecker-agent:v1.1.0
+          server_image: mirantis/k8s-netchecker-server:v1.1.0
         calico_policy:
           enabled: False
           image: calico/kube-policy-controller:v0.5.4
diff --git a/tests/pillar/master_cluster.sls b/tests/pillar/master_cluster.sls
index 29a3306..6f41bc4 100644
--- a/tests/pillar/master_cluster.sls
+++ b/tests/pillar/master_cluster.sls
@@ -29,6 +29,7 @@
         interval: 60
         server_image: image
         agent_image: image
+        agent_probeurls: "http://ipinfo.io"
       calico_policy:
         enabled: true
         namespace: kube-system
diff --git a/tests/pillar/master_contrail.sls b/tests/pillar/master_contrail.sls
index f9700c1..c451532 100644
--- a/tests/pillar/master_contrail.sls
+++ b/tests/pillar/master_contrail.sls
@@ -29,6 +29,7 @@
         interval: 60
         server_image: image
         agent_image: image
+        agent_probeurls: "http://ipinfo.io"
       calico_policy:
         enabled: true
         namespace: kube-system
diff --git a/tests/pillar/master_contrail4_0.sls b/tests/pillar/master_contrail4_0.sls
index bb8ae96..7ff0e50 100644
--- a/tests/pillar/master_contrail4_0.sls
+++ b/tests/pillar/master_contrail4_0.sls
@@ -30,6 +30,7 @@
         interval: 60
         server_image: image
         agent_image: image
+        agent_probeurls: "http://ipinfo.io"
     admin:
       password: password
       username: admin
@@ -66,7 +67,7 @@
         - host: 127.0.0.1
         - host: 127.0.0.1
         - host: 127.0.0.1
-      collector:  
+      collector:
         members:
         - host: 127.0.0.1
         - host: 127.0.0.1