diff --git a/ci-operator/config/openshift/openshift-ansible/master.json b/ci-operator/config/openshift/openshift-ansible/master.json index 88000f4336237..c48e61e26ad3e 100644 --- a/ci-operator/config/openshift/openshift-ansible/master.json +++ b/ci-operator/config/openshift/openshift-ansible/master.json @@ -21,12 +21,12 @@ "tag": "golang-1.10" }, - "rpm_build_commands": "tito tag --offline --accept-auto-changelog --use-release '9999%{?dist}'; tito build --output=\"_output/local/releases\" --rpm --test --offline --quiet; mv _output/local/releases/noarch/* _output/local/releases/", + "rpm_build_commands": "tito tag --offline --accept-auto-changelog --use-release '9999%{?dist}'; tito build --output=\"_output/local/releases\" --rpm --test --offline --quiet; mkdir _output/local/releases/rpms; mv _output/local/releases/noarch/* _output/local/releases/rpms", "test_binary_build_commands": "yum install -y gcc libffi-devel python-devel openssl-devel python-pip; pip install tox; chmod uga+w /etc/passwd", "images": [ { - "from": "base", + "from": "rpms", "to": "ansible", "dockerfile_path": "images/installer/Dockerfile" } @@ -51,4 +51,4 @@ "limits": { "cpu": "2", "memory": "3Gi" } } } -} \ No newline at end of file +} diff --git a/ci-operator/jobs/openshift/openshift-ansible/openshift-openshift-ansible-presubmits.yaml b/ci-operator/jobs/openshift/openshift-ansible/openshift-openshift-ansible-presubmits.yaml index 8cd45945dd65e..29c86c455c1a5 100644 --- a/ci-operator/jobs/openshift/openshift-ansible/openshift-openshift-ansible-presubmits.yaml +++ b/ci-operator/jobs/openshift/openshift-ansible/openshift-openshift-ansible-presubmits.yaml @@ -639,6 +639,67 @@ presubmits: - configMap: name: cluster-profile-gcp trigger: ((?m)^/test( launch-gcp),?(\s+|$)) + - agent: kubernetes + always_run: false + branches: + - master + - dockerless-build-temporary + context: ci/prow/aws + decorate: true + name: pull-ci-openshift-openshift-ansible-e2e-aws + rerun_command: /test aws + skip_cloning: true + spec: + containers: + - command: + - /bin/bash + - -c + - | + #!/bin/bash + set -e + export RPM_REPO_BASEURL="$( curl -q "${RPM_REPO_BASEURL_REF}" 2>/dev/null)" + ci-operator \ + --artifact-dir=$(ARTIFACTS) \ + --secret-dir=/usr/local/e2e-aws-cluster-profile \ + --template=/usr/local/e2e-aws \ + --target=e2e-aws \ + --give-pr-author-access-to-namespace=true + env: + - name: TEST_FOCUS + value: Suite:openshift/conformance/parallel + - name: JOB_NAME_SAFE + value: e2e-aws + - name: CLUSTER_TYPE + value: aws + - name: CONFIG_SPEC + valueFrom: + configMapKeyRef: + key: master.json + name: ci-operator-openshift-openshift-ansible + - name: RPM_REPO_BASEURL_REF + value: https://storage.googleapis.com/origin-ci-test/releases/openshift/origin/master/.latest-rpms + image: ci-operator:latest + name: test + resources: {} + volumeMounts: + - mountPath: /usr/local/e2e-aws + name: job-definition + subPath: cluster-launch-e2e-openshift-ansible.yaml + - mountPath: /usr/local/e2e-aws-cluster-profile + name: cluster-profile + serviceAccountName: ci-operator + volumes: + - configMap: + name: prow-job-cluster-launch-e2e-openshift-ansible + name: job-definition + - name: cluster-profile + projected: + sources: + - secret: + name: cluster-secrets-aws + - configMap: + name: cluster-profile-aws + trigger: ((?m)^/test( all| aws),?(\s+|$)) - agent: jenkins always_run: false branches: diff --git a/ci-operator/templates/cluster-launch-e2e-openshift-ansible.yaml b/ci-operator/templates/cluster-launch-e2e-openshift-ansible.yaml new file mode 100644 index 0000000000000..016f721811ba3 --- /dev/null +++ b/ci-operator/templates/cluster-launch-e2e-openshift-ansible.yaml @@ -0,0 +1,313 @@ +kind: Template +apiVersion: template.openshift.io/v1 + +parameters: +- name: JOB_NAME_SAFE + required: true +- name: JOB_NAME_HASH + required: true +- name: NAMESPACE + required: true +- name: IMAGE_FORMAT + required: true +- name: IMAGE_ANSIBLE + required: true +- name: IMAGE_TESTS + required: true +- name: RPM_REPO_BASEURL + required: true +- name: CLUSTER_TYPE + required: true +- name: TEST_SUITE +- name: TEST_FOCUS +- name: TEST_SKIP + value: "\\[local\\]" +- name: TEST_SUITE_SERIAL +- name: TEST_FOCUS_SERIAL +- name: TEST_SKIP_SERIAL + value: "\\[local\\]" +- name: TEST_COMMAND + +objects: + +# We want the cluster to be able to access these images +- kind: RoleBinding + apiVersion: authorization.openshift.io/v1 + metadata: + name: ${JOB_NAME_SAFE}-image-puller + namespace: ${NAMESPACE} + roleRef: + name: system:image-puller + subjects: + - kind: SystemGroup + name: system:unauthenticated + +# The e2e pod spins up a cluster, runs e2e tests, and then cleans up the cluster. +- kind: Pod + apiVersion: v1 + metadata: + name: ${JOB_NAME_SAFE} + namespace: ${NAMESPACE} + annotations: + # we want to gather the teardown logs no matter what + ci-operator.openshift.io/wait-for-container-artifacts: teardown + spec: + restartPolicy: Never + activeDeadlineSeconds: 10800 + terminationGracePeriodSeconds: 600 + volumes: + - name: artifacts + emptyDir: {} + - name: shared-tmp + emptyDir: {} + - name: shared-inventory + emptyDir: {} + - name: cluster-profile + secret: + secretName: ${JOB_NAME_SAFE}-cluster-profile + + containers: + + # Once admin.kubeconfig exists, executes shared tests + - name: test + image: ${IMAGE_TESTS} + resources: + requests: + cpu: 1 + memory: 300Mi + limits: + cpu: 3 + memory: 4Gi + volumeMounts: + - name: shared-tmp + mountPath: /tmp/shared + - name: cluster-profile + mountPath: /tmp/cluster + - name: artifacts + mountPath: /tmp/artifacts + env: + - name: HOME + value: /tmp/home + - name: TEST_COMMAND + value: "${TEST_COMMAND}" + command: + - /bin/bash + - -c + - | + #!/bin/bash + set -euxo pipefail + + trap 'touch /tmp/shared/exit' EXIT + trap 'kill $(jobs -p); exit 0' TERM + + cp "$(which oc)" /tmp/shared/ + + mkdir -p "${HOME}" + + # wait until the setup job creates admin.kubeconfig + while true; do + if [[ ! -f /tmp/shared/admin.kubeconfig ]]; then + sleep 15 & wait + continue + fi + break + done + echo "Found shared kubeconfig" + + # don't let clients impact the global kubeconfig + cp /tmp/shared/admin.kubeconfig /tmp/admin.kubeconfig + export KUBECONFIG=/tmp/admin.kubeconfig + + PATH=/usr/libexec/origin:$PATH + + # set up cloud provider specific env vars + if [[ "${CLUSTER_TYPE}" == "gcp" ]]; then + export GOOGLE_APPLICATION_CREDENTIALS="/tmp/cluster/gce.json" + export KUBE_SSH_USER=cloud-user + mkdir -p ~/.ssh + cp /tmp/cluster/ssh-privatekey ~/.ssh/google_compute_engine || true + export PROVIDER_ARGS='-provider=gce -gce-zone=us-east1-c -gce-project=openshift-gce-devel-ci' + fi + + mkdir -p /tmp/output + cd /tmp/output + + # install telemetry client (TEMPORARY) + set +e + curl https://raw.githubusercontent.com/openshift/telemeter/master/deploy/default-rules > /tmp/rules + oc create ns openshift-telemetry + oc adm policy add-cluster-role-to-user cluster-reader -z default -n openshift-telemetry + oc create secret generic telemeter-client --from-literal=to=https://telemeter.svc.ci.openshift.org --from-literal=id=${NAMESPACE}-${JOB_NAME_HASH} --from-literal=token=token-for-ci-test-job --from-literal=salt=random-salt --from-file=rules=/tmp/rules --dry-run -o yaml | oc apply -n openshift-telemetry -f - + oc create -f https://raw.githubusercontent.com/openshift/telemeter/master/deploy/telemeter-client-openshift.yaml -n openshift-telemetry + set -e + + # create the environment, but exit before we run tests + if [[ -n "${TEST_COMMAND-}" ]]; then + ${TEST_COMMAND} + exit 0 + fi + + # TODO: the test binary should really be a more structured command - most of these flags should be + # autodetected from the running cluster. + # TODO: bump nodes up to 40 again + set -x + if [[ -n "${TEST_SUITE}" || -n "${TEST_FOCUS}" ]]; then + ginkgo -v -noColor -nodes=30 $( which extended.test ) -- \ + -suite "${TEST_SUITE}" -ginkgo.focus="${TEST_FOCUS}" -ginkgo.skip="${TEST_SKIP}" \ + -e2e-output-dir /tmp/artifacts -report-dir /tmp/artifacts/junit \ + -test.timeout=2h ${PROVIDER_ARGS-} || rc=$? + fi + if [[ -n "${TEST_SUITE_SERIAL}" || -n "${TEST_FOCUS_SERIAL}" ]]; then + ginkgo -v -noColor -nodes=1 $( which extended.test ) -- \ + -suite "${TEST_SUITE_SERIAL}" -ginkgo.focus="${TEST_FOCUS_SERIAL}" -ginkgo.skip="${TEST_SKIP_SERIAL}" \ + -e2e-output-dir /tmp/artifacts -report-dir /tmp/artifacts/junit/serial \ + -test.timeout=2h ${PROVIDER_ARGS-} || rc=$? + fi + exit ${rc:-0} + + # Runs an install + - name: setup + image: ${IMAGE_ANSIBLE} + volumeMounts: + - name: shared-tmp + mountPath: /tmp/shared + - name: shared-inventory + mountPath: /usr/share/ansible/openshift-ansible/test/ci/inventory + - name: artifacts + mountPath: /tmp/artifacts + - name: cluster-profile + mountPath: /usr/local/e2e-aws-cluster-profile + env: + - name: INSTANCE_PREFIX + value: ${NAMESPACE}-${JOB_NAME_HASH} + - name: TYPE + value: ${CLUSTER_TYPE} + - name: ANSIBLE_STDOUT_CALLBACK + value: yaml + - name: HOME + value: /tmp + - name: RPM_REPO_BASEURL + value: ${RPM_REPO_BASEURL} + command: + - /usr/local/bin/entrypoint-provider + args: + - /bin/bash + - -c + - | + #!/bin/bash + set -euo pipefail + + trap 'rc=$?; gzip /tmp/artifacts/*.log; if [[ $rc -ne 0 ]]; then touch /tmp/shared/exit; fi; exit $rc' EXIT + trap 'kill $(jobs -p); exit 0' TERM + + cd /usr/share/ansible/openshift-ansible/ + mkdir -p test/ci/inventory/group_vars/OSEv3 + echo "localhost ansible_connection=local" > test/ci/inventory/hosts + cp -f /usr/local/e2e-aws-cluster-profile/vars.yaml test/ci/ + cp -f /usr/local/e2e-aws-cluster-profile/vars-origin.yaml test/ci/inventory/group_vars/OSEv3 + + mkdir ~/.ssh + cp -f /usr/local/e2e-aws-cluster-profile/ssh-privatekey ~/.ssh/id_rsa + chmod 0600 ~/.ssh/id_rsa + cp -f /usr/local/e2e-aws-cluster-profile/.awscred /etc/boto.cfg + + cd /usr/share/ansible/openshift-ansible + ansible-playbook -vv \ + -i test/ci/inventory \ + test/ci/launch.yml | tee -a /tmp/artifacts/ansible.log + + ansible -vv \ + -i test/ci/inventory masters \ + -m fetch -a 'src=/etc/origin/master/admin.kubeconfig dest=/tmp/shared/ flat=true' + + # Performs cleanup of all created resources + - name: teardown + image: ${IMAGE_ANSIBLE} + volumeMounts: + - name: shared-tmp + mountPath: /tmp/shared + - name: shared-inventory + mountPath: /usr/share/ansible/openshift-ansible/test/ci/inventory + - name: artifacts + mountPath: /tmp/artifacts + - name: cluster-profile + mountPath: /usr/local/e2e-aws-cluster-profile + env: + - name: INSTANCE_PREFIX + value: ${NAMESPACE}-${JOB_NAME_HASH} + - name: TYPE + value: ${CLUSTER_TYPE} + command: + - /usr/local/bin/entrypoint-provider + args: + - /bin/bash + - -c + - | + #!/bin/bash + function teardown() { + set +e + touch /tmp/shared/exit + echo "Gathering artifacts ..." + export KUBECONFIG=/tmp/shared/admin.kubeconfig + mkdir -p /tmp/artifacts/pods /tmp/artifacts/nodes /tmp/artifacts/metrics + + oc --request-timeout=5s get nodes -o jsonpath --template '{range .items[*]}{.metadata.name}{"\n"}{end}' > /tmp/nodes + oc --request-timeout=5s get pods --all-namespaces --template '{{ range .items }}{{ $name := .metadata.name }}{{ $ns := .metadata.namespace }}{{ range .spec.containers }}-n {{ $ns }} {{ $name }} -c {{ .name }}{{ "\n" }}{{ end }}{{ range .spec.initContainers }}-n {{ $ns }} {{ $name }} -c {{ .name }}{{ "\n" }}{{ end }}{{ end }}' > /tmp/containers + oc --request-timeout=5s get nodes -o json > /tmp/artifacts/nodes.json + oc --request-timeout=5s get events --all-namespaces -o json > /tmp/artifacts/events.json + oc --request-timeout=5s get pods -l openshift.io/component=api --all-namespaces --template '{{ range .items }}-n {{ .metadata.namespace }} {{ .metadata.name }}{{ "\n" }}{{ end }}' > /tmp/pods-api + + # gather nodes first in parallel since they may contain the most relevant debugging info + while IFS= read -r i; do + mkdir -p /tmp/artifacts/nodes/$i + ( + oc get --request-timeout=20s --raw /api/v1/nodes/$i/proxy/logs/messages | gzip -c > /tmp/artifacts/nodes/$i/messages.gz + oc get --request-timeout=20s --raw /api/v1/nodes/$i/proxy/logs/journal | sed -e 's|.*href="\(.*\)".*|\1|;t;d' > /tmp/journals + while IFS= read -r j; do + oc get --request-timeout=20s --raw /api/v1/nodes/$i/proxy/logs/journal/${j}system.journal | gzip -c > /tmp/artifacts/nodes/$i/journal.gz + done < /tmp/journals + oc get --request-timeout=20s --raw /api/v1/nodes/$i/proxy/metrics | gzip -c > /tmp/artifacts/metrics/node-$i.gz + oc get --request-timeout=20s --raw /api/v1/nodes/$i/proxy/debug/pprof/heap > /tmp/artifacts/nodes/$i/heap + oc get --request-timeout=20s --raw /api/v1/nodes/$i/proxy/logs/secure | gzip -c > /tmp/artifacts/nodes/$i/secure.gz + oc get --request-timeout=20s --raw /api/v1/nodes/$i/proxy/logs/audit | gzip -c > /tmp/artifacts/nodes/$i/audit.gz + ) & + done < /tmp/nodes + + while IFS= read -r i; do + file="$( echo "$i" | cut -d ' ' -f 3 | tr -s ' ' '_' )" + oc exec $i -- /bin/bash -c 'oc get --raw /debug/pprof/heap --server "https://$( hostname ):8443" --config /etc/origin/master/admin.kubeconfig' > /tmp/artifacts/metrics/${file}-heap + oc exec $i -- /bin/bash -c 'oc get --raw /metrics --server "https://$( hostname ):8443" --config /etc/origin/master/admin.kubeconfig' | gzip -c > /tmp/artifacts/metrics/${file}-api.gz + oc exec $i -- /bin/bash -c 'oc get --raw /debug/pprof/heap --server "https://$( hostname ):8444" --config /etc/origin/master/admin.kubeconfig' > /tmp/artifacts/metrics/${file}-controllers-heap + oc exec $i -- /bin/bash -c 'oc get --raw /metrics --server "https://$( hostname ):8444" --config /etc/origin/master/admin.kubeconfig' | gzip -c > /tmp/artifacts/metrics/${file}-controllers.gz + done < /tmp/pods-api + + while IFS= read -r i; do + file="$( echo "$i" | cut -d ' ' -f 2,3,5 | tr -s ' ' '_' )" + oc logs --request-timeout=20s $i | gzip -c > /tmp/artifacts/pods/${file}.log.gz + oc logs --request-timeout=20s -p $i | gzip -c > /tmp/artifacts/pods/${file}_previous.log.gz + done < /tmp/containers + + echo "Waiting for node logs to finish ..." + wait + + echo "Deprovisioning cluster ..." + mkdir ~/.ssh + cp -f /usr/local/e2e-aws-cluster-profile/ssh-privatekey ~/.ssh/id_rsa + chmod 0600 ~/.ssh/id_rsa + cp -f /usr/local/e2e-aws-cluster-profile/.awscred /etc/boto.cfg + + cd /usr/share/ansible/openshift-ansible/ + echo "localhost ansible_connection=local" > test/ci/inventory/hosts + cp -f /usr/local/e2e-aws-cluster-profile/vars.yaml test/ci/vars.yml + ansible-playbook -vv -i test/ci/inventory test/ci/deprovision.yml + } + + trap 'teardown' EXIT + trap 'kill $(jobs -p); exit 0' TERM + + for i in `seq 1 120`; do + if [[ -f /tmp/shared/exit ]]; then + exit 0 + fi + sleep 60 & wait + done diff --git a/cluster/ci/config/prow/plugins.yaml b/cluster/ci/config/prow/plugins.yaml index e44c3b942006a..1d62f9342f524 100644 --- a/cluster/ci/config/prow/plugins.yaml +++ b/cluster/ci/config/prow/plugins.yaml @@ -137,6 +137,8 @@ config_updater: name: prow-job-cluster-launch-e2e-gmontero-testing ci-operator/templates/cluster-launch-e2e-upgrade.yaml: name: prow-job-cluster-launch-e2e-upgrade + ci-operator/templates/cluster-launch-e2e-openshift-ansible.yaml: + name: prow-job-cluster-launch-e2e-openshift-ansible ci-operator/templates/cluster-launch-e2e.yaml: name: prow-job-cluster-launch-e2e ci-operator/templates/cluster-launch-installer-e2e.yaml: diff --git a/cluster/test-deploy/openshift-ansible-aws/.gitignore b/cluster/test-deploy/openshift-ansible-aws/.gitignore new file mode 100644 index 0000000000000..102c355d97701 --- /dev/null +++ b/cluster/test-deploy/openshift-ansible-aws/.gitignore @@ -0,0 +1,4 @@ +* +!.type +!.gitignore +!vars*.yaml diff --git a/cluster/test-deploy/openshift-ansible-aws/.type b/cluster/test-deploy/openshift-ansible-aws/.type new file mode 100644 index 0000000000000..cd7b97de61283 --- /dev/null +++ b/cluster/test-deploy/openshift-ansible-aws/.type @@ -0,0 +1 @@ +aws diff --git a/cluster/test-deploy/openshift-ansible-aws/vars-origin.yaml b/cluster/test-deploy/openshift-ansible-aws/vars-origin.yaml new file mode 100644 index 0000000000000..440256bc4f16d --- /dev/null +++ b/cluster/test-deploy/openshift-ansible-aws/vars-origin.yaml @@ -0,0 +1,119 @@ +ansible_become: true +ansible_become_sudo: true + +openshift_deployment_type: origin +openshift_additional_repos: +- id: origin + name: Origin + baseurl: "{{ lookup('env','RPM_REPO_BASEURL') }}" + enabled: 1 + gpgcheck: 0 +openshift_repos_enable_testing: false + +#Minimal set of services +openshift_web_console_install: true +openshift_console_install: true +openshift_metrics_install_metrics: false +openshift_metrics_install_logging: false +openshift_logging_install_logging: false +openshift_management_install_management: false +openshift_hosted_prometheus_deploy: false +template_service_broker_install: false +ansible_service_broker_install: false +openshift_enable_service_catalog: false +osm_use_cockpit: false +openshift_monitoring_deploy: false +openshift_metering_install: false +openshift_metrics_server_install: false +openshift_monitor_availability_install: false +openshift_enable_olm: false +openshift_descheduler_install: false +openshift_node_problem_detector_install: false +openshift_autoheal_deploy: false +openshift_cluster_autoscaler_install: false + +# debugging +debug_level: 4 +etcd_debug: true +etcd_log_package_levels: 'auth=INFO,etcdmain=DEBUG,etcdserver=DEBUG' +openshift_docker_options: "--log-driver=journald" + +#Disable journald persistence +journald_vars_to_replace: +- { var: Storage, val: volatile } +- { var: Compress, val: no } +- { var: SyncIntervalSec, val: 1s } +- { var: RateLimitInterval, val: 1s } +- { var: RateLimitBurst, val: 10000 } +- { var: SystemMaxUse, val: 8G } +- { var: SystemKeepFree, val: 20% } +- { var: SystemMaxFileSize, val: 10M } +- { var: MaxRetentionSec, val: 1month } +- { var: MaxFileSec, val: 1day } +- { var: ForwardToSyslog, val: no } +- { var: ForwardToWall, val: no } + +#Other settings +openshift_enable_origin_repo: false +osm_default_node_selector: "node-role.kubernetes.io/compute=true" +openshift_hosted_infra_selector: "node-role.kubernetes.io/infra=true" +openshift_logging_es_nodeselector: + node-role.kubernetes.io/infra: "true" +openshift_logging_es_ops_nodeselector: + node-role.kubernetes.io/infra: "true" +osm_controller_args: + enable-hostpath-provisioner: + - "true" +openshift_hosted_router_create_certificate: true +openshift_master_audit_config: + enabled: true +openshift_master_identity_providers: + - name: "allow_all" + login: "true" + challenge: "true" + kind: "AllowAllPasswordIdentityProvider" +openshift_template_service_broker_namespaces: + - "openshift" +enable_excluders: "true" +osm_cluster_network_cidr: "10.128.0.0/14" +openshift_portal_net: "172.30.0.0/16" +osm_host_subnet_length: 9 +openshift_check_min_host_disk_gb: 1.5 +openshift_check_min_host_memory_gb: 1.9 +openshift_disable_check: package_update,package_availability,memory_availability,disk_availability + +openshift_logging_use_mux: false +openshift_logging_use_ops: true +openshift_logging_es_log_appenders: + - "console" +openshift_logging_fluentd_journal_read_from_head: false +openshift_logging_fluentd_audit_container_engine: true + +openshift_logging_curator_cpu_request: "100m" +openshift_logging_curator_memory_limit: "32Mi" +openshift_logging_curator_ops_cpu_request: "100m" +openshift_logging_curator_ops_memory_limit: "32Mi" +openshift_logging_elasticsearch_proxy_cpu_request: "100m" +openshift_logging_elasticsearch_proxy_memory_limit: "32Mi" +openshift_logging_es_cpu_request: "400m" +openshift_logging_es_memory_limit: "4Gi" +openshift_logging_es_ops_cpu_request: "400m" +openshift_logging_es_ops_memory_limit: "4Gi" +openshift_logging_eventrouter_cpu_request: "100m" +openshift_logging_eventrouter_memory_limit: "64Mi" +openshift_logging_fluentd_cpu_request: "100m" +openshift_logging_fluentd_memory_limit: "256Mi" +openshift_logging_kibana_cpu_request: "100m" +openshift_logging_kibana_memory_limit: "128Mi" +openshift_logging_kibana_ops_cpu_request: "100m" +openshift_logging_kibana_ops_memory_limit: "128Mi" +openshift_logging_kibana_ops_proxy_cpu_request: "100m" +openshift_logging_kibana_ops_proxy_memory_limit: "64Mi" +openshift_logging_kibana_proxy_cpu_request: "100m" +openshift_logging_kibana_proxy_memory_limit: "64Mi" +openshift_logging_mux_cpu_request: "400m" +openshift_logging_mux_memory_limit: "256Mi" + +openshift_master_cluster_method: native + +openshift_node_port_range: '30000-32000' diff --git a/cluster/test-deploy/openshift-ansible-aws/vars.yaml b/cluster/test-deploy/openshift-ansible-aws/vars.yaml new file mode 100644 index 0000000000000..f022a4cedc697 --- /dev/null +++ b/cluster/test-deploy/openshift-ansible-aws/vars.yaml @@ -0,0 +1,25 @@ +--- +vm_prefix: "{{ lookup('env', 'INSTANCE_PREFIX') }}" + +type: aws +aws_user: "ec2-user" +python: "/usr/bin/python" +aws_key: "libra" +aws_region: "us-east-1" +aws_cluster_id: "{{ lookup('env', 'INSTANCE_PREFIX') }}" +aws_subnet: "subnet-cf57c596" # us-east-1d + +aws_ami_tags: + "tag:operating_system": "rhel" + "tag:image_stage": "base" + "tag:ready": "yes" + +aws_instances: +- name: "{{ vm_prefix }}-master" + ansible_groups: + - masters + - etcd + - nodes + aws_flavor: t2.large + aws_security_group: public + node_group: "node-config-all-in-one"