---
# System prepended metadata

title: Make uncloud usable

---

# 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

