Latest FOG 0.33b
-
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.
-
So I just tested it, and while the task failed, I’m guess because of the XXXX’s in the key sent info (which is fine) I got:
FOG::SnapinClient Attempting to connect to fog server…
FOG::SnapinClient Module is active…
FOG::SnapinClient A snapin task was found but, not all the meta data was sent. Meta data length: 10 Required: 7. -
I Found a few errors and I’m sorry I missed them. It was never making it to snapins.file.php so the progress wouldn’t work. Remember the task doesn’t clear until all the snapinTasks are completed. I’m testing and man 5 minutes sucks!
-
Ok thought it was just me but just in case I am imaging another machine to test on I am using hyper-V by the way on a 2012 r2 server machine. Also can we change the 5 min option it does seem forever at times
-
how would I force delete a client from the database?
-
Went to add a new workstation to try to image and test and started to get this errors
FOG DEBUG: Host: Database Load Failed: ID: 0, Error: Row not found
-
Changing the checkin time is done per client in the file config.ini found in “C:\Program Files (x86)\FOG\etc”
I’ve got mine, now, set to 20 seconds just for testing, still trying to work out kink in it.
I don’t know why You’re seeing the issue with that, did it create the host and did you set an Image with the host?