Problems with multicast task
-
@Miguel-Palacios do me a favor and run
mv /var/www/fog{,_back} ln -s /var/www/html/fog /var/www/fog
Then rerun the installer please. Hopefully this will help.
-
@Tom-Elliott, I followed your instructions and all continued same
Also I have tried to install the new update and not fix the problemā¦Thank you!
-
-
Seems to be a similar error than in my Thread (https://forums.fogproject.org/topic/7414/multicast-not-starting)
array_map(): An error occurred while ⦠ā¦/fogcontroller.class.php
=> php settings? php version? -
This post is deleted! -
This post is deleted! -
This post is deleted! -
@Tom-Elliott
I solved this question in my case, perhaps it may help someone.- FOG 1.3-RC1 on CentOS 7.0.
- Unicast deploy working.
- Even multicast was working.
After a system reboot, MulticastManager didnāt start again:
Sep 4 06:01:28 clonacion FOGMulticastManager: PHP Fatal error: Call to undefined method MulticastManager::getBanner() in /opt/fog/service/FOGMulticastManager/FOGMulticastManager on line 13
It didnāt matter if I added a multicast task: udp-sender process didnāt start because service didnāt start before (youāll see only one FOGMulticastManager in process list --psā, itās the parent which forks periodically one child process (but this one will die at GetBanned method invocation).
If I commented GetBanner() invocation out at /opt/fog/service/FOGMulticastManager/FOGMulticastManager, then it failed at next method call to object MulticastManager.
I found TWO āMulticastManagerā class, one of them extends FOGBase (at lib/fog directory) and the other one extends FOGService (at lib/service directory). Only the last one has defined methods like GetBanner(), etc. By any reason, it uses in some cases wrongly the first one (even when it used the second one after installation because it worked before).
So, I renamed MulticastManager class that extends FOGService to MulticastManagerService, and I changed the code to use that. After that, service FOGMulticastService starts with no problems, it works. I did the same thing with rest of services: FOGScheduler,ā¦
I resume (for service MulticastManager: repeat it with other services in /opt/fog/services directory):
-
Edit /opt/fog/service/FOGMulticastManager/FogMulticastManager file: modify line 8 from $ServiceClass = FOGCore::getClass(āMulticastManageā); to $ServiceClass = FOGCore::getClass(āMulticastManagerServiceā);
-
Rename file /var/www/html/fog/lib/service/multicastmanager.class.php to /var/www/html/fog/lib/service/multicastmanagerservice.class.php (/var/www/html/fog is the path to fog web service)
-
Edit /var/www/html/fog/lib/service/multicastmanagerservice.class.php and modify the name of this class (line 2) from āclass MulticastManager extends FOGServiceā to āclass MulticastManagerService extends FOGServiceā
-
This post is deleted! -
@habu there is only one multicast manager class. That is the one supposed to be in lib/service
The one in lib/fog should read multicast sessions, multicast sessions manager, multicast sessions association, and multicast sessions association manager. Of course without the spaces.
-
I wouldnāt advise trying to modify RC1ās code base. I would advise updating to the latest RC.
-
So based on that information, I suspect the copy back original files broke this for you.
Basically copy back works by taking the backup copy and placing back. The installer then copies the new files which simply overwrites same named files.
I think this is where things went funny in your case. Multicast manager used to reside in lib/fog and for modularity I moved Linux service files into lib/service.
What I can try to do, then, is iterate directories and only allow my files over everything else within those folders.
For the time being, would you mind confirming by reinstalling.
Then remove the lib/fog/multicastmanager.class.php, then rerun the installer again
This should fix the issue you were seeing. Or better yet would simply be to remove the /var/www/html/fog and /var/www/fog folders. Remove the backup folders with
rm -rf /home/fog*BACKUP
and rerun the installer.I prefer the latter because it will ensure no unwanted remnants will be present as it canāt create a backup and the original backup of the same name wonāt be able to operate either.
Of course if you have custom files in your fog web root, make a backup first.
-
@Tom-Elliott
But it seems to wrongly use the one in lib/fog in some cases (and so I get GetBanner() errors, and, if i comment getBanner() call out in service code, then error happens at next method invocation wait_ā¦). After I changed its name (and its fileās name), Reflection find necessary the right class, no errors, all services started again, and multicast is working.Best regards,
Javier -
@habu what Iām saying is its copying data that should not be there. Modifying core files only works around the issue. What Iām suggest will fix the issue permanently for you.