RM powernap binary & source packages from Focal

Bug #1853001 reported by Rafael David Tinoco
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
powernap (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Based on the following documentation:

https://wiki.ubuntu.com/ArchiveAdministration#Removals

As I don't have proper rights for archive administration, I'm opening a bug to document the need for dropping powernap from the archive. I hope this format is good enough and subscribing archive admins do the trick.

[ Package Description ]

PowerNap is meant to run on the system(s) hosting virtual machines.

When one of those systems goes un-utilized (ie, no virtual machines running), PowerNap notices this and moves the physical machine to a lower power state (like S3 suspend).

When the Cloud Controller receives some new requests that demand new virtual machines, it would first look for a running host that has sufficient capacity to service the request, thereby keeping the overall cloud in a "compressed" state.

However, if demand requires, the Cloud Controller would PowerWake one of the sleeping hosts, bringing it online and increasing the current capacity of the cloud, such that it could service the new request.

PowerNap operates sort of like a screen saver for servers. Besides watching the console and terminals for keyboard activity, it also watches the system's process table for activity.

An administrator defines a list of regular expressions describing some critical MONITORED_PROCESSES that should be running. When powernapd notices that all of the MONITORED_PROCESSES have been absent from the process table for some configurable ABSENT_SECONDS, powernapd emits a warning to all users of the system that it will run powernap, unless canceled within the next GRACE_SECONDS.

[ Reason ]

This package seems to have been done for a specific need in the past and, nowadays, could be replaced by different types of scripts depending of one sysadmin need. It seems that it is currently unmaintained as well (https://launchpad.net/powernap).

Reading how it works:

http://blog.dustinkirkland.com/2009/07/introducing-powernap.html

And seeing that it hasn't changed for quite some time, and was demoted from main to universe quite sometime ago, I really don't see a need for this package not to be dropped from Ubuntu at all, reducing our management efforts.

Changed in powernap (Ubuntu):
importance: Undecided → Medium
description: updated
summary: - Remove powernap binary & source packages from archive
+ RM: powernap binary & source packages from Focal
no longer affects: powernap (Ubuntu Focal)
summary: - RM: powernap binary & source packages from Focal
+ RM powernap binary & source packages from Focal
Revision history for this message
Steve Langasek (vorlon) wrote :

Normally we remove packages from Ubuntu when they are buggy. You say this could be implemented other ways, but you don't actually point out any bugs resulting from using this package to do it. What is the maintenance burden removed by removing this package?

Changed in powernap (Ubuntu):
status: New → Incomplete
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

You're right Steve, I'll do some homework here and ask for another review round.

Thanks for the feedback for now.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for powernap (Ubuntu) because there has been no activity for 60 days.]

Changed in powernap (Ubuntu):
status: Incomplete → Expired
Changed in powernap (Ubuntu):
status: Expired → Confirmed
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

I have discussed this again with @canonical-server team and it seems that this package is python2 and maintainer (@dustin) said there won't be any updates to this in the future.

It looks like the recommended similar behaviour, to what powernap was providing, is Ubuntu Openstack power saving functionality (https://docs.openstack.org/watcher/rocky/strategies/saving_energy.html).

Because of that, the inability to maintain without "upstream maintainer", and the lack of tests and updates of this package, we continue to request the package removal for 20.04.

Thank you

- rafaeldtinoco

Revision history for this message
Steve Langasek (vorlon) wrote :

Removing packages from focal:
 powernap 2.21-0ubuntu2 in focal
  powernap 2.21-0ubuntu2 in focal amd64
  powernap 2.21-0ubuntu2 in focal arm64
  powernap 2.21-0ubuntu2 in focal armhf
  powernap 2.21-0ubuntu2 in focal i386
  powernap 2.21-0ubuntu2 in focal ppc64el
  powernap 2.21-0ubuntu2 in focal s390x
  powernap-common 2.21-0ubuntu2 in focal amd64
  powernap-common 2.21-0ubuntu2 in focal arm64
  powernap-common 2.21-0ubuntu2 in focal armhf
  powernap-common 2.21-0ubuntu2 in focal i386
  powernap-common 2.21-0ubuntu2 in focal ppc64el
  powernap-common 2.21-0ubuntu2 in focal s390x
  powernap-server 2.21-0ubuntu2 in focal amd64
  powernap-server 2.21-0ubuntu2 in focal arm64
  powernap-server 2.21-0ubuntu2 in focal armhf
  powernap-server 2.21-0ubuntu2 in focal i386
  powernap-server 2.21-0ubuntu2 in focal ppc64el
  powernap-server 2.21-0ubuntu2 in focal s390x
  powerwake 2.21-0ubuntu2 in focal amd64
  powerwake 2.21-0ubuntu2 in focal arm64
  powerwake 2.21-0ubuntu2 in focal armhf
  powerwake 2.21-0ubuntu2 in focal i386
  powerwake 2.21-0ubuntu2 in focal ppc64el
  powerwake 2.21-0ubuntu2 in focal s390x
  powerwake-common 2.21-0ubuntu2 in focal amd64
  powerwake-common 2.21-0ubuntu2 in focal arm64
  powerwake-common 2.21-0ubuntu2 in focal armhf
  powerwake-common 2.21-0ubuntu2 in focal i386
  powerwake-common 2.21-0ubuntu2 in focal ppc64el
  powerwake-common 2.21-0ubuntu2 in focal s390x
  powerwaked 2.21-0ubuntu2 in focal amd64
  powerwaked 2.21-0ubuntu2 in focal arm64
  powerwaked 2.21-0ubuntu2 in focal armhf
  powerwaked 2.21-0ubuntu2 in focal i386
  powerwaked 2.21-0ubuntu2 in focal ppc64el
  powerwaked 2.21-0ubuntu2 in focal s390x
Comment: Depends on python, Ubuntu-specific, unmaintained; LP: #1853001
1 package successfully removed.

Changed in powernap (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Gary G (gargen) wrote :

Perhaps I'm too late on this, but powernap is exactly the application that I'm looking for. I am running a headless Ubuntu home server as a NAS and web server. The server is typically only being accessed 1-2 hours a day so I would prefer that it go into a lower power state when not being used. My current solution is a PowerShell script on my Windows computer that lets me (and my non-techy wife) completely shut down the server remotely. I have wake on LAN set up to bring it back up remotely. I tried having the server automatically suspend, but it seems that only keyboard/mouse input will reset the suspend timer, so it will always suspend after the set time regardless of whether it is being used or not. Powernap was exactly the application I needed to check if there is any traffic on Apache, Samba, or MySQL before suspending (and reset the countdown if there is).

I tried looking at the proposed alternative solution using OpenStack Watcher. I have some basic Linux skills, but am still mostly a beginner. I spent about 10 hours trying to set watcher up and have yet to get it working in even the most basic sense. The tutorial presumes I already have full knowledge of OpenStack and MySQL (I have some MySQL experience and no OpenStack experience), so most answers require significant sub-research (and often sub-sub-research, etc). A good portion of that time was also spent trying to install powernap manually using the downloaded package. Nearly every tutorial I saw online for installing packages involves the "make" command, but that doesn't seem to be an option for powernap (no "makefile" apparently).

For what it's worth, it seems from my internet searching that my use case (small headless server that doesn't need to be up all the time) is the use case for the large majority of powernap users. I understand that this isn't being maintained anymore, and if the decision is that it should stay removed for that reason despite it's current use cases an relevancy, I understand that. I just wanted to make sure it's understood that it absolutely still has a valuable use case today.

Revision history for this message
Robie Basak (racb) wrote :

@Gary

Thank you for the feedback. What you've said makes sense, and I agree that the use case you describe is valuable to some users.

Unfortunately with the resources we have, we can only justify maintaining packages that are used by many users. I'm not sure there are enough users in this case.

However, we welcome volunteers to maintain what they find useful in Ubuntu themselves, and we're happy to help them with Ubuntu-specific processes so that they can do so.

Revision history for this message
Gary G (gargen) wrote :

@Robie

Thank you for the response. If I were interested in taking on maintenance of this package, where would you recommend I start? I have some python experience, but don't understand the inner workings of Ubuntu (e.g. I wouldn't even know how to install this package after I download it so I'm certainly not qualified to write scripts for installing updates)

Revision history for this message
Bryce Harrington (bryce) wrote :

I would suggest to start by familiarizing yourself with the upstream codebase.

Looks like the official location of the code is in bzr on launchpad, but Dustin has a mirror of it in github:

    bzr branch lp:powernap
    https://code.launchpad.net/~powernap/powernap/trunk

    https://github.com/dustinkirkland/powernap/commits/master

Where to start kind of depends on where you feel most comfortable with your skills, and what you feel is most important for the project, but if it were me here's a grab bag of ideas I might consider doing if it were me:

  * Create a branch in github
  * Add a setup.py
  * Convert it from python2 to python3
  * Add pytest and test cases
  * Add code docs where needed
  * Add a README.md, AUTHORS.md, and LICENSE.md
  * Look at the three pull requests in github to include
  * Look at the three MPs in launchpad
  * Look at the eight bug reports in launchpad
  * Contact Dustin (he's still around) to offer taking over maintainership
  * Create a new release (maybe make version 3.0 mark the python3 conversion?)
  * See if it might be useful to Debian or other linux distros

The codebase also has a debian/ directory included since historically Dustin maintained the package as well as the upstream codebase. It's actually a bit more typical to handle those completely separately, so if you're not comfortable maintaining the Ubuntu packaging you could consider focusing on just the upstream python code and leave the packaging to others to maintain.

Revision history for this message
solemnwarning (solemnwarning) wrote :

Hello all,

I started work on producing an updated version of this package yesterday as I want to use it. Its still a work in progress, but powernapd and its supporting packages now install and seem to work on Debian bookworm:

https://github.com/solemnwarning/powernap

I already publish other software to Ubuntu via a 3rd-party repository, but wondered what would be involved in getting it returned to the official repos (and if there's still any interest there)?

Thanks

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Hi,
the answer is slightly different depending if you want to bring that
a) only back to Ubuntu (Prepare your uploads, file a bug, add all that is needed, add ubuntu-sponsors, follow discussion/questions that might arise)
or to
b) Debian+Ubuntu (just bring it into Debian [similar steps, but in Debian] and it would be auto-synced to Ubuntu).

If you have no permissions to upload to Debian you might file an ITP (https://wiki.debian.org/ITP) to ask for others that might be interested and to track your work.

As one can never be sure what you already know or need to know (I won't write an essay here) - a direct contact can often help better. If you need some guidance in Ubuntu look out on #ubuntu-devel on IRC for patch pilots (those would also review the queue of bugs of ubuntu-sponsors).

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.