KVM: DPDK live migrations#3365
Conversation
|
@blueorangutan package |
|
@borisstoyanov a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2816 |
|
@blueorangutan package |
|
@borisstoyanov a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2817 |
|
@blueorangutan test |
|
@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
Trillian test result (tid-3613)
|
|
@blueorangutan test |
|
@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
There was a problem hiding this comment.
LGTM, based on marvin tests, code review and manual verification on DPDK enabled hosts, both covering normal and DPDK VMs. It passed tests for migration(positive and negative) on enabled and non VMs. Also cleanup is properly done as well as host capability recognition.
test results: test-results.xlsx
|
Trillian test result (tid-3624)
|
|
@nvazquez can you address the merge conflicts pls. |
|
@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
Trillian test result (tid-3679)
|
DaanHoogland
left a comment
There was a problem hiding this comment.
looks good overall, to large to judge in detail. the prove of the code is in the testing.
|
Thanks @DaanHoogland, renamed classes after your comment |
|
@nvazquez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2893 |
|
@blueorangutan test |
|
@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2894 |
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2895 |
|
Packaging result: ✔centos6 ✔centos7 ✖debian. JID-2896 |
|
Trillian test result (tid-3696)
|
|
@blueorangutan package |
|
@nvazquez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2912 |
|
@blueorangutan test |
|
@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
Trillian test result (tid-3712)
|
|
@blueorangutan package |
|
@nvazquez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-11 |
|
@blueorangutan test |
|
@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
@anuragaw @shwstppr @DaanHoogland please review, thanks. |
|
Trillian test result (tid-9)
|
|
Merging based on approvals and test results |
Description
This feature allows administrators to perform live migrations on DPDK enabled VMs between DPDK enabled hosts in the same cluster.
A DPDK enabled host must be configured to enable the CloudStack DPDK support. Properties on agent.properties must be populated as:
Each time a CloudStack agent on a KVM host starts a connection to its management server, it sends a comma-separated list of capabilities available on the host, such as: 'hvm', 'snapshot'. The management server persists the information received from the agent on database ('capabilities' column on 'hosts' table)
When the property 'openvswitch.dpdk.enabled' = true, the 'dpdk' capability is included in the list of capabilities sent to the management server.
When the property 'openvswitch.dpdk.enabled' = false, the list of capabilities sent to the management server does not inclide the 'dpdk' capability.
Please note that agent restart is required after any property from agent.properties file is changed. Also having the dpdk capability, the hosts will be able and will host VMs without the dpdk configuration. In this case, openvswitch ports without DPDK support are created, just like for system VMs.
The management server is enhanced to determinate if a VM is a DPDK enabled VM when:
API changes
The 'findSuitableHostsForMigration' API is enhanced to support DPDK enabled VMs.
The 'migrateVirtualMachine' API method is extended to support DPDK enabled VMs live migrations:
Types of changes
Screenshots (if appropriate):
How Has This Been Tested?