Edx-notes-api installation problem

I tried installing Open edX Notes (https://github.com/edx/edx-notes-api) following the instructions provided by @lpm0073 at https://blog.lawrencemcdaniel.com/open-edx-notes

Everything seems to install correctly but I cannot save any annotations.

I have the message “Sorry we could not create this annotation” when trying to save the annotation.

I have the feeling the index is not created under ElasticSearch in any of the Ansible playbooks. I am saying this because using

curl ‘localhost:9200/_cat/indices?v’

does not return an index for edx_notes which is supposed to be the index used by Open edX Notes.

Can someone confirm where the index is created in the playbooks? I clearly cannot find it.

Or better, can someone provide the instructions in order to create it?


I am wondering if this could be another problem?
/edx/app/edx_notes_api/edx_notes_api/notesserver/settings/yaml_config.py:24: YAMLLoadWarning: calling yaml.load() without Loader=… is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
config_from_yaml = yaml.load(yaml_file)

I just noticed that the error messages are not directly from edX Notes but from edx-platform in


when it calls Annotator

Is there some special settings that need to be put in place to make sure Annotator works? How can I test it outside of edx Notes?

Thanks for any information.

I decided to quickly install a new Open edX instance based on open-release/ironwood.master. All went well as expected.

No customization whatsoever except for the passwords and the IP address for my new server.

I then decided to install edX Notes on that server following the same instructions.


I cannot search the annotations store.
I cannot create an annotation.

No error messages in /edx/var/log/lms/edx.log.
No error messages in /edx/var/log/supervisor/edx_notes_apitdout.log or /edx/var/log/supervisor/edx_notes_apitderr.log.
No error messages in /edx/var/log/elasticsearch/elasticsearch.log

Any suggestions where I should look now to understand what is going wrong? Thanks for any information.

I found the problem and I feel a little bit annoyed and ashamed…

It is a mixed content issue. Part of the page was displayed as https and the annotations part was in http on our test system. That would also be the case on out production system.

Now I have to fix it but I might have some trouble because of the way we configured our AWS Elastic Load Balancer (ELB) for https and the way nginx works behind that ELB. I tried a couple of things already but nothing satisfactory thus far.

Since this is another issue. I am closing this one.