From 801779eeb6f6308f81ae7c48409de7686c04a0aa Mon Sep 17 00:00:00 2001
From: Michael Gugino <mgugino@redhat.com>
Date: Wed, 13 Dec 2017 12:42:32 -0500
Subject: Relocate filter plugins to lib_utils

This commit relocates filter_plugings to lib_utils,
changes the namespacing to prevent unintended use of
older versions that may be present in filter_plugins/
directory on existing installs.

Add lib_utils to meta depends for roles

Also consolidate some plugins into lib_utils from
various other areas.

Update rpm spec, obsolete plugin rpms.
---
 test/openshift_version_tests.py | 32 --------------------------------
 1 file changed, 32 deletions(-)
 delete mode 100644 test/openshift_version_tests.py

(limited to 'test')

diff --git a/test/openshift_version_tests.py b/test/openshift_version_tests.py
deleted file mode 100644
index 36b8263bb..000000000
--- a/test/openshift_version_tests.py
+++ /dev/null
@@ -1,32 +0,0 @@
-""" Tests for the openshift_version Ansible filter module. """
-# pylint: disable=missing-docstring,invalid-name
-
-import os
-import sys
-import unittest
-
-sys.path = [os.path.abspath(os.path.dirname(__file__) + "/../filter_plugins/")] + sys.path
-
-# pylint: disable=import-error
-import openshift_version  # noqa: E402
-
-
-class OpenShiftVersionTests(unittest.TestCase):
-
-    openshift_version_filters = openshift_version.FilterModule()
-
-    def test_gte_filters(self):
-        for major, minor_start, minor_end in self.openshift_version_filters.versions:
-            for minor in range(minor_start, minor_end):
-                # Test positive case
-                self.assertTrue(
-                    self.openshift_version_filters._filters["oo_version_gte_{}_{}".format(major, minor)](
-                        "{}.{}".format(major, minor + 1)))
-                # Test negative case
-                self.assertFalse(
-                    self.openshift_version_filters._filters["oo_version_gte_{}_{}".format(major, minor)](
-                        "{}.{}".format(major, minor)))
-
-    def test_get_filters(self):
-        self.assertTrue(
-            self.openshift_version_filters.filters() == self.openshift_version_filters._filters)
-- 
cgit v1.2.3


From e3cf9edff6d0186b09b1a112592f283fab6857d0 Mon Sep 17 00:00:00 2001
From: Michael Gugino <mgugino@redhat.com>
Date: Tue, 19 Dec 2017 16:36:47 -0500
Subject: Remove references to deployment_type

Move openshift_deployment_type check into sanity_check
action plugin.  Remove compatibility for deployment_type.

deployment_type has been deprecated for some time now.
---
 .../preflight/playbooks/package_availability_missing_required.yml       | 2 +-
 .../preflight/playbooks/package_availability_succeeds.yml               | 2 +-
 .../preflight/playbooks/package_version_matches.yml                     | 2 +-
 .../preflight/playbooks/package_version_mismatches.yml                  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

(limited to 'test')

diff --git a/test/integration/openshift_health_checker/preflight/playbooks/package_availability_missing_required.yml b/test/integration/openshift_health_checker/preflight/playbooks/package_availability_missing_required.yml
index 006a71bd9..451ac0972 100644
--- a/test/integration/openshift_health_checker/preflight/playbooks/package_availability_missing_required.yml
+++ b/test/integration/openshift_health_checker/preflight/playbooks/package_availability_missing_required.yml
@@ -4,7 +4,7 @@
   vars:
     image: preflight-aos-package-checks
     l_host_vars:
-      deployment_type: openshift-enterprise
+      openshift_deployment_type: openshift-enterprise
 
 - name: Fail as required packages cannot be installed
   hosts: all
diff --git a/test/integration/openshift_health_checker/preflight/playbooks/package_availability_succeeds.yml b/test/integration/openshift_health_checker/preflight/playbooks/package_availability_succeeds.yml
index b4f18e3b5..e37487f13 100644
--- a/test/integration/openshift_health_checker/preflight/playbooks/package_availability_succeeds.yml
+++ b/test/integration/openshift_health_checker/preflight/playbooks/package_availability_succeeds.yml
@@ -3,7 +3,7 @@
   vars:
     image: preflight-aos-package-checks
     l_host_vars:
-      deployment_type: origin
+      openshift_deployment_type: origin
 
 - name: Succeeds as Origin packages are public
   hosts: all
diff --git a/test/integration/openshift_health_checker/preflight/playbooks/package_version_matches.yml b/test/integration/openshift_health_checker/preflight/playbooks/package_version_matches.yml
index 4e2b8a50c..9c845e1e5 100644
--- a/test/integration/openshift_health_checker/preflight/playbooks/package_version_matches.yml
+++ b/test/integration/openshift_health_checker/preflight/playbooks/package_version_matches.yml
@@ -3,7 +3,7 @@
   vars:
     image: preflight-aos-package-checks
     l_host_vars:
-      deployment_type: openshift-enterprise
+      openshift_deployment_type: openshift-enterprise
       openshift_release: 3.2
 
 - name: Success when AOS version matches openshift_release
diff --git a/test/integration/openshift_health_checker/preflight/playbooks/package_version_mismatches.yml b/test/integration/openshift_health_checker/preflight/playbooks/package_version_mismatches.yml
index e1f8d74e6..9ae811939 100644
--- a/test/integration/openshift_health_checker/preflight/playbooks/package_version_mismatches.yml
+++ b/test/integration/openshift_health_checker/preflight/playbooks/package_version_mismatches.yml
@@ -4,7 +4,7 @@
   vars:
     image: preflight-aos-package-checks
     l_host_vars:
-      deployment_type: openshift-enterprise
+      openshift_deployment_type: openshift-enterprise
       openshift_release: 3.2
 
 - name: Failure when AOS version doesn't match openshift_release
-- 
cgit v1.2.3


From 3a14ee697aafa52d94ce577c16378c5fe18dda06 Mon Sep 17 00:00:00 2001
From: Michael Gugino <mgugino@redhat.com>
Date: Thu, 21 Dec 2017 12:09:17 -0500
Subject: Fix container_runtime openshift_containerized_host_groups

openshift_containerized_host_groups needs to be referenced via
hostvars.

This commit also updates tox ansible syntax checks to account
for unavailability of hostsvars during syntax checks.

Fixes: https://github.com/openshift/openshift-ansible/issues/6540
---
 test/tox-inventory.txt        | 105 ++++++++++++++++++++++++++++++++++++++++++
 test/tox-inventory.txt_extras |   3 ++
 2 files changed, 108 insertions(+)
 create mode 100644 test/tox-inventory.txt
 create mode 100644 test/tox-inventory.txt_extras

(limited to 'test')

diff --git a/test/tox-inventory.txt b/test/tox-inventory.txt
new file mode 100644
index 000000000..6e57d224b
--- /dev/null
+++ b/test/tox-inventory.txt
@@ -0,0 +1,105 @@
+[OSEv3]
+localhost
+
+
+[OSEv3:children]
+etcd
+masters
+nodes
+oo_all_hosts
+oo_etcd_to_config
+oo_new_etcd_to_config
+oo_first_etcd
+oo_etcd_hosts_to_backup
+oo_etcd_hosts_to_upgrade
+oo_etcd_to_migrate
+oo_masters
+oo_masters_to_config
+oo_first_master
+oo_containerized_master_nodes
+oo_nodes_to_config
+oo_nodes_to_upgrade
+oo_nodes_use_kuryr
+oo_nodes_use_flannel
+oo_nodes_use_calico
+oo_nodes_use_nuage
+oo_nodes_use_contiv
+oo_lb_to_config
+oo_nfs_to_config
+glusterfs
+glusterfs_registry
+
+[etcd]
+localhost
+
+[masters]
+localhost
+
+[nodes]
+localhost
+
+[oo_all_hosts]
+localhost
+
+[oo_etcd_to_config]
+localhost
+
+[oo_new_etcd_to_config]
+localhost
+
+[oo_first_etcd]
+localhost
+
+[oo_etcd_hosts_to_backup]
+localhost
+
+[oo_etcd_hosts_to_upgrade]
+localhost
+
+[oo_etcd_to_migrate]
+localhost
+
+[oo_masters]
+localhost
+
+[oo_masters_to_config]
+localhost
+
+[oo_first_master]
+localhost
+
+[oo_containerized_master_nodes]
+localhost
+
+[oo_nodes_to_config]
+localhost
+
+[oo_nodes_to_upgrade]
+localhost
+
+[oo_nodes_use_kuryr]
+localhost
+
+[oo_nodes_use_flannel]
+localhost
+
+[oo_nodes_use_calico]
+localhost
+
+[oo_nodes_use_nuage]
+localhost
+
+[oo_nodes_use_contiv]
+localhost
+
+[oo_lb_to_config]
+localhost
+
+[oo_nfs_to_config]
+localhost
+
+[glusterfs]
+localhost
+
+[glusterfs_registry]
+localhost
diff --git a/test/tox-inventory.txt_extras b/test/tox-inventory.txt_extras
new file mode 100644
index 000000000..f73610570
--- /dev/null
+++ b/test/tox-inventory.txt_extras
@@ -0,0 +1,3 @@
+---
+hostvars:
+  localhost: {}
-- 
cgit v1.2.3


From 7c0d3575c10d6425612b3c7d10b8da4c62938de2 Mon Sep 17 00:00:00 2001
From: Michael Gugino <mgugino@redhat.com>
Date: Wed, 20 Dec 2017 14:22:47 -0500
Subject: Add in-tree CI scripts

Currently, the scripts that contain testing inventory
and actually execute the running of openshift-ansible
plays are kept in the CI jobs themselves.

This commit adds scripts into our tree so we can have
better control over variables, differences between branches,
and more transparency to end users for how we run our
integration tests.
---
 test/ci/README.md                              | 14 ++++++++++
 test/ci/extra_vars/default.yml                 |  4 +++
 test/ci/install.sh                             | 34 +++++++++++++++++++++++
 test/ci/inventory/group_vars/OSEv3/checks.yml  |  4 +++
 test/ci/inventory/group_vars/OSEv3/general.yml | 23 ++++++++++++++++
 test/ci/inventory/group_vars/OSEv3/logging.yml | 37 ++++++++++++++++++++++++++
 test/ci/inventory/group_vars/all.yml           | 13 +++++++++
 test/ci/inventory/host_vars/localhost.yml      |  8 ++++++
 test/ci/inventory/local.txt                    | 23 ++++++++++++++++
 9 files changed, 160 insertions(+)
 create mode 100644 test/ci/README.md
 create mode 100644 test/ci/extra_vars/default.yml
 create mode 100755 test/ci/install.sh
 create mode 100644 test/ci/inventory/group_vars/OSEv3/checks.yml
 create mode 100644 test/ci/inventory/group_vars/OSEv3/general.yml
 create mode 100644 test/ci/inventory/group_vars/OSEv3/logging.yml
 create mode 100644 test/ci/inventory/group_vars/all.yml
 create mode 100644 test/ci/inventory/host_vars/localhost.yml
 create mode 100644 test/ci/inventory/local.txt

(limited to 'test')

diff --git a/test/ci/README.md b/test/ci/README.md
new file mode 100644
index 000000000..fe80d7c04
--- /dev/null
+++ b/test/ci/README.md
@@ -0,0 +1,14 @@
+This directory contains scripts and other files that are executed by our
+CI integration tests.
+
+CI should call a script.  The only arguments that each script should accept
+are:
+
+1) Path to openshift-ansible/playbooks
+2) Inventory path.
+3) Extra vars path.
+
+Ideally, inventory path and extra vars should live somewhere in this
+subdirectory instead of the CI's source.
+
+Extravars should typically be unnecessary.
diff --git a/test/ci/extra_vars/default.yml b/test/ci/extra_vars/default.yml
new file mode 100644
index 000000000..5b9a04cdd
--- /dev/null
+++ b/test/ci/extra_vars/default.yml
@@ -0,0 +1,4 @@
+---
+# Using extra_vars is typically not ideal.  Please don't use extra_vars
+# unless there is no other way to accomplish a task.
+openshift_this_var_is_not_used: True
diff --git a/test/ci/install.sh b/test/ci/install.sh
new file mode 100755
index 000000000..7172a6765
--- /dev/null
+++ b/test/ci/install.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+set -x
+
+# Argument 1: path to openshift-ansible/playbooks
+# Argument 2: inventory path
+# Argument 3: Extra vars path
+
+echo "Running prerequisites"
+
+ansible-playbook -vv            \
+                 --inventory $2 \
+                 --e @$3        \
+                 $1/prerequisites.yml
+
+echo "Running network_manager setup"
+
+playbook_base='/usr/share/ansible/openshift-ansible/playbooks/'
+if [[ -s "$1/openshift-node/network_manager.yml" ]]; then
+   playbook="$1/openshift-node/network_manager.yml"
+else
+   playbook="$1/byo/openshift-node/network_manager.yml"
+fi
+ansible-playbook -vv            \
+                 --inventory $1 \
+                 --e @$2        \
+                ${playbook}
+
+echo "Running openshift-ansible deploy_cluster"
+
+ansible-playbook -vv            \
+                 --inventory $2 \
+                 --e @$3        \
+                 $1/deploy_cluster.yml
diff --git a/test/ci/inventory/group_vars/OSEv3/checks.yml b/test/ci/inventory/group_vars/OSEv3/checks.yml
new file mode 100644
index 000000000..26f825b07
--- /dev/null
+++ b/test/ci/inventory/group_vars/OSEv3/checks.yml
@@ -0,0 +1,4 @@
+---
+openshift_check_min_host_disk_gb: 10
+openshift_check_min_host_memory_gb: 8
+openshift_disable_check: package_update,package_availability
diff --git a/test/ci/inventory/group_vars/OSEv3/general.yml b/test/ci/inventory/group_vars/OSEv3/general.yml
new file mode 100644
index 000000000..d2fd3f74c
--- /dev/null
+++ b/test/ci/inventory/group_vars/OSEv3/general.yml
@@ -0,0 +1,23 @@
+---
+debug_level: 5
+osm_default_node_selector: "region=infra"
+osm_controller_args:
+  enable-hostpath-provisioner:
+    - "true"
+openshift_hosted_router_selector: "region=infra"
+openshift_hosted_router_create_certificate: true
+openshift_hosted_registry_selector: "region=infra"
+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"
+ansible_ssh_user: "ec2-user"
+enable_excluders: "false"
+osm_cluster_network_cidr: "10.128.0.0/14"
+openshift_portal_net: "172.30.0.0/16"
+osm_host_subnet_length: 9
diff --git a/test/ci/inventory/group_vars/OSEv3/logging.yml b/test/ci/inventory/group_vars/OSEv3/logging.yml
new file mode 100644
index 000000000..a55f110ad
--- /dev/null
+++ b/test/ci/inventory/group_vars/OSEv3/logging.yml
@@ -0,0 +1,37 @@
+---
+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"
+
+# TODO: remove this once we have oauth-proxy images built that are in step
+#       with the logging images (version and prefix)
+openshift_logging_elasticsearch_proxy_image_prefix: "docker.io/openshift/"
+openshift_logging_elasticsearch_proxy_image_version: "v1.0.0"
diff --git a/test/ci/inventory/group_vars/all.yml b/test/ci/inventory/group_vars/all.yml
new file mode 100644
index 000000000..7848584d8
--- /dev/null
+++ b/test/ci/inventory/group_vars/all.yml
@@ -0,0 +1,13 @@
+---
+openshift_deployment_type: origin
+etcd_data_dir: "${ETCD_DATA_DIR}"
+openshift_node_port_range: '30000-32000'
+osm_controller_args:
+  enable-hostpath-provisioner:
+    - "true"
+
+# These env vars are created by the CI.  This allows us
+# to test specific versions of openshift.
+openshift_pkg_version: "{{ lookup('env', 'ORIGIN_PKG_VERSION') }}"
+openshift_release: "{{ lookup('env', 'ORIGIN_RELEASE') }}"
+oreg_url: "openshift/origin-${component}:{{ lookup('env', 'ORIGIN_COMMIT') }}"
diff --git a/test/ci/inventory/host_vars/localhost.yml b/test/ci/inventory/host_vars/localhost.yml
new file mode 100644
index 000000000..2f308ab60
--- /dev/null
+++ b/test/ci/inventory/host_vars/localhost.yml
@@ -0,0 +1,8 @@
+---
+openshift_node_labels:
+  region: infra
+  zone: default
+openshift_schedulable: True
+ansible_become: True
+ansible_become_user: root
+ansible_connection: local
diff --git a/test/ci/inventory/local.txt b/test/ci/inventory/local.txt
new file mode 100644
index 000000000..90d5924a8
--- /dev/null
+++ b/test/ci/inventory/local.txt
@@ -0,0 +1,23 @@
+[OSEv3]
+
+[OSEv3:children]
+masters
+nodes
+etcd
+lb
+nfs
+
+[lb]
+# Empty, but present to pass integration tests.
+
+[nfs]
+# Empty, but present to pass integration tests.
+
+[masters]
+localhost
+
+[nodes]
+localhost
+
+[etcd]
+localhost
-- 
cgit v1.2.3


From 08f085dd28a32fffbd15d7f2d511fb12bd0fe947 Mon Sep 17 00:00:00 2001
From: Michael Gugino <mgugino@redhat.com>
Date: Mon, 8 Jan 2018 11:24:24 -0500
Subject: Build containerized host group dynamically

Currently, we are using some inventory variables
to determine what host groups should be considered
containerized.

This is problematic and has several edge cases.

This commit removes the variable l_containerized_host_groups
and builds a dynamic group of hosts named
'oo_hosts_containerized_managed_true' based on the value of
'containerized'
---
 test/tox-inventory.txt | 4 ++++
 1 file changed, 4 insertions(+)

(limited to 'test')

diff --git a/test/tox-inventory.txt b/test/tox-inventory.txt
index 6e57d224b..ed9e946ab 100644
--- a/test/tox-inventory.txt
+++ b/test/tox-inventory.txt
@@ -13,6 +13,7 @@ oo_first_etcd
 oo_etcd_hosts_to_backup
 oo_etcd_hosts_to_upgrade
 oo_etcd_to_migrate
+oo_hosts_containerized_managed_true
 oo_masters
 oo_masters_to_config
 oo_first_master
@@ -103,3 +104,6 @@ localhost
 
 [glusterfs_registry]
 localhost
+
+[oo_hosts_containerized_managed_true]
+localhost
-- 
cgit v1.2.3