xci: kubespray: Fix failures to due task checks 03/54903/2
authorMarkos Chandras <mchandras@suse.de>
Wed, 4 Apr 2018 10:38:52 +0000 (11:38 +0100)
committerMarkos Chandras <mchandras@suse.de>
Wed, 4 Apr 2018 13:23:14 +0000 (14:23 +0100)
(this commit fixes many things because they all need to be submitted
together to unblock the jobs)

Commit 9e1d3d6e62abf5d0da26a296bcd235f37a54d9c6 ("xci: playbooks: Fixes
various ansible-lint warnings") broke public key authentication from
localhost to the OPNFV host because the localhost pubkey was not
appended in the authorized_keys file. The reason for that was that the
task was skipped due to the 'creates' parameter. This is now fixed, by
dropping the check since we always need to append the localhost pubkey.

This is only a temporary solution until we modify kubespray to use the
common file for managing the SSH keys.

This also makes the final 'kubectl' move to /usr/local/bin non-fatal
since future kubespray releases put it there already.

The same commit also broke the k8s-cluster.yml overrides. This is
because the file was never copied across due to the task conditional
being wrong. As such, we fix the conditional to check for the correct
file.

Change-Id: I9cfb29eba50c7fea9df29581ebb015163b8a9754
Signed-off-by: Markos Chandras <mchandras@suse.de>
xci/installer/kubespray/deploy.sh
xci/installer/kubespray/playbooks/configure-opnfvhost.yml

index 364ee2b..5136f5a 100755 (executable)
@@ -91,10 +91,12 @@ echo "-----------------------------------------------------------------------"
 echo "Info: Kubernetes installation is successfully completed!"
 echo "-----------------------------------------------------------------------"
 
-# Configure the kubernetes authentication in opnfv host.
+# Configure the kubernetes authentication in opnfv host. In future releases
+# kubectl is no longer an artifact so we should not fail if it's not available.
+# This needs to be removed in the future
 ssh root@$OPNFV_HOST_IP "mkdir -p ~/.kube/;\
          cp -f ~/admin.conf ~/.kube/config; \
-         cp -f ~/kubectl /usr/local/bin"
+         cp -f ~/kubectl /usr/local/bin || true"
 
 echo "Login opnfv host ssh root@$OPNFV_HOST_IP
 according to the user-guide to create a service
index eed814b..a4bdbf0 100644 (file)
@@ -59,7 +59,7 @@
       command: "cp -rf {{ remote_xci_path }}/xci/installer/kubespray/files/k8s-cluster.yml \
                      {{ remote_xci_path }}/.cache/repos/kubespray/opnfv_inventory/group_vars"
       args:
-        creates: "{{ remote_xci_path }}/.cache/repos/kubespray/opnfv_inventory/group_vars"
+        creates: "{{ remote_xci_path }}/.cache/repos/kubespray/opnfv_inventory/group_vars/k8s-cluster.yml"
     - name: Install required packages
       package:
         name: "{{ kube_require_packages[ansible_pkg_mgr] }}"
@@ -86,5 +86,4 @@
   tasks:
     - name: Append public keys to authorized_keys
       shell: "/bin/cat {{ ansible_env.HOME }}/.ssh/id_rsa.pub >> {{ xci_path }}/xci/files/authorized_keys"
-      args:
-        creates: "{{ xci_path }}/xci/files/authorized_keys"
+      changed_when: True