--- /dev/null
+##############################################################################
+# Copyright (c) 2019 AT&T Intellectual Property. #
+# Copyright (c) 2019 Nokia. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you maynot use this file except in compliance with the License. #
+# #
+# You may obtain a copy of the License at #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT #
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+##############################################################################
+
+
+*** Settings ***
+Documentation HA test cases for calico, coredns and haproxy
+Library SSHLibrary
+Library OperatingSystem
+Library BuiltIn
+Suite Setup Open Connection And Log In
+Suite Teardown Close All Connections
+
+*** Variables ***
+${HOST} localhost
+${USERNAME} localadmin
+${LOG} /opt/akraino/validation/ha/print_calico_coredns_haproxy.txt
+
+
+
+*** Test Cases ***
+
+## Calico
+
+Verify calico status
+ [Documentation] Calico nodes are active
+ Start Command kubectl get pod -n kube-system -o wide -l k8s-app=calico-node sudo=True
+ ${stdout}= Read Command Output
+ Append To File ${LOG} ${stdout}${\n}
+ Should Contain ${stdout} Running
+
+Failure of calico nodes
+ [Documentation] Calico pods deleted
+ ${output}= Execute Command kubectl delete pod -n kube-system -l k8s-app=calico-node sudo=True
+ Append To File ${LOG} ${output}${\n}
+ Sleep 5s
+ Should Contain ${output} deleted
+
+Verify calico node re-establishment
+ [Documentation] Calico component is auto-created and running
+ Sleep 5s
+ Start Command kubectl get pod -n kube-system -o wide -l k8s-app=calico-node sudo=True
+ ${stdout}= Read Command Output
+ Append To File ${LOG} ${stdout}${\n}
+ Should Contain ${stdout} Running
+
+## Coredns
+
+Verify coredns status
+ [Documentation] Coredns components active
+ Start Command kubectl get pod -n kube-system -o wide -l coredns=enabled sudo=True
+ ${stdout}= Read Command Output
+ Append To File ${LOG} ${stdout}${\n}
+ Should Contain ${stdout} Running
+
+
+Failure of coredns in control plane node
+ [Documentation] coredns pod is deleted
+ ${output}= Execute Command kubectl delete pod -n kube-system -l coredns=enabled sudo=True
+ Append To File ${LOG} ${output}${\n}
+ Sleep 30s
+ Should Contain ${output} deleted
+
+
+Verify coredns re-establishment
+ [Documentation] Coredns component is auto-created and running
+ Sleep 5s
+ Start Command kubectl get pod -n kube-system -l coredns=enabled sudo=True
+ ${stdout}= Read Command Output
+ Append To File ${LOG} ${stdout}${\n}
+ Should Contain ${stdout} Running
+
+## Haproxy
+
+Verify haproxy status
+ [Documentation] All haproxy pods are active
+ Start Command kubectl get pod -n kube-system -o wide -l application=haproxy sudo=True
+ ${stdout}= Read Command Output
+ Append To File ${LOG} ${stdout}${\n}
+ Should Contain ${stdout} Running
+
+
+Failure of haproxy
+ [Documentation] Haproxy components deleted
+ ${output}= Execute Command kubectl delete pod -n kube-system -l application=haproxy sudo=True
+ Append To File ${LOG} ${output}${\n}
+ Sleep 5s
+ Should Contain ${output} deleted
+
+
+Verify haproxy re-establishment
+ [Documentation] Haproxy components auto-created and running
+ Sleep 20s
+ Start Command kubectl get pod -n kube-system -o wide -l application=haproxy sudo=True
+ ${stdout}= Read Command Output
+ Append To File ${LOG} ${stdout}${\n}
+ Should Contain ${stdout} Running
+
+
+*** Keywords ***
+Open Connection And Log In
+ Open Connection ${HOST}
+ Login With Public Key ${USERNAME} /root/.ssh/${USERNAME}_id_rsa
+
+