Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
20 Aug 2014
Kimchi
Kimchi, a simple and smart KVM management tool with HTML5 interface and a REST API
Kimchi
Agenda
Kimchi Architecture
Host Management
REST API
Work In Progress
DEMO
Q&A
Kimchi
Kimchi Architecture
Design Goals
Cross-Platform
Fedora, RHEL,
Ubuntu, OpenSuSe
IE 10+, Chrome, Opera,
Firefox, Safari
Support I18N
English
Portugus
Extensible
Back-end: plugins, API
Front-end: tabs
UI (HTML 5,
Javascript,
CSS, ...)
VM
2014 IBM Corporation
Kimchi
Storage UI Tab
Plugin_x UI Tab
Back-end
CherryPy: Accept Request and Dispatch
/vms
/vms/vm_x/ifaces
/vms/vm_x/storages
/storagepools
/storagepools/poolx
/plugins/plugin_x
/plugins/plugin_x/foo
VM Controllers
Storage Controllers
Plugin Controllers
VM Models
Storage Models
Plugin Models
Kimchi
Browser
Nginx
CherryPy
Browser
https
https
WebSockify
VNC
Spice
QEMU
Kimchi
Agenda
Kimchi Architecture
Host Management
REST API
Work In Progress
DEMO
Q&A
Kimchi
Kimchi
Kimchi
ISO
Kimchi scans local ISOs in existing storage pools or /
Support using a remote ISO file directly (http://example.com/example.iso)
10
Kimchi
Agenda
Kimchi Architecture
Host Management
REST API
Work In Progress
DEMO
Q&A
11
Kimchi
12
Kimchi
Directory
NFS
iSCSI
SCSI/FC
Logical Volume
13
Kimchi
Storage On-Ramp
Kimchi
Remembers every storage server it used
Auto probes every target on the storage server
14
Kimchi
15
Kimchi
16
Kimchi
Agenda
Kimchi Architecture
Host Management
REST API
Work In Progress
DEMO
Q&A
17
Kimchi
Virtual Networks
18
Kimchi
VM1
VM2
VM3
VM4
nic
nic
nic
nic
br1
Host
19
br2
eth1
Kimchi
VM1
VM2
VM3
VM4
nic
nic
nic
nic
br1
Host
br2
NAT
eth1
20
Kimchi
VM1
VM2
VM3
VM4
nic
nic
nic
nic
br1
br2
br1
br2
Vlan1
Vlan2
Vlan1
Vlan2
Host1
eth0
21
bond0
eth1
Host2
eth0
bond0
eth1
Kimchi
Virtual Networks
22
Kimchi
Agenda
Kimchi Architecture
Host Management
REST API
Work In Progress
DEMO
Q&A
23
Kimchi
Host Management
Host Information
Distro, processor, memory
System statistics
CPU utilization, memory usage, disk I/O, network I/O
Software Updates
Repository Management
24
Kimchi
https://github.com/kimchi-project/ginger
25
Kimchi
Agenda
Kimchi Architecture
Host Management
REST API
Work In Progress
DEMO
Q&A
26
Kimchi
Kimchi API
Use standard HTTP methods (GET, PUT, POST, DELETE) to list, create, modify and delete
resources
Browser
Kimchi
Front-end
GET host/vms
200 OK JSON
CherryPy
Kimchi
Back-end
listAllDomains()
libvirt
[{name:vm1, ...}]
27
Kimchi
curl -k -u root \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
'https://127.0.0.1:8001/networks'
API Documentation
docs/API.md
API Schema
src/kimchi/API.json
28
Kimchi
Agenda
Kimchi Architecture
Host Management
REST API
Work In Progress
DEMO
Q&A
29
Kimchi
Work In Progress
Planned
Discovering Kimchi peers
Guest live migration
Download ISO file
Display detected iSCSI targets
Asynchronous event notification
Network bonding configuration
30
Kimchi
Demo
Live Demo
Backup Screenshots
31
Kimchi
Q&A
Github: https://github.com/kimchi-project/kimchi
WIKI: https://github.com/kimchi-project/kimchi/wiki
Mail List
Development kimchi-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/kimchi-devel
User Feedback kimchi-users@ovirt.org
http://lists.ovirt.org/mailman/listinfo/kimchi-users
32
Kimchi
33
Kimchi
34
Kimchi
35
Kimchi
36
Kimchi
37
Kimchi
38
Kimchi
39