# Make uncloud usable
## 2019-12-31: etcd
## 2019-12-30 test run w/ Ahmed @server11
Ahmed in the seat
* Get API running
* Get uncloud-host running
* ...
* Spawn a VM
### Commands / notes
* [19:20:24] server11.place6:~# useradd -m uncloud
* Why bitmath? (Convince nico :)
* I think most of it is already in python3
* **RE:** Nope. I could't be able to find out anything builtin, that does the job
* It helps in parsing units. Gb, gB, GB, gb --> GB
* It helps in converting from one unit to another.
* Example, we use GB as unit typically but some commands like `qemu-system-x86_64 -m 1024` here the `-m` parameter require memory in MegaBytes. So, we can easily convert from GB to MB with single function call
* Why sshtunnel **(Removed)**
* sphinx is probably not needed on the system **(Removed)**
* colorama
* Colors on terminals look beautiful :smile:. You will see yourself during demonstration.
* werkzeug (isn't that automatically from flask?) **(Removed)**
* marshmallow (that was for ...?)
* Also sounds like json of python3 might do quite a lot of it
* **RE** Please see https://marshmallow.readthedocs.io/en/stable/
* It validates/serializes/de-serializes
* It automatically generates sensibe error if input does not validates.
* JSON Verification/Serializaiton/Deserialization
* simplify etcd
* etcd
* how to specify multiple servers?
* Using users instead of certs (?)
* Define a strategy for using etcd correctly
* cli
* don't fail without the config !
* change the path to the config file (not in ~/ucloud)
* locale
```
(uncloud) uncloud@server11:~/ucloud-cli$ ./bin/ucloud-cli
RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. Consult https://click.palletsprojects.com/en/7.x/python3/ for mitigation steps.
This system supports the C.UTF-8 locale which is recommended.
You might be able to resolve your issue by exporting the
following environment variables:
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
```
## General requirements
* user uncloud
* python3
## Debian / Devuan
```
apt install python3-flask python3-flask-restful python3-pyotp python3-colorama
```
Not in Devuan 9:
* python-etcd3
* python marshmallow
## Servers/hardware
* server11.intern.place6.ungleich.ch
* server12.intern.place6.ungleich.ch
## Requirements
* Production etcd cluster
## OS notes
### Alpine
### Arch
### Devuan