From c8b5f195a2664cf219cfcf8ed5dc8be6dfa20f8f Mon Sep 17 00:00:00 2001 From: Alexander Todorov Date: Wed, 25 Oct 2023 10:48:13 +0300 Subject: [PATCH 1/3] Build OpenLDAP container image used for testing from source because openshift/openldap-2441-centos7 is no longer available from Docker Hub Disable 1 entry in ldif file b/c it's already present. --- .github/workflows/testing.yml | 2 +- docker-compose.testing | 2 +- testing/ldap.ldif | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 40d90ffe..1a7d9154 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -60,7 +60,7 @@ jobs: if: matrix.command == 'docker-image' run: | git clone https://github.com/kiwitcms/openldap.git - pushd openldap/ && git checkout openldap-2.4.41 && SKIP_SQUASH=1 make build && popd + pushd openldap/ && docker build -t kiwitcms/openldap-fedora34 -f images/Dockerfile . && popd - name: Sanity test - boot the docker image if: matrix.command == 'docker-image' diff --git a/docker-compose.testing b/docker-compose.testing index 1e6cafe3..a55633df 100644 --- a/docker-compose.testing +++ b/docker-compose.testing @@ -3,7 +3,7 @@ version: '2' services: openldap_server: container_name: openldap_server - image: openshift/openldap-2441-centos7 + image: kiwitcms/openldap-fedora34 restart: always ports: - 389:389 diff --git a/testing/ldap.ldif b/testing/ldap.ldif index f540a2b3..c5e060f6 100644 --- a/testing/ldap.ldif +++ b/testing/ldap.ldif @@ -1,6 +1,6 @@ -dn: ou=People,dc=example,dc=com -ou: People -objectClass: organizationalUnit +# dn: ou=People,dc=example,dc=com +# ou: People +# objectClass: organizationalUnit dn: uid=ldap_atodorov,ou=People,dc=example,dc=com cn: ldap_atodorov From f57353f2503d0b3e7aa163950493c19f877df0d4 Mon Sep 17 00:00:00 2001 From: Alexander Todorov Date: Wed, 25 Oct 2023 17:45:54 +0300 Subject: [PATCH 2/3] DEBUG: add logging for django ldap --- test_settings.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test_settings.py b/test_settings.py index 2d6400d2..46f75b22 100644 --- a/test_settings.py +++ b/test_settings.py @@ -28,6 +28,21 @@ LDAP_AUTH_USE_TLS = True LDAP_AUTH_SEARCH_BASE = "ou=People,dc=example,dc=com" +LOGGING = { + "version": 1, + "disable_existing_loggers": False, + "handlers": { + "console": { + "class": "logging.StreamHandler", + }, + }, + "loggers": { + "django_python3_ldap": { + "handlers": ["console"], + "level": "INFO", + }, + }, +} SOCIAL_AUTH_KEYCLOAK_KEY = 'kiwitcms-web-app' SOCIAL_AUTH_KEYCLOAK_SECRET = os.environ["KC_CLIENT_SECRET"] From 09614960c3354125a3a9340fe3af4a4d656343f0 Mon Sep 17 00:00:00 2001 From: Alexander Todorov Date: Wed, 25 Oct 2023 17:57:44 +0300 Subject: [PATCH 3/3] Always collect & upload logs from docker containers during CI useful for debugging --- .github/workflows/testing.yml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 1a7d9154..07b6ca61 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -179,8 +179,23 @@ jobs: name: kc-json-files path: ./*.json + - name: Collect docker logs + if: always() && matrix.command == 'docker-image' + run: | + docker logs keycloak_server > keyclock_server.log + docker logs openldap_server > openldap_server.log + docker logs web > kiwitcms.log + docker logs db > database.log + + - name: Upload logs + if: always() && matrix.command == 'docker-image' + uses: actions/upload-artifact@v3 + with: + name: docker-logs + path: ./*.log + - name: Sanity test - shut down the docker image - if: matrix.command == 'docker-image' + if: always() && matrix.command == 'docker-image' run: | docker kill keycloak_server docker-compose -f docker-compose.testing down