Upgrading to Tutor 16.0.3 (Palm)


I am trying to upgrade to Palm and just ran tutor images build openedx and ran into the following error

 => ERROR [python-requirements 6/7] RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared cd /openedx/requirements/   && touch ./private.txt   && pip install -r ./private.txt              4.2s
 > [python-requirements 6/7] RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared cd /openedx/requirements/   && touch ./private.txt   && pip install -r ./private.txt:
1.337 Collecting git+https://github.com/Stanford-Online/xblock-in-video-quiz.git (from -r ./private.txt (line 1))
1.339   Cloning https://github.com/Stanford-Online/xblock-in-video-quiz.git to /tmp/pip-req-build-i9kvzm14
1.346   Running command git clone --filter=blob:none --quiet https://github.com/Stanford-Online/xblock-in-video-quiz.git /tmp/pip-req-build-i9kvzm14
1.960   Resolved https://github.com/Stanford-Online/xblock-in-video-quiz.git to commit 85fe7b4c445db410e41c363632ad1ec29a544573
1.967   Preparing metadata (setup.py): started
2.762   Preparing metadata (setup.py): finished with status 'done'
2.780 Collecting git+https://github.com/eduNEXT/flow-control-xblock.git (from -r ./private.txt (line 2))
2.782   Cloning https://github.com/eduNEXT/flow-control-xblock.git to /tmp/pip-req-build-h7d2wmjn
2.788   Running command git clone --filter=blob:none --quiet https://github.com/eduNEXT/flow-control-xblock.git /tmp/pip-req-build-h7d2wmjn
3.569   Resolved https://github.com/eduNEXT/flow-control-xblock.git to commit cd8464d7edfe7b05158a0858ff4833345880455a
3.577   Preparing metadata (setup.py): started
3.994   Preparing metadata (setup.py): finished with status 'error'
4.006   error: subprocess-exited-with-error
4.006   × python setup.py egg_info did not run successfully.
4.006   │ exit code: 1
4.006   ╰─> [1 lines of output]
4.006       error in flow-control-xblock setup command: 'python_requires' must be a string containing valid version specifiers; Invalid specifier: '>=3.5.*'
4.006       [end of output]
4.006   note: This error originates from a subprocess, and is likely not a problem with pip.
4.010 error: metadata-generation-failed
4.010 × Encountered error while generating package metadata.
4.010 ╰─> See above for output.
4.010 note: This is an issue with the package mentioned above, not pip.
4.010 hint: See above for details.
4.019 [notice] A new release of pip is available: 23.0.1 -> 23.2.1
4.019 [notice] To update, run: pip install --upgrade pip
 102 |     COPY ./requirements/ /openedx/requirements
 103 | >>> RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared cd /openedx/requirements/ \
 104 | >>>   && touch ./private.txt \
 105 | >>>   && pip install -r ./private.txt
 106 |
ERROR: failed to solve: process "/bin/sh -c cd /openedx/requirements/   && touch ./private.txt   && pip install -r ./private.txt" did not complete successfully: exit code: 1
Error: Command failed with status 1: docker buildx build --tag=docker.io/overhangio/openedx:16.0.3 --output=type=docker --cache-from=type=registry,ref=docker.io/overhangio/openedx:16.0.3-cache /klib/data/nla-openedx/env/build/openedx

Any ideas? Thanks!

Seem like some xblocks you installed are not compatible with Palm.
Try to xblocks that are not compatible.
Xblocks that you want to build into the openedx images can be found at:
“$(tutor config printroot)/env/build/openedx/requirements/private.txt”

In the log I can see “https://github.com/eduNEXT/flow-control-xblock.git” is a problem.

You can remove that xblock and rebuild to see if it works.
If you are upgrading production env, you should remove that xblock references or have it fixed to avoid unexpected errors.

1 Like

Thanks @Anh_Vu_Nguy_n that got it to build successfully. Do you know the best way to submit issues to that edX repository? There is no issues tab.

We can try and ping the authors here. It looks like the Flow Control XBlock might not work with Palm, yet. @Felipe, is eduNext still actively maintaining it?

It seems like we need to drop support for python 3.5 here.

We definitely are still supporting this, but now that MFEs are obligatory for learning this xblock might need a big rework. I’ll make the change to the python requirement anyways because having this xblock break builds is not cool.