Bug 236486 - Review Request: Profugus - automatically migrates Xen virtual machines from one system to another based on CPU time
Summary: Review Request: Profugus - automatically migrates Xen virtual machines from o...
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review   
(Show other bugs)
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Package Reviews List
Depends On:
TreeView+ depends on / blocked
Reported: 2007-04-15 01:10 UTC by Anton Kuznetsov
Modified: 2007-11-30 22:12 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-09-20 02:08:37 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Anton Kuznetsov 2007-04-15 01:10:19 UTC
Spec URL: http://sourceforge.net/projects/profugus
SRPM URL: http://sourceforge.net/projects/profugus
The software does the automatic live migration of the Xen virtual machines from one system to another based on CPU load or scheduled maintenance.

The software will be running as a daemon on the master system and read CPU load from both systems. It will read the CPU load on the remote machine using ssh. For the first run the software will copy magic cookie to the remote machine, and it'll not ask the user password for the next time. Based on CPU load of systems the software will pick virtual machine(s) to migrate to the save system. The software is written in Python.

Comment 1 Anton Kuznetsov 2007-04-15 01:15:15 UTC
This my first package and I need a sponsor.


Comment 2 manuel wolfshant 2007-04-15 01:36:18 UTC
Here are a couple of errors I have spotted at the first glance
- BuildRoot is wrong, please see
- you should use "cp -p" or better yet "install -p" in order to preserve the
timestamps of the files
- you should not use "ln -s " in order to install the start/stop script; instead
you should just install the script in it's final location (/etc/init.d) and
allow the admins to use chkconfig to activate/deactivate it; please also make
sure that it is not enabled by default. Given the current shape of the
"profugus" file, it looks like it needs a couple of lines to make it chkconfig-aware
- you should include in the package the text of the license used for the program
(GPL) and also include it as %doc in the binary rpm

Please provide direct links to the spec and src.rpm if possible, not the general
link to the project page.

Comment 3 Anton Kuznetsov 2007-04-15 12:00:38 UTC
I fixed my spec file and I have a question regarding chkconfig. Do I need to
include in documentation that in order to run profugus as service they need to
use chkconfig?


Comment 4 manuel wolfshant 2007-04-15 20:39:35 UTC
You know what say about documentation, being like sex. If it's good, it is very
good; if it's bad, it's better than nothing. Any decent admin will notice the
presence of the start/stop script, but there would be no harm in pointing it out
in the docs.
Please also make sure to fix the link to Source0, it should respect

Comment 5 Anton Kuznetsov 2007-04-16 23:39:09 UTC
I fixed all problems in spec file:
 - now i use install -p
 - fixed bulidroot
 - fixed daemon script, it now works with chkconfig
 - included %doc
 SRPM Url:http://downloads.sourceforge.net/profugus/profugus-0.1-3.x86_64.rpm
 Spec URL:http://downloads.sourceforge.net/profugus/profugus.spec


Comment 6 Anton Kuznetsov 2007-04-16 23:47:27 UTC
Sorry, i put the wrong link for the source. 
Here are new links
SRPM Url: http://downloads.sourceforge.net/profugus/profugus-0.1-3.src.rpm
Spec Url: http://downloads.sourceforge.net/profugus/profugus.spec

Comment 7 Mamoru TASAKA 2007-04-28 03:32:02 UTC
Although I don't know well about this package,
from just I checked the spec file on comment 6,
it needs not a few modification.

* Group is incorrect
* Usually the name of the tarball "0.1-3.tar.gz" means
  that the version of spec/srpm should be 0.1.3, not
* macro is not used correctly
* config file should be marked in a proper way
* Handling service scripts needs some proper treatment
* %install stage has unneeded procedure
  (check: http://fedoraproject.org/wiki/Packaging/ScriptletSnippets )

Comment 8 Anton Kuznetsov 2007-05-13 19:22:32 UTC
I fixed everything except for macro file. Can you please specify what's wrong
with the macro?
Here is my macro:

#Macros file for RPM package, created by Anton Kuznetsov

%packager       Anton Kuznetsov

%distribution   Fedora 6

%vendor         Anton Kuznetsov

%_home          /home/akuznets
%_topdir        /home/akuznets/rpm
%_tmppath       /home/akuznets/rpm/tmp
%_builddir      /home/akuznets/rpm/tmp

%_rpmtopdir     /home/akuznets/rpm/%{name}
%_sourcedir     %{_rpmtopdir}
%_specdir       %{_rpmtopdir}
%_rpmdir        /home/akuznets/rpm/RPMS
%_srcrpmdir     /home/akuznets/rpm/RPMS
%_rpmfilename   %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm

%_signature     gpg
%_gpg_path      /home/akuznets.gnupg
%_gpgbin        /usr/bin/gpg
%_gpg_name      Anton Kuznetsov <akuznets@users.sourceforge.net>


Comment 9 Anton Kuznetsov 2007-05-13 19:56:39 UTC
I fixed everything except for macro file. Can you please specify what's wrong
with the macro?
Here is my macro:

#Macros file for RPM package, created by Anton Kuznetsov

%packager       Anton Kuznetsov

%distribution   Fedora 6

%vendor         Anton Kuznetsov

%_home          /home/akuznets
%_topdir        /home/akuznets/rpm
%_tmppath       /home/akuznets/rpm/tmp
%_builddir      /home/akuznets/rpm/tmp

%_rpmtopdir     /home/akuznets/rpm/%{name}
%_sourcedir     %{_rpmtopdir}
%_specdir       %{_rpmtopdir}
%_rpmdir        /home/akuznets/rpm/RPMS
%_srcrpmdir     /home/akuznets/rpm/RPMS
%_rpmfilename   %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm

%_signature     gpg
%_gpg_path      /home/akuznets.gnupg
%_gpgbin        /usr/bin/gpg
%_gpg_name      Anton Kuznetsov <akuznets@users.sourceforge.net>


Comment 10 Anton Kuznetsov 2007-07-02 06:20:09 UTC
As I understand nobody really wants to help me out and my project stuck as many
others. Well, anyway i'm gonna continue developing it... just for fun

Here are links of new release:
SRPM Url : http://downloads.sourceforge.net/profugus/profugus-0.2-2.src.rpm
Spec Url :http://downloads.sourceforge.net/profugus/profugus-0.2-2.spec

Comment 11 Mamoru TASAKA 2007-07-02 06:40:35 UTC
Umm.. while I can review this, the trouble for me is that
I don't understand Xen *completely*.

Is this program surely working for you? Perhaps I cannot understand
how to use this immediately.

Comment 12 Anton Kuznetsov 2007-07-02 06:47:53 UTC
it works for me, but you know that it's better to test it on different systems
if you have any question fell free to ask, also i can send steps how i test
that, so if you have 2 systems with xen installed i can provide information how
to test it.

Comment 13 Mamoru TASAKA 2007-07-02 07:32:14 UTC
Actually I have only one machine :) However now I can trust you.

By the first glance at 0.2-2:
For packaging of 0.2-2, some issues must be fixed.

* Version
  - On rpm packaging, "0.2-2" is considered as Version (as hyphen is
    not allowed for rpm version, for this case the rpm version is 0.2.2)
    So the EVR (Epoch:Version:Release) is
* Descriptsion
  - contains too long line (must not exceed 79 characters)
* Arch
  - This package contains only text files and architecture must be
* Macros
  - Please use macros (please check %_sysconfdir, %_mandir,
    %_initrddir for example)
* scripts
mkdir -p %{buildroot}/etc/rc.d/rc3.d %{buildroot}/etc/rc.d/rc5.d/
  - Why is this needed?
* Permission
  - The permissions of the following files are incorrect.
E: profugus script-without-shebang /etc/profugus.conf
W: profugus spurious-executable-perm /usr/share/man/man8/profugus.8.gz
* File entry
  - /etc/profugus.conf is listed twice.
* Requires
  - Add proper %Requires(post), etc (check: "Services" subsection of
    http://fedoraproject.org/wiki/Packaging/ScriptletSnippets )
* defattr
  Now we recommend: %defattr(-,root,root,-)

Comment 14 Xavier Lamien 2007-07-08 03:41:41 UTC
Anton: ping ?

Comment 15 Anton Kuznetsov 2007-07-08 03:46:42 UTC
64 bytes from anton : icmp_seq=1 ttl=64 time=0.070 ms
64 bytes from anton : icmp_seq=2 ttl=64 time=0.038 ms


Comment 16 Xavier Lamien 2007-07-08 17:00:11 UTC
Do you have an fixed srpm to propose about Mamoru comment ?

Comment 17 Anton Kuznetsov 2007-07-08 22:48:25 UTC
ZI fixed almost everything. I'm going to upload it in 1 or 2 days.
I had a busy week at work, that's why it took this long to fix it :)

Comment 19 Mamoru TASAKA 2007-07-10 15:32:10 UTC
Well, please check;
for general packaging points.

For 0.2.2-2:

* Source0 cannot be found.
* BuildArch is not noarch yet.
* Please use macros: please check:
* Usually configuration files under %_sysconfdir should
  marked as %config(noreplace)
* Fix up the permission of the files.
  (check "-m" option of install), and don't call chmod
  on %post

Comment 20 Mamoru TASAKA 2007-07-24 10:54:04 UTC

Comment 21 Anton Kuznetsov 2007-07-24 13:24:46 UTC
i'm still alive :)
i haven't fixed everything yet. I have really hard time at work and next 2 weeks
will be like hell for me. After that time i should be able to fix everything and
make serious changes to the code

Comment 22 Anton Kuznetsov 2007-08-19 17:25:50 UTC
Hi Mamoru, 
 finally i fixed almost everything and uploaded it to sourceforge
SRPM URL : http://downloads.sourceforge.net/profugus/profugus-0.2.3-2.src.rpm
Spec URL : http://downloads.sourceforge.net/profugus/profugus.spec
Noarch URL: http://downloads.sourceforge.net/profugus/profugus-0.2.3-2.noarch.rpm
x86_64 URL: http://downloads.sourceforge.net/profugus/profugus-0.2.3-2.x86_64.rpm

I'm confused by your statement "BuildArch is not noarch yet" In your previous
comment you mention that i need to create noarch package, that i created.
Probably i misunderstand something. Can please clarify?


Comment 23 Mamoru TASAKA 2007-08-20 12:36:21 UTC
(In reply to comment #22)

> I'm confused by your statement "BuildArch is not noarch yet" In your previous
> comment you mention that i need to create noarch package, that i created.
> Probably i misunderstand something. Can please clarify?
  - You have to specify in your spec file explicitly that this
    package is noarch. i.e. Write:
BuildArch:	noarch

* Macros
  - Well, please use macros. Check:
    For example, replace /etc/rc.d/init.d with %{__initrddir}

* License tag
  - License tag policy is now changed. Please change license
    tag according to

* service status
  - Would you check what "service profugusd status" returns?
    ( I don't have Xen machine ).

Comment 24 Mamoru TASAKA 2007-09-19 16:11:08 UTC
ping again?

Comment 25 Anton Kuznetsov 2007-09-19 23:47:43 UTC
Hi Mamoru, 
 Sorry, but I dont have time to work on this project because i'm really busy at
work. I think, it's time to close this project. I'm gonna give this project to
some students in a college. Not sure if they want to continue developing this
software.  Anyway it's their choice and you can close this "bug".
Thanks for your help and time


Comment 26 Mamoru TASAKA 2007-09-20 02:08:37 UTC
Okay. Free free to submit a new review request when you want.

Note You need to log in before you can comment on or make changes to this bug.