[FOLIO-3256] Add edge-inn-reach to testing/snapshot hosted environments Created: 29/Jul/21  Updated: 20/Oct/21  Resolved: 20/Oct/21

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Story Priority: P2
Reporter: Oleksii Petrenko Assignee: David Crossley
Resolution: Done Votes: 0
Labels: back-end, epam-volaris
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Attachments: Text File edge-inn-reach-fsl-1084.txt     Text File edge-inn-reach-fst-402.txt    
Issue links:
Blocks
is blocked by EDGINREACH-11 edge-inn-reach: provide/update docs, ... Closed
Cloners
clones FOLIO-3255 Add mod-inn-reach to testing/snapshot... Closed
is cloned by FOLIO-3257 Add ui-inn-reach to testing/snapshot ... Closed
Sprint: DevOps Sprint 120, DevOps Sprint 121, DevOps Sprint 122, DevOps Sprint 123, DevOps Sprint 124, DevOps Sprint 125
Development Team: FOLIO DevOps

 Description   

Dear DevOps team,

There is a new edge-inn-reach (https://github.com/folio-org/edge-inn-reach) module that we'd like added to the hosted environments for testing and demo purposes.



 Comments   
Comment by David Crossley [ 19/Aug/21 ]

It seems to me that this module is not ready to be added.

For example, the ModuleDescriptor and README are very minimal. The API documentation is not published.

We do not know if an institutional user is needed, what permissions and module endpoint to declare, etc.

Compare with other "edge" modules.

Oleksii Petrenko please ask the module developers to clarify on this ticket, when it is ready.

Comment by Jakub Skoczen [ 24/Aug/21 ]

Oleksii Petrenko can you please check with the devs on the progress of missing documentation that David requested?

Comment by Oleksii Petrenko [ 24/Aug/21 ]

Jakub Skoczen David Crossley I will take in to account

Comment by Andrii Khodyka [ 03/Sep/21 ]

David Crossley , the module has only one API endpoint at the moment, I will add it to the README file, also the ModuleDescriptor needs a small change in the “requires” block, I will update it.
Will it be enough to unblock you?

Comment by David Crossley [ 07/Sep/21 ]

As requested earlier, more documentation is needed.

Please compare with other edge modules (e.g. edge-rtac and edge-common). They provide info about institutional user, permissions, etc. Does your module not need anything?

Also https://dev.folio.org/reference/api/#edge-inn-reach is in the "Missing API documentation" section.

Comment by David Crossley [ 10/Sep/21 ]

The edge-dematic is a recent example. As their documentation specifies, the main configuration that we used was:

  • path: /asrService
  • perms: remote-storage.all
  • institutional user: stagingDirector

Also other operators will need to configure edge-inn-reach, so it needs documentation on the README.

Comment by Jakub Skoczen [ 23/Sep/21 ]

Andrii Khodyka are you guys working to provide the information that David needs to get this module properly deployed?

Comment by David Crossley [ 27/Sep/21 ]

They subsequently said in private Slack that the module is now ready.

Comment by Andrii Khodyka [ 28/Sep/21 ]

David Crossley, Jakub Skoczen Hi!
How is it going? any problems with it, do you need any help from us?

Comment by David Crossley [ 28/Sep/21 ]

I do have it configured, and a successful build of the "folio-testing-test" reference environment.

That refenv has no UI, which IIUC you need for doing some other configuration.

I have asked Wayne to review my infrastructure configuration. Tomorrow i intend to do the next step, and add it to platform-complete.

So progress, but not yet.

Comment by David Crossley [ 29/Sep/21 ]

The edge-inn-reach is now added to the folio-testing and folio-snapshot-load reference environments.

However there is a problem. The module does not initialize properly, and is in a continuous loop trying to do that every minute. I stopped the docker module on both servers.

This is the main configuration bits that we used:

  • path: /innreach
  • perms: inn-reach.all
  • institutional user: innreachClient / diku
    and the edge-inn-reach-ephemeral.properties on the server is as expected.

The docker log from folio-snapshot-load build 1084 is attached. edge-inn-reach-fsl-1084.txt

Interested parties: Andrii Khodyka and Dima Tkachenko

Comment by David Crossley [ 29/Sep/21 ]

Re-reading the README, it seems that this might be the intended behaviour, to keep re-starting/re-initializing until you do the UI configuration each day.

I have started the docker module again on both of those systems.

As you would know, docker logs can be obtained via the "self-service" facility at https://dev.folio.org/faqs/how-to-obtain-refenv-logs/

Please test and verify, via the usual port 8000.

Comment by Dima Tkachenko [ 29/Sep/21 ]

Thanks, David Crossley

We'll have a look on running istances

Comment by David Crossley [ 30/Sep/21 ]

Its docker container is re-starting every 1-minute, and the module initialization attempts are as shown the attached log sample.

Comment by David Crossley [ 05/Oct/21 ]

Andrii Khodyka Have you been able to investigate?

Comment by Andrii Khodyka [ 05/Oct/21 ]

David Crossley Yes, I've been working on this. Added more debug logs to get more information

Comment by Andrii Khodyka [ 08/Oct/21 ]

David Crossley Hi! I've added the new debug messages, could you please deploy it again?
https://github.com/folio-org/edge-inn-reach/releases/tag/v1.0.1

Comment by David Crossley [ 08/Oct/21 ]

As explained in Slack:

It will automatically deploy when the next reference environment builds happen. It has been redeploying your module every day.

I see that someone is calling for folio-snapshot-load to be rebuilt out-of-band, so yours will be there then. See #hosted-reference-envs channel now.

Please investigate when that build is finished:
https://dev.folio.org/faqs/how-to-obtain-refenv-logs/

Comment by David Crossley [ 08/Oct/21 ]

You asked in slack for the contents of ephemeral.properties file:

secureStore.type=Ephemeral
# a comma separated list of tenants
tenants=diku
#######################################################
# For each tenant, the institutional user password...
#
# Note: this is intended for development purposes only
#
# extra tenants for integration tests, see FOLIO-2647 and FOLIO-3122
#######################################################
diku=innreachClient,diku
Comment by Andrii Khodyka [ 11/Oct/21 ]

David Crossley Please, check the readme file one more time, you're missing the tenantsMappings property

 

secureStore.type=Ephemeral
# a comma separated list of tenants
tenants=test_tenant
# a comma separated list of tenants mappings in form X-TO-CODE:tenant, where X-TO-CODE it's InnReach Header value
tenantsMappings=fli01:test_tenant
#######################################################
# For each tenant, the institutional user password...
#
# Note: this is intended for development purposes only
#######################################################
test_tenant=innreachClient,password
Comment by David Crossley [ 12/Oct/21 ]

Wayne Schneider Could i please call on you for further assistance.

When commencing the configuration for this module edge-inn-reach, it seemed that they had copied the content of the READMEs of other recent edge modules edge-dematic and edge-caiasoft. So i followed our configuration for those modules at "folio-infrastructure/CI/ansible/edge-modules.yml" and its use of the "folio-ansible/roles/edge-module". I do not find any additional configuration for those other modules.

I am having trouble interpreting the edge-inn-reach README, but it seems that it should mostly be the same as those other modules.

For this additional configuration piece "tenantsMappings", does the "folio-ansible/roles/edge-module" need to be expanded to cater for this module, and omitted for all other edge modules?

Andrii Khodyka Your example in the previous comment shows a tenant called "test_tenant". There is no mention of that in your README. The default tenant at FOLIO reference environments is "diku".

Comment by David Crossley [ 14/Oct/21 ]

Wayne Schneider has added the extra capability to "folio-ansible/roles/edge-module" to enable generic "edge_tenants_mappings". Thanks.

I have configured that for edge-inn-reach and built a test reference environment folio-snapshot-test/402. That Jenkins build is successful.

I investigated the server, and see that the edge-inn-reach docker is now not restarting every minute. (I did stop it by accident after exec and inspect, but did restart it okay.)

The contents of the ephemeral.properties file is as expected for the "diku" tenant.

Andrii Khodyka Please verify that the "folio-snapshot-test" reference environment is now okay. I did attach the docker logs at edge-inn-reach-fst-402.txt

After your confirmation, the next step is for us to merge these infrastructure branches, and then rebuild one of the main reference environments.

Comment by David Crossley [ 19/Oct/21 ]

Andrii Khodyka Please see the previous comment.

We will need to use that test reference environment for other purposes.

Comment by Andrii Khodyka [ 19/Oct/21 ]

David Crossley,
Could you please clarify what exactly we need to verify? Do we need to do any end-to-end testing with edge-inn-reach -> mod-inn-reach communication?
If we are talking only about the deployment of the service, then the service is ok, I've checked the logs.

Comment by David Crossley [ 20/Oct/21 ]

Thanks for verifying the deployment. The infrastructure changes are now merged, and are included in today's reference environment builds.

That should be the end of DevOps team tasks. So closing this ticket. Other testing is for your team.

Comment by Dima Tkachenko [ 20/Oct/21 ]

David Crossley

Thank you for helping with introducing edge-inn-reach to ref envs.

Generated at Thu Feb 08 23:26:46 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.