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.
    • 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
                                          • J Offline
                                            Jonathon @psafont
                                            last edited by Jonathon

                                            @psafont Sorry was swamped with other things. As listed above I get the same error, forced or not, from xcp-ng center, xcp-ng host, or xoa.

                                            1fdda333-0842-4281-ae69-e6c886ec1542-image.png
                                            tls verification has always been off, and in the past we have not had issue with adding new host to pool.

                                            I have taken no other actions since my last posting.

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