Bugs in FOG 0.33
-
Hi everyone. THANK YOU FOR FOG! Seriously.
Now that I realized there is a 0.33beta avail for testing, I am jumping in head-first.
Hope this is the correct place to report bugs or bug-like issues. If not, please direct me to the correct place.
I just grabbed 0.33beta today like so:
svn co [url]https://freeghost.svn.sourceforge.net/svnroot/freeghost/trunk[/url] freeghost
And ran the install script.
When the web UI updater ran on first logon I got the following errors:
[ATTACH]248[/ATTACH]As I went through the menus, I cam across the following related errors:
[ATTACH]249[/ATTACH]And on a host’s page:
[ATTACH]250[/ATTACH]Google was of no help, and I also found nothing similar when searching the forums here.
Any help fixing this? Would love to get to putting 0.33beta through
Thanks! And thanks again for FOG!
edit: I have nightly dumps of the db, so I can easily restore a 0.32 fog db and run any tests requested if necessary.
[url=“/_imported_xf_attachments/0/248_FOG-0.33beta-SchemaUpdateErrors-20130222.png?:”]FOG-0.33beta-SchemaUpdateErrors-20130222.png[/url][url=“/_imported_xf_attachments/0/249_FOG-0.33beta-ImageDBErrors-20130222.png?:”]FOG-0.33beta-ImageDBErrors-20130222.png[/url][url=“/_imported_xf_attachments/0/250_FOG-0.33beta-HostDBErrors-20130222.png?:”]FOG-0.33beta-HostDBErrors-20130222.png[/url]
-
After posting the above report, It seems that each Image definition had its Operating System reset to “Please select an option”
But upon checking the new db:
select * from hosts;
it shows that on the hosts with errors their hostImage is set to an ID that does not exist. e.g not in the drop-down list of images to choose from and not in the images table.
As I set each to a correct choice, the errors at the top of the Images page went away. As I then visited each host’s page, the error there was also gone.
It appears that the OS for each image definition did not get properly upgraded.
-
Hello!
I want to thank you for labeling the links! That is just what I needed. There is a spelling mistake though. It reads “User Mananagement” and should say “User Management”
Again thank you. If there is anything I need to help you with. Just please let me know. -
[quote=“falko, post: 10656, member: 48”]I must admit I am not a fan of Win 8 :)[/quote]
You don’t have to be a fan of it, but we still need to deploy it. Right now I keep getting pushed to get windows 8 on tablets. I also use it now on my home PC and recently now I use it on my desktop PC at work, though I keep my domain PC as windows 7 for testing applications etc. I would love to roll out widows 8 for tablets, I think users could benefit greatly. For desktops I don’t seen any legitimate reason.
-
Sry for the question. Is ist right that in actual svn 898 group feature is still missing? (Group hosts for multicast deploy) Link is not showing up.
-
just wanted to point out that on 12.04 with the most recent svn, the plugin management within the fog web interface is no longer functioning. It reports this error “FOG DEBUG: FOGPageManager: Class: PluginManagementPage, Method:activate, Error: Method not found in class, defaulting to index()”
-
[quote=“ssx4life, post: 10651, member: 268”]This might sound a bit silly, but do we really want to support windows 8? (I’m 1/2 kidding here)[/quote]
Really? If Win 8 support is the hold up, then I say release without it. Then work on support in the next release. BTW, those of you that don’t like Windows 8, just install Classic Shell ([url]http://classicshell.net/[/url]).
What is the status of the project? It has been a while since I’ve done anything. Do we need more specific testing at this point?
Cheers,
astrouga -
I use FOG constantly at work all day, so if anything specific needs to be tested, I can definitely help out as well. This is such an amazing piece of software and has made my life so much easier, kudos to you kind sirs
-
I have found a little bug.
In Inventory.php (management/reports/Inventory.php) the SQL has a mistake: the hostOS atribute not exists in hosts table.
[CODE]— Inventory.php (revisión: 1)
+++ Inventory.php (revisión: 2)
@@ -73,8 +73,7 @@
FROM
hosts
inner join inventory on ( hosts.hostID = inventory.iHostID )-
left outer join images on ( hostImage = imageID )
-
left outer join supportedOS on ( hostOS = osID )";
-
left outer join images on ( hostImage = imageID )";
$res = mysql_query( $sql, $conn ) or die( mysql_error() );
while ( $ar = mysql_fetch_array( $res ) )
[/CODE]If you run the SQL in DB:
[I]mysql> SELECT [/I]
[I] -> * [/I]
[I] -> FROM [/I]
[I] -> hosts [/I]
[I] -> inner join inventory on ( hosts.hostID = inventory.iHostID )[/I]
[I] -> left outer join images on ( hostImage = imageID )[/I]
[I] -> left outer join supportedOS on ( hostOS = osID );[/I]
[I]ERROR 1054 (42S22): Unknown column ‘hostOS’ in ‘on clause’[/I] -
-
Hi,
thanks for your great work on FOG !
i have installed FOG 0.33 on centOS 6.4 but i can’t deploy or upload
i have always an error :[QUOTE]Failed to create deploy task
FOGFTP: Login failed. Host: x.x.x.x, Username: fog, Password:[/QUOTE]Fog user was created with the installer
i have checked user rights on folder and reset his password but still no luck …any ideas ?
-
[quote=“giejo, post: 11429, member: 3535”]Hi,
thanks for your great work on FOG !
i have installed FOG 0.33 on centOS 6.4 but i can’t deploy or upload
i have always an error :
Fog user was created with the installer
i have checked user rights on folder and reset his password but still no luck …any ideas ?[/quote]
To be precise, i have tried a fresh new install on ubuntu 12.04 and no problems !
-
[quote=“Fernando Gietz, post: 3391, member: 13”]I’ve problems under Centos and the FOg daemons: FOGReplicator,FOGScheduler and FOGMulticastManager.
But FOGShceduler daemon:
[CODE]
[root@r800145 administrador]# /etc/init.d/FOGScheduler start
Iniciando FOGTaskScheduler: [ OK ]
[root@r800145 administrador]# PHP Warning: require_once(/var/www/html/fog/management/lib/Imageable.interface.php): failed to open stream: No such file or directory in /opt/fog/service/FOGTaskScheduler/FOGTaskScheduler on line 58
PHP Fatal error: require_once(): Failed opening required ‘/var/www/html/fog/management/lib/Imageable.interface.php’ (include_path=‘.:/usr/share/pear:/usr/share/php’) in /opt/fog/service/FOGTaskScheduler/FOGTaskScheduler on line 58
[/CODE]The file [B]/var/www/html/fog/management/lib/Imageable.interface.php [/B]don’t exists[B].[/B]
[CODE][root@r800145 lib]# pwd
/var/www/html/fog/management/lib
[root@r800145 lib]# ls -la
total 20
drwxr-xr-x 5 apache apache 4096 may 4 21:47 .
drwxr-xr-x 15 apache apache 4096 may 4 21:47 …
drwxr-xr-x 5 apache apache 4096 may 4 21:47 jpgraph
drwxr-xr-x 3 apache apache 4096 may 4 21:47 ssh
drwxr-xr-x 6 apache apache 4096 may 4 21:47 .svn
[/CODE][/quote]I can confirm this. These (mainly) class files are there when you upgrade from 0.32 to 0.33B but [B]are not there[/B] with a fresh installation. No wonder if you look at: [url]https://freeghost.svn.sourceforge.net/svnroot/freeghost/trunk/packages/web/management/lib/[/url]
[U][I][B]If it is not there to checkout, there is noting to install so it will not get installed.[/B][/I][/U]
When it is not installed there will be no runnable TaskScheduler. And without that FOG is useless.
The need for these missing files is advertised here: [url]https://freeghost.svn.sourceforge.net/svnroot/freeghost/trunk/packages/service/FOGTaskScheduler/FOGTaskScheduler[/url]
So testing 0.33 from a 0.32 upgrade might work but a fresh SVN checkout will never result in operational code!I installed this on Debian Wheezy today (April 12th 2013).
All issues with the installer are also still there: it forces installation of Debian packages even if alternatives are available (like MariaDB instead of MySQL) and overwrites configuration files without warning.
Another issue popped up too: ftp password/fog user was not resettable. (I changed the password of the system user “fog” and also the pwd in the congig.php file for the FTPserver). It kept trying the old password. The old password was still there from the 0.32 installation but was no longer valid for some reason. So no smooth migration there. I must admit though that this is a complex kerberos/pam integrated system. -
So poking round the codebase for .33 from SVN.
Snapins are borked, whenever I try and add a new one I get a blank page, checking the apache logs shows…
[Thu Apr 18 18:10:19 2013] [error] [client ::1] PHP Fatal error: Call to undefined method SnapinManager::isPasswordValid() in /var/www/fog/lib/pages/SnapinManagementPage.class.php on line 230, referer: [url]http://localhost/fog/management/index.php?node=snapin&sub=add[/url]
[Thu Apr 18 18:19:31 2013] [error] [client ::1] PHP Fatal error: Call to undefined method SnapinManager::isPasswordValid() in /var/www/fog/lib/pages/SnapinManagementPage.class.php on line 230, referer: [url]http://localhost/fog/management/index.php?node=snapin&sub=add[/url]
[Thu Apr 18 18:21:51 2013] [error] [client ::1] PHP Fatal error: Call to undefined method SnapinManager::isPasswordValid() in /var/www/fog/lib/pages/SnapinManagementPage.class.php on line 230, referer: [url]http://localhost/fog/management/index.php?node=snapin&sub=add[/url]
[Thu Apr 18 18:32:49 2013] [error] [client ::1] PHP Fatal error: Call to undefined method SnapinManager::isPasswordValid() in /var/www/fog/lib/pages/SnapinManagementPage.class.php on line 230, referer: [url]http://localhost/fog/management/index.php?node=snapin&sub=add[/url] -
I’m also assuming the re-write includes clearing cruft from the install, to that effect I can find no reason to keep the following directories and files.
/fog/public
/fog/public/randomimage.php
/fog/public/imagepoolThere is no explanation or use for these as far as I can tell and they don’t seem to be referenced from anywhere else in fog.
-
Please update the init scripts for dependency based booting on Debian. See [url]http://fogproject.org/forum/threads/0-32-installation-script-messes-on-debian.4084/[/url]
This haven’t been done in revision 899 yet.
Thank you.
-
Found out a few things.
The init.gz fog.man.reg script for full host registration is broken. (EDIT: Not broken just not appropriate as OSID is now based on Image rather than per system.)
This is because, your mysql database for fog removes the table from hosts hostOS. This itself isn’t a huge deal as I think your method of assigning the OSID to the image file rather than each system is more appropriate. But your scripts need to be adjusted to make this modification. fog.man.reg doesn’t need to get the host osid and should be removed. I’ve updated the file and will post it as soon as I can.
Also, under this same issue, the /var/www/html/fog/service/auto.register.php file needs to stop trying to put in the hostOS field as it will fail due to the table not existing in the first place. Removing all references for osid realosid and hostOS seems to have corrected this issue, I will post this file as well when i have more time. I’ve modified them to help out in my little way. I’ve also modified the /var/www/html/fog/management/reports/Inventory.php file to work more appropriately as well so it pulls it imageOSID rather than trying to pull information from a non-existent table which will cause failure.
I hope I’m not stepping on anyone’s shoes here and have helped out in my little way.
Also, if anyone’s interested, I’ve created my own init.gz and bzImage to work off of the most current kernels (3.10.5). The init.gz file has bash included with it as well.
EDIT:
Got the files and they are now attached.
auto.register.php should be a simple placement into {fogwebdir}/service/ , and I’m sure you could leave the original fog.man.reg file in place with osid inputs because the auto.register.php ultimately is in charge of writing the data to the database.
For nice housekeeping, the fog.man.txt just needs to be renamed (as the forums won’t allow an upload of a file ending in extension .reg) and chmod’ed as necessary within the init.gz /bin directory.
Hopefully this helps. Thank you,
[url=“/_imported_xf_attachments/0/359_auto.register.php?:”]auto.register.php[/url][url=“/_imported_xf_attachments/0/360_fog.man.txt?:”]fog.man.txt[/url]
-
Another minor issue that I’ve so far noticed is:
Reports, all of the pages will not work and it appears it’s because it has to communicate with the database. This communication is lost because the mysql_query statements within this pages look to be sending to a variable $conn that doesn’t exist for those pages. Also, as it needs to communicate with the database, the base configuration files are not existing either. My best suggestion would be to make a configuration file that stores the references needed within a file called something like base.inc.php that includes the base required files of commons/init.php commons/init.database.php. For the $conn variable, suggest an include statement of the base.inc.php so that the $conn system can be accessed even though it’s not directly defined in the file. So, basically, all main files should have an include BASEPATH . ‘commons/base.inc.php’; statement in them. This would also work for all other file that request this same information.
Found out that Pending MACs.php file the reference to class HostManager works if called like this:
$hostMan = new HostManager(); Rather than
$hostMan = $FOGCore->getClass(‘HostManager’);Fixed and working on my side.
My base.inc.php file is:
<?php
/* This file just stores the heading information for including *- In the FOG System. This should minimize code lines. *
-
*/
if (!defined(‘BASEBATH’))
require_once(‘system.php’);
require_once(BASEPATH . ‘/commons/config.php’);
require_once(BASEPATH . ‘/commons/init.php’);
require_once(BASEPATH . ‘/commons/init.database.php’);
$conn = @mysql_connect( DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD);
?>and is located in commons.
Then added the line to the files needed. Though I guess in the management/index.php all you should need is the reference :
include ‘…/commons/base.inc.php’;
In the reports *.php files.
include BASEPATH . ‘/commons/base.inc.php’; -
Fixed / found issue on management/reports/Pending MACS.php. The reference of
$hostMan = $FOGCore->getClass(‘HostManager’);
Doesn’t do anything as the class in reference is technically non existent. To fix this and get report is to change that line to:
$hostMan = new HostManager();
This seems to allow it to work Properly.
EDIT:
now we can go, more or less, back to the reference sample originally intended with a minor change.
Change the line:
$hostMan = $FOGCore->getClass(‘HostManager’);
To:
$hostMan = $this->FOGCore->getClass(‘HostManager’);
-
[quote=“Tom Elliott, post: 14110, member: 7271”]Another minor issue that I’ve so far noticed is:
Reports, all of the pages will not work and it appears it’s because it has to communicate with the database. This communication is lost because the mysql_query statements within this pages look to be sending to a variable $conn that doesn’t exist for those pages. Also, as it needs to communicate with the database, the base configuration files are not existing either. My best suggestion would be to make a configuration file that stores the references needed within a file called something like base.inc.php that includes the base required files of commons/init.php commons/init.database.php. For the $conn variable, suggest an include statement of the base.inc.php so that the $conn system can be accessed even though it’s not directly defined in the file. So, basically, all main files should have an include BASEPATH . ‘commons/base.inc.php’; statement in them. This would also work for all other file that request this same information.
Found out that Pending MACs.php file the reference to class HostManager works if called like this:
$hostMan = new HostManager(); Rather than
$hostMan = $FOGCore->getClass(‘HostManager’);Fixed and working on my side.
My base.inc.php file is:
<?php
/* This file just stores the heading information for including *- In the FOG System. This should minimize code lines. *
- */
if (!defined(‘BASEBATH’))
require_once(‘system.php’);
require_once(BASEPATH . ‘/commons/config.php’);
require_once(BASEPATH . ‘/commons/init.php’);
require_once(BASEPATH . ‘/commons/init.database.php’);
$conn = @mysql_connect( DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD);
?>
and is located in commons.
Then added the line to the files needed. Though I guess in the management/index.php all you should need is the reference :
In the reports *.php files.
include BASEPATH . ‘/commons/base.inc.php’;[/quote]I was/am able to remove the need of the $conn variable declaration in base.inc.php and reference the global variable for database connections within the reports directory as:
$this->connSo a simple sed script is really useful to fix this. Also with this, the $hostMan function in Pending MACS.php can now be referenced as: $this->FOGCore->getClass(‘HostManager’);
In the {fogwebdir}/management/*.php files, place near the top:
include ‘…/commons/base.inc.php’;
In the {fogwebdir}/commons/base.inc.php file just have:
base.inc.php
<?php
/* This file just stores the heading information for including *- In the FOG System. This should minimize code lines. *
-
*/
if (!defined(‘BASEBATH’))
require_once(‘system.php’);
require_once(BASEPATH . ‘/commons/config.php’);
require_once(BASEPATH . ‘/commons/init.php’);
require_once(BASEPATH . ‘/commons/init.database.php’);
?>Hopefully somebody see’s this all.
Thanks,
-
Found an issue with the Disk Usage Graph on the main page of the web interface. What happens is when the used space is equal to the total available space, the graph only show’s 50% usage.
This is due to the way, that I can tell, the jquery.flot.pie.js script interprets the information in the calcTotal and combined functions.
Attached is the modified file that seems to work appropriately. This file goes in {fogwebdir}/managment/js/
I’ve also made a few changes to {fogwebdir}/management/js/fog.dashboard.js and {fogwebdir}/status/freespace.php so that it interprets the information accurately from Available and Used space and displays in EiB thru KiB. The method it uses currently obtains the appropriate Available space, but misinterprets the Used spaced. What I mean by this is when a file system is created there is always a portion that is unavailable space. The math takes the total size of the drive and subtracts the actual free space which is not necessarily an accurate representation of what the file system actually has.
So for inventory the files I’ve changed/added for the Dashboard area are:
{fogwebdir}/management/js/fog.dashboard.js (named as fog.dashboard.txt for upload)
{fogwebdir}/management/js/jquery.flot.pie.js (named as jquery.flot.pie.txt for upload)
{fogwebdir}/status/freespace.php[url=“/_imported_xf_attachments/0/362_fog.dashboard.txt?:”]fog.dashboard.txt[/url][url=“/_imported_xf_attachments/0/363_jquery.flot.pie.txt?:”]jquery.flot.pie.txt[/url][url=“/_imported_xf_attachments/0/364_freespace.php?:”]freespace.php[/url]