Caute,
vpsAdmin pod Aitherovou rukou prosel velkym prerodem na API-centrickou
aplikaci, zaroven se pridalo od zacatku spoustu funkcionality a ne
vzdycky se ji povedlo do stavajiciho UI dolepit dostatecne intuitivne.
Po tech letech by to chtelo ty naplavy PHPckovyho bahna zahodit uplne a
udelat nacisto nove UItko od nuly.
Jelikoz je vpsAdmin RESTful HTTP API, myslim si, ze idealni bude
postavit javascriptovou aplikaci v browseru, ktera bude to API dotazovat.
Je tu nekdo, kdo takove aplikace umi stavet, ma uz s tim zkusenost by na
to cas?
V podstate shanime nekoho, kdo s nama bude pracovat na vpsAdminu
dlouhodobe a vzal by si ten frontend na triko i do budoucna.
Najde se nekdo?
Kdyby byl jeste rozumne blizko Brnu (nebo rovnou v Brne), tak je to
super bonus :)
Diky,
/snajpa
Ahoj,
haveapi-fs [1] je virtuální souborový systém založený na FUSE [2], který
umožňuje připojit jakékoli API využívající HaveAPI [3], a pracovat s ním
na úrovni adresářů a souborů. Samozřejmě to funguje také s naším
api.vpsfree.cz [4,5].
Práce s haveapi-fs by měla být ještě jednodušší, než s konzolovým
klientem, protože je vše hned vidět jako adresáře a soubory, nemusíme
zjišťovat názvy objektů, akcí, parametrů, přepínačů, apod.
haveapi-fs je napsán v Ruby a instaluje se tak pomocí RubyGems:
$ gem install haveapi-fs
API se připojí následujícím příkazem:
$ haveapi-fs <api_url> <mountpoint>
tedy konkrétně naše API jako
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz
Odpojení se provede buď přímo příkazem umount jako root, nebo
fusermount -u /mnt/api.vpsfree.cz jako neprivilegovaný uživatel.
Mountpoint obsahuje seznam objektů v API a soubory s nápovědou:
$ cd /mnt/api.vpsfree.cz
$ tree -L 1 .
├── ...
├── dataset/
├── environment/
├── location/
├── node/
├── vps/
├── help.html
├── help.man
├── help.md
├── help.txt
└── ...
Soubory help.{html,man,md,txt} se nachází v každém adresáři a obsahují
vždy popis aktuálního adresáře, tzn. jaké má vlastnosti a jaké má
podadresáře a soubory.
V adresáři objektu je seznam všech jeho záznamů, tedy např. seznam všech
VPS patřících k účtu:
$ tree -L 1 vps/
vps
├── 1112/
├── 1171/
├── 1234/
├── 1245/
├── actions/
├── create.yml
├── help.html
├── help.man
├── help.md
└── help.txt
Záznamy můžeme rovnou i filtrovat:
$ tree -L 1 vps/by-node/103/by-os_template/26
vps/by-node/103/by-os_template/26
├── 1112/
└── ...
$ cat vps/by-node/103/by-os_template/26/1112/node_id
103
$ cat vps/by-node/103/by-os_template/26/1112/os_template_id
26
Podíváme-li se do adresáře nějakého konkrétního VPS, uvidíme seznam jeho
atributů jako soubory, asociované objekty jako adresáře a akce, které
můžeme volat, jsou v adresáři `actions/`:
$ tree -L 1 vps/1112
vps/1112
├── actions/
├── id
├── hostname
├── node/
├── os_template/
├── edit.yml
├── save
└── ...
$ cat vps/1112/hostname
moje-vps
$ cat vps/1112/node/domain_name
node3.prg
$ cat vps/1112/node/location/label
Praha
$ cat vps/1112/os_template/label
Scientific Linux 6.6
Dle oprávnění lze vybrané atributy i měnit, např. změna hostname:
$ echo novy-hostname > vps/1112/hostname
$ echo 1 > vps/1112/save
Zavolat jde i jakákoli jiná akce:
$ tree -L 1 vps/1112/actions
vps/1112/actions
├── ...
├── passwd/
├── reinstall/
├── restart/
├── start/
├── stop/
├── swap_with/
└── update/
$ echo 1 > vps/1112/actions/passwd/exec
Informace o úspěchu či neúspěchu akce je vždy v souboru `status`:
$ cat vps/1112/actions/passwd/status
1
Výstupní parametry jsou pak v adresáři `output/`:
$ cat vps/1112/actions/passwd/output/password
cmrdBcm72KkAM85Ux2MK
Přes další soubory se lze dostat k případné chybové hlášce (`message`),
seznamu chyb (`errors/`) a také zadávat vstupní parametry (`input/`).
Akce lze vykonávat i pomocí `exec.yml` souboru, ve kterém se vyplní
vstupní parametry v YAMLu a po uložení a zavření souboru se akce vykoná.
Takto se dají jednoduše vytvářet nové objekty (`create.yml`) i upravovat
existující (`edit.yml`).
$ vim vps/1112/edit.yml
hostname: dalsi-zmena
:wq
Kompletní popis toho, co haveapi-fs umí, je v README.md [6].
[1] https://github.com/vpsfreecz/haveapi-fs
[2] https://en.wikipedia.org/wiki/FUSE_%28Linux%29
[3] https://github.com/vpsfreecz/haveapi
[4] https://api.vpsfree.cz/
[5] https://kb.vpsfree.cz/navody/vps/api
[6] https://github.com/vpsfreecz/haveapi-fs#usage
Jakub
Mam dotaz ohledne QEMU IO vykonu,
primo ve vps dostavam pri nasledujicim testu
time dd if=/dev/zero of=/test oflag=direct bs=64k count=16000
nasledujici vysledek
16000+0 records in
16000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 4.11019 s, 255 MB/s
real 0m4.112s
user 0m0.012s
sys 0m0.720s
Nicmene kdyz to pustim v QEMU na disku typu raw, dostanu
16000+0 records in
16000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 13.6918 s, 76.6 MB/s
real 0m4.112s
user 0m0.012s
sys 0m0.720s
QEMU spoustim takto:
qemu-system-x86_64 -cpu host -cdrom archlinux-2016.04.01-dual.iso -drive
file=test,format=raw,cache=writeback -boot order=d -m 1024M -enable-kvm
Disk je naformatovan primo uvnitr QEMU na ext4.
Vykon je tedy vyrazne mensi nez primo ve VPS. Je to maximum, jak
blizko se jde dostat? Nebo mam nekde chybu v tom, jak to pouzivam?
Diky za pomoc,
T.
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
O víkendu proběhl v Bratislavě OSS víkend, na kterém Tomáš Srnka
přednášel o vpsFree.cz. Podívejte se na záznam jeho přednášky, ve které
se dozvíte o principu vpsFree.cz a nějaká zajímavé čísla ze současnosti:
https://youtu.be/btS90phQ558?t=4h33m40s
--
Petr Krčmář
vpsFree.cz
Ahoj,
mam na vpske ispconfig, vsimol som si ze mi nefunguju kvoty na hardisk,
predpokladam ze je to sposobene tym ze sa ignoruje fstab.
vedel by mi niekto poradit ako ich rozbehat ?
dakujem
Zdar,
funguje Vam node3.brq? Mam tam 2 VPSky a oboje su mrtve. Ked dam
restart z vpsadminu, zostane na 0%.
Pritom outage nevidim.
Je chyba u mna?
Brano
Ahoj,
konecne se chystam vyzkouset si QEMU a rozhodit si par virtualu ve
VPSce. Ale narazim na to, jak to rozumne managovat. V pripade updatu se
mi nechce logovat do kazdeho systemu zvlast, pustit uplne stejny pripaz
pro update etc. Co pouzivate vy na spravu vice serveru, aby to bylo
zvladnutelne? Diky za tipy.
T.
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.