1.3.0 RC-2 : access plugin | node down
First, I would like to thank you for all the work you made developing FOG. I often use this software to deploy classrooms and I find it very useful.
Here are two issues I met with RC-2 of FOG 1.3.0 :
First issue :
When I install the access plugin, I’m facing a white page and the following two errors in the Apache log
- [Sun Jul 24 20:18:26 2016] [error] [client x.x.x.x] PHP Strict Standards: Accessing static property RemoveUpload::$FOGUser as non static in /var/www/fog/lib/plugins/accesscontrol/hooks/removeupload.hook.php on line 26
- [Sun Jul 24 20:18:26 2016] [error] [client x.x.x.x] PHP Fatal error: Call to a member function isValid() on null in /var/www/fog/lib/plugins/accesscontrol/hooks/removeupload.hook.php on line 26
It seems to be related to this code “this->$FOGUser” in the file “removeupload.hook.php”. I noticed that the FOGUser object is referenced differently the other hooksfile (ex. removemenuitems.hook.php), where it is referenced like this : “self::$FOGUser”. I modified the file “removeupload.hook.php” in that way and it seems to work.
Second issue :
It seems that when a node is down, the login time to the FOG web interface is augmented by several tens of seconds. I also notice the same behavior when clicking on the “home” tab. Maybe it tries to connect to the node to retrieve disk usage or other data it does this synchronously before hitting a timeout ?
Thanks in advance for checking those issues,
@george1421 and if I recall the access control is already built for 2.0.
While I agree plain removing it seems a bit harsh, it can still be side loaded. Remember, I maintain a backup of the version being installed. So the backup of the original web structure is still available, with the only exception being when one goes to install rc-3. The rc-3 backup will remove the accesscontrol. If you go to the rc-2 backup (from when you installed rc-2) you can still get a copy of the access control plugin. While not perfect and does require a little extra work, it is still relatively easy.
@Tom-Elliott While this vote comes after the decisions has already been made. I vote for removal too. While I feel strongly that FOG needs quite a bit finer access control, that plugin isn’t the right tool and it causes more question than provides any type of solution.
For those that use the current access control plugin in today. You WILL need to find a way to (side load) the plugin so they can remain using it. But for mainstream users, it should be hidden or just removed. If you flat remove the plugin then people that need it will not migrate past RC2 since they will lose this utility. (for discloser I do not use the plugin).
Now for FOG 2.0 access control (as well as security) needs to be built in from the beginning.
Access control plugin has been removed. This removal will be forced in RC-3. This is because it can cause MANY more issues than would be worth trying to adjust for. Hopefully you all understand.
I’ve fixed the storage node disabled issue for home page and for the fog settings page. They are now purely jquery based meaning they’re asynchronous. This basically means they will no longer block simply due to a node being offline.
This will be released in RC-3.
I vote to remove the access plugin. Nobody would expect to have to dig through PHP just to install a plugin. If it doesn’t work out of the box, pitch it.
The accesscontrol plugin was an attempt to bring, you guessed it, access controls to fog, but it is very convoluted. I’ve been more tempted to just remove it as it was very complex to get working, and even with the plugin in it’s current state, it only works on a manual basis (meaning you have to code all the elements yourself.)
I know of a few people who actually are using it successfully (or somewhat so I suppose more accurate). That said, as you’re running into issues, I’d simply recommend disabling the plugin, unless you feel you want to code it for your environment. A potentially simpler way for you to fix this would be to remove the accesscontrol plugin you currently have, and rerun the FOG installer. This should help you with any issues, but like I said, I haven’t really put any work into it. There’s just too much to try to make it work properly at this point.
Node’s being done is an issue, I suppose, and I should really figure out a way to fix it. This isn’t a problem with login, as you noted. It’s more due to the timeouts that are designed to try to test if the page is accessible in the first place.
I wrote a script that monitors fog storage nodes. If they are up, they are enabled in the db. If they are down, they are disabled. You can also specify if you want the graph turned off or on as well for the on-line ones.
At work, we have a 15-server fog system. Down time was a real pain, it really messed with a lot of things, hence why I wrote this little script. You’d schedule it with CRON, I have ours set to run every 3 minutes.
The “MonitorNodes.sh” is what you’re after, here. The other stuff I’m still working on.