1#!/usr/local/bin/bash 2 3if [[ $(python --version 2>&1) =~ 2\.6 ]] 4 then 5 echo "Openshift client is not supported on Python 2.6" 6 exit 0 7fi 8 9set -eux 10 11# TODO: quay.io/ansible/default-test-container:2.7.0 doesn't have virtualenv included 12apt -y update 13apt -y install python3-virtualenv 14 15source virtualenv.sh 16pip install openshift -c constraints.txt 17 18./server.py & 19 20cleanup() { 21 kill -9 "$(jobs -p)" 22} 23 24trap cleanup INT TERM EXIT 25 26# Fake auth file 27mkdir -p ~/.kube/ 28cat <<EOF > ~/.kube/config 29apiVersion: v1 30clusters: 31- cluster: 32 insecure-skip-tls-verify: true 33 server: http://localhost:12345 34 name: development 35contexts: 36- context: 37 cluster: development 38 user: developer 39 name: dev-frontend 40current-context: dev-frontend 41kind: Config 42preferences: {} 43users: 44- name: developer 45 user: 46 token: ZDNg7LzSlp8a0u0fht_tRnPMTOjxqgJGCyi_iy0ecUw 47EOF 48 49################################################# 50# RUN THE PLUGIN 51################################################# 52 53# run the plugin second 54export ANSIBLE_INVENTORY_ENABLED=community.kubevirt.kubevirt 55export ANSIBLE_INVENTORY=test.kubevirt.yml 56 57cat << EOF > "$OUTPUT_DIR/test.kubevirt.yml" 58plugin: community.kubevirt.kubevirt 59connections: 60 - namespaces: 61 - default 62EOF 63 64ANSIBLE_JINJA2_NATIVE=1 ansible-inventory -vvvv -i "$OUTPUT_DIR/test.kubevirt.yml" --list --output="$OUTPUT_DIR/plugin.out" 65 66################################################# 67# DIFF THE RESULTS 68################################################# 69 70./inventory_diff.py "$(pwd)/test.out" "$OUTPUT_DIR/plugin.out" 71