Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DPDK vHost User mode selection #3153

Merged
merged 5 commits into from May 29, 2019

Conversation

@nvazquez
Copy link
Contributor

commented Jan 28, 2019

Description

This feature extends the DPDK support for KVM, introduced on PR #2839. It allows:

  • Add extra configurations on service offering creation, as service offering details:

    • Keys starting with "extraconfig" keyword.
    • Values: URL UTF-8 encoded strings of extra configuration to be placed on the VM (XML for KVM)
    • Note: VM extra configurations take precedence over service offering extra configurations in case of collision of key names.
  • Add DPDK vHost User mode as a service offering details on service offering creation:

    • Key: "DPDK-VHOSTUSER"
    • Values: "client" or "server"

Depending on the DPDK vHost User mode, the OpenvSwitch DPDK ports should be created different as well as the guest VMs interfaces:

DPDK vHost User Mode OVS port creation type VM guest interface mode
server dpdkvhostuser client
client dpdkvhostuserclient server

Documentation: apache/cloudstack-documentation#28

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)

Screenshots (if appropriate):

How Has This Been Tested?

Tested on KVM environment with DPDK enabled hosts.

@rhtyd
rhtyd approved these changes Jan 29, 2019
Copy link
Member

left a comment

LGTM overall, assuming the feature works however some refactorings may be done without increasing the size of existing guru classes.

@nvazquez

This comment has been minimized.

Copy link
Contributor Author

commented Jan 30, 2019

Thanks @rhtyd, have refactored after your comments and re-tested the feature

@borisstoyanov

This comment has been minimized.

Copy link
Contributor

commented Feb 1, 2019

@blueorangutan package

@blueorangutan

This comment has been minimized.

Copy link

commented Feb 1, 2019

@borisstoyanov a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@borisstoyanov

This comment has been minimized.

Copy link
Contributor

commented Feb 1, 2019

@nvazquez are these extra configuration settings at the service offering layer would be accepted from other hypervisors like VMWare and XenServer? I'm wondering if this would simply work out of the box for non-dpdk related settings?

@blueorangutan

This comment has been minimized.

Copy link

commented Feb 1, 2019

Packaging result: ✖centos6 ✖centos7 ✖debian. JID-2588

@borisstoyanov
Copy link
Contributor

left a comment

@nvazquez there seems to be something wrong with the build
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.21.0:test (default-test) on project cloud-server: There are test failures.
Also could you look into the travis and jenkins failed checks

@nvazquez nvazquez force-pushed the shapeblue:dpdkvhostusermode branch from b8e5e68 to 0769400 Apr 1, 2019

@nvazquez

This comment has been minimized.

Copy link
Contributor Author

commented Apr 1, 2019

@borisstoyanov now that master is unfrozen I have rebased master, solved conflicts and pushed again

@nvazquez

This comment has been minimized.

Copy link
Contributor Author

commented Apr 3, 2019

@blueorangutan package

@blueorangutan

This comment has been minimized.

Copy link

commented Apr 3, 2019

@nvazquez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@blueorangutan

This comment has been minimized.

Copy link

commented Apr 3, 2019

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2673

@nvazquez

This comment has been minimized.

Copy link
Contributor Author

commented Apr 3, 2019

@blueorangutan

This comment has been minimized.

Copy link

commented Apr 3, 2019

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan

This comment has been minimized.

Copy link

commented Apr 3, 2019

Trillian test result (tid-3465)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 28942 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3153-t3465-kvm-centos7.zip
Smoke tests completed. 70 look OK, 0 have error(s)
Only failed tests results shown below:

Test Result Time (s) Test File
@nvazquez

This comment has been minimized.

Copy link
Contributor Author

commented Apr 12, 2019

Ping @borisstoyanov @rhtyd are you ok with this one?

@nvazquez nvazquez force-pushed the shapeblue:dpdkvhostusermode branch from f277369 to b8fb516 May 13, 2019

@nvazquez

This comment has been minimized.

Copy link
Contributor Author

commented May 13, 2019

Master rebased and issues fixed @rhtyd @borisstoyanov

@rhtyd

This comment has been minimized.

Copy link
Member

commented May 22, 2019

@blueorangutan package

@blueorangutan

This comment has been minimized.

Copy link

commented May 22, 2019

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@blueorangutan

This comment has been minimized.

Copy link

commented May 22, 2019

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2749

@rhtyd

This comment has been minimized.

Copy link
Member

commented May 23, 2019

@blueorangutan package

@blueorangutan

This comment has been minimized.

Copy link

commented May 23, 2019

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@blueorangutan

This comment has been minimized.

Copy link

commented May 23, 2019

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2761

@borisstoyanov
Copy link
Contributor

left a comment

LGTM

@rhtyd

This comment has been minimized.

Copy link
Member

commented May 27, 2019

@rhtyd
rhtyd approved these changes May 27, 2019
@blueorangutan

This comment has been minimized.

Copy link

commented May 27, 2019

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@rhtyd rhtyd closed this May 27, 2019

@rhtyd rhtyd reopened this May 27, 2019

@rhtyd

This comment has been minimized.

Copy link
Member

commented May 27, 2019

Closed-reopened PR to rekick Travis

@DaanHoogland

This comment has been minimized.

Copy link
Contributor

commented May 27, 2019

travis worked after some re-kicks of individual jobs :|

@nvazquez

This comment has been minimized.

Copy link
Contributor Author

commented May 29, 2019

Thanks @rhtyd @DaanHoogland @borisstoyanov
Merging as per test results and 2 LGTM

@nvazquez nvazquez merged commit 501aa7c into apache:master May 29, 2019

2 checks passed

Jenkins This pull request looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.