How to run openedx for development?

Hello Opencraft,

I am new to this OpenEdx stuff and figured I wanted to run OpenEdx to take a stab at issue wg-build-test-release/223 but I couldn’t run OpenEdx to modify the code.

I am aware about tutor and devstack, I tried both. devstack wouldn’t let me do make dev.clone (from this document) or make dev.provision (from this document).

For reference, I exported OPENEDX_RELEASE to olive.4 because olive.4 is the latest stable version.

Here are the errors I get from the commands:

# make dev.clone
The [ecommerce] repo is already checked out. Checking for updates.
Checking out branch open-release/olive.4
From https://github.com/openedx/ecommerce
 * tag                   open-release/olive.4 -> FETCH_HEAD
Already up to date.
Cloning into 'edx-e2e-tests'...
fatal: Remote branch open-release/olive.4 not found in upstream origin
make[1]: *** [Makefile:173: impl-dev.clone.ssh] Error 128
make[1]: Leaving directory '/home/zest/setup/programs/devstack-container/devstack'
Would you like to assist devstack development by sending anonymous usage metrics to edX? Run `make metrics-opt-in` to learn more!
make: *** [Makefile:176: dev.clone.ssh] Error 2
# make dev.provision
+ docker-compose up -d lms
Pulling devpi (edxops/devpi:olive.4)...
ERROR: manifest for edxops/devpi:olive.4 not found: manifest unknown: manifest unknown
make[1]: *** [Makefile:220: impl-dev.provision] Error 1
make[1]: Leaving directory '/home/zest/setup/programs/devstack-container/devstack'
Would you like to assist devstack development by sending anonymous usage metrics to edX? Run `make metrics-opt-in` to learn more!
make: *** [Makefile:224: dev.provision] Error 2

That’s for devstack. But, when running tutor dev start my machine becomes frozen. I tried two machines with the same distro, Alpine Linux, but different CPUs (i5 10400F, AMD Ryzen 5 3600X) and the same amount of ram (8 GB) and different video cards (GTX 1650 4GB, RX 580 8 GB). The storage device is an SSD 128 GB transferred between the two machines.

I tried not launching X11(to save ram), waited 3 hours for tutor dev start to finish and it didn’t. Just for reference, my distro’s usage is about 50MB without X11.

I am aware that OpenEdx is more complex to setup than other programs because of its scalable nature but there has to be a way that’s allows for easier development. Am I missing something?

Anyhoo, I don’t know if this is the right place to write up about this kinda issue. If it isn’t, please guide me to the right mediums.

Thanks

1 Like

Hi @toms1441,

Glad to hear you are interested in getting involved!

I’m not sure quite what you mean when you say “I wanted to run Opencraft”, because OpenCraft is a company, not a software system. But I’m assuming you mean “Open edX” ?

For the devstack issue, it looks like a bug so I have filed a bug report for you. But until it’s fixed, there is an easy workaround: don’t set the OPENEDX_RELEASE variable at all, so that devstack will use the latest development (master) version of the platform and the various repos.

It’s always better to fix bugs on the master version anyways (someone else may have even already fixed them!) and later backport it to the stable release. And in general the devstack will work better with the development (master) version than the named releases, though both should be working fine.

For the Tutor issue, your best bet is to post on the Tutor Help forum along with a few more details - e.g. what step does it get stuck on, and can you see what’s running at the moment? e.g. by running ps -aux in another terminal or via ssh.

1 Like

Hello @braden,

I decided to go with devstack and modify the master branch, and it works. As for the note bug, it has been fixed since olive.3 but the issue is still open on GitHub.

Anyhoo, I encountered other bugs such as the Next button being greyed out on course items and the corridon(div that expands when clicked) of course items expands but has empty content.

My issue has been resolved but I just wanted to mention these two bugs.

Thanks for your help.