icecc always running with max_jobs=0
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
icecc (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
icecc version: 0.9.8~git201212
Ubuntu 13.04
* How to reproduce:
1. Install icecc
2. Edit /etc/icecc/
2a. Set the ICECC_NETNAME properly
2b. Set ICECC_MAX_JOBS to be greater then 0 (I've set 4)
2c. Set ICECC_ALLOW_REMOTE to "yes"
* What you expected to happen
You should be able to send and receive jobs
* What happened instead
The icecc cannot receive jobs. Icemon always report "Speed: 0". Iceberg reports "Max Jobs: 0"
Technical explanation:
At the login time, the node sends the chroot_possible parameter. If the scheduler receives chroot_possible set as false, the max_jobs is overwritten to zero and the node will not receive any jobs. This icecc version is calculating chroot_possible value by doing:
chroot_possible = ( geteuid() == 0 );
As the daemon does not run as root anymore, chroot_possible will be set as false.
There is already a patch upstream to solve this problem. It uses libcap_ng instead of check uid:
https:/
### A new bug after solving the first one... ###
After apply this patch locally, the icecc started to receive jobs. But unfortunately the daemon was exiting when installing the remote environment:
[7393] 10:18:39: handle_transfer_env
[7393] 10:18:39: chown,chmod target Operation not permitted
[7393] 10:18:39: handle_
[7393] 10:18:39: exit code: 0
Again a bug related to daemon uid. There is also a patch upstream that solves the problem:
https:/
I have applied both patches locally and now my icecc is working as expected.
Status changed to 'Confirmed' because the bug affects multiple users.