Bug #2424

Amahi 12 Testing

Added by bigfoot65 27 days ago. Updated 2 days ago.

Target version:
Start date:
Due date:
% Done:



All went well until I got the hda-install step.

Errors reported are as follows:

/usr/bin/hda-install:562: warning: URI.escape is obsolete
/usr/bin/hda-install:563: warning: URI.escape is obsolete

/usr/bin/hda-install:574: warning: calling via Kernel#open is deprecated, call directly or use URI#open

The last error ended the install:

ERROR 1146 (42S02) at line 1: Table 'hda_production.settings' doesn't exist
Initializing settings
Traceback (most recent call last):
        7: from /usr/bin/hda-install:1366:in `<main>'
        6: from /usr/bin/hda-install:1363:in `main'
        5: from /usr/bin/hda-install:875:in `do_full_install'
        4: from /usr/bin/hda-install:239:in `get_db_settings'
        3: from /usr/share/gems/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `query'
        2: from /usr/share/gems/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `handle_interrupt'
        1: from /usr/share/gems/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `block in query'
/usr/share/gems/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `_query': Table 'hda_production.settings' doesn't exist (Mysql2::Error)


#1 Updated by bigfoot65 27 days ago

Recommend when updating hda-install, remove all references of Greyhole.

The database creation should be done via Greyhole-UI.

#2 Updated by cpg 26 days ago

ok, new packages released for hda-ctl and hda-platform and hda-release (version 12.0.0 since this will probably not change).

greyhole removed, installer should not have those warnings and should install ok, though I did not try a fresh install. also new platform where the dashboard should work if it installs properly.

while you test, i will work on anywhere, sync, etc.

#3 Updated by cpg 26 days ago

Also, updated the test page details at

#4 Updated by bigfoot65 26 days ago

Install went well. I did see two warnings in the hda-install:

Disabling SELinux.
/usr/share/gems/gems/ruby-dbus-0.11.0/lib/dbus/marshall.rb:301: warning: constant ::Fixnum is deprecated
/usr/share/gems/gems/ruby-dbus-0.11.0/lib/dbus/message.rb:129: warning: constant ::Fixnum is deprecated
Congratulations! Your Amahi HDA is set up!

Other than those, there were no other error messages displayed.

Great job! Now to start testing the platform. BTW, do the F29 apps need to be renamed to F32?

#5 Updated by bigfoot65 26 days ago

Looks like httpd error:

● httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
    Drop-In: /usr/lib/systemd/system/httpd.service.d
     Active: failed (Result: exit-code) since Fri 2020-05-08 10:02:32 CDT; 3min 5s ago
       Docs: man:httpd.service(8)
    Process: 457 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
   Main PID: 457 (code=exited, status=1/FAILURE)
     Status: "Reading configuration..." 
        CPU: 37ms

May 08 10:02:31 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
May 08 10:02:32 localhost.localdomain httpd[457]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
May 08 10:02:32 localhost.localdomain httpd[457]: (2)No such file or directory: AH02291: Cannot access directory '/var/hda/platform/logs/' for error log of vhost defined at /etc/httpd/conf.d/01-platform.conf:1
May 08 10:02:32 localhost.localdomain httpd[457]: AH00014: Configuration check failed
May 08 10:02:32 localhost.localdomain systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
May 08 10:02:32 localhost.localdomain systemd[1]: httpd.service: Failed with result 'exit-code'.
May 08 10:02:32 localhost.localdomain systemd[1]: Failed to start The Apache HTTP Server.

The /var/hda/platform/logs/ directory does not exist. Should it have been /var/hda/platform/html/log/ as I do see that one.

Correcting it in /etc/httpd/conf.d/01-platform.conf to the existing path allows httpd to start.

The Amahi Initialization on the dashboard yields:

The Dashboard has encountered an exception!

Woopsie. Sorry about that!

It could be due to a bug, or very low memory, or very low disk in the root (/) partition.

If your disk or memory are not critical, it's likely a bug.

If this persists, please file a bug report with as much detail as you can.

You will be redirected to a debug page with more information shortly.

For Troubleshooting visit here Troubleshoot

#6 Updated by cpg 25 days ago

  • Status changed from New to Feedback
  • Assignee changed from cpg to bigfoot65

thanks for the detail.

i pushed a new rpm of the hda-platform and hda-ctl to the repos. should fix some of these issues reported and move us closer to the goal.

#7 Updated by bigfoot65 25 days ago

Perfect! Just did a test install.

I updated /etc/httpd/conf.d/01-platform.conf to reflect /var/hda/platform/html/log/. Restarted httpd and I was able to create the initial user. The Fixnum is deprecated error remains as well.

Dashboard is up and working. I will poke around and check things out.

I see apps. Is it ok to see if they work?

#8 Updated by cpg 25 days ago

I changed it so it uses our standard of /var/hda/platform/logs/ in the web server.

updated hda-platform rpm to the repo.

anyone doing a clean install please report how that goes.

#9 Updated by bigfoot65 25 days ago

  • Status changed from Feedback to Assigned
  • Assignee changed from bigfoot65 to cpg

Did a new install.

All worked perfectly!

Still have to test out features and such yet.

#10 Updated by cpg 25 days ago

  • Status changed from Assigned to Feedback

Throwing it back at you since you have to go through the checklist.

All app versions that were listed as F29 are now migrated to being listed F32.

Once we test a few and start identifying things we can clear those and start with the grinder.

#11 Updated by cpg 24 days ago

It appears that some (all?) of the JavaScript based functionality of the dashboard like changing a user password, changing shares permissions, etc. is not working.

Something broke in the app stack.

#12 Updated by bigfoot65 23 days ago

Agreed. I checked out adding a user and had the same issue. Shares appear to work though. Tried an app install, which appears to work but I see all this noise in the /var/log/amahi-app-installer.log file:

Rails Error: Unable to access log file. Please ensure that /var/hda/platform/html/log/production.log exists and is writable (ie, make it writable for user and group: chmod 0664 /var/hda/platform/html/log/production.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
  ^[[1m^[[35m (0.4ms)^[[0m  ^[[1m^[[35mSET NAMES utf8,  @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'),  @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483^[[0m
You have selected Sha512 as your authlogic crypto provider. This algorithm
does not have any practical known attacks against it. However, there are
better choices.

Authlogic has no plans yet to deprecate this crypto provider. However,
we recommend transitioning to a more secure, adaptive hashing algorithm,
like scrypt. Adaptive algorithms are designed to slow down brute force
attacks, and over time the iteration count can be increased to make it
slower, so it remains resistant to brute-force search attacks even in
the face of increasing computation power.

Use the transition_from_crypto_providers option to make the transition
painless for your users.
  ^[[1m^[[35m (0.2ms)^[[0m  ^[[1m^[[35mSET NAMES utf8,  @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'),  @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483^[[0m
  ^[[1m^[[36mSetting Load (0.4ms)^[[0m  ^[[1m^[[34mSELECT `settings`.* FROM `settings` WHERE `settings`.`name` = 'api-key' ORDER BY `settings`.`id` ASC LIMIT 1^[[0m
  ^[[1m^[[36mSetting Load (0.4ms)^[[0m  ^[[1m^[[34mSELECT `settings`.* FROM `settings` WHERE `settings`.`name` = 'api-key' ORDER BY `settings`.`id` ASC LIMIT 1^[[0m
  ^[[1m^[[36mWebapp Load (0.9ms)^[[0m  ^[[1m^[[34mSELECT `webapps`.* FROM `webapps` WHERE `webapps`.`name` = 'wordpress' ORDER BY `webapps`.`id` ASC LIMIT 1^[[0m
=======  app install begin      @  2020-05-10 15:26:56 -0500 ==========
Installing   app id n0d3n5na6g under /var/hda/platform/html/script/.. ENV=production
NOTICE: redirected '' --> '' ...
file /var/hda/tmp/amahi-download-cache/9800c231828eb5cd76ba0b8aa6c1a74dfca2daff written in cache
  ^[[1m^[[35m (0.2ms)^[[0m  ^[[1m^[[35mBEGIN^[[0m
  ^[[1m^[[36mApp Exists? (50.8ms)^[[0m  ^[[1m^[[34mSELECT 1 AS one FROM `apps` WHERE `apps`.`identifier` = BINARY 'n0d3n5na6g' LIMIT 1^[[0m
  ^[[1m^[[36mSetting Load (0.2ms)^[[0m  ^[[1m^[[34mSELECT `settings`.* FROM `settings` WHERE `settings`.`name` = 'domain' ORDER BY `settings`.`id` ASC LIMIT 1^[[0m
  ^[[1m^[[35m (0.2ms)^[[0m  ^[[1m^[[34mSELECT COUNT(*) FROM `webapps`^[[0m
  ^[[1m^[[36mDnsAlias Exists? (0.2ms)^[[0m  ^[[1m^[[34mSELECT 1 AS one FROM `dns_aliases` WHERE `dns_aliases`.`name` = BINARY 'wordpress' LIMIT 1^[[0m
  ^[[1m^[[36mDnsAlias Create (0.4ms)^[[0m  ^[[1m^[[32mINSERT INTO `dns_aliases` (`name`) VALUES ('wordpress')^[[0m
Your HDA services have been restarted.
Your HDA services have been restarted.
  ^[[1m^[[36mWebapp Create (0.3ms)^[[0m  ^[[1m^[[32mINSERT INTO `webapps` (`name`, `path`, `kind`, `fname`, `deletable`, `dns_alias_id`, `custom_options`, `created_at`, `updated_at`) VALUES ('wordpress', '/var/hda/web-apps/wordpress', 'custom', '1000-wordpress.conf', FALSE, 7, 'Options Indexes FollowSymLinks MultiViews\nAllowOverride All\nRequire all granted', '2020-05-10 20:27:09', '2020-05-10 20:27:09')^[[0m
  ^[[1m^[[36mSetting Load (0.3ms)^[[0m  ^[[1m^[[34mSELECT `settings`.* FROM `settings` WHERE `settings`.`name` = 'domain' ORDER BY `settings`.`id` ASC LIMIT 1^[[0m
  ^[[1m^[[36mDb Create (0.2ms)^[[0m  ^[[1m^[[32mINSERT INTO `dbs` (`name`, `created_at`, `updated_at`) VALUES ('wordpress', '2020-05-10 20:27:09', '2020-05-10 20:27:09')^[[0m
  ^[[1m^[[35m (874.3ms)^[[0m  ^[[1m^[[35mDROP DATABASE IF EXISTS `wordpress`;^[[0m
  ^[[1m^[[35m (2.8ms)^[[0m  ^[[1m^[[35mCREATE DATABASE IF NOT EXISTS `wordpress` DEFAULT CHARACTER SET utf8;^[[0m
  ^[[1m^[[35m (4.3ms)^[[0m  ^[[1m^[[35mDROP USER 'wordpress'@'localhost';^[[0m
  ^[[1m^[[35m (121.7ms)^[[0m  ^[[1m^[[35mCREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'wordpress';^[[0m
  ^[[1m^[[35m (169.5ms)^[[0m  ^[[1m^[[35mGRANT ALL PRIVILEGES ON `wordpress`.* TO 'wordpress'@'localhost';^[[0m
  ^[[1m^[[36mApp Create (431.0ms)^[[0m  ^[[1m^[[32mINSERT INTO `apps` (`installed`, `name`, `screenshot_url`, `identifier`, `description`, `version`, `app_url`, `logo_url`, `webapp_id`, `status`, `special_instructions`, `db_id`, `initial_user`, `initial_password`, `created_at`, `updated_at`) VALUES (TRUE, 'WordPress', '', 'n0d3n5na6g', 'WordPress is a state-of-the-art publishing platform with a focus on aesthetics, web standards, and usability. WordPress is both free and priceless at the same time.  More simply, WordPress is what you use when you want to work with your blogging software, not fight it.', '5.4.1', '', '', 1, 'live', 'Use <b><a href=\"http://wordpress/wp-admin\" target=\"_blank\">http://wordpress/wp-admin</a></b> to access the administrator pages.<br/><br/>', 1, 'admin', 'admin', '2020-05-10 20:27:10', '2020-05-10 20:27:10')^[[0m
  ^[[1m^[[35m (0.1ms)^[[0m  ^[[1m^[[35mCOMMIT^[[0m
  ^[[1m^[[36mSetting Load (0.5ms)^[[0m  ^[[1m^[[34mSELECT `settings`.* FROM `settings` WHERE `settings`.`name` = 'net' ORDER BY `settings`.`id` ASC LIMIT 1^[[0m
  ^[[1m^[[36mSetting Load (0.2ms)^[[0m  ^[[1m^[[34mSELECT `settings`.* FROM `settings` WHERE `settings`.`name` = 'self-address' ORDER BY `settings`.`id` ASC LIMIT 1^[[0m
  ^[[1m^[[36mSetting Load (0.2ms)^[[0m  ^[[1m^[[34mSELECT `settings`.* FROM `settings` WHERE `settings`.`name` = 'domain' ORDER BY `settings`.`id` ASC LIMIT 1^[[0m
  ^[[1m^[[36mUser Load (0.2ms)^[[0m  ^[[1m^[[34mSELECT `users`.* FROM `users` WHERE `users`.`admin` = TRUE ORDER BY `users`.`id` ASC LIMIT 1^[[0m
file /var/hda/tmp/amahi-download-cache/e9c4ff0cfc07bee4a91fc0c0ab5c68b8739ee1b1 written in cache
App: WordPress installed
=======  app install end        @  2020-05-10 15:27:18 -0500 ==========

I still have things to check out in the dashboard.

Here's some log files for you.



#13 Updated by cpg 22 days ago

ok, hda-platform-11.7.13-1.x86_64.rpm released to the repos. it has
  • some fixes for javascript related to users,
  • fixes to PIN changing
  • httpd logs go to /var/hda/platform/logs/*_log as it ought to be

known issues to work on:

  • issue in network > settings when advanced settings are on
  • issues (harmless?) when toggling permissions for all users for a share
  • maybe some javascript issues here and there that we have to locate
  • redirect puma logs to log/productions
  • maybe upgrade to rails 6.1 while we're at it and do more cleanups
  • the crypto provider issue is a general message. annoying as it is, it is harmless. maybe we can eliminate it somehow.

generally, javascript is not as broken as I thought perhaps it was. that's good news. maybe app installation works and other things work too. we need to comb through the functionalities.

#14 Updated by bigfoot65 19 days ago

SO far so good. Tested Users change password and PIN. All working as intended. I have poked a bit at the basic features and have not found any issues as of yet.

Still have issues with the amahi-app-installer.log file reflecting a lot of garbage (as previously reported), but a few of the apps I tested installed and worked.

I will keep testing and report results over the next few days.

#15 Updated by bigfoot65 14 days ago

Request Docker packages below be remove from the Amahi platform:

docker docker-common container-selinux docker-selinux docker-engine

The Fedora Repo Docker packages do not work well. I have built apps to install and use Docker CE which better aligns with Amahi business rules. It also works well with Amahi in my testing. This will also ensure only users who want this capability have it.

Might need to check code to ensure there is nothing tied to Docker. I don’t think there is but best be sure.

#16 Updated by cpg 11 days ago

I do not see anything tying hda-platform or hda-ctl to any docker package via a direct dependency.

However, I do not know if something that hda-* pulls in actually pulls in any of docker. Looks like you do not know if that is the case either.

#17 Updated by bigfoot65 11 days ago

I see the following with the platform. Not sure if they were ever implemented:

/var/hda/platform/html/vendor/bundle/ruby/2.7.0/gems/docker-api-1.34.2/lib/docke                                                                                                                                                             r
/var/hda/platform/html/vendor/bundle/ruby/2.7.0/gems/docker-api-1.34.2/lib/docke                                                                                                                                                             r-api.rb
/var/hda/platform/html/vendor/bundle/ruby/2.7.0/gems/docker-api-1.34.2/lib/docke                                                                                                                                                             r.rb
/var/hda/platform/html/vendor/bundle/ruby/2.7.0/specifications/docker-api-1.34.2                                                                                                                                                             .gemspec

#18 Updated by cpg 11 days ago

Ok, these are inactive files (harmless, do not create any dependencies).

Docker-compose is a config file on how to run docker-compose on the platform.

The other is a gem for docker api, which I am quite sure it's harmless (i.e. some other gem may have it to talk to docker services via some API).

#19 Updated by cpg 8 days ago

Samba does not share files with colons in them. Looking into fixing it.

#20 Updated by cpg 8 days ago

Amahi Time Machine appears to be working (modulo the first backup to complete).

#21 Updated by cpg 3 days ago

backup in time machine finished well.

found out that samba currently has support for shares to advertise themselves as supporting time machine. this is very nice.

Found an issue. App partially uninstalled, removing a folder area already when my internet started to get down. Later I got this error. We have to protect this area of the code to not fail if this dir is gone. It should tolerate more.

/var/hda/platform/html/app/models/app.rb:410:in `chdir': No such file or directory @ dir_chdir - /var/hda/apps/me9eoz04r9 (Errno::ENOENT)

#22 Updated by bigfoot65 2 days ago

Think I found a new problem to do with dependency install in apps.

For Nextcloud 14, I put all the dependencies on the package line. None were installed. I tried them on the package dependencies line and none were installed. I then put one on the package line and the rest on package dependencies and only the package line was installed.

Really odd behavior, but I cannot seem to get the app to install them all.

UPDATE: Figured it out. The last package in the list (python2-certbot-apache) was not found in the repo. So as a result, none installed. Once I updated it to the correct one (python3-certbot-apache), they installed fine. Probably not the ideal way to handle a bad package name.

Also available in: Atom