Latest FOG 0.33b
-
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).
-
Hey Tom,
Do you have any ideas on how to fix this error just started happening and i have tried re registering it and it did not work
1/22/2014 4:40 PM FOG::SnapinClient Maybe MAC isn’t registered: 00:15:5D:01:CE:09|00:15:5D:01:CE:08
1/22/2014 4:45 PM FOG::SnapinClient Attempting to connect to fog server…
1/22/2014 4:45 PM FOG::SnapinClient Module is active…
1/22/2014 4:45 PM FOG::SnapinClient Unable to determine snapin status due to an unknown error.
1/22/2014 4:45 PM FOG::SnapinClient Maybe MAC isn’t registered: 00:15:5D:01:CE:09|00:15:5D:01:CE:08
1/22/2014 4:50 PM FOG::SnapinClient Attempting to connect to fog server…
1/22/2014 4:50 PM FOG::SnapinClient Module is active…
1/22/2014 4:50 PM FOG::SnapinClient Unable to determine snapin status due to an unknown error.
1/22/2014 4:50 PM FOG::SnapinClient Maybe MAC isn’t registered: 00:15:5D:01:CE:09|00:15:5D:01:CE:08 -
What revision you on? And so you actually have a snap in to deploy?
-
I am on the latest one just updated about 1 hour ago. and yes I deployed a snapin
-
Can you tell me how you setup your snapin? What file and args? This way I have something more concrete to test with.
-
[quote=“Tom Elliott, post: 21796, member: 7271”]Can you tell me how you setup your snapin? What file and args? This way I have something more concrete to test with.[/quote]
It is just a normal bat file to activate windows silently
[QUOTE]
[SIZE=14px][FONT=monospace][COLOR=#545454]@echo off[/COLOR][/FONT][/SIZE][SIZE=14px][FONT=monospace][COLOR=#545454]cls[/COLOR][/FONT][/SIZE]
[SIZE=14px][FONT=monospace][COLOR=#545454]echo Activating Windws 7… Please wait as this might take several minutes…[/COLOR][/FONT][/SIZE]
[SIZE=14px][FONT=monospace][COLOR=#545454]echo.[/COLOR][/FONT][/SIZE]
[SIZE=14px][FONT=monospace][COLOR=#545454]cscript //B “%windir%\system32\slmgr.vbs” /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX[/COLOR][/FONT][/SIZE]
[SIZE=14px][FONT=monospace][COLOR=#545454]cscript //B “%windir%\system32\slmgr.vbs” /ato[/COLOR][/FONT][/SIZE][SIZE=14px][FONT=monospace][COLOR=#545454]echo Activation complete![/COLOR][/FONT][/SIZE][/QUOTE]
this script is what is in the bat file.
-
I’ve added that, adding the client to my test host. BTW how do you like being able to chose from a file within the directory?
-
This post is deleted! -
what do you mean in the snapin part choosing instead of browsing your local computer I like the option.
-
Well, you can still chose your local computer, but it also gives the choice to use already created files.
-
I have to test it again because i think I had issues editing it the other day and had to delete and re-add it but let me make sure that is the case but let me make sure it was not user error lol, but I like the setup.