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

    Attempting to add new host fail on xoa and on server, worked on xcp-ng center

    Scheduled Pinned Locked Moved Management
    24 Posts 6 Posters 1.9k Views 5 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.
    • olivierlambertO Offline
      olivierlambert Vates 🪐 Co-Founder CEO
      last edited by

      Indeed, there's a big yellow warning "You are not up to date with master". Maybe we should mark it bigger?

      J 1 Reply Last reply Reply Quote 0
      • J Offline
        Jonathon @olivierlambert
        last edited by

        I ran the upgrade yesterday. And this is the state that it gave me

          installing : node-v22.15.1
               mkdir : /usr/local/n/versions/node/22.15.1
               fetch : https://nodejs.org/dist/v22.15.1/node-v22.15.1-linux-x64.tar.xz
           installed : v22.15.1 (with npm 10.9.2)
        
        Stopping xo-server...
        Checking for Yarn package...
        Checking for Yarn update...
        Reading package lists...
        ...
        yarn install v1.22.22
        [1/5] Validating package.json...
        [2/5] Resolving packages...
        [3/5] Fetching packages...
        [4/5] Linking dependencies...
        [5/5] Building fresh packages...
        $ husky install
        husky - Git hooks installed
        Done in 46.08s.
        yarn run v1.22.22
        $ TURBO_TELEMETRY_DISABLED=1 turbo run build --filter xo-server --filter xo-server-'*' --filter xo-web
        • Packages in scope: xo-server, xo-server-audit, xo-server-auth-github, xo-server-auth-google, xo-server-auth-ldap, xo-server-auth-oidc, xo-server-auth-saml, xo-server-backup-reports, xo-server-load-balancer, xo-server-netbox, xo-server-perf-alert, xo-server-sdn-controller, xo-server-test, xo-server-test-plugin, xo-server-transport-email, xo-server-transport-icinga2, xo-server-transport-nagios, xo-server-transport-slack, xo-server-transport-xmpp, xo-server-usage-report, xo-server-web-hooks, xo-web
        • Running build in 22 packages
        • Remote caching disabled
        
         Tasks:    29 successful, 29 total
        Cached:    0 cached, 29 total
          Time:    1m18.85s 
        
        Done in 79.13s.
        Updated version 5.177.0 / 5.173.2
        Updated commit a49b27bff7d325f704957b8aac3055ad0407bd40 2025-05-20 16:42:02 +0200
        Checking plugins...
        Ignoring xo-server-test plugin
        Cleanup plugins...
        Restarting xo-server...
        
        J 1 Reply Last reply Reply Quote 0
        • J Offline
          Jonathon @Jonathon
          last edited by

          It does not matter now, the host has been added. I had just found the error to be interesting that thought someone would want to know about it.

          DanpD 1 Reply Last reply Reply Quote 0
          • DanpD Offline
            Danp Pro Support Team @Jonathon
            last edited by

            @Jonathon We are interested if you can reproduce using an up-to-date instance of XO. 🙂

            J 1 Reply Last reply Reply Quote 0
            • J Offline
              Jonathon @Danp
              last edited by

              @Danp Sorry, due to the host being added and me continuing on with my other tasks, it is not. I could have made that more clear.

              henri9813H 1 Reply Last reply Reply Quote 0
              • henri9813H Offline
                henri9813 @Jonathon
                last edited by henri9813

                Hello, @Danp

                I just reproduced it.

                All my nodes are up to date
                ( my xo have 7 commits behind master, i read the commit's log of my missing commit, the commits are not related to my issue. ).

                In my scenario, i had a pool with 3 nodes

                • node1
                • node2
                • node3

                I reinstall node3 after a disaster ( i force forgot node 3).

                Now, i can't add the host back to the pool.

                6e6c4b93-7a3d-4c48-92fb-d311b4117983-image.png

                I also tried to update the host after installation ( usually, i do this after ).

                But it doesn't works more.

                I will not add my node thought xcpng center to permit you further investigation 🙂

                Here is the detailed operation json

                {
                  "id": "0mcwehjzy",
                  "properties": {
                    "method": "pool.mergeInto",
                    "params": {
                      "sources": [
                        "64365465-fd4e-25b6-3db2-2cdcd9edba5e"
                      ],
                      "target": "a92ca4ca-caac-83b9-fa00-4bb75cb48f6c",
                      "force": true
                    },
                    "name": "API call: pool.mergeInto",
                    "userId": "63a0dbaf-ba2d-4028-b80f-fe49f56686b2",
                    "type": "api.call"
                  },
                  "start": 1752092249470,
                  "status": "failure",
                  "updatedAt": 1752092249473,
                  "end": 1752092249472,
                  "result": {
                    "message": "app.getLicenses is not a function",
                    "name": "TypeError",
                    "stack": "TypeError: app.getLicenses is not a function\n    at enforceHostsHaveLicense (file:///etc/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:15:30)\n    at Pools.apply (file:///etc/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:80:13)\n    at Pools.mergeInto (/etc/xen-orchestra/node_modules/golike-defer/src/index.js:85:19)\n    at Xo.mergeInto (file:///etc/xen-orchestra/packages/xo-server/src/api/pool.mjs:311:15)\n    at Task.runInside (/etc/xen-orchestra/@vates/task/index.js:175:22)\n    at Task.run (/etc/xen-orchestra/@vates/task/index.js:159:20)\n    at Api.#callApiMethod (file:///etc/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:469:18)"
                  }
                }```
                henri9813H 2 Replies Last reply Reply Quote 0
                • henri9813H Offline
                  henri9813 @henri9813
                  last edited by

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • henri9813H Offline
                    henri9813 @henri9813
                    last edited by

                    Hey @Danp ,
                    I can keep my cluster without this node up to Monday, do you have an idea / do you want to investigate on this case ?

                    J 1 Reply Last reply Reply Quote 0
                    • J Offline
                      Jonathon @henri9813
                      last edited by Jonathon

                      Guess who's back!

                      Adding another host to the pool. Tested before and after updating xoa again.

                      pool.mergeInto
                      {
                        "sources": [
                          "e4cf2039-3547-6574-0e10-96f9d91316f0"
                        ],
                        "target": "38aea760-cf23-927c-ccf5-90969681e04b",
                        "force": true
                      }
                      {
                        "message": "app.getLicenses is not a function",
                        "name": "TypeError",
                        "stack": "TypeError: app.getLicenses is not a function
                          at enforceHostsHaveLicense (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:15:30)
                          at Pools.apply (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:80:13)
                          at Pools.mergeInto (/opt/xen-orchestra/node_modules/golike-defer/src/index.js:85:19)
                          at Xo.mergeInto (file:///opt/xen-orchestra/packages/xo-server/src/api/pool.mjs:314:15)
                          at Task.runInside (/opt/xen-orchestra/@vates/task/index.js:175:22)
                          at Task.run (/opt/xen-orchestra/@vates/task/index.js:159:20)
                          at Api.#callApiMethod (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:469:18)"
                      }
                      
                      Uncaught 
                      Object { code: -32000, data: {…}, stack: "", … }
                      index.js:171:1258316
                          default log-error.js:10
                          (Async: setTimeout handler)
                          default log-error.js:5
                          e action-button.js:130
                          InterpretGeneratorResume self-hosted:1332
                          throw self-hosted:1279
                          m action-button.js:10
                          s action-button.js:10
                          (Async: promise callback)
                          m action-button.js:10
                          i action-button.js:10
                          _execute action-button.js:10
                          _execute action-button.js:10
                          _execute action-button.js:10
                          React 5
                          forEach self-hosted:157
                          React 9
                          (Async: EventListener.handleEvent)
                          listen EventListener.js:29
                          React 29
                      

                      I also checked journalctl -u xo-server.service

                      Nov 12 17:46:52 xoa xo-server[1223513]: 2025-11-12T17:46:52.761Z xo:api WARN jonathon@floatplanemedia.com | pool.mergeInto(...) [32ms] =!> TypeError: app.getLicenses is not a function
                      Nov 12 17:49:14 xoa xo-server[1223513]: 2025-11-12T17:49:14.414Z xo:api WARN jonathon@floatplanemedia.com | pool.mergeInto(...) [2ms] =!> TypeError: app.getLicenses is not a function
                      

                      58545fa3-ea5f-47b9-aff1-db90102b5022-image.png
                      c36da33c-4583-408f-a82f-e3fc6836bf2f-image.png
                      8e87421d-925a-4c78-a721-fdec25a88a99-image.png

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

                        Hi,

                        How did you install your XO in the first place?

                        J 1 Reply Last reply Reply Quote 0
                        • J Offline
                          Jonathon @olivierlambert
                          last edited by

                          @olivierlambert

                          Looks like it was installed with curl https://raw.githubusercontent.com/Jarli01/xenorchestra_installer/master/xo_install.sh
                          This was a few years ago at least.

                          And it gets updated with sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_updater/master/xo-update.sh | bash | tee xenupgrade##.log

                          root@xoa:/home/fpcuser# cat xenupgrade23.log
                             installed : v22.20.0 (with npm 10.9.3)
                          Stopping xo-server...
                          Checking for Yarn package...
                          Checking for Yarn update...
                          Checking for missing dependencies...
                          Checking for Repo change...
                          Checking xen-orchestra...
                          Current branch master
                          Current version 5.189.0 / 5.186.0
                          Current commit a0046fa19fa5f17344061e5c7709c1e02140dca4 2025-09-25 16:15:05 +0200
                          95 updates available
                          Updating from source...
                          No local changes to save
                          Updating a0046fa19..d829816f6
                          Fast-forward
                           @vates/async-each/index.js                         |   28 +-
                           @vates/async-each/index.test.js                    |   14 +
                           @vates/async-each/package.json                     |    2 +-
                           @vates/fuse-vhd/package.json                       |    2 +-
                           @vates/generator-toolbox/src/throttle.mts          |    6 +-
                           @vates/generator-toolbox/tsconfig.json             |    1 +
                           @vates/nbd-client/package.json                     |    2 +-
                           @vates/types/package.json                          |    2 +-
                           @vates/types/src/lib/xen-orchestra-xapi.mts        |    5 +
                           @vates/types/src/xen-api.mts                       |   28 +-
                           @vates/types/src/xo.mts                            |   15 +-
                           @vates/types/tsconfig.json                         |    3 +-
                           @xen-orchestra/backups-cli/package.json            |    4 +-
                           @xen-orchestra/backups/_runners/VmsRemote.mjs      |    7 +-
                           @xen-orchestra/backups/_runners/VmsXapi.mjs        |    5 +-
                           .../backups/_runners/_vmRunners/FullRemote.mjs     |    2 +-
                           .../backups/_runners/_vmRunners/FullXapi.mjs       |    6 +-
                           .../_runners/_vmRunners/IncrementalRemote.mjs      |    5 +-
                           .../_runners/_vmRunners/IncrementalXapi.mjs        |    7 +-
                           .../_runners/_vmRunners/_AbstractRemote.mjs        |    2 +
                           .../backups/_runners/_vmRunners/_AbstractXapi.mjs  |    2 +
                           .../_runners/_writers/IncrementalXapiWriter.mjs    |   11 +-
                           @xen-orchestra/backups/package.json                |    4 +-
                           @xen-orchestra/disk-transform/src/Throttled.mts    |   26 +
                           @xen-orchestra/disk-transform/src/Timeout.mts      |   16 +
                           @xen-orchestra/disk-transform/src/index.mts        |    2 +
                           @xen-orchestra/disk-transform/tsconfig.json        |    1 +
                           @xen-orchestra/fs/package.json                     |    4 +-
                           @xen-orchestra/fs/src/abstract.js                  |   53 +-
                           .../immutable-backups/liftProtection.mjs           |    4 +-
                           @xen-orchestra/immutable-backups/package.json      |    2 +-
                           @xen-orchestra/lite/CHANGELOG.md                   |    3 +
                           @xen-orchestra/lite/docs/modals.md                 |  111 -
                           @xen-orchestra/lite/package.json                   |    6 +-
                           @xen-orchestra/lite/src/App.vue                    |    6 +-
                           .../lite/src/components/CollectionFilter.vue       |   33 +-
                           .../lite/src/components/CollectionFilterRow.vue    |   53 +-
                           .../lite/src/components/CollectionSorter.vue       |   20 +-
                           .../components/component-story/StoryPropParams.vue |   10 +-
                           .../lite/src/components/form/FormJson.vue          |   18 +-
                           .../src/components/modals/CodeHighlightModal.vue   |   11 +-
                           .../components/modals/CollectionFilterModal.vue    |   90 +-
                           .../components/modals/CollectionSorterModal.vue    |   51 +-
                           .../src/components/modals/InvalidFieldModal.vue    |   33 +-
                           .../lite/src/components/modals/JsonEditorModal.vue |   62 +-
                           .../components/modals/UnreachableHostsModal.vue    |   58 +-
                           .../lite/src/components/modals/VmDeleteModal.vue   |   70 +-
                           .../components/modals/VmExportBlockedUrlsModal.vue |   38 +-
                           .../lite/src/components/modals/VmExportModal.vue   |   59 +-
                           .../lite/src/components/modals/VmMigrateModal.vue  |   64 +-
                           .../components/ui/modals/ModalApproveButton.vue    |   13 -
                           .../src/components/ui/modals/ModalCloseIcon.vue    |   22 -
                           .../src/components/ui/modals/ModalContainer.vue    |   74 -
                           .../components/ui/modals/ModalDeclineButton.vue    |   16 -
                           .../lite/src/components/ui/modals/ModalList.vue    |   10 -
                           .../src/components/ui/modals/ModalListItem.vue     |   15 -
                           .../lite/src/components/ui/modals/UiModal.vue      |   55 -
                           .../ui/modals/layouts/BasicModalLayout.vue         |   26 -
                           .../ui/modals/layouts/ConfirmModalLayout.vue       |   76 -
                           .../ui/modals/layouts/FormModalLayout.vue          |   63 -
                           .../vm/VmActionItems/VmActionDeleteItem.vue        |   18 +-
                           .../vm/VmActionItems/VmActionExportItem.vue        |   23 +-
                           .../vm/VmActionItems/VmActionMigrateItem.vue       |   34 +-
                           .../lite/src/composables/context.composable.ts     |    5 +-
                           .../lite/src/composables/modal.composable.ts       |    4 -
                           .../composables/unreachable-hosts.composable.ts    |   23 +-
                           @xen-orchestra/lite/src/jobs/vm-export.job.ts      |    5 +-
                           .../src/libs/xen-api/operations/vm-operations.ts   |   14 +-
                           @xen-orchestra/lite/src/pages/settings.vue         |  305 +-
                           @xen-orchestra/lite/src/pages/xoa-deploy.vue       |   18 +-
                           @xen-orchestra/lite/src/stores/modal.store.ts      |   69 -
                           .../modals/layouts/basic-modal-layout.story.md     |    7 -
                           .../modals/layouts/basic-modal-layout.story.vue    |   17 -
                           .../modals/layouts/confirm-modal-layout.story.md   |   18 -
                           .../modals/layouts/confirm-modal-layout.story.vue  |   30 -
                           .../modals/layouts/form-modal-layout.story.md      |   30 -
                           .../modals/layouts/form-modal-layout.story.vue     |   50 -
                           .../src/stories/modals/modal-container.story.md    |   17 -
                           .../src/stories/modals/modal-container.story.vue   |   37 -
                           @xen-orchestra/lite/src/types/index.ts             |    9 -
                           @xen-orchestra/lite/src/types/injection-keys.ts    |    7 -
                           @xen-orchestra/lite/typed-router.d.ts              |    4 -
                           @xen-orchestra/proxy/package.json                  |    4 +-
                           @xen-orchestra/qcow2/tsconfig.json                 |    1 +
                           @xen-orchestra/rest-api/package.json               |    6 +-
                           .../src/abstract-classes/base-controller.mts       |   31 +-
                           .../src/abstract-classes/xapi-xo-controller.mts    |   17 +-
                           .../rest-api/src/groups/group.controller.mts       |   27 +-
                           .../rest-api/src/helpers/helper.type.mts           |   11 +
                           .../rest-api/src/hosts/host.controller.mts         |   88 +-
                           @xen-orchestra/rest-api/src/index.mts              |    7 +-
                           @xen-orchestra/rest-api/src/ioc/ioc.mts            |    6 -
                           .../rest-api/src/messages/message.controller.mts   |    2 +-
                           .../src/middlewares/authentication.middleware.mts  |   83 +-
                           .../rest-api/src/networks/network.controller.mts   |   78 +-
                           .../src/open-api/oa-examples/pbd.oa-example.mts    |   43 +
                           .../src/open-api/oa-examples/user.oa-example.mts   |   12 +
                           .../rest-api/src/pbds/pbd.controller.mts           |   50 +
                           .../rest-api/src/pifs/pif.controller.mts           |   52 +-
                           .../rest-api/src/pools/pool.controller.mts         |   78 +-
                           .../rest-api/src/rest-api/rest-api.type.mts        |   13 +-
                           .../rest-api/src/servers/server.controller.mts     |   28 +-
                           @xen-orchestra/rest-api/src/srs/sr.controller.mts  |  100 +-
                           @xen-orchestra/rest-api/src/tasks/task.service.mts |   32 -
                           .../rest-api/src/users/user.controller.mts         |  139 +-
                           .../rest-api/src/users/user.middleware.mts         |   23 +
                           .../rest-api/src/vbds/vbd.controller.mts           |   51 +-
                           .../src/vdi-snapshots/vdi-snapshot.controller.mts  |   79 +-
                           .../rest-api/src/vdis/vdi.controller.mts           |  112 +-
                           .../rest-api/src/vifs/vif.controller.mts           |   52 +-
                           .../src/vm-controller/vm-controller.controller.mts |   80 +-
                           .../src/vm-snapshots/vm-snapshot.controller.mts    |   61 +-
                           .../src/vm-templates/vm-template.controller.mts    |   78 +-
                           @xen-orchestra/rest-api/src/vms/vm.controller.mts  |   45 +-
                           @xen-orchestra/rest-api/tsconfig.json              |    1 +
                           @xen-orchestra/rest-api/tsoa.json                  |   19 +
                           @xen-orchestra/vmware-explorer/esxi.mjs            |    2 +-
                           @xen-orchestra/vmware-explorer/package.json        |    2 +-
                           @xen-orchestra/web-core/docs/index.md              |    2 +
                           @xen-orchestra/web-core/docs/modals.md             |  115 +
                           .../web-core/lib/assets/css/_colors.pcss           |    8 +
                           .../lib/components/backdrop/VtsBackdrop.vue        |   10 +-
                           .../lib/components/backup-state/VtsBackupState.vue |    3 +-
                           .../lib/components/button-group/VtsButtonGroup.vue |    6 +-
                           .../web-core/lib/components/menu/MenuList.vue      |    1 +
                           .../web-core/lib/components/modal/VtsModal.vue     |   82 +
                           .../lib/components/modal/VtsModalButton.vue        |   36 +
                           .../lib/components/modal/VtsModalCancelButton.vue  |   37 +
                           .../lib/components/modal/VtsModalConfirmButton.vue |   21 +
                           .../web-core/lib/components/modal/VtsModalList.vue |   34 +
                           .../lib/components/task/VtsQuickTaskButton.vue     |    5 +-
                           .../lib/components/task/VtsQuickTaskList.vue       |   22 +-
                           .../web-core/lib/components/tree/VtsTreeItem.vue   |    4 +-
                           .../web-core/lib/components/ui/button/UiButton.vue |   80 +-
                           .../ui/collapsible-list/UiCollapsibleList.vue      |    4 +
                           .../web-core/lib/components/ui/modal/UiModal.vue   |  164 +
                           .../web-core/lib/components/ui/panel/UiPanel.vue   |    2 +-
                           .../ui/quick-task-item/UiQuickTaskItem.vue         |    4 +-
                           .../ui/table-pagination/UiTablePagination.vue      |    4 +-
                           .../web-core/lib/composables/context.composable.ts |    8 +-
                           .../lib/composables/link-component.composable.ts   |    5 +-
                           .../lib/composables/pagination.composable.ts       |    5 +-
                           @xen-orchestra/web-core/lib/locales/cs.json        |   82 +-
                           @xen-orchestra/web-core/lib/locales/en.json        |   36 +-
                           @xen-orchestra/web-core/lib/locales/es.json        |   82 +-
                           @xen-orchestra/web-core/lib/locales/fr.json        |   40 +-
                           @xen-orchestra/web-core/lib/locales/it.json        |   11 +-
                           @xen-orchestra/web-core/lib/locales/nl.json        |   48 +-
                           @xen-orchestra/web-core/lib/locales/pt_BR.json     |   34 +-
                           @xen-orchestra/web-core/lib/locales/ru.json        |   84 +-
                           @xen-orchestra/web-core/lib/locales/uk.json        |  340 +-
                           .../lib/packages/collection/use-collection.ts      |    5 +-
                           .../form-select/use-form-option-controller.ts      |    5 +-
                           .../lib/packages/form-select/use-form-select.ts    |   15 +-
                           .../web-core/lib/packages/menu/action.ts           |    7 +-
                           @xen-orchestra/web-core/lib/packages/menu/link.ts  |    9 +-
                           .../web-core/lib/packages/menu/router-link.ts      |    5 +-
                           .../web-core/lib/packages/menu/toggle-target.ts    |    5 +-
                           .../web-core/lib/packages/modal/ModalProvider.vue  |   17 +
                           .../web-core/lib/packages/modal/README.md          |  253 ++
                           .../lib/packages/modal/create-modal-opener.ts      |  103 +
                           .../web-core/lib/packages/modal/modal.store.ts     |   22 +
                           .../web-core/lib/packages/modal/types.ts           |   92 +
                           .../web-core/lib/packages/modal/use-modal.ts       |   53 +
                           .../web-core/lib/packages/progress/use-progress.ts |    7 +-
                           .../web-core/lib/packages/table/README.md          |  336 ++
                           .../lib/packages/table/apply-extensions.ts         |   26 +
                           .../web-core/lib/packages/table/define-columns.ts  |   62 +
                           .../define-renderer/define-table-cell-renderer.ts  |   27 +
                           .../table/define-renderer/define-table-renderer.ts |   47 +
                           .../define-renderer/define-table-row-renderer.ts   |   29 +
                           .../define-table-section-renderer.ts               |   29 +
                           .../define-table/define-multi-source-table.ts      |   39 +
                           .../packages/table/define-table/define-table.ts    |   13 +
                           .../table/define-table/define-typed-table.ts       |   18 +
                           .../web-core/lib/packages/table/index.ts           |   11 +
                           .../lib/packages/table/transform-sources.ts        |   13 +
                           .../lib/packages/table/types/extensions.ts         |   16 +
                           .../web-core/lib/packages/table/types/index.ts     |   47 +
                           .../lib/packages/table/types/table-cell.ts         |   18 +
                           .../web-core/lib/packages/table/types/table-row.ts |   20 +
                           .../lib/packages/table/types/table-section.ts      |   19 +
                           .../web-core/lib/packages/table/types/table.ts     |   28 +
                           .../lib/packages/threshold/use-threshold.ts        |    7 +-
                           .../web-core/lib/types/value-matcher.d.ts          |    3 +
                           .../web-core/lib/types/vue-virtual-scroller.d.ts   |  101 +
                           .../web-core/lib/utils/injection-keys.util.ts      |    3 +
                           @xen-orchestra/web-core/lib/utils/progress.util.ts |    3 +-
                           @xen-orchestra/web-core/lib/utils/speed.util.ts    |   12 +
                           @xen-orchestra/web-core/lib/utils/time.util.ts     |   57 +
                           .../web-core/lib/utils/to-computed.util.ts         |   15 +
                           @xen-orchestra/web-core/package.json               |    5 +-
                           @xen-orchestra/web/env.d.ts                        |    1 +
                           @xen-orchestra/web/package.json                    |   12 +-
                           @xen-orchestra/web/src/App.vue                     |    2 +
                           .../{pool/dashboard => }/alarms/AlarmLink.vue      |    0
                           .../web/src/components/alarms/DashboardAlarms.vue  |   77 +
                           .../components/backups/jobs/BackupJobsTable.vue    |   16 +-
                           .../backups/jobs/panel/BackupJobsSidePanel.vue     |  112 +
                           .../panel/cards-items/BackupJobsSmartModePools.vue |   23 +
                           .../panel/cards-items/BackupJobsSmartModeTags.vue  |   23 +
                           .../panel/cards-items/BackupJobsTargetsBrItem.vue  |   19 +
                           .../panel/cards-items/BackupJobsTargetsSection.vue |   41 +
                           .../panel/cards-items/BackupJobsTargetsSrItem.vue  |   16 +
                           .../jobs/panel/cards-items/BackupRunItem.vue       |   85 +
                           .../jobs/panel/cards/BackupJobInfosCard.vue        |   69 +
                           .../backups/jobs/panel/cards/BackupJobLogsCard.vue |   41 +
                           .../jobs/panel/cards/BackupJobSchedulesCard.vue    |   92 +
                           .../jobs/panel/cards/BackupJobSettingsCard.vue     |  225 ++
                           .../panel/cards/BackupJobsBackedUpPoolsCard.vue    |   39 +
                           .../jobs/panel/cards/BackupJobsBackedUpVmsCard.vue |  173 +
                           .../jobs/panel/cards/BackupJobsTargetsCard.vue     |   48 +
                           .../panel/cards/BackupSourceRepositoryCard.vue     |   42 +
                           .../host/dashboard/HostDashboardPatches.vue        |  111 +
                           .../pool/dashboard/PoolDashboardStatus.vue         |    8 +-
                           .../pool/dashboard/alarms/PoolDashboardAlarms.vue  |   85 -
                           .../components/site/backups/BackupJobsTable.vue    |  238 --
                           .../src/components/site/dashboard/AlarmLink.vue    |   83 -
                           .../web/src/components/site/dashboard/Alarms.vue   |   80 -
                           .../web/src/components/tree/SiteTreeList.vue       |   24 +-
                           @xen-orchestra/web/src/main.ts                     |    1 +
                           @xen-orchestra/web/src/pages/(site)/backups.vue    |   32 +-
                           @xen-orchestra/web/src/pages/(site)/dashboard.vue  |    7 +-
                           .../web/src/pages/host/[id]/dashboard.vue          |   24 +
                           .../web/src/pages/pool/[id]/dashboard.vue          |   21 +-
                           @xen-orchestra/web/src/pages/vm/[id]/backups.vue   |   29 +-
                           @xen-orchestra/web/src/pages/vm/[id]/dashboard.vue |   17 +
                           @xen-orchestra/web/src/pages/vm/new.vue            |    6 +-
                           .../remote-resources/use-xo-alarm-collection.ts    |    3 +-
                           .../use-xo-backup-job-collection.ts                |   57 +-
                           .../use-xo-backup-log-collection.ts                |    2 +-
                           .../src/remote-resources/use-xo-br-collection.ts   |   13 +
                           .../use-xo-host-alarms-collection.ts               |   18 +
                           .../use-xo-host-missing-patches-collection.ts      |   11 +
                           .../use-xo-metadata-backup-job-collection.ts       |   13 -
                           .../use-xo-mirror-backup-job-collection.ts         |   13 -
                           .../remote-resources/use-xo-proxy-collection.ts    |   13 +
                           .../remote-resources/use-xo-schedule-collection.ts |    2 +-
                           .../src/remote-resources/use-xo-sr-collection.ts   |    2 +-
                           .../use-xo-vm-alarms-collection.ts                 |   18 +
                           .../use-xo-vm-backup-job-collection.ts             |   19 -
                           .../src/remote-resources/use-xo-vm-collection.ts   |    2 +-
                           @xen-orchestra/web/src/types/xo/backup-log.type.ts |    2 +
                           @xen-orchestra/web/src/types/xo/br.type.ts         |   11 +
                           @xen-orchestra/web/src/types/xo/index.ts           |    4 +
                           .../web/src/types/xo/metadata-backup-job.type.ts   |   33 +-
                           .../web/src/types/xo/mirror-backup-job.type.ts     |   33 +-
                           @xen-orchestra/web/src/types/xo/new-vm.type.ts     |    2 +-
                           @xen-orchestra/web/src/types/xo/proxy.type.ts      |   13 +
                           .../web/src/types/xo/vm-backup-job.type.ts         |   37 +-
                           @xen-orchestra/web/src/utils/pattern.util.ts       |   42 +
                           @xen-orchestra/web/vite.config.ts                  |    8 +
                           @xen-orchestra/xapi/disks/Xapi.mjs                 |   23 +-
                           @xen-orchestra/xapi/package.json                   |    2 +-
                           CHANGELOG.md                                       |   83 +-
                           CHANGELOG.unreleased.md                            |   85 +
                           docs/docs/manage_infrastructure.md                 |   78 +-
                           docs/docs/object-storage-support.md                |   37 +
                           docs/docs/users.md                                 |   11 +-
                           docs/docs/xoa.md                                   |    2 +-
                           docs/sidebars.ts                                   |    1 +
                           packages/vhd-cli/package.json                      |    2 +-
                           .../disk-consumer/DiskConsumerVhdDirectory.mjs     |    4 +-
                           packages/vhd-lib/package.json                      |    6 +-
                           packages/xo-server-auth-saml/package.json          |    4 +-
                           packages/xo-server-auth-saml/src/index.js          |   20 +-
                           packages/xo-server-sdn-controller/package.json     |    4 +-
                           packages/xo-server-sdn-controller/src/index.js     |  165 +-
                           .../src/openflow-controller.js                     |   16 +
                           .../src/openflow-plugin.js                         |  115 +
                           .../src/protocol/openflow-channel.js               |    4 +-
                           packages/xo-server/config.toml                     |    3 +
                           packages/xo-server/package.json                    |   12 +-
                           packages/xo-server/src/index.mjs                   |    2 +-
                           packages/xo-server/src/xo-mixins/rest-api.mjs      |  910 +----
                           packages/xo-server/src/xo-mixins/subjects.mjs      |   11 +-
                           packages/xo-server/src/xo-mixins/vmware/index.mjs  |    5 +-
                           packages/xo-web/package.json                       |    2 +-
                           packages/xo-web/src/common/copiable/index.css      |    2 +-
                           packages/xo-web/src/common/copiable/index.js       |   16 +-
                           packages/xo-web/src/common/form/toggle.js          |   10 +-
                           packages/xo-web/src/common/intl/messages.js        |    5 +
                           .../xo-web/src/xo-app/hub/recipes/recipe-ev.js     |    4 +
                           .../src/xo-app/hub/recipes/recipe-form-ev.js       |   31 +-
                           packages/xo-web/src/xo-app/new-vm/index.js         |    3 +-
                           packages/xo-web/src/xo-app/pool/tab-advanced.js    |   66 +-
                           packages/xo-web/src/xo-app/vm/action-bar.js        |   12 +-
                           packages/xo-web/src/xo-app/vm/tab-network.js       |    2 +-
                           yarn.lock                                          | 3606 ++++++++++----------
                           289 files changed, 9224 insertions(+), 5148 deletions(-)
                           create mode 100644 @xen-orchestra/disk-transform/src/Throttled.mts
                           create mode 100644 @xen-orchestra/disk-transform/src/Timeout.mts
                           delete mode 100644 @xen-orchestra/lite/docs/modals.md
                           delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalApproveButton.vue
                           delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalCloseIcon.vue
                           delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalContainer.vue
                           delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalDeclineButton.vue
                           delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalList.vue
                           delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalListItem.vue
                           delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/UiModal.vue
                           delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/layouts/BasicModalLayout.vue
                           delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/layouts/ConfirmModalLayout.vue
                           delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/layouts/FormModalLayout.vue
                           delete mode 100644 @xen-orchestra/lite/src/composables/modal.composable.ts
                           delete mode 100644 @xen-orchestra/lite/src/stores/modal.store.ts
                           delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/basic-modal-layout.story.md
                           delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/basic-modal-layout.story.vue
                           delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/confirm-modal-layout.story.md
                           delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/confirm-modal-layout.story.vue
                           delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/form-modal-layout.story.md
                           delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/form-modal-layout.story.vue
                           delete mode 100644 @xen-orchestra/lite/src/stories/modals/modal-container.story.md
                           delete mode 100644 @xen-orchestra/lite/src/stories/modals/modal-container.story.vue
                           create mode 100644 @xen-orchestra/rest-api/src/open-api/oa-examples/pbd.oa-example.mts
                           create mode 100644 @xen-orchestra/rest-api/src/pbds/pbd.controller.mts
                           delete mode 100644 @xen-orchestra/rest-api/src/tasks/task.service.mts
                           create mode 100644 @xen-orchestra/rest-api/src/users/user.middleware.mts
                           create mode 100644 @xen-orchestra/web-core/docs/modals.md
                           create mode 100644 @xen-orchestra/web-core/lib/components/modal/VtsModal.vue
                           create mode 100644 @xen-orchestra/web-core/lib/components/modal/VtsModalButton.vue
                           create mode 100644 @xen-orchestra/web-core/lib/components/modal/VtsModalCancelButton.vue
                           create mode 100644 @xen-orchestra/web-core/lib/components/modal/VtsModalConfirmButton.vue
                           create mode 100644 @xen-orchestra/web-core/lib/components/modal/VtsModalList.vue
                           create mode 100644 @xen-orchestra/web-core/lib/components/ui/modal/UiModal.vue
                           create mode 100644 @xen-orchestra/web-core/lib/packages/modal/ModalProvider.vue
                           create mode 100644 @xen-orchestra/web-core/lib/packages/modal/README.md
                           create mode 100644 @xen-orchestra/web-core/lib/packages/modal/create-modal-opener.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/modal/modal.store.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/modal/types.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/modal/use-modal.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/README.md
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/apply-extensions.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-columns.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-renderer/define-table-cell-renderer.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-renderer/define-table-renderer.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-renderer/define-table-row-renderer.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-renderer/define-table-section-renderer.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-table/define-multi-source-table.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-table/define-table.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-table/define-typed-table.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/index.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/transform-sources.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/extensions.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/index.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/table-cell.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/table-row.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/table-section.ts
                           create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/table.ts
                           create mode 100644 @xen-orchestra/web-core/lib/types/value-matcher.d.ts
                           create mode 100644 @xen-orchestra/web-core/lib/types/vue-virtual-scroller.d.ts
                           create mode 100644 @xen-orchestra/web-core/lib/utils/speed.util.ts
                           create mode 100644 @xen-orchestra/web-core/lib/utils/to-computed.util.ts
                           rename @xen-orchestra/web/src/components/{pool/dashboard => }/alarms/AlarmLink.vue (100%)
                           create mode 100644 @xen-orchestra/web/src/components/alarms/DashboardAlarms.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/BackupJobsSidePanel.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupJobsSmartModePools.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupJobsSmartModeTags.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupJobsTargetsBrItem.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupJobsTargetsSection.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupJobsTargetsSrItem.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupRunItem.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobInfosCard.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobLogsCard.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobSchedulesCard.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobSettingsCard.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobsBackedUpPoolsCard.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobsBackedUpVmsCard.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobsTargetsCard.vue
                           create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupSourceRepositoryCard.vue
                           create mode 100644 @xen-orchestra/web/src/components/host/dashboard/HostDashboardPatches.vue
                           delete mode 100644 @xen-orchestra/web/src/components/pool/dashboard/alarms/PoolDashboardAlarms.vue
                           delete mode 100644 @xen-orchestra/web/src/components/site/backups/BackupJobsTable.vue
                           delete mode 100644 @xen-orchestra/web/src/components/site/dashboard/AlarmLink.vue
                           delete mode 100644 @xen-orchestra/web/src/components/site/dashboard/Alarms.vue
                           create mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-br-collection.ts
                           create mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-host-alarms-collection.ts
                           create mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-host-missing-patches-collection.ts
                           delete mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-metadata-backup-job-collection.ts
                           delete mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-mirror-backup-job-collection.ts
                           create mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-proxy-collection.ts
                           create mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-vm-alarms-collection.ts
                           delete mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-vm-backup-job-collection.ts
                           create mode 100644 @xen-orchestra/web/src/types/xo/br.type.ts
                           create mode 100644 @xen-orchestra/web/src/types/xo/proxy.type.ts
                           create mode 100644 @xen-orchestra/web/src/utils/pattern.util.ts
                           create mode 100644 docs/docs/object-storage-support.md
                           create mode 100644 packages/xo-server-sdn-controller/src/openflow-controller.js
                           create mode 100644 packages/xo-server-sdn-controller/src/openflow-plugin.js
                          Clearing directories...
                          Installing...
                          yarn install v1.22.22
                          [1/5] Validating package.json...
                          [2/5] Resolving packages...
                          [3/5] Fetching packages...
                          [4/5] Linking dependencies...
                          [5/5] Building fresh packages...
                          $ husky install
                          husky - Git hooks installed
                          Done in 40.48s.
                          yarn run v1.22.22
                          $ TURBO_TELEMETRY_DISABLED=1 turbo run build --filter xo-server --filter xo-server-'*' --filter xo-web
                          • Packages in scope: xo-server, xo-server-audit, xo-server-auth-github, xo-server-auth-google, xo-server-auth-ldap, xo-server-auth-oidc, xo-server-auth-saml, xo-server-backup-reports, xo-server-load-balancer, xo-server-netbox, xo-server-perf-alert, xo-server-sdn-controller, xo-server-test-plugin, xo-server-transport-email, xo-server-transport-icinga2, xo-server-transport-nagios, xo-server-transport-slack, xo-server-transport-xmpp, xo-server-usage-report, xo-server-web-hooks, xo-web
                          • Running build in 21 packages
                          • Remote caching disabled
                          
                           Tasks:    30 successful, 30 total
                          Cached:    0 cached, 30 total
                            Time:    1m25.652s 
                          
                          Done in 86.03s.
                          Updated version 5.190.1 / 5.187.0
                          Updated commit d829816f62bffe16b19d8d0cfc3f08841aed10df 2025-10-16 16:47:01 +0200
                          Checking plugins...
                          Ignoring xo-server-test plugin
                          Cleanup plugins...
                          Restarting xo-server...
                          
                          1 Reply Last reply Reply Quote 0
                          • olivierlambertO Offline
                            olivierlambert Vates 🪐 Co-Founder CEO
                            last edited by olivierlambert

                            Then I can't tell if there's any modification made, so I would ask to:

                            • Try with XOA (even XOA Free allows adding host to a pool)
                            • Make a clean source install from scratch following our doc https://docs.xen-orchestra.com/installation#from-the-sources

                            Alternatively/in parallel, you can open a ticket in the Jarli01 Github repo to report the issue.

                            J 1 Reply Last reply Reply Quote 0
                            • J Offline
                              Jonathon @olivierlambert
                              last edited by

                              @olivierlambert

                              Just tried after doing a force clean install, still getting same error. Going to look into it more if there is not any

                              root@xoa:/home/fpcuser# sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_updater/master/xo-update.sh | bash -s -- -f | tee xenrebuild.log
                                % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                                               Dload  Upload   Total   Spent    Left  Speed
                              100  6896  100  6896    0     0  39116      0 --:--:-- --:--:-- --:--:-- 39181
                                 installed : v24.11.1 (with npm 11.6.2)
                              Stopping xo-server...
                              Checking for Yarn package...
                              Checking for Yarn update...
                              E: Malformed entry 1 in list file /etc/apt/sources.list.d/yarn.list (URI parse)
                              E: The list of sources could not be read.
                              E: Malformed entry 1 in list file /etc/apt/sources.list.d/yarn.list (URI parse)
                              E: The list of sources could not be read.
                              Checking for missing dependencies...
                              Checking for Repo change...
                              Checking xen-orchestra...
                              Current branch master
                              Current version 5.192.1 / 5.189.0
                              Current commit 6cfefc91e47db7fb264705bc2def1f1b70bc537b 2025-11-12 18:01:41 +0100
                              0 updates available
                              Updating from source...
                              No local changes to save
                              No stash entries found.
                              Already up to date.
                              Clearing directories...
                              Installing...
                              yarn install v1.22.22
                              (node:1226553) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
                              (Use `node --trace-deprecation ...` to show where the warning was created)
                              [1/5] Validating package.json...
                              [2/5] Resolving packages...
                              success Already up-to-date.
                              $ husky install
                              husky - Git hooks installed
                              Done in 1.57s.
                              yarn run v1.22.22
                              $ TURBO_TELEMETRY_DISABLED=1 turbo run build --filter xo-server --filter xo-server-'*' --filter xo-web
                              turbo 2.5.8
                              
                              • Packages in scope: xo-server, xo-server-audit, xo-server-auth-github, xo-server-auth-google, xo-server-auth-ldap, xo-server-auth-oidc, xo-server-auth-saml, xo-server-backup-reports, xo-server-load-balancer, xo-server-netbox, xo-server-perf-alert, xo-server-sdn-controller, xo-server-test-plugin, xo-server-transport-email, xo-server-transport-icinga2, xo-server-transport-nagios, xo-server-transport-slack, xo-server-transport-xmpp, xo-server-usage-report, xo-server-web-hooks, xo-web
                              • Running build in 21 packages
                              • Remote caching disabled
                              
                               Tasks:    30 successful, 30 total
                              Cached:    30 cached, 30 total
                                Time:    1.347s >>> FULL TURBO
                              
                              Done in 1.55s.
                              Updated version 5.192.1 / 5.189.0
                              Updated commit 6cfefc91e47db7fb264705bc2def1f1b70bc537b 2025-11-12 18:01:41 +0100
                              Checking plugins...
                              Ignoring xo-server-test plugin
                              Cleanup plugins...
                              Restarting xo-server...
                              

                              So then I updated our seperate vm for xoa that we have used in the past for requests like this, and I am getting this behavior
                              48c1fd0d-d434-4fb0-9ee0-5bc6756b3875-image.png

                              pool.mergeInto
                              {
                                "sources": [
                                  "e4cf2039-3547-6574-0e10-96f9d91316f0"
                                ],
                                "target": "38aea760-cf23-927c-ccf5-90969681e04b",
                                "force": true
                              }
                              {
                                "code": "POOL_JOINING_SM_FEATURES_INCOMPATIBLE",
                                "params": [
                                  "OpaqueRef:151858ec-cd9b-44f5-9cc5-f053685b1b8e",
                                  ""
                                ],
                                "call": {
                                  "duration": 2049,
                                  "method": "pool.join_force",
                                  "params": [
                                    "* session id *",
                                    "10.2.0.10",
                                    "root",
                                    "* obfuscated *"
                                  ]
                                },
                                "message": "POOL_JOINING_SM_FEATURES_INCOMPATIBLE(OpaqueRef:151858ec-cd9b-44f5-9cc5-f053685b1b8e, )",
                                "name": "XapiError",
                                "stack": "XapiError: POOL_JOINING_SM_FEATURES_INCOMPATIBLE(OpaqueRef:151858ec-cd9b-44f5-9cc5-f053685b1b8e, )
                                  at Function.wrap (file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/_XapiError.mjs:16:12)
                                  at file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/transports/json-rpc.mjs:38:21
                                  at runNextTicks (node:internal/process/task_queues:60:5)
                                  at processImmediate (node:internal/timers:454:9)
                                  at process.callbackTrampoline (node:internal/async_hooks:130:17)"
                              }
                              

                              5bc0b839-46d1-4387-aa73-5a1df07c9bfe-image.png

                              J 1 Reply Last reply Reply Quote 0
                              • J Offline
                                Jonathon @Jonathon
                                last edited by Jonathon

                                After installing packages: https://docs.xcp-ng.org/xostor/#how-to-add-a-new-host-or-fix-a-badly-configured-host

                                Now I am getting the following on offical

                                pool.mergeInto
                                {
                                  "sources": [
                                    "e4cf2039-3547-6574-0e10-96f9d91316f0"
                                  ],
                                  "target": "38aea760-cf23-927c-ccf5-90969681e04b",
                                  "force": true
                                }
                                {
                                  "code": "INTERNAL_ERROR",
                                  "params": [
                                    "Stunnel.Stunnel_verify_error(\"1416F086:SSL routines:tls_process_server_certificate:certificate verify failed\")"
                                  ],
                                  "call": {
                                    "duration": 3104,
                                    "method": "pool.join_force",
                                    "params": [
                                      "* session id *",
                                      "10.2.0.10",
                                      "root",
                                      "* obfuscated *"
                                    ]
                                  },
                                  "message": "INTERNAL_ERROR(Stunnel.Stunnel_verify_error(\"1416F086:SSL routines:tls_process_server_certificate:certificate verify failed\"))",
                                  "name": "XapiError",
                                  "stack": "XapiError: INTERNAL_ERROR(Stunnel.Stunnel_verify_error(\"1416F086:SSL routines:tls_process_server_certificate:certificate verify failed\"))
                                    at Function.wrap (file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/_XapiError.mjs:16:12)
                                    at file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/transports/json-rpc.mjs:38:21
                                    at runNextTicks (node:internal/process/task_queues:60:5)
                                    at processImmediate (node:internal/timers:454:9)
                                    at process.callbackTrampoline (node:internal/async_hooks:130:17)"
                                }
                                

                                And still getting this on source install

                                pool.mergeInto
                                {
                                  "sources": [
                                    "e4cf2039-3547-6574-0e10-96f9d91316f0"
                                  ],
                                  "target": "38aea760-cf23-927c-ccf5-90969681e04b",
                                  "force": true
                                }
                                {
                                  "message": "app.getLicenses is not a function",
                                  "name": "TypeError",
                                  "stack": "TypeError: app.getLicenses is not a function
                                    at enforceHostsHaveLicense (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:15:30)
                                    at Pools.apply (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:80:13)
                                    at Pools.mergeInto (/opt/xen-orchestra/node_modules/golike-defer/src/index.js:85:19)
                                    at Xo.mergeInto (file:///opt/xen-orchestra/packages/xo-server/src/api/pool.mjs:314:15)
                                    at Task.runInside (/opt/xen-orchestra/@vates/task/index.js:175:22)
                                    at Task.run (/opt/xen-orchestra/@vates/task/index.js:159:20)
                                    at Api.#callApiMethod (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:469:18)"
                                }
                                
                                J 1 Reply Last reply Reply Quote 0
                                • J Offline
                                  Jonathon @Jonathon
                                  last edited by

                                  Bummer
                                  957a5e9d-7f52-42a6-9105-c4772cd4e6e2-image.png

                                  J 1 Reply Last reply Reply Quote 0
                                  • J Offline
                                    Jonathon @Jonathon
                                    last edited by

                                    eee8bee1-ce6f-47c2-b5f0-1cd9b942db79-image.png
                                    9eea1860-e725-4e3c-85ff-0c3351beff45-image.png

                                    Boo

                                    1 Reply Last reply Reply Quote 0
                                    • A Offline
                                      acebmxer
                                      last edited by

                                      Check out this post for cert error not sure if its related- https://xcp-ng.org/forum/topic/9083/stunnel-sdn-cert-error-when-adding-host-to-pool/7?_=1762983691777

                                      J 1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        Jonathon @acebmxer
                                        last edited by Jonathon

                                        I see, it also says
                                        name ( RO): sdn-controller-ca.pem
                                        host ( RO): <not in database>
                                        Like in the issue, but the file exists.

                                        [11:28 ovbh-pprod-xen05 ~]# xe certificate-list
                                        uuid ( RO)           : afdd9c8e-dcae-17c7-c35c-0fd7cebd387a
                                                   type ( RO): host
                                                   name ( RO): 
                                                   host ( RO): f0cec10f-ad05-48e4-893c-414b3a3e15be
                                             not-before ( RO): 20251110T23:15:51Z
                                              not-after ( RO): 20351108T23:15:51Z
                                            fingerprint ( RO): BF:83:23:BB:7B:E9:30:DE:86:EA:9D:AF:DF:F8:BA:34:39:D0:81:AD:34:E5:C6:AB:0C:49:41:7B:4A:3C:8B:9E
                                        
                                        
                                        uuid ( RO)           : b8dcd1f0-ef65-e762-f189-46bb78766c6b
                                                   type ( RO): ca
                                                   name ( RO): sdn-controller-ca.pem
                                                   host ( RO): <not in database>
                                             not-before ( RO): 20200416T00:17:31Z
                                              not-after ( RO): 20470901T00:17:31Z
                                            fingerprint ( RO): 63:1F:89:3F:0E:1F:86:52:34:95:3C:6C:3F:9C:C8:B3:5A:61:6B:4D:EE:8F:A7:11:F0:BA:79:8B:C7:15:A0:E0
                                        
                                        
                                        uuid ( RO)           : e7daedf2-7f35-ba40-093a-e0c011d91633
                                                   type ( RO): host_internal
                                                   name ( RO): 
                                                   host ( RO): f0cec10f-ad05-48e4-893c-414b3a3e15be
                                             not-before ( RO): 20251110T23:15:46Z
                                              not-after ( RO): 20351108T23:15:46Z
                                            fingerprint ( RO): 71:41:B0:25:88:AA:E4:56:EE:F7:A9:8E:0A:A9:FE:C5:6A:0D:D5:37:30:BF:C8:81:C2:D7:B8:20:7A:6C:7F:B7
                                        
                                        
                                        [13:50 ovbh-pprod-xen05 ~]# ll /etc/stunnel/certs/sdn-controller-ca.pem
                                        -rw-r--r-- 1 root root 1907 Nov 12 09:45 /etc/stunnel/certs/sdn-controller-ca.pem
                                        

                                        Removing it did not help, same error

                                        [13:54 ovbh-pprod-xen05 ~]# xe certificate-list
                                        uuid ( RO)           : afdd9c8e-dcae-17c7-c35c-0fd7cebd387a
                                                   type ( RO): host
                                                   name ( RO): 
                                                   host ( RO): f0cec10f-ad05-48e4-893c-414b3a3e15be
                                             not-before ( RO): 20251110T23:15:51Z
                                              not-after ( RO): 20351108T23:15:51Z
                                            fingerprint ( RO): BF:83:23:BB:7B:E9:30:DE:86:EA:9D:AF:DF:F8:BA:34:39:D0:81:AD:34:E5:C6:AB:0C:49:41:7B:4A:3C:8B:9E
                                        
                                        
                                        uuid ( RO)           : e7daedf2-7f35-ba40-093a-e0c011d91633
                                                   type ( RO): host_internal
                                                   name ( RO): 
                                                   host ( RO): f0cec10f-ad05-48e4-893c-414b3a3e15be
                                             not-before ( RO): 20251110T23:15:46Z
                                              not-after ( RO): 20351108T23:15:46Z
                                            fingerprint ( RO): 71:41:B0:25:88:AA:E4:56:EE:F7:A9:8E:0A:A9:FE:C5:6A:0D:D5:37:30:BF:C8:81:C2:D7:B8:20:7A:6C:7F:B7
                                        

                                        I also confirmed that all the certs for the hosts are current and not expired.

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

                                          I'm not sure who to ping exactly 🤔 Maybe @Team-XAPI-Network with some experience on the cert issue?

                                          psafontP 1 Reply Last reply Reply Quote 0
                                          • psafontP Offline
                                            psafont Vates 🪐 XAPI & Network Team @olivierlambert
                                            last edited by psafont

                                            I see at least on a couple of instances that the pool join is being forced. Please don't do this unless you understand the checks being ignored.

                                            What's the result of a pool join without the force option?

                                            Do both hosts have tls verification enabled?
                                            If not, run xe pool-enable-tls-verification. This will set up the certificates for pool communication correctly for the hosts in that pool and turn on TLS verification for pool communication.
                                            If yes, run xe host-list --minimal | xargs -I _ xe host-param-get uuid=_ param-name=name-label | xargs -I _ xe host-refresh-server-certificate host=_. This will reset the certificates for all the hosts in the pool.

                                            Try running the normal join command after doing these steps, and report whether it went well, or report the error.

                                            J 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post