From Web Host to Cloud Host Syed Hashmi Founder & CEO Hosting Controller Inc.
murakumo Cloud Controller
-
Upload
shin5ok -
Category
Technology
-
view
58 -
download
0
Transcript of murakumo Cloud Controller
murakumo Cloud Controller
shin5okoriginal first version 201208
Whatrsquos murakumo
murakumo is IaaS Cloud controller api orchestrator
to manage VirtualMachine Storage and Network with Web api collection Command line tools
Supported Linux KVM
murakumo is running as core software in a DataCenter with OpenSource Liscense
Why did I try
2012 summer We started investigation for building IaaS service But we couldnrsquot find any software what meet our
requirements
We tried OpenStack(Diablo) but it has too many bugs so we had given up using it
try creating if nothing to study that as OpenSource
Who should use the murakumo
Who want to understand the detail of Cloud architecture
Who not need support various HyperVisor
Who want to fix bugs and improve software by oneselves (or think should do so)
Who like Perl much than Python(Openstack) or Java(Cloudstack)
Who use CentOS better than Ubuntu
Demo
My requirements
As a System OperatorWe can do all operation with CLI(Command Line)
Operations Configurations should be automation as much as possible There is not wrong status between actual system and management databases Auto configuration Auto rollback if it has error
The Design should be Simple so Operation members can understand system structure Other feature(like HA) is as extra function you can create them with api that provided from murakumo
As a Servive Provider
As a DeveloperWe can use all functions with Web api Easy to develop UI and management tools
We can understand grasp all codes 100 can resolve troubles and can create new features Easy to debug too
It can be small start and can be extended as desired
My requirements
Technical SpecificationController murakumo
Node murakumo_node
Lang Perl514
Lang Modules CatalystDBIxClass LogLog4PerlDataUUID etc
CatalystSysVirt ParallelPrefork etc
Web Server NginxStarman HTTPServerPSGI
JobQueue - TheSchwartz
Database MySQL51~ SQLite(for Job)
Require package (for RedHat) python-virtinst Libvirtlibguestfs
Postfix(for api retry queue)Verified OS RedHat Linux(CentOS6Scientific Linux6)
Feature of system structureThin Controller Rich Agent Autonomously working node agent JobQueue processing heavy works asynchronously Auto detect and configure the require storage network(VLANBridge) configurations Hard to be mismatch VirtualMachinersquos status and management data in database Loose couple component If some component is stopping it does not affect VirtualMachines Controller and node communicate each other with web api on HTTP so they are stateless so they are strong to failure Do not use Libvirt as much as possible because itrsquos not simple to use completely
Simple set up murakumo setup takes just about 10 minutes Easy Maintenance
Available your knowhow to scale up scale out You can use your WEB+DB knowhow to extend your cloud system
murakumo Component Relationship
api client13(cli web browser)
node13node13job
api13
storage agent
MTA
node13apimodel
Controller
Node
Storage
DB
httphttps
httphttps
httphttps
httphttps
libvirtd
VirtualMachine Operation with Web API Create VirtualMachine Modify structure VirtualMachine CPUmemory assign Multi-disk(on Multi-storage)Multi-network(VLAN) Changing iso online Multi-IP assign Support para-virtual(virtio) mode Support Bridge type VirtualMachine Changing disk cache mode at booting Clone VirtualMachine Auto Configuration for network and hostname on Linux(with libguestfs) BootStopForce stop VirtualMachine LiveMigration HA(experimental)
Resource Management per Project and All by SuperUser
VirtualMachine share Template You can set up some VirtualMachine for template and share them
murakumo function 1
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
Whatrsquos murakumo
murakumo is IaaS Cloud controller api orchestrator
to manage VirtualMachine Storage and Network with Web api collection Command line tools
Supported Linux KVM
murakumo is running as core software in a DataCenter with OpenSource Liscense
Why did I try
2012 summer We started investigation for building IaaS service But we couldnrsquot find any software what meet our
requirements
We tried OpenStack(Diablo) but it has too many bugs so we had given up using it
try creating if nothing to study that as OpenSource
Who should use the murakumo
Who want to understand the detail of Cloud architecture
Who not need support various HyperVisor
Who want to fix bugs and improve software by oneselves (or think should do so)
Who like Perl much than Python(Openstack) or Java(Cloudstack)
Who use CentOS better than Ubuntu
Demo
My requirements
As a System OperatorWe can do all operation with CLI(Command Line)
Operations Configurations should be automation as much as possible There is not wrong status between actual system and management databases Auto configuration Auto rollback if it has error
The Design should be Simple so Operation members can understand system structure Other feature(like HA) is as extra function you can create them with api that provided from murakumo
As a Servive Provider
As a DeveloperWe can use all functions with Web api Easy to develop UI and management tools
We can understand grasp all codes 100 can resolve troubles and can create new features Easy to debug too
It can be small start and can be extended as desired
My requirements
Technical SpecificationController murakumo
Node murakumo_node
Lang Perl514
Lang Modules CatalystDBIxClass LogLog4PerlDataUUID etc
CatalystSysVirt ParallelPrefork etc
Web Server NginxStarman HTTPServerPSGI
JobQueue - TheSchwartz
Database MySQL51~ SQLite(for Job)
Require package (for RedHat) python-virtinst Libvirtlibguestfs
Postfix(for api retry queue)Verified OS RedHat Linux(CentOS6Scientific Linux6)
Feature of system structureThin Controller Rich Agent Autonomously working node agent JobQueue processing heavy works asynchronously Auto detect and configure the require storage network(VLANBridge) configurations Hard to be mismatch VirtualMachinersquos status and management data in database Loose couple component If some component is stopping it does not affect VirtualMachines Controller and node communicate each other with web api on HTTP so they are stateless so they are strong to failure Do not use Libvirt as much as possible because itrsquos not simple to use completely
Simple set up murakumo setup takes just about 10 minutes Easy Maintenance
Available your knowhow to scale up scale out You can use your WEB+DB knowhow to extend your cloud system
murakumo Component Relationship
api client13(cli web browser)
node13node13job
api13
storage agent
MTA
node13apimodel
Controller
Node
Storage
DB
httphttps
httphttps
httphttps
httphttps
libvirtd
VirtualMachine Operation with Web API Create VirtualMachine Modify structure VirtualMachine CPUmemory assign Multi-disk(on Multi-storage)Multi-network(VLAN) Changing iso online Multi-IP assign Support para-virtual(virtio) mode Support Bridge type VirtualMachine Changing disk cache mode at booting Clone VirtualMachine Auto Configuration for network and hostname on Linux(with libguestfs) BootStopForce stop VirtualMachine LiveMigration HA(experimental)
Resource Management per Project and All by SuperUser
VirtualMachine share Template You can set up some VirtualMachine for template and share them
murakumo function 1
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
Why did I try
2012 summer We started investigation for building IaaS service But we couldnrsquot find any software what meet our
requirements
We tried OpenStack(Diablo) but it has too many bugs so we had given up using it
try creating if nothing to study that as OpenSource
Who should use the murakumo
Who want to understand the detail of Cloud architecture
Who not need support various HyperVisor
Who want to fix bugs and improve software by oneselves (or think should do so)
Who like Perl much than Python(Openstack) or Java(Cloudstack)
Who use CentOS better than Ubuntu
Demo
My requirements
As a System OperatorWe can do all operation with CLI(Command Line)
Operations Configurations should be automation as much as possible There is not wrong status between actual system and management databases Auto configuration Auto rollback if it has error
The Design should be Simple so Operation members can understand system structure Other feature(like HA) is as extra function you can create them with api that provided from murakumo
As a Servive Provider
As a DeveloperWe can use all functions with Web api Easy to develop UI and management tools
We can understand grasp all codes 100 can resolve troubles and can create new features Easy to debug too
It can be small start and can be extended as desired
My requirements
Technical SpecificationController murakumo
Node murakumo_node
Lang Perl514
Lang Modules CatalystDBIxClass LogLog4PerlDataUUID etc
CatalystSysVirt ParallelPrefork etc
Web Server NginxStarman HTTPServerPSGI
JobQueue - TheSchwartz
Database MySQL51~ SQLite(for Job)
Require package (for RedHat) python-virtinst Libvirtlibguestfs
Postfix(for api retry queue)Verified OS RedHat Linux(CentOS6Scientific Linux6)
Feature of system structureThin Controller Rich Agent Autonomously working node agent JobQueue processing heavy works asynchronously Auto detect and configure the require storage network(VLANBridge) configurations Hard to be mismatch VirtualMachinersquos status and management data in database Loose couple component If some component is stopping it does not affect VirtualMachines Controller and node communicate each other with web api on HTTP so they are stateless so they are strong to failure Do not use Libvirt as much as possible because itrsquos not simple to use completely
Simple set up murakumo setup takes just about 10 minutes Easy Maintenance
Available your knowhow to scale up scale out You can use your WEB+DB knowhow to extend your cloud system
murakumo Component Relationship
api client13(cli web browser)
node13node13job
api13
storage agent
MTA
node13apimodel
Controller
Node
Storage
DB
httphttps
httphttps
httphttps
httphttps
libvirtd
VirtualMachine Operation with Web API Create VirtualMachine Modify structure VirtualMachine CPUmemory assign Multi-disk(on Multi-storage)Multi-network(VLAN) Changing iso online Multi-IP assign Support para-virtual(virtio) mode Support Bridge type VirtualMachine Changing disk cache mode at booting Clone VirtualMachine Auto Configuration for network and hostname on Linux(with libguestfs) BootStopForce stop VirtualMachine LiveMigration HA(experimental)
Resource Management per Project and All by SuperUser
VirtualMachine share Template You can set up some VirtualMachine for template and share them
murakumo function 1
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
Who should use the murakumo
Who want to understand the detail of Cloud architecture
Who not need support various HyperVisor
Who want to fix bugs and improve software by oneselves (or think should do so)
Who like Perl much than Python(Openstack) or Java(Cloudstack)
Who use CentOS better than Ubuntu
Demo
My requirements
As a System OperatorWe can do all operation with CLI(Command Line)
Operations Configurations should be automation as much as possible There is not wrong status between actual system and management databases Auto configuration Auto rollback if it has error
The Design should be Simple so Operation members can understand system structure Other feature(like HA) is as extra function you can create them with api that provided from murakumo
As a Servive Provider
As a DeveloperWe can use all functions with Web api Easy to develop UI and management tools
We can understand grasp all codes 100 can resolve troubles and can create new features Easy to debug too
It can be small start and can be extended as desired
My requirements
Technical SpecificationController murakumo
Node murakumo_node
Lang Perl514
Lang Modules CatalystDBIxClass LogLog4PerlDataUUID etc
CatalystSysVirt ParallelPrefork etc
Web Server NginxStarman HTTPServerPSGI
JobQueue - TheSchwartz
Database MySQL51~ SQLite(for Job)
Require package (for RedHat) python-virtinst Libvirtlibguestfs
Postfix(for api retry queue)Verified OS RedHat Linux(CentOS6Scientific Linux6)
Feature of system structureThin Controller Rich Agent Autonomously working node agent JobQueue processing heavy works asynchronously Auto detect and configure the require storage network(VLANBridge) configurations Hard to be mismatch VirtualMachinersquos status and management data in database Loose couple component If some component is stopping it does not affect VirtualMachines Controller and node communicate each other with web api on HTTP so they are stateless so they are strong to failure Do not use Libvirt as much as possible because itrsquos not simple to use completely
Simple set up murakumo setup takes just about 10 minutes Easy Maintenance
Available your knowhow to scale up scale out You can use your WEB+DB knowhow to extend your cloud system
murakumo Component Relationship
api client13(cli web browser)
node13node13job
api13
storage agent
MTA
node13apimodel
Controller
Node
Storage
DB
httphttps
httphttps
httphttps
httphttps
libvirtd
VirtualMachine Operation with Web API Create VirtualMachine Modify structure VirtualMachine CPUmemory assign Multi-disk(on Multi-storage)Multi-network(VLAN) Changing iso online Multi-IP assign Support para-virtual(virtio) mode Support Bridge type VirtualMachine Changing disk cache mode at booting Clone VirtualMachine Auto Configuration for network and hostname on Linux(with libguestfs) BootStopForce stop VirtualMachine LiveMigration HA(experimental)
Resource Management per Project and All by SuperUser
VirtualMachine share Template You can set up some VirtualMachine for template and share them
murakumo function 1
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
Demo
My requirements
As a System OperatorWe can do all operation with CLI(Command Line)
Operations Configurations should be automation as much as possible There is not wrong status between actual system and management databases Auto configuration Auto rollback if it has error
The Design should be Simple so Operation members can understand system structure Other feature(like HA) is as extra function you can create them with api that provided from murakumo
As a Servive Provider
As a DeveloperWe can use all functions with Web api Easy to develop UI and management tools
We can understand grasp all codes 100 can resolve troubles and can create new features Easy to debug too
It can be small start and can be extended as desired
My requirements
Technical SpecificationController murakumo
Node murakumo_node
Lang Perl514
Lang Modules CatalystDBIxClass LogLog4PerlDataUUID etc
CatalystSysVirt ParallelPrefork etc
Web Server NginxStarman HTTPServerPSGI
JobQueue - TheSchwartz
Database MySQL51~ SQLite(for Job)
Require package (for RedHat) python-virtinst Libvirtlibguestfs
Postfix(for api retry queue)Verified OS RedHat Linux(CentOS6Scientific Linux6)
Feature of system structureThin Controller Rich Agent Autonomously working node agent JobQueue processing heavy works asynchronously Auto detect and configure the require storage network(VLANBridge) configurations Hard to be mismatch VirtualMachinersquos status and management data in database Loose couple component If some component is stopping it does not affect VirtualMachines Controller and node communicate each other with web api on HTTP so they are stateless so they are strong to failure Do not use Libvirt as much as possible because itrsquos not simple to use completely
Simple set up murakumo setup takes just about 10 minutes Easy Maintenance
Available your knowhow to scale up scale out You can use your WEB+DB knowhow to extend your cloud system
murakumo Component Relationship
api client13(cli web browser)
node13node13job
api13
storage agent
MTA
node13apimodel
Controller
Node
Storage
DB
httphttps
httphttps
httphttps
httphttps
libvirtd
VirtualMachine Operation with Web API Create VirtualMachine Modify structure VirtualMachine CPUmemory assign Multi-disk(on Multi-storage)Multi-network(VLAN) Changing iso online Multi-IP assign Support para-virtual(virtio) mode Support Bridge type VirtualMachine Changing disk cache mode at booting Clone VirtualMachine Auto Configuration for network and hostname on Linux(with libguestfs) BootStopForce stop VirtualMachine LiveMigration HA(experimental)
Resource Management per Project and All by SuperUser
VirtualMachine share Template You can set up some VirtualMachine for template and share them
murakumo function 1
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
My requirements
As a System OperatorWe can do all operation with CLI(Command Line)
Operations Configurations should be automation as much as possible There is not wrong status between actual system and management databases Auto configuration Auto rollback if it has error
The Design should be Simple so Operation members can understand system structure Other feature(like HA) is as extra function you can create them with api that provided from murakumo
As a Servive Provider
As a DeveloperWe can use all functions with Web api Easy to develop UI and management tools
We can understand grasp all codes 100 can resolve troubles and can create new features Easy to debug too
It can be small start and can be extended as desired
My requirements
Technical SpecificationController murakumo
Node murakumo_node
Lang Perl514
Lang Modules CatalystDBIxClass LogLog4PerlDataUUID etc
CatalystSysVirt ParallelPrefork etc
Web Server NginxStarman HTTPServerPSGI
JobQueue - TheSchwartz
Database MySQL51~ SQLite(for Job)
Require package (for RedHat) python-virtinst Libvirtlibguestfs
Postfix(for api retry queue)Verified OS RedHat Linux(CentOS6Scientific Linux6)
Feature of system structureThin Controller Rich Agent Autonomously working node agent JobQueue processing heavy works asynchronously Auto detect and configure the require storage network(VLANBridge) configurations Hard to be mismatch VirtualMachinersquos status and management data in database Loose couple component If some component is stopping it does not affect VirtualMachines Controller and node communicate each other with web api on HTTP so they are stateless so they are strong to failure Do not use Libvirt as much as possible because itrsquos not simple to use completely
Simple set up murakumo setup takes just about 10 minutes Easy Maintenance
Available your knowhow to scale up scale out You can use your WEB+DB knowhow to extend your cloud system
murakumo Component Relationship
api client13(cli web browser)
node13node13job
api13
storage agent
MTA
node13apimodel
Controller
Node
Storage
DB
httphttps
httphttps
httphttps
httphttps
libvirtd
VirtualMachine Operation with Web API Create VirtualMachine Modify structure VirtualMachine CPUmemory assign Multi-disk(on Multi-storage)Multi-network(VLAN) Changing iso online Multi-IP assign Support para-virtual(virtio) mode Support Bridge type VirtualMachine Changing disk cache mode at booting Clone VirtualMachine Auto Configuration for network and hostname on Linux(with libguestfs) BootStopForce stop VirtualMachine LiveMigration HA(experimental)
Resource Management per Project and All by SuperUser
VirtualMachine share Template You can set up some VirtualMachine for template and share them
murakumo function 1
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
As a Servive Provider
As a DeveloperWe can use all functions with Web api Easy to develop UI and management tools
We can understand grasp all codes 100 can resolve troubles and can create new features Easy to debug too
It can be small start and can be extended as desired
My requirements
Technical SpecificationController murakumo
Node murakumo_node
Lang Perl514
Lang Modules CatalystDBIxClass LogLog4PerlDataUUID etc
CatalystSysVirt ParallelPrefork etc
Web Server NginxStarman HTTPServerPSGI
JobQueue - TheSchwartz
Database MySQL51~ SQLite(for Job)
Require package (for RedHat) python-virtinst Libvirtlibguestfs
Postfix(for api retry queue)Verified OS RedHat Linux(CentOS6Scientific Linux6)
Feature of system structureThin Controller Rich Agent Autonomously working node agent JobQueue processing heavy works asynchronously Auto detect and configure the require storage network(VLANBridge) configurations Hard to be mismatch VirtualMachinersquos status and management data in database Loose couple component If some component is stopping it does not affect VirtualMachines Controller and node communicate each other with web api on HTTP so they are stateless so they are strong to failure Do not use Libvirt as much as possible because itrsquos not simple to use completely
Simple set up murakumo setup takes just about 10 minutes Easy Maintenance
Available your knowhow to scale up scale out You can use your WEB+DB knowhow to extend your cloud system
murakumo Component Relationship
api client13(cli web browser)
node13node13job
api13
storage agent
MTA
node13apimodel
Controller
Node
Storage
DB
httphttps
httphttps
httphttps
httphttps
libvirtd
VirtualMachine Operation with Web API Create VirtualMachine Modify structure VirtualMachine CPUmemory assign Multi-disk(on Multi-storage)Multi-network(VLAN) Changing iso online Multi-IP assign Support para-virtual(virtio) mode Support Bridge type VirtualMachine Changing disk cache mode at booting Clone VirtualMachine Auto Configuration for network and hostname on Linux(with libguestfs) BootStopForce stop VirtualMachine LiveMigration HA(experimental)
Resource Management per Project and All by SuperUser
VirtualMachine share Template You can set up some VirtualMachine for template and share them
murakumo function 1
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
Technical SpecificationController murakumo
Node murakumo_node
Lang Perl514
Lang Modules CatalystDBIxClass LogLog4PerlDataUUID etc
CatalystSysVirt ParallelPrefork etc
Web Server NginxStarman HTTPServerPSGI
JobQueue - TheSchwartz
Database MySQL51~ SQLite(for Job)
Require package (for RedHat) python-virtinst Libvirtlibguestfs
Postfix(for api retry queue)Verified OS RedHat Linux(CentOS6Scientific Linux6)
Feature of system structureThin Controller Rich Agent Autonomously working node agent JobQueue processing heavy works asynchronously Auto detect and configure the require storage network(VLANBridge) configurations Hard to be mismatch VirtualMachinersquos status and management data in database Loose couple component If some component is stopping it does not affect VirtualMachines Controller and node communicate each other with web api on HTTP so they are stateless so they are strong to failure Do not use Libvirt as much as possible because itrsquos not simple to use completely
Simple set up murakumo setup takes just about 10 minutes Easy Maintenance
Available your knowhow to scale up scale out You can use your WEB+DB knowhow to extend your cloud system
murakumo Component Relationship
api client13(cli web browser)
node13node13job
api13
storage agent
MTA
node13apimodel
Controller
Node
Storage
DB
httphttps
httphttps
httphttps
httphttps
libvirtd
VirtualMachine Operation with Web API Create VirtualMachine Modify structure VirtualMachine CPUmemory assign Multi-disk(on Multi-storage)Multi-network(VLAN) Changing iso online Multi-IP assign Support para-virtual(virtio) mode Support Bridge type VirtualMachine Changing disk cache mode at booting Clone VirtualMachine Auto Configuration for network and hostname on Linux(with libguestfs) BootStopForce stop VirtualMachine LiveMigration HA(experimental)
Resource Management per Project and All by SuperUser
VirtualMachine share Template You can set up some VirtualMachine for template and share them
murakumo function 1
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
Feature of system structureThin Controller Rich Agent Autonomously working node agent JobQueue processing heavy works asynchronously Auto detect and configure the require storage network(VLANBridge) configurations Hard to be mismatch VirtualMachinersquos status and management data in database Loose couple component If some component is stopping it does not affect VirtualMachines Controller and node communicate each other with web api on HTTP so they are stateless so they are strong to failure Do not use Libvirt as much as possible because itrsquos not simple to use completely
Simple set up murakumo setup takes just about 10 minutes Easy Maintenance
Available your knowhow to scale up scale out You can use your WEB+DB knowhow to extend your cloud system
murakumo Component Relationship
api client13(cli web browser)
node13node13job
api13
storage agent
MTA
node13apimodel
Controller
Node
Storage
DB
httphttps
httphttps
httphttps
httphttps
libvirtd
VirtualMachine Operation with Web API Create VirtualMachine Modify structure VirtualMachine CPUmemory assign Multi-disk(on Multi-storage)Multi-network(VLAN) Changing iso online Multi-IP assign Support para-virtual(virtio) mode Support Bridge type VirtualMachine Changing disk cache mode at booting Clone VirtualMachine Auto Configuration for network and hostname on Linux(with libguestfs) BootStopForce stop VirtualMachine LiveMigration HA(experimental)
Resource Management per Project and All by SuperUser
VirtualMachine share Template You can set up some VirtualMachine for template and share them
murakumo function 1
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
murakumo Component Relationship
api client13(cli web browser)
node13node13job
api13
storage agent
MTA
node13apimodel
Controller
Node
Storage
DB
httphttps
httphttps
httphttps
httphttps
libvirtd
VirtualMachine Operation with Web API Create VirtualMachine Modify structure VirtualMachine CPUmemory assign Multi-disk(on Multi-storage)Multi-network(VLAN) Changing iso online Multi-IP assign Support para-virtual(virtio) mode Support Bridge type VirtualMachine Changing disk cache mode at booting Clone VirtualMachine Auto Configuration for network and hostname on Linux(with libguestfs) BootStopForce stop VirtualMachine LiveMigration HA(experimental)
Resource Management per Project and All by SuperUser
VirtualMachine share Template You can set up some VirtualMachine for template and share them
murakumo function 1
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
VirtualMachine Operation with Web API Create VirtualMachine Modify structure VirtualMachine CPUmemory assign Multi-disk(on Multi-storage)Multi-network(VLAN) Changing iso online Multi-IP assign Support para-virtual(virtio) mode Support Bridge type VirtualMachine Changing disk cache mode at booting Clone VirtualMachine Auto Configuration for network and hostname on Linux(with libguestfs) BootStopForce stop VirtualMachine LiveMigration HA(experimental)
Resource Management per Project and All by SuperUser
VirtualMachine share Template You can set up some VirtualMachine for template and share them
murakumo function 1
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
Management Nodes(Physical Hosts) status resource Auto select nodes that boot VirtualMachine they are selected with every resource parameters
Multi-network(VLAN) Management IP address assignment
Combine Multi-storage For example first disk in main storage secondary disk in backup storage
Storage Agent for flexible management Auto select storage assignment with storage load(iowait) available capacity
Fast Cloning
Config forbidden API
murakumo function 2
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
murakumo CLI 32 subcommand(a point of 20128)
Subcommand example Get list of defined VirtualMachines $ murakumo vps-define-list
Clone a VirtualMachine (Auto configure network) $ murakumo vps-template-clone yen gt --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe yen gt --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip
Modify VirtualMachine structure(cpu number to 6 memory assign to 8GB) $ murakumo vps-define-modify yen gt --uuid daeb61fb-7390-49a1-9639-5b1858298723 yen gt --cpu-number 6 --memory 8192000
LiveMigration a VirtualMachine $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723yen gt --dst-node node005
Get list of instances on all projects(Require SuperUser) $ murakumo vps-list-all
murakumo function 3
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
CLI output exampleList of instances
Detail of a defined VirtualMachine
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
CLI (DebugMode) output exampleYou can get API request and response(ex list of nodes)
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
API example List of defined VirtualMachinesRequest GET httpsAPI_HOSTPORTPROJECT_IDvpsdefinelistkey=API_KEY
authed 1 is_admin 1 data [ update_time 2013-06-27 154652 memory 1024000 regist_time 2013-06-25 164653 cpu_number 1 name centos6-minimum tag uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 (省略) update_time 2013-06-27 155108 memory 1024000 regist_time 2013-06-27 155040 cpu_number 1 name nat tag uuid e1687a5a-def5-11e2-b984-4aee677a1317 ] tag project_id COMMON message result 1
Response body
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
Request POST httpsAPI_HOSTPORTPROJECT_IDvpsdefinecloneTEMPLATE_UUIDkey=API_KEY Request body set_network eth0 name clone-vps001 assign_ip 1 vlan_id 4001
Response body job_uuid 588edb82-e25d-11e2-a59e-1bce677a1317 uuid 66f332aa-dd6b-11e2-a3a2-6390677a1317 node murakumo-node0013000 message authed 1 is_admin 1 project_id COMMON result 1
Processing as async job you can ask API the result with job_uuid
httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388API Docs(under the construction)
API example Clone a VirtualMachine
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
murakumo system requirementsController(API) server to install murakumo Having one or more NIC As controller virtualServer is also ok but not under murakumo management
Node to install murakumo_node Physical server with virtualization support cpu Having two or more NIC (Recommend) more than 10Gbps support for storage network
Storage NFS support storage(Multi-Storage available at the same time) If you want to use Storage Agent You have to build storage with Linux(or other Unix)
Network Switchfor GlobalPrivate network VLAN supported
Network Switch for management common L2 switch
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
Service Network Switch(VLAN support)
murakumo Controller murakumo_node murakumo_nodeNFS
Storage
Storage Switch
Management Network Switch
vps vps vps vps
vps vps vps vps
Global 1 Global 2
murakumo general configuration
Storage Management
Storage Switch
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
Service Network Switch
Private Network Switch
Management Network Switch
murakumo extended configuration
Service Network Switch
DB DB
Controller
Storage
Management
Storage
Management
Storage
Storage
ospf
vrrp
Controller
Node Server Groups
Storage Network Switch
Replication
vip Redundant with
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time
Resource
Source codes httpsgithubcomshin5okmurakumo httpsgithubcomshin5okmurakumo_node httpsgithubcomshin5okmurakumo_storage_agent
Documents httpsgithubcomshin5okmurakumowikiapiE38389E382ADE383A5E383A1E383B3E38388
Thank you for your time