...
When upgrading vFMC from 6.4.0.9 to 6.5.0, customer no longer has access to the FMC GUI; it simply displays an "upgrade failed" and below error logs seen in the status.log file. ------------------------------------------------------------------------------------------------------------------------------------------------- Starting script: 500_rpms/110_generate_dbaccess.sh Entering 500_rpms/110_generate_dbaccess.sh... No JSON object could be decoded Error while generating dbaccess file.
++ upgrading vFMC from 6.4.0.9 to 6.5.0. ++ httpsd process is down ++ status.log shows failure at script 500_rpms/110_generate_dbaccess.sh ++ see following stack trace: Printing stack trace: called from /usr/lib/perl5/site_perl/5.10.1/Error.pm (150) called from /usr/local/sf/lib/perl/5.10.1/SF/Util/CredentialsDB.pm (60) called from /usr/lib/perl5/5.10.1/Memoize.pm (249) called from (eval 942) (1) called from /usr/local/sf/lib/perl/5.10.1/SF/Util.pm (847) called from /usr/local/sf/bin/sf_troubleshoot.pl (874) called from /usr/local/sf/bin/sf_troubleshoot.pl (615) failed to read/parse credentials db: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/local/sf/lib/perl/5.10.1/SF/Util/CredentialsDB.pm line 55, line 736.
Below is other alternative workaround for this issue: 1. Delete /new-root/etc/sf/dbaccess.conf & /etc/sf/dbaccess.conf and rerun the upgrade then dbaccess.conf File get re-generated. 2. Unregister private FireAmp cloud before upgrade will also works and upgrade will succeed. 3. Copy non-empty dbaccess.conf file from FMC lab running same version to "/etc/sf/dbaccess.conf" and then kick the upgrade.
Prior to slow repair of database, couldn't do DB check due to corruption (see logs below). After slow repair, DBCheck.pl shows no warnings/errors. DBI connect('ENG=csmEng;Host=127.0.0.1:10033;CharSet=utf8','DBA',...) failed: Database server not found (DBD: login failed) at /usr/local/sf/lib/perl/5.10.1/SF/SFDBI.pm line 309 $VAR1 = [ 'Connection failed', bless( { '-file' => '/usr/local/sf/lib/perl/5.10.1/SF/SFDBI.pm', '-text' => 'Can\'t call method "prepare" on an undefined value', '-line' => '313', '-package' => 'Error::subs' }, 'Error::Simple' ) ]; getting filenames from [/usr/local/sf/etc/db_updates/index] getting filenames from [/usr/local/sf/etc/db_updates/base-6.4.0] no dude file [/usr/local/sf/etc/db_updates/6.4.0.4] assume no database updates no dude file [/usr/local/sf/etc/db_updates/6.4.0.6] assume no database updates no dude file [/usr/local/sf/etc/db_updates/6.4.0.7] assume no database updates no dude file [/usr/local/sf/etc/db_updates/6.4.0.8] assume no database updates getting exceptions from [/usr/local/sf/etc/db_exceptions/db_exceptions.yaml] Unable to run DB Check, DB error executing [SELECT uuid,type FROM EOStore] Can't call method "prepare" on an undefined value at /usr/local/sf/bin/DBCheck.pl line 74. #################################### Additional logs: 2020-07-29 18:38:06 run_hm[7224]: Could not read bb-health: No such file or directory at /usr/local/sf/lib/perl/5.10.1/SF/OAL/Health/BBHealthMon.pm line 72. 2020-07-29 18:38:06 run_hm[7224]: Error getConnections: failed to read/parse credentials db: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/local/sf/lib/perl/5.10.1/SF/Util/CredentialsDB.pm line 55. 2020-07-29 18:38:10 fireamp[5731]: Retrying connection to cloud 796f425e-58ce-4073-b70d-b411857c9149 for domain e276abec-e0f2-11e3-8169-6d9ed49b625f$VAR1 = { 2020-07-29 18:38:10 fireamp[5731]: 'cloud_retry_count' => 6408, 2020-07-29 18:38:10 fireamp[5731]: 'check_agent_mapping' => 1, 2020-07-29 18:38:10 fireamp[5731]: 'amqp_retry_count' => 0 2020-07-29 18:38:10 fireamp[5731]: }; 2020-07-29 18:38:10 fireamp[5731]: Started process for cloud 796f425e-58ce-4073-b70d-b411857c9149 and domain e276abec-e0f2-11e3-8169-6d9ed49b625f with PID 18434 at /usr/local/sf/bin/fireamp.pl line 191. 2020-07-29 18:38:10 fireamp[5731]: failed to read/parse credentials db: malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/local/sf/lib/perl/5.10.1/SF/Util/CredentialsDB.pm line 55.