openstack-helm-infra/roles/deploy-env/tasks/k8s_client.yaml
Vladimir Kozhukalov f2bdcae040 Update deploy-env role
- Use kubeadm configuration to not set taints
  on control plain nodes (instead of removing them after
  deployment).
- Fix ssh client key permissions.
- Update the Mariadb ingress test job so it is inherinted
  from the plain compute-kit test job. And also remote
  it from the check pipeline.

Change-Id: I92c73606ed9b9161f39ea1971b3a7db7593982ff
2024-09-03 17:32:28 -05:00

67 lines
2.0 KiB
YAML

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not 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.
---
- name: Install Kubectl
apt:
state: present
update_cache: true
allow_downgrade: true
pkg:
- "kubectl={{ kube_version }}"
- name: Set user home directory
set_fact:
user_home_directory: /home/{{ kubectl.user }}
when: kubectl.user != "root"
- name: Set root home directory
set_fact:
user_home_directory: /root
when: kubectl.user == "root"
- name: "Setup kubeconfig directory for {{ kubectl.user }} user"
shell: |
mkdir -p {{ user_home_directory }}/.kube
- name: "Copy kube_config file for {{ kubectl.user }} user"
synchronize:
src: /tmp/kube_config
dest: "{{ user_home_directory }}/.kube/config"
- name: "Set kubconfig file ownership for {{ kubectl.user }} user"
shell: |
chown -R {{ kubectl.user }}:{{ kubectl.group }} {{ user_home_directory }}/.kube
- name: Deploy Helm
block:
- name: Install Helm
shell: |
TMP_DIR=$(mktemp -d)
curl -sSL https://get.helm.sh/helm-{{ helm_version }}-linux-amd64.tar.gz | tar -zxv --strip-components=1 -C ${TMP_DIR}
mv "${TMP_DIR}"/helm /usr/local/bin/helm
rm -rf "${TMP_DIR}"
args:
executable: /bin/bash
- name: Install osh helm plugin
become_user: "{{ kubectl.user }}"
shell: |
helm plugin install {{ osh_plugin_repo }}
# This is to improve build time
- name: Remove stable Helm repo
become_user: "{{ kubectl.user }}"
command: helm repo remove stable
ignore_errors: true
...