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
* 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
** This should be minimal and only contain etcd information
* etcd based configuration
** everything else should be in distributed data store