hassio-addons / addon-unifi

UniFi Network Application - Home Assistant Community Add-ons
https://addons.community
MIT License
267 stars 133 forks source link

Won't work after 0.19.0 Update #106

Closed pearfire575 closed 3 years ago

pearfire575 commented 3 years ago

Problem/Motivation

After 0.19.0 upgrade the addon starts regularly, nothing in the logs (set to trace) worth mentioning or errors to be found.

Expected behavior

Appearing of the login page at the xxxx.yyy:8443 page

Actual behavior

Doesn't work, no webpage to be seen.

Steps to reproduce

Just upgraded via the Supervisor. I also did an uninstall and re-install while doing a restore with a week old backup file. If i do a clean setup it seems to make it up to the dashboard, but at the next startup it shows the same problem as before.

Proposed changes

(If you have a proposed change, workaround or fix, describe the rationale behind it)

anthonyangel commented 3 years ago

I'm was seeing the same, nothing in the addon logs, but in my supervisor logs I had

20-10-01 22:10:49 ERROR (SyncWorker_4) [supervisor.docker] Can't start addon_a0d7b954_unifi: 500 Server Error: Internal Server Error ("driver failed programming external connectivity on endpoint addon_a0d7b954_unifi (0d7512b0812a869c3f404292c5ed66da994b1a97abd5bb22c7e2acf0711c5b63): Error starting userland proxy: listen udp 0.0.0.0:3478: bind: address already in use")

sudo lsof -i:3478 showed me what else was using that port. I stopped the other service and then this worked as normal

pearfire575 commented 3 years ago

null elif (.certfile | type == "string") then .certfile // empty elif (.certfile | type == "boolean") then .certfile // false elif (.certfile | type == "array") then if (.certfile == []) then empty else .certfile[] end elif (.certfile | type == "object") then if (.certfile == {}) then empty else .certfile end else .certfile end [15:36:56] TRACE: bashio::config: keyfile [15:36:56] TRACE: bashio::jq: /data/options.json if (.keyfile == null) then null elif (.keyfile | type == "string") then .keyfile // empty elif (.keyfile | type == "boolean") then .keyfile // false elif (.keyfile | type == "array") then if (.keyfile == []) then empty else .keyfile[] end elif (.keyfile | type == "object") then if (.keyfile == {}) then empty else .keyfile end else .keyfile end [15:36:56] DEBUG: Preparing certificate in a format UniFi accepts... [15:36:56] DEBUG: Removing existing certificate from UniFi protected keystore... [15:36:56] DEBUG: Inserting certificate into UniFi keystore... Importing keystore /tmp/tmp.CMJ1RY7EU9 to /usr/lib/unifi/data/keystore... Warning: The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore /usr/lib/unifi/data/keystore -destkeystore /usr/lib/unifi/data/keystore -deststoretype pkcs12". [cont-init.d] unifi.sh: exited 0. [cont-init.d] done. [services.d] starting services [services.d] done. [15:36:57] INFO: Starting the UniFi Controller... [15:36:57] TRACE: bashio::config.has_value: memory_max [15:36:57] TRACE: bashio::config: memory_max [15:36:57] TRACE: bashio::jq: /data/options.json if (.memory_max == null) then null elif (.memory_max | type == "string") then .memory_max // empty elif (.memory_max | type == "boolean") then .memory_max // false elif (.memory_max | type == "array") then if (.memory_max == []) then empty else .memory_max[] end elif (.memory_max | type == "object") then if (.memory_max == {}) then empty else .memory_max end else .memory_max end [15:36:57] TRACE: bashio::config.has_value: memory_init [15:36:57] TRACE: bashio::config: memory_init [15:36:57] TRACE: bashio::jq: /data/options.json if (.memory_init == null) then null elif (.memory_init | type == "string") then .memory_init // empty elif (.memory_init | type == "boolean") then .memory_init // false elif (.memory_init | type == "array") then if (.memory_init == []) then empty else .memory_init[] end elif (.memory_init | type == "object") then if (.memory_init == {}) then empty else .memory_init end else .memory_init end

This is what i get when setting logs to trace on Unifi addon. Don't have any other log entry in the HASSIO system logs.

Setup is: Raspberrypi4 4GB + SD32GB and 32bit version of HASSIO updated to 0. As i have an HASSIO installation, it doesn't have root SSH but just the SSH to the container.

pearfire575 commented 3 years ago

Solved.

I used the old backup to restore a unifi controller installed on a windows machine. Restored, logged in and extracted a new backup (settings only) using Chrome and NOT firefox!

After that i uninstalled the plugin and re-installed it. When asked for a new installation or restore from backup i choose the UNF file downloaded from the Windows installation all via Chrome and not Firefox. Now it works, so now i'm closing this thread as solved.

sinclairpaul commented 3 years ago

I'm guessing that this, and a number of other issues logged (#68), are around the size of the backup file (particularly the history), and the Pi failing to restore it correctly.

I think the key is likely the backup of settings only.

Glad you got it resolved.