Storage ID 0 is not valid / A valid database connection could not be made
-
@mtanigawa These are simple questions but I have to ask. Did you chang the x.x.x.x part of the commands below or not, and if you changed the example password to the real one.
-
Sorry, didn’t see this earlier.
No firewalls or filters are running on the machine. I will reconfirm tomorrow when back at work.
I have been able to image a machine via the node and all worked as expected - though having an issue with Snapins. Will check this later – one thing at a time.
Thank you again for your time.
-
I have confirmed that the firewall is disabled on the main fog.
Noticed that RC16 has been released, will try to update to that release tomorrow and see if any of these issues have returned.
Thank you for your time and help!
-
@mtanigawa What do you mean returned? Are you having issues currently?
-
Apologies for not being specific. ‘Return’ meaning the error experienced from this thread. I am also experiencing ongoing inconsistency with snapins deploying, but is something I am looking into separately.
Thank you for your follow up, quick replies and great work!
-
This problem seems to exist in RC20 as well. I just did an upgrade of our fog system to RC20 from a much older SVN (RC8 I think?) and have the exact same error. I’ve dropped users, recreated them, I can mount nfs, ftp, ssh and mysql between node and the full Fog server with the passwords and users as specified in the configs with no issues but the existing storage nodes are dead. Trying to add another storage node results in the Storage ID 0 is not valid error as described.
No firewalls, nothing new. Did a straight svn up from the fogproject folder and an installfog.sh as usual. No hardware or software changes on either machine and this is (was) a running production system a few hours ago that had been deploying and capturing from the nodes just fine. I’ve done basically everything possible to make this as insecure as possible, granting all with %'s and everything to no avail.
SERVER
FOG Version: 1.3.0 RC20
OS: Ubuntu 12.04
IP: 172.16.0.13I’ve done the following on the server:
mysql> SET PASSWORD FOR ‘fogstorage’@‘%’ = PASSWORD(‘password’);
Query OK, 0 rows affected (0.00 sec)mysql> GRANT ALL PRIVILEGES ON fog.* TO ‘fogstorage’@‘%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)mysql> SET PASSWORD FOR ‘fog’@‘%’ = PASSWORD(‘password’);
Query OK, 0 rows affected (0.00 sec)mysql> GRANT ALL PRIVILEGES ON fog.* TO ‘fog’@‘%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)NODE0
FOG Version: 1.3.0 RC20
OS: Ubuntu 12.04
IP: 172.16.0.16Results on the Node:
root@node0-MicroServer-Gen8:/images# mysql -u fogstorage -h 172.16.0.13 -ppassword -D fog
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -AWelcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1617
Server version: 5.5.53-0ubuntu0.12.04.1 (Ubuntu)root@node0-MicroServer-Gen8:/images# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.5 LTS
Release: 12.04
Codename: precise -
@entr0py can we begin with your apache error log please?
-
Attached.
Nothing in the last 3ish hours…
root@FOG-Virtual-Machine:/var/log/apache2# date
Sun Nov 6 16:55:33 MST 2016 -
I don’t know what is wrong, but if I had to guess, looking earlier down the road.
You set the
fog
user for DB connections.The
fog
user may be created, but probably doesn’t have permissions to communicate with the FOG database. I think you intended to usefogstorage
for db connections?I’m not sure why you had shown us the values in the storage node. If I had to guess, you changed “management user/password” to match what you set for the fog database connection? If that is the case, this means your FTP information is likely broken at this point. To fix this, (after fixing the fogstorage user/password to the db) edit the
/opt/fog/.fogsettings
file and ensure the username and password is correct for the “local” linux user. Ensure thesnmysqluser
portion is set tosnmysqluser='fogstorage'
. Ensure thesnmysqlpass
portion is set to the password as set in FOG Configuration Page->FOG Settings->FOG Storage Nodes->FOG_STORAGENODE_MYSQLPASSPlease see if making this fixes will work.
-
Sorry for it being so confusing what I posted. I was just playing around with a ton of options trying to find something that might work before I started to complain at the overworked and underpaid developers. My snmysqluser=‘fogstorage’ on the node already. Passwords all match. I can ftp between the boxes using the management user of “fog” and password of “password” and mysql works with “fogstorage” and “password” as well. The user works as shown below:
root@node0-MicroServer-Gen8:/opt/fog# mysql -h 172.16.0.13 -u fogstorage -ppassword -A fog
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2984
Server version: 5.5.53-0ubuntu0.12.04.1 (Ubuntu)Copyright 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> SELECT * FROM hostMAC WHERE hmHostID=0;
Empty set (0.00 sec)It also matches the web interface settings.
Attached are both .fogsettings files.
0_1478478272991_dotfogsettings-host.txt
0_1478478279431_dotfogsettings-node.txt -
Also, either user should work given the grants in MySQL.
mysql> show grants for fog;
±---------------------------------------------------------------------------------------------------+
| Grants for fog@% |
±---------------------------------------------------------------------------------------------------+
| GRANT USAGE ON . TO ‘fog’@‘%’ IDENTIFIED BY PASSWORD ‘2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19’ |
| GRANT ALL PRIVILEGES ONfog
. TO ‘fog’@’%’ WITH GRANT OPTION |
±---------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)mysql> show grants for fogstorage;
±----------------------------------------------------------------------------------------------------------+
| Grants for fogstorage@% |
±----------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON . TO ‘fogstorage’@‘%’ IDENTIFIED BY PASSWORD ‘2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19’ |
| GRANT ALL PRIVILEGES ONfog
. TO ‘fogstorage’@’%’ WITH GRANT OPTION |
±----------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)mysql>
-
@entr0py I confirmed the storage id 0 is not valid issue. Mind you, this was literally just a message. The node was indeed created and functional even though this message was there.
When you create a new node, the page redirects to the “edit” page. This edit page needs to have the id passed into it. I missed passing it the “edit” portion and had the id being incorrectly set.
While this was a very minor bug, I have republished as RC-20. Sorry for not noticing it sooner.
-
Any thoughts on why the storage node still doesn’t work? If I try to create a task it says the node doesn’t exist. If I try to create a task I get the following:
If I try to show the node on the dashboard it isn’t even listed:
If I try to image a computer using “Deploy Image” on GRUB menu:
-
It’s seems it’s connecting to the db now, but we can’t seem to connect to the other nodes.
This might be due to two things.
I modified a function to help ensure the nodes are available before getting data. The
()
on the nodes tells me the main server is unable to request the other nodes’ urls. This might simply be because the isAvailable is using a connection timeout of 500 ms. Maybe this is just too short to see those servers? It worked fine in my testing, but my nodes are admittedly within the same network I am. To test this theory, please open up the file:/var/www/fog/lib/fog/fogurlrequests.class.php
.At lines: 271 and 327.
Please make them read as:
$options[CURLOPT_CONNECTTIMEOUT_MS] = 2000;
I think maybe then you’ll start seeing data filling in these areas?
-
and I think that will fix for the unable to create the task issue for you too. (The changing the timeout to 2000 miliseconds).
-
That might be the problem considering I don’t even have that file…
root@FOG-Virtual-Machine:/var/www/fog/lib/fog# ls -lsa quests
ls: cannot access quests: No such file or directoryThose are supposed to be asterisks for anything quests anything. I only have one file in the whole lib/fog directory with a newer date than August 13 2014…
-
-
Upgraded to 6007 on both host and node, made the change you suggested and still nothing. Same routine.
I created another node with all the same settings, placed it in the same storage group, disabled the old node and enabled the new one and still nothing. If I select that storage group on the dashboard it shows 0/0/0 with and the node doesn’t show in the list either.
-
@entr0py your issue brought another partial issue for what I would call doubles. At one point the server only used /var/www/fog for ubuntu (this is usually set as a link now).
Please try running:
rm -rf /var/www/fog; ln -s /var/www/{html/,}fog
This should allow the server to see the files regardless of how you’re accessing the data (why you didn’t see fogurlrequests).
-
Remoted in and found that the server was in fairly funky state.
It is ubuntu 12.04, and while we typically recommend to update, this particular issue was simply due to ondrej attempting to install php 7, but the packages variable on fogsettings was pre-labelled as php 5. Removed the packages variable and php/apache on the node, updated the php version stored in the fogsettings, reinstalled ondrej, and re-ran installer .