Skip to content

server: export granular volume bytes and iops metrics#3259

Merged
yadvr merged 11 commits into
apache:masterfrom
shapeblue:granular-disk-metrics
Jun 27, 2019
Merged

server: export granular volume bytes and iops metrics#3259
yadvr merged 11 commits into
apache:masterfrom
shapeblue:granular-disk-metrics

Conversation

@yadvr

@yadvr yadvr commented Apr 4, 2019

Copy link
Copy Markdown
Member

Problem: The VM metrics has aggregated volume bytes read/write and iops metrics but not on per volume basis.
Root Cause: The volume stats sub-system is not used to export the metrics, the support is not available for VMware.
Solution: Use the volume stats sub-system and DB table to export the metrics via the listVolumes and listVolumeMetrics API, and implement support for VMware and fix issue with network and disk metrics in the VM metrics view.

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)

Screenshot from 2019-04-04 16-19-23

listVolume response will now have:

      "diskioread": 631,
      "diskiowrite": 130,
      "diskkbsread": 15084,
      "diskkbswrite": 135,

listVolumeMetrics response will have:

      "diskiopstotal": 761,
      "diskioread": 631,
      "diskiowrite": 130,
      "diskkbsread": 15084,
      "diskkbswrite": 135,

}

protected Answer execute(GetVmDiskStatsCommand cmd) {
// TODO: implement for Vmware

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@anuragaw

Copy link
Copy Markdown
Contributor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

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

@blueorangutan

Copy link
Copy Markdown

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

final VirtualMachineMO vmMo = dcMo.findVm(vmName);
final List<VmDiskStatsEntry> diskStats = new ArrayList<>();
for (VirtualDisk disk : vmMo.getAllDiskDevice()) {
// TODO Get UUID, PATH of VirtualDisk

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WIP - need to figure this out before testing end to end. CC/ @rhtyd

yadvr and others added 3 commits April 15, 2019 14:28
…ics API

This re-uses an existing volume stats dao/table to display the volume
specific disk read/write bytes and iops statistics via the listVolumes
and listVolumeMetrics API, as well as display granular metrics in the
UI.

TODO: implement support for VMware and possibly for XenServer?

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
@yadvr
yadvr force-pushed the granular-disk-metrics branch from c3d7541 to 0b72f55 Compare April 15, 2019 08:59
@yadvr

yadvr commented Apr 15, 2019

Copy link
Copy Markdown
Member Author

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

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

@blueorangutan

Copy link
Copy Markdown

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

yadvr added 4 commits April 15, 2019 18:11
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
@yadvr
yadvr force-pushed the granular-disk-metrics branch from 2bbfcbe to df25146 Compare April 16, 2019 11:57
@borisstoyanov

Copy link
Copy Markdown
Contributor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

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

@blueorangutan

Copy link
Copy Markdown

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

@borisstoyanov

Copy link
Copy Markdown
Contributor

@blueorangutan test

@blueorangutan

Copy link
Copy Markdown

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

@blueorangutan

Copy link
Copy Markdown

Trillian test result (tid-3502)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 24794 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3259-t3502-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

@borisstoyanov borisstoyanov left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@yadvr

yadvr commented Jun 7, 2019

Copy link
Copy Markdown
Member Author

@blueorangutan test centos7 vmware-65u2

@blueorangutan

Copy link
Copy Markdown

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

@borisstoyanov borisstoyanov left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM test results attached
test_results.xlsx

@apache apache deleted a comment from blueorangutan Jun 18, 2019
@yadvr

yadvr commented Jun 18, 2019

Copy link
Copy Markdown
Member Author

@blueorangutan test centos7 vmware65u2

@blueorangutan

Copy link
Copy Markdown

@rhtyd unsupported parameters provided. Supported mgmt server os are: centos6, centos7, ubuntu. Supported hypervisors are: kvm-centos6, kvm-centos7, kvm-ubuntu, xenserver-71, xenserver-65sp1, xenserver-62sp1, vmware-65u2, vmware-60u2, vmware-55u3, vmware-51u1, vmware-50u1

@yadvr

yadvr commented Jun 18, 2019

Copy link
Copy Markdown
Member Author

@blueorangutan test centos7 vmware-65u2

@blueorangutan

Copy link
Copy Markdown

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

@anuragaw anuragaw left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM from code and local testing

@blueorangutan

Copy link
Copy Markdown

Trillian test result (tid-3703)
Environment: vmware-65u2 (x2), Advanced Networking with Mgmt server 7
Total time taken: 32250 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3259-t3703-vmware-65u2.zip
Intermittent failure detected: /marvin/tests/smoke/test_snapshots.py
Intermittent failure detected: /marvin/tests/smoke/test_usage.py
Smoke tests completed. 69 look OK, 2 have error(s)
Only failed tests results shown below:

Test Result Time (s) Test File
test_02_list_snapshots_with_removed_data_store Error 1.15 test_snapshots.py
test_01_volume_usage Error 9.35 test_usage.py

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
@yadvr

yadvr commented Jun 20, 2019

Copy link
Copy Markdown
Member Author

Fixed conflicts
@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

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

@blueorangutan

Copy link
Copy Markdown

Packaging result: ✖centos6 ✔centos7 ✔debian. JID-2908

@yadvr

yadvr commented Jun 20, 2019

Copy link
Copy Markdown
Member Author

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

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

@blueorangutan

Copy link
Copy Markdown

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

@yadvr

yadvr commented Jun 24, 2019

Copy link
Copy Markdown
Member Author

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

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

@yadvr

yadvr commented Jun 25, 2019

Copy link
Copy Markdown
Member Author

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

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

@blueorangutan

Copy link
Copy Markdown

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

@yadvr

yadvr commented Jun 25, 2019

Copy link
Copy Markdown
Member Author

@blueorangutan test centos7 vmware-65u2

@blueorangutan

Copy link
Copy Markdown

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

@blueorangutan

Copy link
Copy Markdown

Trillian test result (tid-15)
Environment: vmware-65u2 (x2), Advanced Networking with Mgmt server 7
Total time taken: 33050 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3259-t15-vmware-65u2.zip
Intermittent failure detected: /marvin/tests/smoke/test_snapshots.py
Intermittent failure detected: /marvin/tests/smoke/test_usage.py
Smoke tests completed. 69 look OK, 2 have error(s)
Only failed tests results shown below:

Test Result Time (s) Test File
test_02_list_snapshots_with_removed_data_store Error 1.13 test_snapshots.py
test_01_volume_usage Error 8.27 test_usage.py

@yadvr

yadvr commented Jun 25, 2019

Copy link
Copy Markdown
Member Author

@blueorangutan test centos7 vmware-65u2

@blueorangutan

Copy link
Copy Markdown

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

@blueorangutan

Copy link
Copy Markdown

Trillian test result (tid-27)
Environment: vmware-65u2 (x2), Advanced Networking with Mgmt server 7
Total time taken: 32402 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3259-t27-vmware-65u2.zip
Intermittent failure detected: /marvin/tests/smoke/test_deploy_vm_root_resize.py
Intermittent failure detected: /marvin/tests/smoke/test_snapshots.py
Intermittent failure detected: /marvin/tests/smoke/test_usage.py
Smoke tests completed. 69 look OK, 2 have error(s)
Only failed tests results shown below:

Test Result Time (s) Test File
test_02_list_snapshots_with_removed_data_store Error 1.13 test_snapshots.py
test_01_volume_usage Error 8.29 test_usage.py

@yadvr yadvr changed the title [WIP DO NOT MERGE] server: export granular volume bytes and iops metrics server: export granular volume bytes and iops metrics Jun 27, 2019
@yadvr
yadvr merged commit 14bff7b into apache:master Jun 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants