Project

General

Profile

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

Back