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

proxmox_kvm - Allow creation of VM with existing name but new vmid #6709

Merged

Conversation

UnderGreen
Copy link
Contributor

SUMMARY

Fixes #6155.

Allow to create a VM if vmid is provided and it doesn't exist in the cluster, but name for that VM already exists.

ISSUE TYPE
  • Bugfix Pull Request
COMPONENT NAME

proxmox_kvm

ADDITIONAL INFORMATION

@@ -1419,11 +1413,19 @@ def main():
else:
module.fail_json(vmid=vmid, msg="creation of qemu VM %s with vmid %s failed with exception=%s" % (name, vmid, e))

if update:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The same here - that code should be executed when the catch block hasn't fired.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added tests for the case when vmid matches existing vmid and another one to check if vmid is new, but name matches another VM in the cluster.

@ansibullbot

This comment was marked as outdated.

@ansibullbot
Copy link
Collaborator

@ansibullbot ansibullbot added bug This issue/PR relates to a bug ci_verified Push fixes to PR branch to re-run CI module module needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR plugins plugin (any type) tests tests unit tests/unit labels Jun 15, 2023
@ansibullbot ansibullbot removed ci_verified Push fixes to PR branch to re-run CI needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR labels Jun 15, 2023
@ansibullbot ansibullbot added needs_ci This PR requires CI testing to be performed. Please close and re-open this PR to trigger CI needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR and removed needs_ci This PR requires CI testing to be performed. Please close and re-open this PR to trigger CI needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR labels Jun 15, 2023
@felixfontein felixfontein added check-before-release PR will be looked at again shortly before release and merged if possible. backport-6 labels Jun 15, 2023
@ansibullbot ansibullbot added the module_utils module_utils label Jun 17, 2023
….yml

Co-authored-by: Felix Fontein <felix@fontein.de>
@felixfontein felixfontein removed the check-before-release PR will be looked at again shortly before release and merged if possible. label Jun 19, 2023
@felixfontein felixfontein merged commit fb04dc3 into ansible-collections:main Jun 19, 2023
@patchback
Copy link

patchback bot commented Jun 19, 2023

Backport to stable-6: 💔 cherry-picking failed — conflicts found

❌ Failed to cleanly apply fb04dc3 on top of patchback/backports/stable-6/fb04dc3db26af26d1787934c93d4d9180186923f/pr-6709

Backporting merged PR #6709 into main

  1. Ensure you have a local repo clone of your fork. Unless you cloned it
    from the upstream, this would be your origin remote.
  2. Make sure you have an upstream repo added as a remote too. In these
    instructions you'll refer to it by the name upstream. If you don't
    have it, here's how you can add it:
    $ git remote add upstream https://github.com/ansible-collections/community.general.git
  3. Ensure you have the latest copy of upstream and prepare a branch
    that will hold the backported code:
    $ git fetch upstream
    $ git checkout -b patchback/backports/stable-6/fb04dc3db26af26d1787934c93d4d9180186923f/pr-6709 upstream/stable-6
  4. Now, cherry-pick PR proxmox_kvm - Allow creation of VM with existing name but new vmid #6709 contents into that branch:
    $ git cherry-pick -x fb04dc3db26af26d1787934c93d4d9180186923f
    If it'll yell at you with something like fatal: Commit fb04dc3db26af26d1787934c93d4d9180186923f is a merge but no -m option was given., add -m 1 as follows instead:
    $ git cherry-pick -m1 -x fb04dc3db26af26d1787934c93d4d9180186923f
  5. At this point, you'll probably encounter some merge conflicts. You must
    resolve them in to preserve the patch from PR proxmox_kvm - Allow creation of VM with existing name but new vmid #6709 as close to the
    original as possible.
  6. Push this branch to your fork on GitHub:
    $ git push origin patchback/backports/stable-6/fb04dc3db26af26d1787934c93d4d9180186923f/pr-6709
  7. Create a PR, ensure that the CI is green. If it's not — update it so that
    the tests and any other checks pass. This is it!
    Now relax and wait for the maintainers to process your pull request
    when they have some cycles to do reviews. Don't worry — they'll tell you if
    any improvements are necessary when the time comes!

🤖 @patchback
I'm built with octomachinery and
my source is open — https://github.com/sanitizers/patchback-github-app.

@patchback
Copy link

patchback bot commented Jun 19, 2023

Backport to stable-7: 💚 backport PR created

✅ Backport PR branch: patchback/backports/stable-7/fb04dc3db26af26d1787934c93d4d9180186923f/pr-6709

Backported as #6729

🤖 @patchback
I'm built with octomachinery and
my source is open — https://github.com/sanitizers/patchback-github-app.

@felixfontein
Copy link
Collaborator

@UnderGreen thanks for your contribution!

patchback bot pushed a commit that referenced this pull request Jun 19, 2023
…6709)

* proxmox_kvm - Allow creation of VM with existing name but new vmid

* Fix pylint and pep8 errors

* Add changelog fragment

* Move status variable outside of try block

* Add assertion for calling get_vm_node function

* Use try/catch for module_utils functions

* Update changelogs/fragments/6709-proxmox-create-vm-with-existing-name.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit fb04dc3)
felixfontein pushed a commit that referenced this pull request Jun 19, 2023
…f VM with existing name but new vmid (#6729)

proxmox_kvm - Allow creation of VM with existing name but new vmid (#6709)

* proxmox_kvm - Allow creation of VM with existing name but new vmid

* Fix pylint and pep8 errors

* Add changelog fragment

* Move status variable outside of try block

* Add assertion for calling get_vm_node function

* Use try/catch for module_utils functions

* Update changelogs/fragments/6709-proxmox-create-vm-with-existing-name.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit fb04dc3)

Co-authored-by: Sergei Antipov <greendayonfire@gmail.com>
@UnderGreen UnderGreen deleted the proxmox/use-vmid-if-provided branch June 19, 2023 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue/PR relates to a bug module_utils module_utils module module plugins plugin (any type) tests tests unit tests/unit
Projects
None yet
Development

Successfully merging this pull request may close these issues.

proxmox_kvm: VM not created if name exists
3 participants