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

                                          xe pool-enable-tls-verification Was exactly what I needed, thanks! Worked after that.

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