Task #7221
Updated by Nico Schottelius about 5 years ago
I'll add things I find on the way of installing ucloud 0.0.1 in this ticket and they should be fixed prior to release. strike -through- what has been fixed h2. Small / doc Fixes * ucloud-api ** README: include curl example on creating VM ** Include curl example on listing VMs that belong to me ** Include curl example on deleting VM(s) that belong to me * all docs: ** instead of @pipenv shell@ and then executing, using @pipenv run@ ** how to configure ucloud? where is the main doc? * ucloud-pay ** order of pipenv commands seems to be mixed up ** pipenv shell->run ** typos in getting started ** main command is ucloud_pay instead of main ** example uses a "seed" in the argument -> needs to be a token ** unit is a bit strange (12000) ** user should / needs to be able to register only for themselves ** need to distinguish ADMIN vs. USER actions better * all docs: ** instead of @pipenv shell@ and then executing, using @pipenv run@ ** how to configure ucloud? where is the main doc? h2. ucloud-api After following the manual, the following error happens: <pre> [18:17] diamond:ucloud-api% pipenv run python main.py Traceback (most recent call last): File "main.py", line 13, in <module> from config import etcd_client as client File "/home/nico/vcs/ucloud-api/config.py", line 3, in <module> from etcd3_wrapper import Etcd3Wrapper ModuleNotFoundError: No module named 'etcd3_wrapper' [18:18] diamond:ucloud-api% </pre> h2. ucloud-pay We need a more graceful way of failing when stuff is not configured: <pre> [18:33] diamond:ucloud-pay% pipenv run python ucloud_pay.py Traceback (most recent call last): File "ucloud_pay.py", line 11, in <module> from config import etcd_client as client, logging, APP_PORT File "/home/nico/vcs/ucloud-pay/config.py", line 15, in <module> etcd_client = Etcd3Wrapper(host=config("ETCD_HOST"), port=config("ETCD_PORT")) File "/home/nico/.local/share/virtualenvs/ucloud-pay-_iEKDH1V/lib/python3.7/site-packages/decouple.py", line 197, in __call__ return self.config(*args, **kwargs) File "/home/nico/.local/share/virtualenvs/ucloud-pay-_iEKDH1V/lib/python3.7/site-packages/decouple.py", line 85, in __call__ return self.get(*args, **kwargs) File "/home/nico/.local/share/virtualenvs/ucloud-pay-_iEKDH1V/lib/python3.7/site-packages/decouple.py", line 70, in get raise UndefinedValueError('{} not found. Declare it as envvar or define a default value.'.format(option)) decouple.UndefinedValueError: ETCD_HOST not found. Declare it as envvar or define a default value. [18:37] diamond:ucloud-pay% </pre> h2. Easy / small improvements (?) * Centralisation ** maybe create a *ucloud* repo and begin to merge things ** * maybe have main *ucloud* script to launch components ** * maybe we add/move the documentation into there, as well ** * all this considering: how many LOC do we have at the moment? *** ** need to consider this for whether it's a good idea to merge * Configuration ** Our configuration base is /etc/ucloud ** Let's define an entry file like /etc/ucloud/ucloud.SOMETHING *** something = json, ini, python, whatever