XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    xo-server start on Ubuntu 20.04.2 LTS

    Scheduled Pinned Locked Moved Xen Orchestra
    bugsin backlog
    9 Posts 3 Posters 2.4k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K Offline
      k_hamilton
      last edited by marcungeschikts

      Attempting to execute yarn start as a non-root user on Ubuntu 20.04 I'm seeing an issue with the losetup -D command.

      yarn run v1.22.10
      $ node dist/cli.mjs
      2021-07-31T13:55:23.259Z xo:main INFO Configuration loaded.
      2021-07-31T13:55:23.263Z xo:main INFO Web server listening on http://[::]:1024
      2021-07-31T13:55:23.356Z xo:mixins:hooks WARN start failure {
        error: Error: Command failed with exit code 1: losetup -D
        losetup: /dev/loop1: detach failed: Permission denied
        losetup: /dev/loop4: detach failed: Permission denied
        losetup: /dev/loop2: detach failed: Permission denied
        losetup: /dev/loop0: detach failed: Permission denied
        losetup: /dev/loop5: detach failed: Permission denied
        losetup: /dev/loop3: detach failed: Permission denied
            at makeError (/home/kevin/xen-orchestra/node_modules/execa/lib/error.js:60:11)
            at handlePromise (/home/kevin/xen-orchestra/node_modules/execa/index.js:118:26) {
          shortMessage: 'Command failed with exit code 1: losetup -D',
          command: 'losetup -D',
          escapedCommand: 'losetup -D',
          exitCode: 1,
          signal: undefined,
          signalDescription: undefined,
          stdout: '',
          stderr: 'losetup: /dev/loop1: detach failed: Permission denied\n' +
            'losetup: /dev/loop4: detach failed: Permission denied\n' +
            'losetup: /dev/loop2: detach failed: Permission denied\n' +
            'losetup: /dev/loop0: detach failed: Permission denied\n' +
            'losetup: /dev/loop5: detach failed: Permission denied\n' +
            'losetup: /dev/loop3: detach failed: Permission denied',
          failed: true,
          timedOut: false,
          isCanceled: false,
          killed: false
        }
      }
      

      And running as root (sudo from my user) starts the server, with a different warning, but I can pull up the web page.

      yarn run v1.22.10
      $ node dist/cli.mjs
      2021-07-31T14:10:25.783Z xo:main INFO Configuration loaded.
      2021-07-31T14:10:25.790Z xo:main INFO Web server listening on http://[::]:1024
      2021-07-31T14:10:25.920Z xo:mixins:hooks WARN start failure {
        error: Error: Command failed with exit code 5: vgchange -an
          Logical volume ubuntu-vg/ubuntu-lv contains a filesystem in use.
          Can't deactivate volume group "ubuntu-vg" with 1 open logical volume(s)
            at makeError (/home/kevin/xen-orchestra/node_modules/execa/lib/error.js:60:11)
            at handlePromise (/home/kevin/xen-orchestra/node_modules/execa/index.js:118:26) {
          shortMessage: 'Command failed with exit code 5: vgchange -an',
          command: 'vgchange -an',
          escapedCommand: 'vgchange -an',
          exitCode: 5,
          signal: undefined,
          signalDescription: undefined,
          stdout: '',
          stderr: '  Logical volume ubuntu-vg/ubuntu-lv contains a filesystem in use.\n' +
            `  Can't deactivate volume group "ubuntu-vg" with 1 open logical volume(s)`,
          failed: true,
          timedOut: false,
          isCanceled: false,
          killed: false
        }
      }
      2021-07-31T14:10:26.097Z xo:main INFO Setting up / → /home/kevin/xen-orchestra/packages/xo-web/dist
      

      I'm not sure how to resolve this issue.
      (edited to add warning when submitted as root)

      K 1 Reply Last reply Reply Quote 0
      • K Offline
        k_hamilton @k_hamilton
        last edited by

        @k_hamilton this install was built from source, I should have mentioned that.

        1 Reply Last reply Reply Quote 0
        • olivierlambertO Offline
          olivierlambert Vates 🪐 Co-Founder CEO
          last edited by olivierlambert

          Have you tried to change the config to run it as non-root?

          See https://xen-orchestra.com/docs/installation.html#sudo

          K 1 Reply Last reply Reply Quote 0
          • K Offline
            k_hamilton @olivierlambert
            last edited by

            @olivierlambert

            Yes I set usesudo=true and added the following line using visudo:

            # User privilege specification
            root    ALL=(ALL:ALL) ALL
            kevin   ALL=(root)NOPASSWD: /bin/mount, /bin/umount
            

            The page still fails to start as a non-root user. It seems to come up when I start it as root.

            kevin@ubuntu-xoa:~/xen-orchestra/packages/xo-server$ yarn start 
            yarn run v1.22.10
            $ node dist/cli.mjs
            2021-07-31T15:31:03.808Z xo:main INFO Configuration loaded.
            2021-07-31T15:31:03.815Z xo:main INFO Web server listening on http://[::]:1024
            2021-07-31T15:31:03.910Z xo:mixins:hooks WARN start failure {
              error: Error: Command failed with exit code 1: losetup -D
              losetup: /dev/loop1: detach failed: Permission denied
              losetup: /dev/loop4: detach failed: Permission denied
              losetup: /dev/loop2: detach failed: Permission denied
              losetup: /dev/loop0: detach failed: Permission denied
              losetup: /dev/loop5: detach failed: Permission denied
              losetup: /dev/loop3: detach failed: Permission denied
                  at makeError (/home/kevin/xen-orchestra/node_modules/execa/lib/error.js:60:11)
                  at handlePromise (/home/kevin/xen-orchestra/node_modules/execa/index.js:118:26) {
                shortMessage: 'Command failed with exit code 1: losetup -D',
                command: 'losetup -D',
                escapedCommand: 'losetup -D',
                exitCode: 1,
                signal: undefined,
                signalDescription: undefined,
                stdout: '',
                stderr: 'losetup: /dev/loop1: detach failed: Permission denied\n' +
                  'losetup: /dev/loop4: detach failed: Permission denied\n' +
                  'losetup: /dev/loop2: detach failed: Permission denied\n' +
                  'losetup: /dev/loop0: detach failed: Permission denied\n' +
                  'losetup: /dev/loop5: detach failed: Permission denied\n' +
                  'losetup: /dev/loop3: detach failed: Permission denied',
                failed: true,
                timedOut: false,
                isCanceled: false,
                killed: false
              }
            }
            
            1 Reply Last reply Reply Quote 0
            • olivierlambertO Offline
              olivierlambert Vates 🪐 Co-Founder CEO
              last edited by olivierlambert

              You need to type sudo before the yarn start command 😉 So sudo yarn start.

              K 1 Reply Last reply Reply Quote 0
              • K Offline
                k_hamilton @olivierlambert
                last edited by

                @olivierlambert

                Is there a difference between "sudo yarn start" with user=username set in the config, and executing yarn start as the ID? I was seeing similar errors either way. It seems like the ID I'm running xo-server as needs more permissions, but I'm not sure what they are.

                I can't figure out why xo-server is looking in "/root/.config/xo-server" for something. Completely acceptable to me if the answer to fix this is, just delete the VM and pull in from a config backup. I realize that building from the sources is mostly unsupported 😃

                kevin@ubuntu-xoa:~/xen-orchestra/packages/xo-server$ sudo yarn start 
                yarn run v1.22.10
                $ node dist/cli.mjs
                2021-07-31T18:18:13.784Z xo:main INFO Configuration loaded.
                2021-07-31T18:18:13.790Z xo:main INFO Web server listening on http://[::]:1024
                2021-07-31T18:18:13.791Z xo:main INFO User changed to kevin
                2021-07-31T18:18:13.887Z xo:mixins:hooks WARN start failure {
                  error: Error: Command failed with exit code 1: losetup -D
                  losetup: /dev/loop1: detach failed: Permission denied
                  losetup: /dev/loop4: detach failed: Permission denied
                  losetup: /dev/loop2: detach failed: Permission denied
                  losetup: /dev/loop0: detach failed: Permission denied
                  losetup: /dev/loop5: detach failed: Permission denied
                  losetup: /dev/loop3: detach failed: Permission denied
                      at makeError (/home/kevin/xen-orchestra/node_modules/execa/lib/error.js:60:11)
                      at handlePromise (/home/kevin/xen-orchestra/node_modules/execa/index.js:118:26) {
                    shortMessage: 'Command failed with exit code 1: losetup -D',
                    command: 'losetup -D',
                    escapedCommand: 'losetup -D',
                    exitCode: 1,
                    signal: undefined,
                    signalDescription: undefined,
                    stdout: '',
                    stderr: 'losetup: /dev/loop1: detach failed: Permission denied\n' +
                      'losetup: /dev/loop4: detach failed: Permission denied\n' +
                      'losetup: /dev/loop2: detach failed: Permission denied\n' +
                      'losetup: /dev/loop0: detach failed: Permission denied\n' +
                      'losetup: /dev/loop5: detach failed: Permission denied\n' +
                      'losetup: /dev/loop3: detach failed: Permission denied',
                    failed: true,
                    timedOut: false,
                    isCanceled: false,
                    killed: false
                  }
                }
                glob error [Error: EACCES: permission denied, scandir '/root/.config/xo-server'] {
                  errno: -13,
                  code: 'EACCES',
                  syscall: 'scandir',
                  path: '/root/.config/xo-server'
                }
                2021-07-31T18:18:13.903Z xo:mixins:config WARN EACCES: permission denied, scandir '/root/.config/xo-server' {
                  error: [Error: EACCES: permission denied, scandir '/root/.config/xo-server'] {
                    errno: -13,
                    code: 'EACCES',
                    syscall: 'scandir',
                    path: '/root/.config/xo-server'
                  }
                }
                
                julien-fJ 1 Reply Last reply Reply Quote 0
                • olivierlambertO Offline
                  olivierlambert Vates 🪐 Co-Founder CEO
                  last edited by

                  Ping @julien-f

                  1 Reply Last reply Reply Quote 0
                  • julien-fJ Offline
                    julien-f Vates 🪐 Co-Founder XO Team @k_hamilton
                    last edited by

                    @k_hamilton The issue is that XO tries to store some config in ${HOME}/.config/xo-server and the setting user=username does not set the home to the specified user.

                    You can work-around this by explicitly setting the $HOME var when starting xo-server.

                    K 1 Reply Last reply Reply Quote 1
                    • K Offline
                      k_hamilton @julien-f
                      last edited by

                      @julien-f

                      Apologies, I'm not sure how to do that, but it seems easier to run the server as root instead of these workarounds.

                      1 Reply Last reply Reply Quote 0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      • First post
                        Last post