summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ansible/roles/kubectl/defaults/main.yml2
-rw-r--r--ansible/roles/kubectl/molecule/default/tests/test_default.py4
-rw-r--r--ansible/roles/kubectl/tasks/main.yml22
-rw-r--r--build/data_lists/onap_deb.list1
-rw-r--r--build/data_lists/onap_rpm.list1
5 files changed, 30 insertions, 0 deletions
diff --git a/ansible/roles/kubectl/defaults/main.yml b/ansible/roles/kubectl/defaults/main.yml
index b922fb58..5c2a4c69 100644
--- a/ansible/roles/kubectl/defaults/main.yml
+++ b/ansible/roles/kubectl/defaults/main.yml
@@ -1,2 +1,4 @@
---
kubectl_bin_dir: /usr/local/bin
+completion_dir: /etc/bash_completion.d
+completion_package: bash-completion
diff --git a/ansible/roles/kubectl/molecule/default/tests/test_default.py b/ansible/roles/kubectl/molecule/default/tests/test_default.py
index 4f799b95..3f4c7c7d 100644
--- a/ansible/roles/kubectl/molecule/default/tests/test_default.py
+++ b/ansible/roles/kubectl/molecule/default/tests/test_default.py
@@ -9,3 +9,7 @@ testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
def test_kubectl(host):
assert host.file('/usr/local/bin/kubectl').exists
assert host.run('kubectl').rc != 127
+
+
+def test_kubectl_bash_completion(host):
+ assert host.file('/etc/bash_completion.d/kubectl').exists
diff --git a/ansible/roles/kubectl/tasks/main.yml b/ansible/roles/kubectl/tasks/main.yml
index 7c77c3c5..03b9f9b0 100644
--- a/ansible/roles/kubectl/tasks/main.yml
+++ b/ansible/roles/kubectl/tasks/main.yml
@@ -5,3 +5,25 @@
dest: "{{ kubectl_bin_dir }}/kubectl"
remote_src: true
mode: 0755
+
+- name: Install completion for the bash shell
+ package:
+ name: "{{ completion_package }}"
+ state: present
+
+- name: Generate shell autocompletion code for kubectl
+ command: kubectl completion bash
+ register: kubectl_completion
+ changed_when: false
+
+- name: Ensure bash completion dir exists
+ file:
+ path: "{{ completion_dir }}"
+ state: directory
+ mode: 0755
+
+- name: Install bash autocompletion code for kubectl
+ copy:
+ content: "{{ kubectl_completion.stdout }}"
+ dest: "{{ completion_dir }}/kubectl"
+ mode: 0644
diff --git a/build/data_lists/onap_deb.list b/build/data_lists/onap_deb.list
index fcc6391d..44ccf600 100644
--- a/build/data_lists/onap_deb.list
+++ b/build/data_lists/onap_deb.list
@@ -55,3 +55,4 @@ libc-dev
make
binutils
resolvconf
+bash-completion
diff --git a/build/data_lists/onap_rpm.list b/build/data_lists/onap_rpm.list
index c369de08..b906e036 100644
--- a/build/data_lists/onap_rpm.list
+++ b/build/data_lists/onap_rpm.list
@@ -1,4 +1,5 @@
audit-libs-python-2.8.4-4.el7.x86_64
+bash-completion-2.1-8.el7.noarch
checkpolicy-2.5-8.el7.x86_64
containerd.io-1.2.5-3.1.el7.x86_64
container-selinux-2.107-1.el7_6.noarch