[Devstack] [Palm] Forum doesn't work

Summary:

Palm Devstack installations after 1 Nov 2023 have broken forum.

Steps To Reproduce:

  • install the Palm devstack from scratch using the how-to from the readme. Removing the forum image from your machine and reprovision forum using the provision-forum.sh script should work as well
  • visit forum (either MFE or legacy)

Logs:

forum container logs

W, [2023-11-06T13:40:37.818995 #5975]  WARN -- : NewRelic agent library not installed
/edx/app/forum/.gem/ruby/3.0.0/gems/rack-2.2.6.4/lib/rack/handler.rb:45:in `pick': Couldn't find handler for: thin, falcon, puma, HTTP, webrick. (LoadError)
	from /edx/app/forum/.gem/ruby/3.0.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1526:in `run!'
	from /edx/app/forum/.gem/ruby/3.0.0/gems/sinatra-3.0.6/lib/sinatra/main.rb:47:in `block in <module:Sinatra>'
W, [2023-11-06T13:40:42.362670 #6011]  WARN -- : NewRelic agent library not installed
W, [2023-11-06T13:40:42.549044 #6011]  WARN -- : Overwriting existing field _id in class User.
W, [2023-11-06T13:40:42.654055 #6011]  WARN -- : MONGODB | Unsupported client option 'max_retries'. It will be ignored.
W, [2023-11-06T13:40:42.654252 #6011]  WARN -- : MONGODB | Unsupported client option 'retry_interval'. It will be ignored.
W, [2023-11-06T13:40:42.654389 #6011]  WARN -- : MONGODB | Unsupported client option 'timeout'. It will be ignored.
W, [2023-11-06T13:40:42.695577 #6011]  WARN -- : NewRelic agent library not installed
/edx/app/forum/.gem/ruby/3.0.0/gems/rack-2.2.6.4/lib/rack/handler.rb:45:in `pick': Couldn't find handler for: thin, falcon, puma, HTTP, webrick. (LoadError)
	from /edx/app/forum/.gem/ruby/3.0.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1526:in `run!'
	from /edx/app/forum/.gem/ruby/3.0.0/gems/sinatra-3.0.6/lib/sinatra/main.rb:47:in `block in <module:Sinatra>'

Actual Result:

  • LMS has the ConnectionError (Max retries exceeded)
  • you can’t view/create forum posts

Expected Result:

The forum works, you can browse it, create new posts, etc.


Impact Analysis if possible (Optional)

  1. Local development connected with the Forum service

Important Notes

  • re-installing dependencies inside the container doesn’t work
  • re-provisioning doesn’t work
  • the problem is that we use the edxops/forum:latest docker image wich was updated recently
  • there is no palm docker image in the hub
  • there is no Dockerfile in the repo, so we can’t build the image locally
  • reproduced on cs_comments_service on the open-release/palm.master branch
  • Palm devstack provisioned more than a week ago has no problems

Temporary fix

  • Use the Olive image:
    # devstack/docker-compose.yml
    # before
        image: edxops/forum:latest
    # after
        image: edxops/forum:olive.master
    
  • Restart the forum to apply changes

@Evgen_Dyudyunov, you can try to build the image locally like this:

git clone https://github.com/openedx/configuration
cd configuration
git checkout open-release/palm.master
docker build -f docker/build/focal-common/Dockerfile . -t edxops/focal-common:latest
docker build -f docker/build/forum/Dockerfile . -t edxops/forum:palm.master
1 Like