2d65aa29fa
Change-Id: Iab5f566ce4cbadb1df6cfa1c57756b6c66e0e1e2
155 lines
5.1 KiB
YAML
155 lines
5.1 KiB
YAML
---
|
|
# Copyright 2020 VEXXHOST, Inc.
|
|
#
|
|
# 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.
|
|
|
|
- hosts: all
|
|
pre_tasks:
|
|
- name: Deploy a hpa for test
|
|
shell: |
|
|
cat <<EOF | kubectl apply -f-
|
|
apiVersion: autoscaling/v1
|
|
kind: HorizontalPodAutoscaler
|
|
metadata:
|
|
name: test
|
|
namespace: kube-system
|
|
spec:
|
|
scaleTargetRef:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
name: test
|
|
minReplicas: 1
|
|
maxReplicas: 3
|
|
targetCPUUtilizationPercentage: 90
|
|
- name: Deploy cert-manager
|
|
shell: |
|
|
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.15.2/cert-manager.yaml
|
|
- name: Create a configmap for test
|
|
shell: |
|
|
cat <<EOF | kubectl apply -f-
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: test
|
|
data:
|
|
key: value
|
|
roles:
|
|
- name: helm-template
|
|
helm_release_name: rbac
|
|
helm_chart: charts/rbac
|
|
helm_wait_for_pods: false
|
|
helm_values_file: charts/rbac/test-values.yaml
|
|
- name: wait-for-pods
|
|
vars:
|
|
wait_for_pods_namespace: kube-system
|
|
|
|
tasks:
|
|
- import_tasks: tasks/setup-test-context.yaml
|
|
|
|
# List and get nodes
|
|
- name: Ensure listing nodes works
|
|
shell: kubectl --context=test get nodes
|
|
- name: Ensure getting a node works
|
|
shell: kubectl --context=test get $(kubectl get nodes -oname | head -1)
|
|
|
|
# List and get applications
|
|
- name: Ensure listing applications works
|
|
shell: kubectl --context=test get {{ item }}
|
|
loop:
|
|
- daemonsets
|
|
- deployments
|
|
- replicasets
|
|
- statefulsets
|
|
# TODO: Get applications
|
|
|
|
# List and get pods
|
|
- name: Ensure listing pods works
|
|
shell: kubectl --context=test -n kube-system get pods
|
|
- name: Ensure getting a pod works
|
|
shell: kubectl --context=test -n kube-system get $(kubectl -n kube-system get pods -oname | head -1)
|
|
|
|
# View logs for pods
|
|
- name: Ensure getting logs for a pod works
|
|
shell: kubectl --context=test -n kube-system logs $(kubectl -n kube-system get pods -oname | head -1)
|
|
|
|
# List and get hpas
|
|
- name: Ensure listing hpas works
|
|
shell: kubectl --context=test -n kube-system get hpa
|
|
- name: Ensure getting a hpa works
|
|
shell: kubectl --context=test -n kube-system get hpa test
|
|
|
|
# List and get pvcs
|
|
- name: Ensure listing pvcs
|
|
shell: kubectl --context=test -n kube-system get pvc
|
|
|
|
# List and get pvs
|
|
- name: Ensure listing pvs
|
|
shell: kubectl --context=test get pv
|
|
|
|
# List and get storageclasses
|
|
- name: Ensure listing sc
|
|
shell: kubectl --context=test get sc
|
|
|
|
# List and get metrics for nodes
|
|
- name: Ensure listing resources of nodes
|
|
command: kubectl --context=test top nodes
|
|
register: _nodes_metrics
|
|
until: _nodes_metrics is success
|
|
retries: 60
|
|
delay: 5
|
|
- name: Ensure getting resources of a node
|
|
shell: kubectl --context=test top node $(kubectl get nodes --no-headers=true -o=custom-columns='name:metadata.name' | head -1)
|
|
register: _node_metrics
|
|
until: _node_metrics is success
|
|
retries: 60
|
|
delay: 5
|
|
|
|
# List and get metrics for pods
|
|
- name: Ensure listing resources for pods in a namespace
|
|
shell: kubectl --context=test -n kube-system top pods
|
|
register: _pods_metrics
|
|
until: _pods_metrics is success
|
|
retries: 60
|
|
delay: 5
|
|
- name: Ensure getting resources for a pod
|
|
shell: kubectl --context=test -n kube-system top pod $(kubectl -n kube-system --no-headers=true get pods -o=custom-columns='name:metadata.name' | head -1)
|
|
register: _pod_metrics
|
|
until: _pod_metrics is success
|
|
retries: 60
|
|
delay: 5
|
|
|
|
# List and get namespaces
|
|
- name: Ensure listing namespaces works
|
|
shell: kubectl --context=test get namespace
|
|
- name: Ensure getting a namespace works
|
|
shell: kubectl --context=test get namespace default
|
|
|
|
# List and get certificates, orders, and challenges
|
|
- name: Ensure listing certificates works
|
|
shell: kubectl --context=test get {{ item }}
|
|
loop:
|
|
- certificates
|
|
- orders
|
|
- challenges
|
|
|
|
# List and get configmap
|
|
- name: Ensure listing configmaps works
|
|
shell: kubectl --context=test get configmaps
|
|
- name: Ensure getting a configmap works
|
|
shell: kubectl --context=test get configmap test
|
|
|
|
# List and get service
|
|
- name: Ensure listing services works
|
|
shell: kubectl --context=test get services
|
|
- name: Ensure getting a configmap works
|
|
shell: kubectl --context=test get service kubernetes |