Latest FOG 0.33b
-
I tried to debug that port issue, but don’t know php enough - how to write value of variable to file? I tried firstly echo $port; to show it in fog (this worked in 0.32), but in 0.33 it probably get’s to fast refreshed, so I don’t see anything. Then I found file_put_contents() function but it doesn’t seem to work - I use it like this: file_put_contents(“port_debug_rado”, $port); but can’t find file port_debug_rado. Or is there any other way?
-
I figured out the issue. r1127 is released and should set the correct port now.
-
Yes, it does. But now it associates only one individual task with multicast task:
[CODE]mysql> select * from multicastSessionsAssoc;
±------±-----±----+
| msaID | msID | tID |
±------±-----±----+
| 6 | 6 | 93 |
±------±-----±----+
1 row in set (0.00 sec)
[/CODE]Are you going to work on it now? If yes, I could test, will be here until 22:00 or so.
-
Should be fixed here shortly, forgot to save the association.
r1128 released.
-
Hi Tom, sorry for the delay, the attached is access.log, error.log and screenshot.
I restarted apache2 just before booting the client so these are the complete logs.[url=“/_imported_xf_attachments/0/511_error.zip?:”]error.zip[/url]
-
OK, seems to work. Thanks. Bye
-
[quote=“Tom Elliott, post: 21722, member: 7271”]Should be fixed here shortly, forgot to save the association.
r1128 released.[/quote]
the imaging of a pc with single disk multiple partition of:
sda1 ntfs(winxp)
sda2 ext4 (linux)
sda3 swap (linux)should work with r1128? i can test it?
-
on the fog server i have tons of these script:
root 643 640 0 Jan21 ? 00:00:00 /bin/sh -c [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null ; -delete
root 681 643 0 Jan21 ? 00:00:24 find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +24 ! -execdir fuser -s {} ; -deletesomeone has idea what is??
-
hi, it’s output from ps? I have the first one in /var/log/syslog (debian), it’s run every half an hour from cron (maybe messed up cron?), but not the second one.
-
[quote=“fabritrento, post: 21744, member: 21607”]the imaging of a pc with single disk multiple partition of:
sda1 ntfs(winxp)
sda2 ext4 (linux)
sda3 swap (linux)should work with r1128? i can test it?[/quote]
…
What is the IP address to be used by this FOG Server? [inet:192.168.0.3] (esthetic bug remains during install)
…
The multiple partition cloning bug is not solved.also after a multicast task started, i get this error when i click on tasks page:
FOG DEBUG: Host: Database Load Failed: ID: 0, Error: Operation field not set: ID
FOG DEBUG: Host: Database Load Failed: ID: 0, Error: Operation field not set: IDso now i’m locked. please help me, i must image these units until 13:00PM, otherwise i bust uninstall the 0.33B and switch back to 0.32…
i partially fixed this error doing:
mysql> select * from tasks;
±-------±-----------------------------±--------------------±--------------------±-----------±------------±-------------±----------±-----------------------±-----------±-----------±---------±----------------±------------------±---------------±----------------±--------------±---------------±----------------±----------------±-----------------+
| taskID | taskName | taskCreateTime | taskCheckIn | taskHostID | taskStateID | taskCreateBy | taskForce | taskScheduledStartTime | taskTypeID | taskPCT | taskBPM | taskTimeElapsed | taskTimeRemaining | taskDataCopied | taskPercentText | taskDataTotal | taskNFSGroupID | taskNFSMemberID | taskNFSFailures | taskLastMemberID |
±-------±-----------------------------±--------------------±--------------------±-----------±------------±-------------±----------±-----------------------±-----------±-----------±---------±----------------±------------------±---------------±----------------±--------------±---------------±----------------±----------------±-----------------+
| 1 | | 2014-01-20 12:50:17 | 2014-01-20 12:50:57 | 1 | 4 | fog | 0 | 0000-00-00 00:00:00 | 2 | 0000000100 | 136.45MB | 01:29:40 | 00:00:02 | 17.74 GB | 99.95 | 29.29 GB | 1 | 1 | | 0 |
| 3 | | 2014-01-21 07:52:05 | 2014-01-21 07:52:49 | 1 | 4 | fog | 0 | 0000-00-00 00:00:00 | 2 | 0000000100 | 437.79MB | 00:27:52 | 00:00:05 | 17.70 GB | 99.66 | 29.29 GB | 1 | 1 | | 0 |
| 4 | | 2014-01-21 08:31:08 | 2014-01-21 08:35:13 | 1 | 4 | fog | 0 | 0000-00-00 00:00:00 | 2 | 0000000100 | 656.81MB | 00:18:36 | 00:00:02 | 17.72 GB | 99.80 | 29.29 GB | 1 | 1 | | 0 |
| 5 | | 2014-01-21 09:05:11 | 2014-01-21 10:20:20 | 1 | 4 | fog | 0 | 0000-00-00 00:00:00 | 16 | 0000000100 | 801.04MB | 00:15:16 | 00:00:00 | 17.73 GB | 99.90 | 29.29 GB | 1 | 1 | | 0 |
| 7 | | 2014-01-21 15:55:47 | 2014-01-21 15:56:59 | 1 | 4 | fog | 0 | 0000-00-00 00:00:00 | 2 | 0000000000 | | | | | | | 1 | 1 | | 0 |
| 8 | | 2014-01-22 08:44:29 | 2014-01-22 08:48:35 | 1 | 4 | fog | 0 | 0000-00-00 00:00:00 | 2 | 0000000100 | 709.88MB | 00:19:25 | 00:00:02 | 17.63 GB | 99.79 | 29.29 GB | 1 | 1 | | 0 |
| 9 | | 2014-01-22 09:19:33 | 2014-01-22 09:20:11 | 1 | 4 | fog | 0 | 0000-00-00 00:00:00 | 2 | 0000000100 | 650.98MB | 00:21:13 | 00:00:00 | 17.67 GB | 99.99 | 29.29 GB | 1 | 1 | | 0 |
| 10 | labinfo | 2014-01-22 09:51:02 | 0000-00-00 00:00:00 | 0 | 5 | fog | 0 | 0000-00-00 00:00:00 | 8 | 0000000000 | | | | | | | 1 | 1 | | 0 |
| 11 | labinfo | 2014-01-22 09:51:03 | 0000-00-00 00:00:00 | 2 | 5 | fog | 0 | 0000-00-00 00:00:00 | 8 | 0000000000 | | | | | | | 1 | 1 | | 0 |
| 12 | labinfo | 2014-01-22 09:51:05 | 0000-00-00 00:00:00 | 3 | 5 | fog | 0 | 0000-00-00 00:00:00 | 8 | 0000000000 | | | | | | | 1 | 1 | | 0 |
| 13 | labinfo | 2014-01-22 09:51:06 | 0000-00-00 00:00:00 | 4 | 5 | fog | 0 | 0000-00-00 00:00:00 | 8 | 0000000000 | | | | | | | 1 | 1 | | 0 |
| 14 | labinfo | 2014-01-22 09:51:07 | 0000-00-00 00:00:00 | 5 | 5 | fog | 0 | 0000-00-00 00:00:00 | 8 | 0000000000 | | | | | | | 1 | 1 | | 0 |
| 15 | labinfo | 2014-01-22 09:51:08 | 0000-00-00 00:00:00 | 6 | 5 | fog | 0 | 0000-00-00 00:00:00 | 8 | 0000000000 | | | | | | | 1 | 1 | | 0 |
| 27 | Multicast Group Quick Deploy | 2014-01-22 10:23:43 | 0000-00-00 00:00:00 | 0 | 1 | fog | 0 | 0000-00-00 00:00:00 | 8 | 0000000000 | | | | | | | 1 | 1 | | 0 |
±-------±-----------------------------±--------------------±--------------------±-----------±------------±-------------±----------±-----------------------±-----------±-----------±---------±----------------±------------------±---------------±----------------±--------------±---------------±----------------±----------------±-----------------+
14 rows in set (0.00 sec)mysql> delete from tasks where taskID=27;
Query OK, 1 row affected (0.00 sec)mysql> commit;
Query OK, 0 rows affected (0.00 sec)so there is a problem, scheduling a multicast deploy results that the tasklist webpage is no mere accessible.
also doing a normal clone don’t work.
this is very buggly… i revert to 0.32, i need to image
-
If it is possible, maybe try to kill all tasks in FOG manager, then truncate multicastSession and multicastSession db tables (maybe even tasks table) - see command somewhere above, kill all udp-sender processes, delete pxe configs for hosts, or maybe restart FOGMulticastManager. To be sure everything is clean (thouh, I’m not sure, if this is enough). And then start it again.
-
I’ve already been working on that element, though it doesn’t truncate the command, rather just destroy’s the related associations and, once the associations for that task are all complete/canceled, sets the multicastSessions state field to (complete/canceled) respectively.
That said, I’m currently having trouble with it killing the udp-sender task if you kill the tasks. The multicast.log file shows the task starting, but if you kill the tasks (or kill the multicastSession related to those tasks) it doesn’t kill the task. That may be because I need to actually destroy the session that’s created versus trying to keep it stored in canceled though. So that’s easy to work out.
@fabritreno,
I haven’t added the “fixes” as you’ve recommended yet. Yesterday I was more focused on getting the multicastSessions working. They do work now, however if you update, you may have to perform a service FOGMulticastManager restart.I don’t know what your many php statements are looking like.
@jbsclm
I’m not seeing a corresponding error, though I do see it repeatedly trying to get the imagelookup based on the key you’ve provided. One thing that makes me wonder, do you have image id AND a dmi key? This may be my fault, but If I’ve read the rewritten capone script (while rewriting of course) properly, it’s checking if either the dmi OR the imagelookup is set. -
[quote=“Tom Elliott, post: 21753, member: 7271”]@rado,
@fabritreno,
I haven’t added the “fixes” as you’ve recommended yet. Yesterday I was more focused on getting the multicastSessions working. They do work now, however if you update, you may have to perform a service FOGMulticastManager restart.I don’t know what your many php statements are looking like.
now i rolled back to 0.32. but some users say that don’t work with ext4… but on another installation i used fog 0.32 to clone pc with 3 partitions and worked for me…
so now i upgrade to 0.33b, then wait till you can work on patch with blkid and fdisk -l patch.
if you can do this today, then i can test, you are my president ;P[/quote]
-
Partimage does not work with ext4 partitions at all. This is why you were seeing an issue. It does, however, work with ext3 partitions which was common place for a long time. It wouldn’t surprise me if what you’re referring to was ext3. The differences between partclone and partimage are great. The Pros far outweigh the cons to switch to Partclone, but one of the drawbacks is you have to specify the file system architecture in the partclone binary. This is why I was interested in what the output of blkid was.
I can use a grep command with awk to get each partitions type so that I can set the fstype for the partclone binary. Right now I haven’t the time as it will also require rebuilding the init.gz. I will try to get to this today, but I’ve got to mount a few WAPs thoughout my school district.
-
[quote=“Tom Elliott, post: 21762, member: 7271”]Partimage does not work with ext4 partitions at all. This is why you were seeing an issue. It does, however, work with ext3 partitions which was common place for a long time. It wouldn’t surprise me if what you’re referring to was ext3. The differences between partclone and partimage are great. The Pros far outweigh the cons to switch to Partclone, but one of the drawbacks is you have to specify the file system architecture in the partclone binary. This is why I was interested in what the output of blkid was.
I can use a grep command with awk to get each partitions type so that I can set the fstype for the partclone binary. Right now I haven’t the time as it will also require rebuilding the init.gz. I will try to get to this today, but I’ve got to mount a few WAPs thoughout my school district.[/quote]
also I work in a school.
how i can mount/rebuild the init from server ?
I want to help develop, if i fix the fog script is sufficient to add to init.gz?fog script uses bash environment varabiles to configure itself and know what do do when a upload is started on the client?
the question is: if i modify the fog to upload correctly all partitions listed in disk, i need to store also some data into the db? or via web gui? what exactly?
tomorrow i try to develop something.
-
It’s all good. You can decompress the init.gz with xz -d -c init.gz > init
Then mount the init file created to another directory. I Usually create a tmp folder inside /tftpboot/fog/images/
[code]
mkdir tmp
xz -d -c init.gz > init
mount -o loop init tmp
[/code]Then cd into the tmp (you could I suppose chroot but i’d stay out of that if i could help it.)
From tmp you see the fog file system (the same one the clients see.)
The fog script is in bin/fog
If you get it working just post that file here and I’ll diff it, patch it, tweak as necessary, test, and then regenerate init.gz, post to svn, and should be good to go.
-
I’m trying to understand multicast code in 0.33. Is it true, that when creating multicast task, the code from /var/www/fog/management/includes/tasks.confirm.include.php, concretely function createMulticastJob is not used? I now found out, that there is now used code from /var/www/fog/lib/fog/Host.class.php and interface is pulled from storage node (see code below), am I right? Is it this, you were talking about in the other topic (Support for multiple nics)? Your quote:
[QUOTE]The only issue I foresee is the storage of the “2nd” interface would have to be either group and/or host related.[/QUOTE]
You also said there, that:
[QUOTE]I can create multiple tasks, though I haven’t played too much with interfaces. I imagine, however, with my new understanding, it’s relatively easy to setup. [/QUOTE]
Can you please tell me how? I have only a small picture of FOG’s 0.33 code and digging the code takes much time, so if you have any idea, it would be much appreciated and I would be able to move faster. I just need small intro which parts (functions, classes, or even scripts would perhaps help) are mainly involved.
My thought now is to change /var/www/fog/lib/fog/Host.class.php, concretely this line (719):
[CODE]‘interface’ => $StorageNode->get(‘interface’),[/CODE]
somehow, as to not pull interface from storage node, but from group. Would it break something?Or is it possible to run multiple storage nodes on the same physical (virtual) server each running on different interface?
Thanks.
-
I think, ultimately, you would need to assign an interface to a group. The interface would have to be on the physical fog server (eth0, eth1, eth2, etc…)
Basically this would require adding a field to the group table on the fog database (pretty simple ultimate.) Then on the GroupManagementPage, add a selector to choose the interface (based on the interfaces available to that StorageNode) (Not as simple.)
Then we’d have to get the group id of the task (not simple again).
Then we’d have to change that particular line:
[php]‘interface’ => $StorageNode->get(‘interface’),[/php]To something that gets that groupid->interface association.
I have to think of the logic behind what’s actually needed to do this. I will say, however, it may take a while, but it is possble.
-
[quote=“Tom Elliott, post: 21780, member: 7271”]I think, ultimately, you would need to assign an interface to a group. The interface would have to be on the physical fog server (eth0, eth1, eth2, etc…)
[/quote]Ok, this I have done.
[quote=“Tom Elliott, post: 21780, member: 7271”]
Basically this would require adding a field to the group table on the fog database (pretty simple ultimate.)
[/quote]This too. Basically the same as I did in 0.32.
[quote=“Tom Elliott, post: 21780, member: 7271”]
Then on the GroupManagementPage, add a selector to choose the interface (based on the interfaces available to that StorageNode) (Not as simple.)
[/quote]For now, I think, I may skip this. When the basic functionality will work, I can look at this. I just added groups’ interface manually to db.
[quote=“Tom Elliott, post: 21780, member: 7271”]
Then we’d have to get the group id of the task (not simple again).
[/quote]By this, you mean groupID from groups table?
[quote=“Tom Elliott, post: 21780, member: 7271”]
Then we’d have to change that particular line:
[php]‘interface’ => $StorageNode->get(‘interface’),[/php]To something that gets that groupid->interface association.
[/quote]In 0.32 I created this function in /var/www/fog/commons/functions.include.php:
[PHP]function getGroupsInterface( $conn, $groupName )
{
if ( $conn != null && $groupName != null )
{
$sql = “select groupInterface from groups where groupName='”. $groupName .“'”;
$res = mysql_query( $sql, $conn ) or criticalError( mysql_error(), _(“FOG :: Database error!”) );
$ar = mysql_fetch_array( $res );
//echo “funkcia: '”. $ar[“groupInterface”] . “'”;return $ar["groupInterface"]; }
}
[/PHP]Would it be possible to use it somehow here?
[quote=“Tom Elliott, post: 21780, member: 7271”]
I have to think of the logic behind what’s actually needed to do this. I will say, however, it may take a while, but it is possble.[/quote]OK.
-
It probably would need to be changed, because argument $groupName would not work in 0.33. As I saw, when you create multicast task in Tasks Management, the task gets not the same name as group (as did in 0.32).