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