[Support] omada-controller


Recommended Posts

I updated this morning and just get a page for starting a new configuration when tryin to login to the Controller. Seems like for me all settings are still vanished. Haven't tried to set it up and load a saved config yet. Might work that way, still something is wrong with the update, I believe.

 

EDIT: Even when I load a backup all the devices state "managed by others" and would have to be adapted again :(

Edited by LotF
Link to comment
14 hours ago, LotF said:

I updated this morning and just get a page for starting a new configuration when tryin to login to the Controller. Seems like for me all settings are still vanished. Haven't tried to set it up and load a saved config yet. Might work that way, still something is wrong with the update, I believe.

 

EDIT: Even when I load a backup all the devices state "managed by others" and would have to be adapted again :(

 

Sounds like you did not map your persistent data to a volume or a bind mounted location.

Edited by mbentley
Link to comment
15 hours ago, mbentley said:

 

Sounds like you did not map your persistent data to a volume or a bind mounted location.

 

I don't know what to say to that. "Probably"? The only thing I know is that I have the docker running since a year, updated the controller several times in the meantime and never had this problem before. So, where does this leave me now?

Link to comment

I had the same problem. After I carried out the configuration again, I noticed that there were no paths for the data specified for the docker container.

 

Now my idea would be to stop the container, copy the data to appdata and assign this path to the container. Then start the container and hope that the data is taken over.

 

However, I would need to know where the container's data is currently located. How can I find out?

Link to comment

I can see a folder for each of my docker containers in /mnt/user/appdata but none for the omada-controller.

 

Settings > Docker shows me Default appdata storage location: /mnt/user/appdata/

 

The data of the running omada controller docker has to be somewhere..

 

Edit:

I can only find one folder including the term "omada".

Screenshot_20231120_001811_Termius.thumb.jpg.e4394001c0bfe2ba07f8c4c4773f940f.jpg

Edited by olco
Link to comment
1 hour ago, olco said:

I can see a folder for each of my docker containers in /mnt/user/appdata but none for the omada-controller.

 

Settings > Docker shows me Default appdata storage location: /mnt/user/appdata/

 

The data of the running omada controller docker has to be somewhere..

 

Edit:

I can only find one folder including the term "omada".

Screenshot_20231120_001811_Termius.thumb.jpg.e4394001c0bfe2ba07f8c4c4773f940f.jpg

 

What is in "config"?

Link to comment
11 hours ago, olco said:

I can see a folder for each of my docker containers in /mnt/user/appdata but none for the omada-controller.

 

Settings > Docker shows me Default appdata storage location: /mnt/user/appdata/

 

The data of the running omada controller docker has to be somewhere..

 

Edit:

I can only find one folder including the term "omada".

Screenshot_20231120_001811_Termius.thumb.jpg.e4394001c0bfe2ba07f8c4c4773f940f.jpg

If you don't know where the container is mounted the data, you can use docker inspect to find out:

 

This just lists the mounts:

 

# docker inspect omada-controller | jq '.[]|.Mounts'
[
  {
    "Type": "bind",
    "Source": "/zfs/apps/omada-controller/cert",
    "Destination": "/cert",
    "Mode": "",
    "RW": false,
    "Propagation": "rprivate"
  },
  {
    "Type": "bind",
    "Source": "/zfs/apps/omada-controller/data",
    "Destination": "/opt/tplink/EAPController/data",
    "Mode": "",
    "RW": true,
    "Propagation": "rprivate"
  },
  {
    "Type": "bind",
    "Source": "/zfs/apps/omada-controller/logs",
    "Destination": "/opt/tplink/EAPController/logs",
    "Mode": "",
    "RW": true,
    "Propagation": "rprivate"
  }
]

 

Or if you don't have jq:

 

# docker inspect --format '{{json .Mounts}}' omada-controller
[{"Type":"bind","Source":"/zfs/apps/omada-controller/data","Destination":"/opt/tplink/EAPController/data","Mode":"","RW":true,"Propagation":"rprivate"},{"Type":"bind","Source":"/zfs/apps/omada-controller/logs","Destination":"/opt/tplink/EAPController/logs","Mode":"","RW":true,"Propagation":"rprivate"},{"Type":"bind","Source":"/zfs/apps/omada-controller/cert","Destination":"/cert","Mode":"","RW":false,"Propagation":"rprivate"}]

 

Link to comment
1 hour ago, mbentley said:

If you don't know where the container is mounted the data, you can use docker inspect to find out:

 

This just lists the mounts:

 

# docker inspect omada-controller | jq '.[]|.Mounts'
[
  {
    "Type": "bind",
    "Source": "/zfs/apps/omada-controller/cert",
    "Destination": "/cert",
    "Mode": "",
    "RW": false,
    "Propagation": "rprivate"
  },
  {
    "Type": "bind",
    "Source": "/zfs/apps/omada-controller/data",
    "Destination": "/opt/tplink/EAPController/data",
    "Mode": "",
    "RW": true,
    "Propagation": "rprivate"
  },
  {
    "Type": "bind",
    "Source": "/zfs/apps/omada-controller/logs",
    "Destination": "/opt/tplink/EAPController/logs",
    "Mode": "",
    "RW": true,
    "Propagation": "rprivate"
  }
]

 

Or if you don't have jq:

 

# docker inspect --format '{{json .Mounts}}' omada-controller
[{"Type":"bind","Source":"/zfs/apps/omada-controller/data","Destination":"/opt/tplink/EAPController/data","Mode":"","RW":true,"Propagation":"rprivate"},{"Type":"bind","Source":"/zfs/apps/omada-controller/logs","Destination":"/opt/tplink/EAPController/logs","Mode":"","RW":true,"Propagation":"rprivate"},{"Type":"bind","Source":"/zfs/apps/omada-controller/cert","Destination":"/cert","Mode":"","RW":false,"Propagation":"rprivate"}]

 

Screenshot_20231120_124212_Termius.thumb.jpg.485b2232374174e1f700a949efd0805a.jpg

Link to comment

@mbentley

Do I have to insert the name of my omada docker container or the name of my omada controller?

 

docker inspect --format '{{json .Mounts}}' Omada-Controller
[{"Type":"volume","Name":"a13fa10908be8af6443af13b1d41a1a8ffa0fbd1f9fa8e98224ae985e83e679d","Source":"/var/lib/docker/volumes/a13fa10908be8af6443af13b1d41a1a8ffa0fbd1f9fa8e98224ae985e83e679d/_data","Destination":"/opt/tplink/EAPController/data","Driver":"local","Mode":"","RW":true,"Propagation":""},{"Type":"volume","Name":"9038ba554ee7b24e19c77106f41be5313d61031dff1c5d6ba64e149a24dc1a3f","Source":"/var/lib/docker/volumes/9038ba554ee7b24e19c77106f41be5313d61031dff1c5d6ba64e149a24dc1a3f/_data","Destination":"/opt/tplink/EAPController/logs","Driver":"local","Mode":"","RW":true,"Propagation":""}]

 

 

Worked like a charm, thanks!

Edited by olco
Link to comment
  • 3 weeks later...
On 11/21/2023 at 8:36 AM, olco said:

@mbentley

Do I have to insert the name of my omada docker container or the name of my omada controller?

 

docker inspect --format '{{json .Mounts}}' Omada-Controller
[{"Type":"volume","Name":"a13fa10908be8af6443af13b1d41a1a8ffa0fbd1f9fa8e98224ae985e83e679d","Source":"/var/lib/docker/volumes/a13fa10908be8af6443af13b1d41a1a8ffa0fbd1f9fa8e98224ae985e83e679d/_data","Destination":"/opt/tplink/EAPController/data","Driver":"local","Mode":"","RW":true,"Propagation":""},{"Type":"volume","Name":"9038ba554ee7b24e19c77106f41be5313d61031dff1c5d6ba64e149a24dc1a3f","Source":"/var/lib/docker/volumes/9038ba554ee7b24e19c77106f41be5313d61031dff1c5d6ba64e149a24dc1a3f/_data","Destination":"/opt/tplink/EAPController/logs","Driver":"local","Mode":"","RW":true,"Propagation":""}]

 

 

Worked like a charm, thanks!

 

Sorry, I missed the notification on this.  Based on these volume paths, you did not specify a volume name.  You can either use Docker managed volumes where you provide the persistent data path a name or you can use a bind mount.  The image is configured to automatically create a volume but if you do not specify a name, it will create one with a random guid.  In this case, your data is in the volume `a13fa10908be8af6443af13b1d41a1a8ffa0fbd1f9fa8e98224ae985e83e679d` and your logs are in `9038ba554ee7b24e19c77106f41be5313d61031dff1c5d6ba64e149a24dc1a3f` for this instance of your controller.  You probably have other volumes that show with `docker volume ls` but you won't be able to tell what is what without manually inspecting the contents in `/var/lib/docker/volumes/<volume_guid>/_data`.

Link to comment

I just installed an update today and now the container wont start. I grabbed a screenshot of the logs but it closes out too quickly to catch much. I got this much in the screenshot. I tried to force an update but no luck.  Any pointers as to how to fix this?

 

image.thumb.png.0dc537c6ba9322068af1ffe683baaa67.png

 

I also caught this error when I restarted again.

 

image.thumb.png.13e6b9391da58b9223d53e04fe93aeab.png

Edited by CyBuzz
Link to comment
6 hours ago, CyBuzz said:

I just installed an update today and now the container wont start. I grabbed a screenshot of the logs but it closes out too quickly to catch much. I got this much in the screenshot. I tried to force an update but no luck.  Any pointers as to how to fix this?

 

image.thumb.png.0dc537c6ba9322068af1ffe683baaa67.png

 

I also caught this error when I restarted again.

 

image.thumb.png.13e6b9391da58b9223d53e04fe93aeab.png

 

Get container logs using:

docker logs omada-controller >& output.log

 

And mongodb logs using:

docker cp omada-controller:/opt/tplink/EAPController/logs/mongod.log mongod.log

 

Replace the container name if it is not omada-controller.

Link to comment
10 hours ago, mbentley said:

 

Get container logs using:

docker logs omada-controller >& output.log

 

And mongodb logs using:

docker cp omada-controller:/opt/tplink/EAPController/logs/mongod.log mongod.log

 

Replace the container name if it is not omada-controller.

 

Thank you. I read through the logs and didst see much on the error side of things other than what i found in the omada logs.

 

12-14-2023 13:20:37.508 ERROR [main] [] c.t.s.f.c.FacadeUtils(): facadeMsgEnable is not enable, msg: Mongo DB server started

and later in the file

12-14-2023 13:21:11.806 ERROR [main] [] c.t.s.o.s.d.a(): Controller install failed. Failed to start.
12-14-2023 13:21:11.806 ERROR [main] [] c.t.s.f.c.FacadeUtils(): facadeMsgEnable is not enable, msg: Data abnormal due to install failed. Failed to start.
12-14-2023 13:21:11.806 ERROR [main] [] c.t.s.o.s.t.FailExitTask(): Failed to start omada controller, going to exit

 

It looks like this may be an issue with versioning after a quick google(https://github.com/mbentley/docker-omada-controller/issues/228) of it. I didn't keep track of the previous/current version when i updated last.

 

Is this something I am going to have to remove/purge and reinstall?

Link to comment

Hello @calagan57, in my opinion running your dockers on the cache drive or an unassigned drive is a good practice as it keeps some of the activity off your array that doesn't need redundancy.

 

I don't run the open files plugin, but it does make sense to me that the omada controller is interacting with files and keeping track of wireless clients consistently. By your screenshot it looks like plugin is seeing the mongodb files where it appears the docker is using as its database.

 

I have never had an issue shutting down or restarting my unraid server based on anything hanging up on any of my docker containers including omada.

 

If you are able you could do a test shut down and restart to see if everything cleanly exits. I believe it will based on using this container in many others for years.

 

I hope this is helpful.

-Ben

Link to comment

Is this the right forum to ask for help on the Omada Plugin?

 

I just install Unraid yesterday, and on first setup it ran Omada.

As i didnt have the backup files present i closed it and when i was ready to set things up i can no longer run it, and/or acces the webUI of omada.

 

I dont know where to start, im super new/fresh on Unraid and Docker, but ive ran Omada on Linux and Windows Servers for the last 2 years without issue's.

Link to comment

@ddewit Please share settings in your docker configuration page for omada-controller.

 

The most common problem is if you did not set up the file paths to match working locations on your system. Many people's setups can be different depending on if they are using on the array, cache, or unassigned drive. Validating whatever is in those path variables are a real storage location on your server would be my number one thought.

Link to comment

I'm running into weird routing issues with the Omada-Controller and I suspect it's because I didn't set something right in the docker network config or in Unraid.

 

Here's some information about my configuration

  • I have two active NICs
    • 192.168.10.0/24 - Main DMZ subnet
      • ETH0
      • Bridging enabled
      • Unraid IP: 192.168.10.5 
      • All dockers except Omada use "bridge" and get assigned 192.168.10.5
    • 192.168.1.0/24 - LAN subnet which "contains" the Omada switch and AP
      • ETH1
      • Bridging enabled
      • Unraid IP: 192.168.1.5 
      • Omada configured as "BR1" with static IP 192.168.1.4

 

  • My desktop of the USER subnet can ping and access the Omada controller just fine
  • The Omada controller controls the switch and AP fine

 

Unraid and all dockers couldn't ping the controller and other dockers couldn't talk to the Omada controller. I added a static route (yellow in the attached route screen capture) in the Network configuration to access 192.168.1.4/32 via the 192.168.10.1 gateway which fixed the ping issue but created a weird behavior in the firewall (see attached screen capture) and still doesn't allow any connection between dockers and Omada.

 

I'm guessing that using "BR1" and setting a static IP isn't the right way of achieving what I'm trying to achieve but I have no idea how to do it properly.

Docker.png

FW_Live_From_Desktop.png

FW_Live_From_Unraid.png

Network.png

Routing.png

Link to comment

@OttawaClimber this one might be over my pay grade on the network side but a couple quick thoughts... If DMZ means "facing the open internet" would say that omada controller should not be in that situation.

 

If your APs are on the LAN that is where omada controller should be. I can't imagine a need for it to be anywhere that the APs are not, this is an internal network service. So maybe knowing what the IP addresses of your APs are can clear this up.

Link to comment

@hedrinbc DMZ subnet in my network is for all the services provided by the server (essentially Unraid and all dockers except Omada). From the Internet, only ports 80 and 443 are allowed through and they are forwarded to the reverse proxy.

 

Omada is indeed on the LAN which is where the router/firewall, AP and switch also reside.

 

This is essentially the reason I ran into this issue. I wanted to have the LAN (network HW + controller) segregated from the other services so I can protect the network devices from everything that doesn't have a valid reason to be accessing them.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.