Full reinstall - local processing node offline

Hello,

I’ve done a complete fresh reinstall of my WebODM system, from the OS up. I made a fresh install of Ubuntu Desktop 16.04 LTS and ran no updates. I installed WebODM Native from the installer I downloaded from the purchase link I received late last year.

Everything seems to install with no visible errors, but when I log on and look at the processing nodes, the local node is offline. I’ve reinstalled twice now and get the same problem.

Hey @kconley :hand: do you get an error if you run:

/code/run.sh --help

From the command line?

Try to run:

sudo pip install -U PyYAML==3.13 \
                        exifread \
                        gpxpy \
                        xmltodict \
                        appsettings \
                        loky \
                        repoze.lru \
                        rasterio \
                        attrs==19.1.0 \
                        pyodm==1.5.2b1 \
                        Pillow \
                        networkx==2.2 \
                        scipy==1.2.1 \
                        numpy==1.15.4 \
                        shapely \
                        pyproj==2.2.2 \
                        psutil \
                        joblib

Followed by:

sudo service nodeodm restart

Before running the string of commands below, here’s the output from /code/run.sh --help:

root@MapServ:/home/kconley# /code/run.sh --help
Traceback (most recent call last):
  File "/code/run.py", line 4, in <module>
    from opendm import config
  File "/code/opendm/config.py", line 6, in <module>
    from appsettings import SettingsParser
ModuleNotFoundError: No module named 'appsettings'

Alright. I seem to be working now. I have my local processing node. I’ll get a small dataset processing to see how it goes.

Question: I like to keep my systems updated, especially on security patches. Should I have to worry about breaking WebODM when doing software updates (not OS updates) or do you think this was a one off thing? I just did my normal apt-get -y upgrade, to update the existing software. What’s your recommendation?

Security patches are most likely safe and won’t break ODM/WebODM.

1 Like

Hi @pierotofy,
I’m going to dig up this thread since I’m having a problem with this again. My install of WebODM stopped serving maps in a timely manner (it could take up to 2 hours if I left the page alone for a map to load.) so I decided to start fresh again. I uninstalled WebODM as per the directions in the documentation (removed /code /webodm /www/data, removed services, deleted DB, etc.) and ran the install script.

I’ve actually done that process three times now. Each time I end up with the same result:
"localhost:3000 seems to be offline."

When adding images I got the following message:
“There are no usable processing nodes. Make sure that at least one processing node is reachable and that you have granted the current user sufficient permissions to view the processing node (by going to Administration – Processing Nodes – Select Node – Object Permissions – Add User/Group and check CAN VIEW PROCESSING NODE). If you are bringing a node back online, it will take about 30 seconds for WebODM to recognize it.”

I added my user account to the permissions with all permissions and have even deleted and re-created the processing node using both localhost and IP Address.

I’ve tried to restart the node service using:
sudo service nodeodm restart

I get the following message:
Failed to restart nodeodm.service: Unit nodeodm.service not found.

Similar to previous troubleshooting, I’ve run the /code/run.sh --help command and did not get the same errors as before, instead, it outputs what looks like what it is likely supposed to be:

OpenDroneMap

positional arguments:
Name of Project (i.e subdirectory of projects folder)

optional arguments:
-h, --help show this help message and exit
–project-path
Path to the project folder
–resize-to
Resizes images by the largest side for feature
extraction purposes only. Set to -1 to disable. This
does not affect the final orthophoto resolution
quality and will not resize the original images.
Default: 2048
–end-with , -e
Can be one of:dataset | split | merge | opensfm | mve
| odm_filterpoints | odm_meshing | mvs_texturing |
odm_georeferencing | odm_dem | odm_orthophoto |
odm_report
–rerun , -r
Can be one of:dataset | split | merge | opensfm | mve
| odm_filterpoints | odm_meshing | mvs_texturing |
odm_georeferencing | odm_dem | odm_orthophoto |
odm_report
–rerun-all force rerun of all tasks
----- Snip.
---- You get the idea.

I’d appreciate your assistance once again.
Thank you!

1 Like

Hey @kconley :hand: the server installer has been deprecated about a year ago; going forward I’d recommend to use the docker setup. For your case, since NodeODM is the one not showing up, I would install docker:

$ sudo apt update
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sh get-docker.sh
$ sudo usermod -aG docker $USER

Log-out of SSH/shell, then log-back in (this is important).

Then run:

docker run -d -p 3000:3000 opendronemap/nodeodm

You should be able to then connect the node using localhost:3000.

1 Like

Will native installs ever come back? I hate the idea of wasting resources to run a linux wraper in linux.
On the flip side, does that mean we’re no longer limited to using a severely outdated version of Ubuntu?

1 Like

Thank you by the way, this did get me running again.

1 Like

Unlikely; unfortunately cloud vendors make it really complicated to keep a native installer that works with all of them. But it will always be possible to run it natively (with some work), if that’s really required. We’re just not going to recommend doing it.

Can I use these instructions for setting up additional processing nodes on other systems to point my WebODM server at?

Yes.

Since I purchased the standalone installer, does that mean that I need to buy the docker installer now too?

No need to purchase anything else.

I’ve got what I think is a similar issue, recently attempted to update a native install of WebODM, and the web interface starts up and works fine, I can view maps and point clouds, but the only node is offline. Unfortunately, the machine I am trying to run this on (an old linux box with 16TB of hard drives and 48GB ram) is old enough to not have virtualization support, so installing docker won’t work as a fix on this one. I’ve tried the commands listed above in this chain, but it still doesn’t seem to boot up properly.

Here’s a copypasta of the terminal from attempting to update it again if that is helpful:
https://1drv.ms/t/s!AmMpQKaTtZANhJxbaFk5F__mE9MPng?e=Pz59hF

Also tried the pip install command listed above and it returned the following reply:


z@z-PowerEdge2900:~$ sudo pip install -U PyYAML==3.13 \

                    exifread \
                    gpxpy \
                    xmltodict \
                    appsettings \
                    loky \
                    repoze.lru \
                    rasterio \
                    attrs==19.1.0 \
                    pyodm==1.5.2b1 \
                    Pillow \
                    networkx==2.2 \
                    scipy==1.2.1 \
                    numpy==1.15.4 \
                    shapely \
                    pyproj==2.2.2 \
                    psutil \
                    joblib

[sudo] password for z:
The directory ‘/home/z/.cache/pip/http’ or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo’s -H flag.
The directory ‘/home/z/.cache/pip’ or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo’s -H flag.
Requirement already up-to-date: PyYAML==3.13 in /usr/local/lib/python2.7/dist-packages
Collecting exifread
Downloading https://files.pythonhosted.org/packages/61/69/c4c4f1209d7cbea9c49e46acb45161d7d4794715b3392ed8bec0b8a81c35/ExifRead-2.3.1.tar.gz
Collecting gpxpy
Downloading https://files.pythonhosted.org/packages/dd/23/a1c04fb3ea8d57d4b46cf2956c99a62dfbe009bbe091babeef90cc3d0ef6/gpxpy-1.4.2.tar.gz (105kB)
100% |████████████████████████████████| 112kB 3.2MB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File “”, line 1, in
File “/tmp/pip-build-xK58Wo/gpxpy/setup.py”, line 17, in
import gpxpy
File “/tmp/pip-build-xK58Wo/gpxpy/gpxpy/init.py”, line 21
def parse(xml_or_file: Union[AnyStr, IO[str]], version: Optional[str] = None) -> mod_gpx.GPX:
^
SyntaxError: invalid syntax

----------------------------------------

Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-xK58Wo/gpxpy/
You are using pip version 8.1.1, however version 20.2.3 is available.
You should consider upgrading via the ‘pip install --upgrade pip’ command.
z@z-PowerEdge2900:~$