[feature] New power type: Proxmox

Bug #1805799 reported by Wojtek Rakoniewski on 2018-11-29
28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
MAAS
Undecided
Unassigned

Bug Description

Please add new power type: Proxmox
Proxmox it is very popular open source virtualization environment similar to VMware. Please add basic functionality for using Proxmox like IPMI BMC (start, stop, restart machine, power status).
Unfortunately Proxmox is not based on virsh so it is not possible to use existing virsh power type.

Proxmox have api that allows manage:
https://pve.proxmox.com/wiki/Proxmox_VE_API
There are also python libraries that can be used when implementing in MAAS so implementations should not be difficult.

We are using Proxmox as our basic virtualization environment ans MAAS as tool to deploy operating systems on virtual machines. Currently it needs configure power type as "Manual" and manually start or restarts host in proper moment in Proxmox gui. Implementation of Proxmox power type will automate work a lot.

Regards,
Wojtek

Andres Rodriguez (andreserl) wrote :

Hi Woktek,

We currently have no plans to supporting proxmox as it is not something we currently use nor are looking to use. However, if the community is using it, we will be happy to take contributions if someone is willing to write a power driver for it.

summary: - New power type: Proxmox
+ [feature] New power type: Proxmox
Changed in maas:
status: New → Triaged
milestone: none → next
Wojtek Rakoniewski (enter2608) wrote :

Hi Andres,
No problem, I wrote one, please find attached file.
It is not diff file, but it can be copied to provisioningserver/drivers/power and just register driver in registry.py. It works for me. Tested on MAAS 2.5.0rc1 and Proxmox VE 5.2 but should work with any Proxmox version. It requires python library proxmoxer.
It will be nice if you commit it to MAAS source and use it in future versions of MAAS

--
Regards,
Wojtek

Wojtek Rakoniewski (enter2608) wrote :

Attachment to previous comment

Matthias (matthiashuether) wrote :

I also be interested in integrating proxmox power type. Thanks for your work Wojtek. Did it work with proxmox-container too? Or only vm ?

Matthias (matthiashuether) wrote :

Okay I think, only vm's work with pxe-boot... so we don't need support for container here.

Matthias (matthiashuether) wrote :

Thank you very much, it work for me!

Hi Wojtek,

Thanks for the changes, however the procedure to accept new changes is by
creating a new pull request agains the git [1] repository (master branch)
of MAAS with unit tests. You also will need to sign the Canonical’s
contributors agreement [2].

Thank you!

[1]:
https://code.launchpad.net/~maas-committers/maas/+git/maas
[2]:
https://www.ubuntu.com/legal/contributors

On Sat, Dec 1, 2018 at 2:10 PM Wojtek Rakoniewski <
<email address hidden>> wrote:

> Attachment to previous comment
>
> ** Attachment removed: "proxmox.py"
>
> https://bugs.launchpad.net/maas/+bug/1805799/+attachment/5217996/+files/proxmox.py
>
> ** Attachment added: "Proxmox power driver for MAAS"
>
> https://bugs.launchpad.net/maas/+bug/1805799/+attachment/5218010/+files/proxmox.py
>
> --
> You received this bug notification because you are subscribed to MAAS.
> https://bugs.launchpad.net/bugs/1805799
>
> Title:
> [feature] New power type: Proxmox
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/maas/+bug/1805799/+subscriptions
>
> Launchpad-Notification-Type: bug
> Launchpad-Bug: product=maas; milestone=next; status=Triaged;
> importance=Undecided; assignee=None;
> Launchpad-Bug-Tags: feature
> Launchpad-Bug-Information-Type: Public
> Launchpad-Bug-Private: no
> Launchpad-Bug-Security-Vulnerability: no
> Launchpad-Bug-Commenters: andreserl enter2608
> Launchpad-Bug-Reporter: Wojtek Rakoniewski (enter2608)
> Launchpad-Bug-Modifier: Wojtek Rakoniewski (enter2608)
> Launchpad-Message-Rationale: Subscriber (MAAS)
> Launchpad-Message-For: andreserl
>
--
Andres Rodriguez (RoAkSoAx)
Ubuntu Server Developer
MSc. Telecom & Networking
Systems Engineer

Laurent Dumont (baconpackets) wrote :

Anyone has a handy guide for integrating the provided script to a brand new MAAS install? I'll see what I can do on my side.

Tim S (timss) wrote :

Wojtek (#2): Thanks for sharing your Proxmox power driver, it works great! Would very much like to see it contributed or committed upstream, instead of having to patch my own installation.

---

Laurent (#8): Sure, here's how I did it on 19.04 with MAAS 2.5.0 (7442-gdf68e30a5-0ubuntu1) installed using `apt`:

1. Install the Proxmox API library; `apt install python3-proxmoxer`
2. Put the attached `proxmox.py` in `/usr/lib/python3/dist-packages/provisioningserver/drivers/power/`
3. Register the driver in `/usr/lib/python3/dist-packages/provisioningserver/drivers/power/registry.py`:

from provisioningserver.drivers.power.proxmox import ProxmoxPowerDriver

power_drivers = [
    ProxmoxPowerDriver(),
    ...
]

4. Create/use an user in Proxmox with "VM.PowerMgmt" and "VM.Audit" privileges
5. Configure the power driver for a machine in MAAS (no automatic detection)

Laurent Dumont (baconpackets) wrote :

Hey Tim,

Long delay but I was able to make it work right before you posted it. I used an admin user in Proxmox but I'll switch over to your method.

Thanks a lot!

Laurent Dumont (baconpackets) wrote :

(it would still be nice to have this native in MaaS as a package update seems to clear custom files)

Donny Davis (donny-g) wrote :

This driver works great for me on proxmox 6

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers