Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Kube Pod restart, 'Cannot find module '../iobroker.js'

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Kube Pod restart, 'Cannot find module '../iobroker.js'

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Matthias Meyer last edited by Matthias Meyer

      Hallo,

      ich betreibe IOBroker in einem Kubernetes Cluster als Statefullset. Nach dem mir der Pod durch einen Node-Restart einmal abgeräumt wurde, startet dieser nicht mehr ordnungsgemäß.

      Systemdata
      Hardwaresystem: Pi4 Kubernetes Cluster
      Arbeitsspeicher: jeweils 8GB
      Festplattenart: SSD
      Betriebssystem: Ubuntu
      Installationsart: kubernetes statefullset
      Image genutzt: ja
      Ort/Name der Imagedatei: iobroker/iobroker:latest-v7@sha256:534f5ef0d23ceafabddee2fdfea9816848b454e75d936bb5bc934640b8321d69

      Log-Ausgabe:

       
      --------------------------------------------------------------------------------
      -------------------------     2022-09-10 22:43:40      -------------------------
      --------------------------------------------------------------------------------
       
      --------------------------------------------------------------------------------
      -----                 Welcome to your ioBroker-container!                  -----
      -----                    Startupscript is now running.                     -----
      -----                          Please be patient!                          -----
      --------------------------------------------------------------------------------
       
      --------------------------------------------------------------------------------
      -----                        Debugging information                         -----
      -----                                                                      -----
      -----                                System                                -----
      -----                    arch:                aarch64                      -----
      -----                    hostname:            iobroker-0                   -----
      -----                                                                      -----
      -----                             Docker-Image                             -----
      -----                    image:               v7.0.1                       -----
      -----                    build:               2022-07-05T18:51:49+00:00    -----
      -----                                                                      -----
      -----                               Versions                               -----
      -----                    node:                v14.19.3                     -----
      -----                    npm:                 6.14.17                      -----
      -----                                                                      -----
      -----                                 ENV                                  -----
      -----                    IOB_ADMINPORT:       8081                         -----
      -----                    SETGID:              1000                         -----
      -----                    SETUID:              1000                         -----
      --------------------------------------------------------------------------------
       
      --------------------------------------------------------------------------------
      -----                  Step 1 of 5: Preparing container                   -----
      --------------------------------------------------------------------------------
       
      Updating Linux packages on first run...
      # gekürzt
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      Done.
       
      Registering maintenance script as command... Done.
       
      Installing additional packages is set by ENV.
      Checking the following Packages: ...
      Reading package lists...
      Building dependency tree...
      Reading state information...
      Reading package lists...
      Building dependency tree...
      Reading state information...
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      Done.
       
      --------------------------------------------------------------------------------
      -----             Step 2 of 5: Detecting ioBroker installation             -----
      --------------------------------------------------------------------------------
       
      Existing installation of ioBroker detected in /opt/iobroker.
       
      --------------------------------------------------------------------------------
      -----             Step 3 of 5: Checking ioBroker installation              -----
      --------------------------------------------------------------------------------
       
      (Re)Setting folder permissions (This might take a while! Please be patient!)... Done.
       
      Fixing "sudo-bug" by replacing sudo in iobroker with gosu... Done.
       
      internal/modules/cjs/loader.js:905
        throw err;
        ^
      
      Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js'
          at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
          at Function.Module._load (internal/modules/cjs/loader.js:746:27)
          at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12)
          at internal/main/run_main_module.js:17:47 {
        code: 'MODULE_NOT_FOUND',
        requireStack: []
      }
      /opt/scripts/iobroker_startup.sh: line 212: [: !=: unary operator expected
      --------------------------------------------------------------------------------
      -----                Step 4 of 5: Applying special settings                -----
      --------------------------------------------------------------------------------
       
      Some adapters have special requirements/ settings which can be activated by the use of environment variables.
      For more information see ioBroker Docker Image Docs (https://docs.buanet.de/iobroker-docker-image/docs/).
       
      internal/modules/cjs/loader.js:905
        throw err;
        ^
      
      Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js'
          at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
          at Function.Module._load (internal/modules/cjs/loader.js:746:27)
          at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12)
          at internal/main/run_main_module.js:17:47 {
        code: 'MODULE_NOT_FOUND',
        requireStack: []
      }
      /opt/scripts/iobroker_startup.sh: line 236: [: 8081: unary operator expected
      --------------------------------------------------------------------------------
      -----                    Step 5 of 5: ioBroker startup                     -----
      --------------------------------------------------------------------------------
       
      Starting ioBroker...
       
      internal/modules/cjs/loader.js:905
        throw err;
        ^
      
      Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/controller.js'
          at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
          at Function.Module._load (internal/modules/cjs/loader.js:746:27)
          at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12)
          at internal/main/run_main_module.js:17:47 {
        code: 'MODULE_NOT_FOUND',
        requireStack: []
      }
      
      

      Auf den ersten Blick sieht es so aus, als gäbe es die iobroker.js und die controller.js-Datei nicht gibt. Die Dateien sind jedoch existent und werden scheinbar dennoch nicht gefunden.

      root@iobroker-0:/opt/iobroker# head node_modules/iobroker.js-controller/controller.js
      /**
       *      Redirect for older installations
       *
       *      Copyright 2018-2022 bluefox <dogafox@gmail.com>,
       *      MIT License
       *
       */
      require('./main').init();
      root@iobroker-0:/opt/iobroker# cd node_modules/iobroker.js-controller/ && ls -la
      total 368
      drwxrwxr-x+   6 iobroker iobroker   4096 Sep 10 22:39 .
      drwxrwxrwx+ 522 iobroker iobroker  20480 Sep 10 22:33 ..
      -rw-rwxr--+   1 iobroker iobroker    420 Okt 26  1985 compactgroupController.js
      drwxrwxr-x+   2 iobroker iobroker   4096 Sep 10 22:32 conf
      -rw-rwxr--+   1 iobroker iobroker    158 Okt 26  1985 controller.js
      -rwxrwxr-x+   1 iobroker iobroker     34 Okt 26  1985 iobroker.js
      -rw-rwxr--+   1 iobroker iobroker  54395 Okt 26  1985 io-package.json
      drwxrwxr-x+   9 iobroker iobroker   4096 Sep 10 22:32 lib
      -rw-rwxr--+   1 iobroker iobroker   1135 Okt 26  1985 LICENSE
      -rw-rwxr--+   1 iobroker iobroker 249293 Okt 26  1985 main.js
      drwxrwxr-x+   7 iobroker iobroker   4096 Sep 10 22:32 node_modules
      -rw-rwxr--+   1 iobroker iobroker   4503 Sep 10 22:32 package.json
      -rw-rwxr--+   1 iobroker iobroker    193 Okt 26  1985 README.md
      drwxrwxr-x+   2 iobroker iobroker   4096 Sep 10 22:32 tmp
      
      root@iobroker-0:/opt/iobroker/node_modules/iobroker.js-controller# head iobroker.js
      require('./lib/setup').execute();
      

      Ist das Problem bekannt? Hat jemand einen Rat dies zu beheben?

      Temporär lässt sich iobroker via root@iobroker-0:/opt/iobroker# sudo node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start starten. Hilft nur nicht, wenn der Pod wieder terminiert und neustartet.

      Beste Grüße, Matthias

      StatefullSet-Definition:

      resource "kubernetes_stateful_set" "iobroker" {
        metadata {
          name      = "iobroker"
          namespace = kubernetes_namespace.smartmeter_namespace.id
        }
        spec {
          service_name           = "iobroker"
          revision_history_limit = 5
          selector {
            match_labels = {
              "app.kubernetes.io/instance" : "iobroker"
              "app.kubernetes.io/name" : "iobroker"
            }
          }
          volume_claim_template {
            metadata {
              name = "iobroker-data"
            }
            spec {
              access_modes       = ["ReadWriteOnce"]
              storage_class_name = "openebs-jiva-csi-default"
              resources {
                requests = {
                  storage = "10Gi"
                }
              }
            }
          }
          template {
            metadata {
              name = "iobroker"
              labels = {
                "app.kubernetes.io/instance" : "iobroker"
                "app.kubernetes.io/name" : "iobroker"
              }
            }
            spec {
              container {
                name  = "iobroker"
                image = "iobroker/iobroker:latest-v7@sha256:534f5ef0d23ceafabddee2fdfea9816848b454e75d936bb5bc934640b8321d69"
                port {
                  name           = "http"
                  container_port = 8081
                }
      
                port {
                  name           = "httpui"
                  container_port = 8082
                }
                volume_mount {
                  name       = "iobroker-data"
                  mount_path = "/opt/iobroker"
                }
      
                env {
                  name  = "IOB_ADMINPORT"
                  value = "8081"
                }
              }
            }
          }
        }
      }
      

      Users & Permissions

      root@iobroker-0:/opt# cat /etc/passwd
      root:x:0:0:root:/root:/bin/bash
      daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
      bin:x:2:2:bin:/bin:/usr/sbin/nologin
      sys:x:3:3:sys:/dev:/usr/sbin/nologin
      sync:x:4:65534:sync:/bin:/bin/sync
      games:x:5:60:games:/usr/games:/usr/sbin/nologin
      man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
      lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
      mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
      news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
      uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
      proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
      www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
      backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
      list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
      irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
      gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
      nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
      _apt:x:100:65534::/nonexistent:/usr/sbin/nologin
      _rpc:x:101:65534::/run/rpcbind:/usr/sbin/nologin
      statd:x:102:65534::/var/lib/nfs:/usr/sbin/nologin
      iobroker:x:1000:1000::/opt/iobroker:/bin/bash
      root@iobroker-0:/opt# stat /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
        File: /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
        Size: 34              Blocks: 8          IO Block: 4096   regular file
      Device: 810h/2064d      Inode: 399354      Links: 1
      Access: (0775/-rwxrwxr-x)  Uid: ( 1000/iobroker)   Gid: ( 1000/iobroker)
      Access: 2022-09-10 23:24:57.083078730 +0200
      Modify: 1985-10-26 09:15:00.000000000 +0100
      Change: 2022-09-10 22:47:17.530576383 +0200
       Birth: 2022-09-10 22:32:50.225830721 +0200
      
      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      673
      Online

      31.8k
      Users

      80.0k
      Topics

      1.3m
      Posts

      1
      1
      104
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo