Uploaded image for project: 'FOLIO'
  1. FOLIO
  2. FOLIO-1485

Folio testing backend build fails due to incompatible authtoken interface versions

    XMLWordPrintable

Details

    Description

      Summary

      mod-login-saml requires an authotken interface version 1.x
      mod-authtoken now provides authtoken interface version 2.0

      I believe this discrepancy means that we are not able to build a cohesive backend set of modules.

      Symptoms

      https://jenkins-aws.indexdata.com/job/Automation/job/folio-testing-backend01/504/ failed overnight, with what appeared to be the following error (I ignore the multiple 404 errors that sometimes appear):

      failed: [10.36.1.46] (item={u'okapi_docker_pull': u'false', u'index': 7, u'image_repository': u'folioci', u'name': u'mod-login-saml', u'mod_descriptor_repo': u'http://folio-registry.aws.indexdata.com', 'module_id': u'mod-login-saml-1.1.1-SNAPSHOT.26', u'docker_env': [{u'name': u'JAVA_OPTIONS', u'value': u'-Xmx256m'}]}) => {"changed": true, "cmd": "curl -X POST -H \"Content-Type: application/json\" -d @/etc/folio/module-descriptors/mod-login-saml.json -sSf http://10.36.1.46:9130/_/proxy/modules", "delta": "0:00:00.014401", "end": "2018-09-12 05:56:54.048247", "failed": true, "item": {"docker_env": [{"name": "JAVA_OPTIONS", "value": "-Xmx256m"}], "image_repository": "folioci", "index": 7, "mod_descriptor_repo": "http://folio-registry.aws.indexdata.com", "module_id": "mod-login-saml-1.1.1-SNAPSHOT.26", "name": "mod-login-saml", "okapi_docker_pull": "false"}, "rc": 22, "start": "2018-09-12 05:56:54.033846", "stderr": "curl: (22) The requested URL returned error: 400 Bad Request", "stderr_lines": ["curl: (22) The requested URL returned error: 400 Bad Request"], "stdout": "", "stdout_lines": []}`
      

      Investigation

      This looked like it might be an transient error, so I kicked off another build to check. https://jenkins-aws.indexdata.com/job/Automation/job/folio-testing-backend01/505 failed the same way.

      The error appeared related to either a lookup in the folio-registry for the module or fetching the docker image.

      Fetching the module descriptor from the registry seems to work ok (http://folio-registry.aws.indexdata.com/_/proxy/modules/mod-login-saml-1.1.1-SNAPSHOT.26) and the docker image appears to be present (https://hub.docker.com/r/folioci/mod-login-saml/tags/ )

      This is the same version of mod-login-saml that was deployed in previous folio-testing builds and is in the folio-snapshot build that succeeded.

      Looking at it again, it appears the post to Okapi was the aspect that failed. There doesn’t appear to be an error message.

      mod-login-saml relies on the authtoken, configuration and users interfaces. Based upon https://github.com/folio-org/folio-ansible/blob/e65a28f2ab64d95ab952271c993a035af9528bf9/group_vars/testing it looks like `mod-authtoken`, `mod-configuration` and `mod-users` come before it in the list, so should fulfil those requirements.

      It turns out that mod-authtoken changed to provide authtoken version 2.0 yesterday (https://github.com/folio-org/mod-authtoken/commit/fdba6e9371618adf1bebf39964127ac3b54787a6).

      It looks like this mismatch is what causes the backend build to fail.

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                kurt Kurt Nordstrom
                marcjohnson Marc Johnson
                Zoltan Erdos Zoltan Erdos
                Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases