diff --git a/docs/badges/exploring_the_development_environment.rst b/docs/badges/exploring_the_development_environment.rst new file mode 100644 index 0000000..9146871 --- /dev/null +++ b/docs/badges/exploring_the_development_environment.rst @@ -0,0 +1,104 @@ +.. _exploring_the_development_environment: + +Exploring the development environment +==== + +This document will go through all repositories of Badges project +and describe the state of development environment and how it could be improved. + +Tahrir +---- + +`Tahrir `_ is a Fedora badges frontend. +The guide for setting up development environment is described in +`DEVELOPING.md `_ +and it's using `Vagrant `_. + +Vagrantfile.example is using F29, which is no longer available. Updated this to F36, +but encountered issue when tried to provision the machine by ansible +`Failed to connect to the host via ssh: Shared connection to xxx.xxx.xxx.xxx closed.` +Solved by defining the domain of VM in Vagrantfile:: + + config.vm.define "tahrir" do |tahrir| + tahrir.vm.host_name = "tahrir.example.com" + + tahrir.vm.provider :libvirt do |domain| + # Season to taste + domain.cpus = 4 + domain.graphics_type = "spice" + domain.memory = 2048 + domain.video_type = "qxl" + end + end + +The installation of the tahrir needed a specific version of setuptools (57.5.0), +later version doesn’t have 2to3 in it. + +The provisioning steps in the ansible needed to be done manually, because of this setuptools issue. +Installation in a virtual environment inside the vagrant machine was finished successfully. + +Initialization of the database failed on +`ImportError: cannot import name 'ZopeTransactionExtension' from 'zope.sqlalchemy'`. +To get over this I needed to remove `extension=ZopeTransactionExtension()` and corresponding import +from `.venv/lib64/python3.8/site-packages/tahrir_api-0.8.1-py3.8.egg/tahrir_api/model.py`. + +Next issue during the initialization of DB was `ModuleNotFoundError: No module named 'utils'` +Fixed this by adding `.` before local imports in +`.venv/lib64/python3.8/site-packages/tahrir_api-0.8.1-py3.8.egg/tahrir_api/dbapi.py` +This was the end of the provisioning phase. + +When trying to run `pserve --reload development.ini` I ended up with error +`TypeError: SignedCookieSessionFactory() got an unexpected keyword argument 'cookie_secure'` +Fixed by removing `cookie_` prefix from +`SignedCookieSessionFactory` call in `/vagrant/tahrir/__init__.py` + +Another error +`ImportError: cannot import name 'authenticated_userid' from 'pyramid.security' (unknown location)` +Fixed this by changing the dependency `pyramid < 2.0` in `setup.py` +See https://github.com/stevearc/pypicloud/issues/274 for more info + +After that the instance is running, but it’s not accessible outside of the VM. +When trying curl http://0.0.0.0:8000 it throws error +`TypeError: __init__() got an unexpected keyword argument 'extension'` + +At this point we wouldn't want to put more effort in it, because it means starting to fix +issues in app itself and this is not part of the investigation. + +Recommendation +^^^^ + +Before fixing the development environment Tahrir needs to be updated to python 3.0, so +it could run no never versions of Fedora. + +The development environment itself could be used with few enhancements. See investigation +above. + + +tahrir_api +---- + +tahrir_api is part of Fedora Badges backend and provides API and database to work with. +The guide for setting up development environment is available in +`README `_ and it's using Python +virtual environment. + +The guide is working without issue, but it's missing any tools to work with tahrir_api +itself. + +Recommendation +^^^^ + +Provide guide or tools to work with standalone tahrir_api in development environment. + + +fedbadges +---- + +fedbadges is part of Fedora Badges backend and provides consumer for fedmsg messages. +There is no guide or any description of development environment. + +Recommendation +^^^^ + +Create a development environment that allows you to work with fedbadges and document +it. diff --git a/docs/badges/index.rst b/docs/badges/index.rst index 940b959..aaf1b55 100644 --- a/docs/badges/index.rst +++ b/docs/badges/index.rst @@ -38,6 +38,7 @@ Resources * `Fedora Badges frontend `_ * `Issue ticket about the ongoing efforts of revitalization `_ * `Infrastructure developer guide `_ +* `Badges documentation in Fedora docs `_ Index ----