Open edX ironwood.master - Notes Installation Problem

Hi,

I have installed Open edX release ironwood.master on AWS instance M5.XLarge by using the following guide:

https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/146440579/Native+Open+edX+platform+Ubuntu+16.04+64+bit+Installation?focusedCommentId=787742740

The installation complete without any error. After that I tried to install notes tool by using the following guide:

https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/26182212/How+to+Get+edX+Notes+Running

The file /edx/app/edx_ansible/edx_ansible/playbooks/roles/edx_notes_api/defaults/main.yml don’t have the properties to change. For example: EDX_NOTES_API_CLIENT_SECRET is not there in the file. So I created my own configuration file at ~/config-notes.yml:

EDX_NOTES_API_MYSQL_DB_PASS: ***
EDX_NOTES_API_MYSQL_HOST: localhost
EDX_NOTES_API_DATASTORE_NAME: “notes”
EDX_NOTES_API_SECRET_KEY: I put over 50 chars key
EDX_NOTES_API_CLIENT_ID: client id from the admin client configuration
EDX_NOTES_API_CLIENT_SECRET: client secret from the admin client configuration

EDX_NOTES_API_ALLOWED_HOSTS:

  • localhost
  • lms.mydomain

Following is the error:

TASK [aws : Gather ec2 facts for use in other roles] ****************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {“failed”: true, “msg”: “The module ec2_metadata_facts was not found in configured module paths. Additionally, core modules are missing. If this is a checkout, run ‘git pull --rebase’ to correct this problem.”}
to retry, use: --limit @/edx/app/edx_ansible/edx_ansible/playbooks/notes.retry

PLAY RECAP **********************************************************************************************************************************************************************************************************************************
localhost : ok=31 changed=3 unreachable=0 failed=1

Please help to resolve this issue. Thanks.

Hi mr. Mateen

Did you resolve this issue by any chance? I am getting same error

Regards

Hi @Melsu,

you can comment out aws role call to use this playbook against nonAWS instance.

I did not understand could you pls provide the exact command used? It will be great help thanks

$ cat ~/config-notes.yml
---
EDX_NOTES_API_VERSION: "open-release/ironwood.2"
EDXAPP_ENABLE_EDXNOTES: true
EDX_NOTES_API_MYSQL_DB_USER: "edx_notes_api"
EDX_NOTES_API_MYSQL_DB_NAME: "edx_notes_api"
EDXAPP_EDXNOTES_PUBLIC_API: "http://{{ EDXAPP_SITE_NAME }}:18120/api/v1"
EDXAPP_EDXNOTES_INTERNAL_API: "http://localhost:8120/api/v1"
EDX_NOTES_API_SECRET_KEY: "1234567890123456789012345678901234567890"
EDX_NOTES_API_CLIENT_ID: "12345678901234567890"
EDX_NOTES_API_CLIENT_SECRET: "1234567890123456789012345678901234567890"
EDX_NOTES_API_MYSQL_DB_PASS: "12345678901234567890"
EDX_NOTES_API_ALLOWED_HOSTS:
  - "127.0.0.1"
  - "localhost"
  - "{{ EDXAPP_SITE_NAME }}"
  - "{{ EDXAPP_SITE_NAME }}:18120"

$ /edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook -i,localhost \
-C local \
-e@/edx/app/edx_ansible/server-vars.yml \
-e@~/config-notes.yml \
-enginx_sites=edx_notes_api \
-erole=nginx \
/edx/app/edx_ansible/edx_ansible/playbooks/run_role.yml

$ /edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook -i,localhost \
-C local \
-e@/edx/app/edx_ansible/server-vars.yml \
-e@~/config-notes.yml \
-erole=edx_notes_api \
/edx/app/edx_ansible/edx_ansible/playbooks/run_role.yml

Thanks for the responce I will try and get back to you. Appreciate your swift response.

Cheers

I made these changes into /edx/app/edx_ansible/edx_ansible/playbooks/roles/edx_notes_api/defaults/main.yml file and /edx/app/edxapp/lms.env.json file and I did sudo

Which returned the following error msg

ERROR! the playbook: local could not be found

Sorry I am Rookie in this field so it’s not very easy for me.

I am following instructions @ https://blog.lawrencemcdaniel.com/open-edx-notes/ if you can suggest where exactly shall I be deviating the command in order to achieve this task.

Thanks & Cheers
Sujit

Thanks it finally worked for me :heart::heart::heart::heart::heart:

@Melsu I will highly appreciate it if you can write down the steps/ commands to make the Ironwood Notes working. This will help to save a lot of time and effort of the edX Community.

Hi @Azhar_Mateen

I wish melsu and I could submit detailed guide but held up on a project however this shall be a good pointer.

You follow Lawrence McDaniel’s blog step 1 & step 2. Additionally define Version in step 2 as open-release/ironwood.2
While performing step 3
First and foremost even before using source command do

sudo vim /edx/app/edx_ansible/edx_ansible/playbooks/notes.yml

Add #/comment out -aws in role section.

Then follow

source /edx/app/edx_ansible/venvs/edx_ansible/bin/activate
cd /edx/app/edx_ansible/edx_ansible/playbooks
sudo ansible-playbook -i ‘localhost,’ -c local ./run_role.yml -e ‘role=edxlocal’ -e@roles/edx_notes_api/defaults/main.yml

Subsequently run these 2 additional commands before going to step 4

sudo ansible-playbook -i ‘localhost,’ -c local ./run_role.yml -e ‘role=nginx’ -e ‘nginx_sites=edx_notes_api’ -e@roles/edx_notes_api/defaults/main.yml

&

sudo ansible-playbook -i ‘localhost,’ -c local ./run_role.yml -e ‘role=edx_notes_api’ -e@roles/edx_notes_api/defaults/main.yml

Continue to step 4 and make sure you don’t use

-e@/edx/app/edx_ansible/server-vars.yml

I think this shall work is what melsu told me. He isn’t able to come online due to personal reasons and he apologies for the delay.

Regards

Patel