Skip to content

filter hosts to query on zone wide storage#3733

Merged
DaanHoogland merged 1 commit intoapache:4.13from
shapeblue:issue-3596
Dec 20, 2019
Merged

filter hosts to query on zone wide storage#3733
DaanHoogland merged 1 commit intoapache:4.13from
shapeblue:issue-3596

Conversation

@DaanHoogland
Copy link
Copy Markdown
Contributor

@DaanHoogland DaanHoogland commented Dec 2, 2019

Description

skip hosts to query for volume stats based on their hypervisor type.

Fixes: #3596
Fixes: #3093

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?

As this command is send to the hypervisor by a worker thread, the only thing that needs to happen is for it to be installed and the stacktrace that was in the agent.log on the kvm hosts, to not appear anymore.

before

on the agent:

2019-12-02 14:47:52,059 WARN  [cloud.agent.Agent] (agentRequest-Handler-2:null) (logid:0221a2bf) Caught:
com.cloud.utils.exception.CloudRuntimeException: Could not fetch storage pool 16758e2d-e971-3f1e-be90-f1409ad449da from libvirt
        at com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager.getStoragePool(KVMStoragePoolManager.java:256)
        at com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager.getStoragePool(KVMStoragePoolManager.java:242)
        at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtGetVolumeStatsCommandWrapper.getVolumeStat(LibvirtGetVolumeStatsCommandWrapper.java:62)
        at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtGetVolumeStatsCommandWrapper.execute(LibvirtGetVolumeStatsCommandWrapper.java:52)
        at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtGetVolumeStatsCommandWrapper.execute(LibvirtGetVolumeStatsCommandWrapper.java:40)
        at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtRequestWrapper.execute(LibvirtRequestWrapper.java:78)
        at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1476)
        at com.cloud.agent.Agent.processRequest(Agent.java:640)
        at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:1053)
        at com.cloud.utils.nio.Task.call(Task.java:83)
        at com.cloud.utils.nio.Task.call(Task.java:29)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

in the server logs:

Details from executing class com.cloud.agent.api.GetVolumeStatsCommand: com.c
loud.utils.exception.CloudRuntimeException: Could not fetch storage pool 16758e2d-e971-3f1e-be90-f1409ad449da from libvirt
        at com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager.getStoragePool(KVMStoragePoolManager.java:256)
        at com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager.getStoragePool(KVMStoragePoolManager.java:242)
        at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtGetVolumeStatsCommandWrapper.getVolumeStat(LibvirtGetVolumeStatsCommandWrapper.java:62)
        at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtGetVolumeStatsCommandWrapper.execute(LibvirtGetVolumeStatsCommandWrapper.java:52)
        at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtGetVolumeStatsCommandWrapper.execute(LibvirtGetVolumeStatsCommandWrapper.java:40)
        at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtRequestWrapper.execute(LibvirtRequestWrapper.java:78)
        at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1476)
        at com.cloud.agent.Agent.processRequest(Agent.java:640)
        at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:1053)
        at com.cloud.utils.nio.Task.call(Task.java:83)
        at com.cloud.utils.nio.Task.call(Task.java:29)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

after applying patch (on server only):

2019-12-02 16:31:59,116 DEBUG [c.c.a.m.AgentManagerImpl] (StatsCollector-5:ctx-3794ee61) (logid:577754f7) Details from executing class com.cloud.agent.api.GetVolumeStatsCommand:

@DaanHoogland
Copy link
Copy Markdown
Contributor Author

@blueorangutan package

@blueorangutan
Copy link
Copy Markdown

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

@DaanHoogland DaanHoogland requested a review from nvazquez December 2, 2019 15:54
@blueorangutan
Copy link
Copy Markdown

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

@DaanHoogland
Copy link
Copy Markdown
Contributor Author

@blueorangutan package

@blueorangutan
Copy link
Copy Markdown

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

Copy link
Copy Markdown
Contributor

@nvazquez nvazquez left a comment

Choose a reason for hiding this comment

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

Code LGTM

@blueorangutan
Copy link
Copy Markdown

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

@DaanHoogland
Copy link
Copy Markdown
Contributor Author

@bwsw maybe you want to review this. I think it might solve your #3093 ?

@DaanHoogland DaanHoogland marked this pull request as ready for review December 2, 2019 19:06
@DaanHoogland
Copy link
Copy Markdown
Contributor Author

@blueorangutan test

@blueorangutan
Copy link
Copy Markdown

@DaanHoogland 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-573)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 26783 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3733-t573-kvm-centos7.zip
Smoke tests completed. 77 look OK, 0 have error(s)
Only failed tests results shown below:

Test Result Time (s) Test File

Copy link
Copy Markdown
Member

@weizhouapache weizhouapache left a comment

Choose a reason for hiding this comment

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

code LGTM

and 4.13 as well ?

Copy link
Copy Markdown
Contributor

@wido wido left a comment

Choose a reason for hiding this comment

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

LGTM on code

@DaanHoogland
Copy link
Copy Markdown
Contributor Author

will be backporting to 4.13 @weizhouapache

@DaanHoogland DaanHoogland changed the base branch from master to 4.13 December 5, 2019 15:18
@yadvr yadvr added this to the 4.13.1.0 milestone Dec 7, 2019
@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-463

@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

Copy link
Copy Markdown
Contributor

@borisstoyanov borisstoyanov left a comment

Choose a reason for hiding this comment

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

LGTM, can be merged if no regressions appear in tests

@blueorangutan
Copy link
Copy Markdown

Trillian test result (tid-619)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 36673 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3733-t619-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_internal_lb.py
Intermittent failure detected: /marvin/tests/smoke/test_vpc_redundant.py
Smoke tests completed. 75 look OK, 2 have error(s)
Only failed tests results shown below:

Test Result Time (s) Test File
test_04_rvpc_internallb_haproxy_stats_on_all_interfaces Error 201.17 test_internal_lb.py
test_05_rvpc_multi_tiers Failure 417.23 test_vpc_redundant.py
test_05_rvpc_multi_tiers Error 446.50 test_vpc_redundant.py

@DaanHoogland DaanHoogland merged commit 3ac03c8 into apache:4.13 Dec 20, 2019
@DaanHoogland DaanHoogland deleted the issue-3596 branch December 20, 2019 13:12
DaanHoogland added a commit that referenced this pull request Dec 20, 2019
* create template from snapshot regression (partly reverted) (#3767)

* Once again allow a VM to be on multiple networks from VPCs (#3754)

to once again allow a VM to be on multiple networks from VPCs

* convert protocal names to be found as labels (#3747)

* convert protocal names to be found as labels

* format

* filter hosts to query on zone wide storage (#3733)

* config: add isdynamic flag in configuration response (#3729)

Co-authored-by: Wei Zhou <ustcweizhou@gmail.com>
DaanHoogland added a commit that referenced this pull request Dec 23, 2019
* 4.13:
  Added zone check for attach iso (#3755)
  config: add isdynamic flag in configuration response (#3729)
  filter hosts to query on zone wide storage (#3733)
  convert protocal names to be found as labels (#3747)
  Once again allow a VM to be on multiple networks from VPCs (#3754)
  create template from snapshot regression (partly reverted) (#3767)
ustcweizhou pushed a commit to ustcweizhou/cloudstack that referenced this pull request Feb 28, 2020
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.

8 participants