Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rails debugging for Manifold #4212

Closed
3 of 5 tasks
kelynch opened this issue Sep 5, 2023 · 5 comments
Closed
3 of 5 tasks

Rails debugging for Manifold #4212

kelynch opened this issue Sep 5, 2023 · 5 comments
Labels
Operations pulls issues into the Operations ZenHub board

Comments

@kelynch
Copy link
Contributor

kelynch commented Sep 5, 2023

We are consistently getting a 503 error when following the out-of-the-box installation instructions for Manifold. Manifold is an omnibus solution bundle, meaning it runs its own services including nginx, sidekiq, Rails, cable, logrotate, and others. The error is happening before manifold even reaches any of PUL's own networking tools or infrastructure.

Determine which service(s) cannot communicate with other services within the solution bundle and troubleshoot for installation.

@acozine acozine added the Operations pulls issues into the Operations ZenHub board label Sep 11, 2023
@jrgriffiniii jrgriffiniii self-assigned this Sep 20, 2023
@jrgriffiniii
Copy link
Contributor

While investigating this with @carolyncole and @kayiwa, it was discovered that the client was implemented using the Server-Side React framework along with Redux.

Redux Actions utilize the Fetch API in order to request JSON data from the API endpoints, however, the URL for these endpoints is forced over the HTTP (rather than tunneled over TLS using HTTPS). This is due to the following Chef template:

https://github.com/ManifoldScholar/manifold-omnibus/blob/master/cookbooks/manifold/templates/default/browser-env.js.erb#L5

Manually editing this permits one to ensure that the SSL_ENABLED value is set, which is then propagated to the following:

https://github.com/ManifoldScholar/manifold/blob/master/client/src/config/services/index.js#L15

Without adjusting this, setting the Manifold variable @nginx["listen_https"] to true will trigger a failure for the NGINX reverse proxy, as one is required to provide a valid X.509 certificate for the NGINX reverse proxy even when this is load-balanced.

@jrgriffiniii
Copy link
Contributor

Using a fork under my personal account (https://github.com/jrgriffiniii/manifold), I have made progress with the following pull requests:

These support Ruby 3.0.5 releases and integrate Lando for testing.

@jrgriffiniii
Copy link
Contributor

Unfortunately, attempting to execute the rspec test suites raises the following errors:

[...]
An error occurred while loading ./spec/services/search/query_builder_spec.rb.
Failure/Error: raise FormattedAttributes::AlreadyDefinedError, "Already defined #{definition.path.inspect}" unless @definitions.add?(definition)

FormattedAttributes::AlreadyDefinedError:
  Already defined "series_title"
# ./app/services/formatted_attributes/configuration.rb:112:in `add!'
# ./app/services/formatted_attributes/configuration.rb:28:in `define!'
# ./app/models/concerns/has_formatted_attributes.rb:66:in `has_formatted_attribute'

This seems to be related to the following area of the codebase:

An error occurred while loading ./spec/services/search/query_builder_spec.rb.
Failure/Error: mapping.fetch(needle, &block)

KeyError:
  key not found: ReadingGroupProject(id: uuid, reading_group_id: uuid, project_...
  Did you mean?  "reading_group"
# ./app/services/concerns/multi_keyable.rb:153:in `block in fetch'
# ./app/services/concerns/multi_keyable.rb:152:in `fetch'
# ./app/models/concerns/collection_entry.rb:48:in `collector_definition'
# ./app/models/concerns/collection_entry.rb:54:in `collectable_definition'
# ./app/models/concerns/collection_entry.rb:27:in `collectable_associations'
# ./app/models/concerns/reading_group_entry.rb:8:in `block in <module:ReadingGroupEntry>'

@jrgriffiniii
Copy link
Contributor

Until the new release of Manifold is completed (currently ManifoldScholar/manifold#3605 is blocking this), it is been decided that progress on this should be deprioritized.

@jrgriffiniii jrgriffiniii removed their assignment Sep 22, 2023
@bess
Copy link
Contributor

bess commented Feb 15, 2024

We are not going to be running manifold ourselves, so we are closing this ticket.

@bess bess closed this as completed Feb 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Operations pulls issues into the Operations ZenHub board
Projects
None yet
Development

No branches or pull requests

4 participants