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

Master -- pr52033 -- Volume infos fix #55165

Merged
merged 10 commits into from
Dec 29, 2019
Merged

Conversation

cbosdo
Copy link
Contributor

@cbosdo cbosdo commented Oct 30, 2019

What does this PR do?

Master port of PR #52033. Needs PR #55163 to be merged in before.

Tests written?

Yes

Commits signed with GPG?

Yes

@cbosdo cbosdo requested a review from a team as a code owner October 30, 2019 13:25
@ghost ghost requested a review from Ch3LL October 30, 2019 13:26
@cbosdo cbosdo mentioned this pull request Oct 30, 2019
@cbosdo cbosdo changed the title Master pr52033 Master -- pr52033 -- Volume infos fix Oct 30, 2019
@cbosdo
Copy link
Contributor Author

cbosdo commented Dec 6, 2019

Also master port of PR #51691

@cbosdo
Copy link
Contributor Author

cbosdo commented Dec 6, 2019

Also master-port of PR #52414

@cbosdo
Copy link
Contributor Author

cbosdo commented Dec 6, 2019

@dwoz pinging you on this PR since I merged a few other related ones that you were looking at.

@cbosdo cbosdo force-pushed the master-pr52033 branch 2 times, most recently from c608f04 to c3bb736 Compare December 23, 2019 08:17
Expose informations of the libvirt storage volumes, either for one or
all the volumes. Among the provided data, this function exposes the
names of the virtual machines using the volumes of file type.
All users to remove a libvirt storage volume.
It may happen on pools that have not refresh for a long time that the
volume list is not matching reality. Then when calling the info() or
XMLDesc() functions libvirt errors out.

virt.volume_info() now handles this case.
Since the pool and volume parameters can be None, make them optional and
default to None.
Even though the volume_infos handles the libvirt exception when a volume
is missing, libvirt was still outputting the error message in the log.
Since this can add noise to the log only record the libvirt error
message in debug level.
libvirt raises an error when getting the list of volumes of a pool that
is not active. Rule out those pools from virt.volume_infos since we
still need to give infos on the other pools' volumes.
_get_domain returns a domain object when only one VM has been found.
virt.volume_infos needs to take care of it or it will fail to list the
volumes informations if the host in such a case.
virt._get_domain() throws an CommandExecutionError if there is no
virtual machine. In volume_infos() this is not an error at all since the
VMs list is only used to find out which VM uses each volume.
@dwoz dwoz merged commit fd4395e into saltstack:master Dec 29, 2019
@cbosdo cbosdo deleted the master-pr52033 branch December 30, 2019 08:40
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.

2 participants