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

    XOA won't start HTTPS listen on configured port

    Scheduled Pinned Locked Moved Xen Orchestra
    29 Posts 5 Posters 7.4k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • bill.gertzB Offline
      bill.gertz @Danp
      last edited by bill.gertz

      @Danp @julien-f @olivierlambert

      Roger that, run as requested:

      root@bfxoa001:/etc/xo/xo-server# systemctl stop xo-server.service 
      root@bfxoa001:/etc/xo/xo-server# env DEBUG='*' ./bin/xo-server
        app-conf /etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/config.toml +0ms
        app-conf /etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/config.toml.orig +2ms
        app-conf /etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/.xo-server.toml +0ms
      2019-11-25T17:37:34.487Z xo:main INFO Configuration loaded.
      2019-11-25T17:37:34.505Z xo:main INFO Web server listening on https://0.0.0.0:80
      2019-11-25T17:37:34.609Z xo:xo-mixins:hooks DEBUG start start…
        xen-api root@10.69.0.200: session.login_with_password(...) [56ms] ==> string +0ms
        xen-api root@10.69.0.200: pool.get_all_records(...) [7ms] ==> object +9ms
        xen-api root@10.69.0.200: system.listMethods(...) [7ms] ==> array +9ms
        xen-api root@10.69.0.200: connected +1ms
        xen-api root@10.69.0.200: event.inject(...) [6ms] ==> string +8ms
        xen-api root@10.69.0.200: subject.get_all_records(...) [87ms] ==> object +88ms
        xen-api root@10.69.0.200: pool_patch.get_all_records(...) [84ms] ==> object +0ms
        xen-api root@10.69.0.200: task.get_all_records(...) [123ms] ==> object +39ms
        xen-api root@10.69.0.200: DR_task.get_all_records(...) [123ms] ==> object +6ms
        xen-api root@10.69.0.200: host_patch.get_all_records(...) [125ms] ==> object +4ms
        xen-api root@10.69.0.200: Bond.get_all_records(...) [119ms] ==> object +0ms
        xen-api root@10.69.0.200: VMSS.get_all_records(...) [129ms] ==> object +0ms
        xen-api root@10.69.0.200: host_cpu.get_all_records(...) [124ms] ==> object +1ms
        xen-api root@10.69.0.200: pool.get_all_records(...) [143ms] ==> object +8ms
        xen-api root@10.69.0.200: VLAN.get_all_records(...) [127ms] ==> object +0ms
        xen-api root@10.69.0.200: PIF_metrics.get_all_records(...) [136ms] ==> object +7ms
        xen-api root@10.69.0.200: pool_update.get_all_records(...) [148ms] ==> object +0ms
        xen-api root@10.69.0.200: VM_metrics.get_all_records(...) [148ms] ==> object +1ms
        xen-api root@10.69.0.200: VM_guest_metrics.get_all_records(...) [161ms] ==> object +14ms
        xen-api root@10.69.0.200: VMPP.get_all_records(...) [161ms] =!> XapiError: MESSAGE_REMOVED() +1ms
        xen-api root@10.69.0.200: host.get_all_records(...) [158ms] ==> object +0ms
        xen-api root@10.69.0.200: VM.get_all_records(...) [177ms] ==> object +13ms
        xen-api root@10.69.0.200: host_crashdump.get_all_records(...) [188ms] ==> object +17ms
        xen-api root@10.69.0.200: network.get_all_records(...) [185ms] ==> object +0ms
        xen-api root@10.69.0.200: VIF.get_all_records(...) [184ms] ==> object +0ms
        xen-api root@10.69.0.200: VM_appliance.get_all_records(...) [205ms] ==> object +15ms
        xen-api root@10.69.0.200: crashdump.get_all_records(...) [190ms] ==> object +0ms
        xen-api root@10.69.0.200: VBD_metrics.get_all_records(...) [191ms] =!> XapiError: MESSAGE_REMOVED() +1ms
        xen-api root@10.69.0.200: PGPU.get_all_records(...) [185ms] ==> object +0ms
        xen-api root@10.69.0.200: SM.get_all_records(...) [195ms] ==> object +0ms
        xen-api root@10.69.0.200: VBD.get_all_records(...) [193ms] ==> object +0ms
        xen-api root@10.69.0.200: PIF.get_all_records(...) [218ms] ==> object +20ms
        xen-api root@10.69.0.200: secret.get_all_records(...) [208ms] ==> object +0ms
        xen-api root@10.69.0.200: host_metrics.get_all_records(...) [223ms] ==> object +1ms
        xen-api root@10.69.0.200: SR.get_all_records(...) [216ms] ==> object +0ms
        xen-api root@10.69.0.200: VIF_metrics.get_all_records(...) [220ms] =!> XapiError: MESSAGE_REMOVED() +0ms
        xen-api root@10.69.0.200: tunnel.get_all_records(...) [208ms] ==> object +0ms
        xen-api root@10.69.0.200: Cluster_host.get_all_records(...) [195ms] ==> object +0ms
        xen-api root@10.69.0.200: Feature.get_all_records(...) [200ms] ==> object +0ms
        xen-api root@10.69.0.200: VDI.get_all_records(...) [216ms] ==> object +1ms
        xen-api root@10.69.0.200: VGPU.get_all_records(...) [205ms] ==> object +0ms
        xen-api root@10.69.0.200: console.get_all_records(...) [212ms] ==> object +0ms
        xen-api root@10.69.0.200: PVS_site.get_all_records(...) [204ms] ==> object +0ms
        xen-api root@10.69.0.200: blob.get_all_records(...) [244ms] ==> object +34ms
        xen-api root@10.69.0.200: GPU_group.get_all_records(...) [240ms] ==> object +0ms
        xen-api root@10.69.0.200: USB_group.get_all_records(...) [233ms] ==> object +0ms
        xen-api root@10.69.0.200: network_sriov.get_all_records(...) [242ms] ==> object +0ms
        xen-api root@10.69.0.200: VGPU_type.get_all_records(...) [239ms] ==> object +1ms
        xen-api root@10.69.0.200: Cluster.get_all_records(...) [232ms] ==> object +0ms
        xen-api root@10.69.0.200: PVS_server.get_all_records(...) [238ms] ==> object +0ms
        xen-api root@10.69.0.200: PCI.get_all_records(...) [244ms] ==> object +1ms
        xen-api root@10.69.0.200: PBD.get_all_records(...) [250ms] ==> object +0ms
        xen-api root@10.69.0.200: PUSB.get_all_records(...) [235ms] ==> object +0ms
        xen-api root@10.69.0.200: SDN_controller.get_all_records(...) [237ms] ==> object +1ms
        xen-api root@10.69.0.200: role.get_all_records(...) [272ms] ==> object +0ms
      2019-11-25T17:37:35.097Z xo:xo-mixins:hooks DEBUG start finished
        xen-api root@10.69.0.200: VUSB.get_all_records(...) [253ms] ==> object +18ms
        xen-api root@10.69.0.200: PVS_proxy.get_all_records(...) [258ms] ==> object +1ms
        xen-api root@10.69.0.200: PVS_cache_storage.get_all_records(...) [257ms] ==> object +0ms
      2019-11-25T17:37:35.099Z xo:xo-mixins:hooks DEBUG clean start…
        xen-api root@10.69.0.200: message.get_all_records(...) [275ms] ==> object +8ms
      2019-11-25T17:37:35.341Z xo:xo-mixins:hooks DEBUG clean finished
        express:application set "x-powered-by" to true +0ms
        express:application set "etag" to 'weak' +2ms
        express:application set "etag fn" to [Function: generateETag] +1ms
        express:application set "env" to 'production' +0ms
        express:application set "query parser" to 'extended' +0ms
        express:application set "query parser fn" to [Function: parseExtendedQueryString] +0ms
        express:application set "subdomain offset" to 2 +1ms
        express:application set "trust proxy" to false +0ms
        express:application set "trust proxy fn" to [Function: trustNone] +0ms
        express:application booting in production mode +0ms
        express:application set "view" to [Function: View] +0ms
        express:application set "views" to '/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/views' +1ms
        express:application set "jsonp callback name" to 'callback' +0ms
        express:application set "view cache" to true +0ms
        express:router use '/' query +2ms
        express:router:layer new '/' +0ms
        express:router use '/' expressInit +1ms
        express:router:layer new '/' +0ms
        express:router use '/' helmet +1ms
        express:router:layer new '/' +0ms
        express:router use '/' compression +0ms
        express:router:layer new '/' +0ms
        express:router use '/' cookieParser +1ms
        express:router:layer new '/' +0ms
      Warning: connect.session() MemoryStore is not
      designed for a production environment, as it will leak
      memory, and will not scale past a single process.
        express:router use '/' session +1ms
        express:router:layer new '/' +0ms
        express:router use '/' <anonymous> +0ms
        express:router:layer new '/' +0ms
        express:router use '/' urlencodedParser +1ms
        express:router:layer new '/' +0ms
        express:router use '/' initialize +0ms
        express:router:layer new '/' +1ms
        express:router use '/' bound _handleHttpRequest +0ms
        express:router:layer new '/' +1ms
        express:router:route new '/signin' +103ms
        express:router:layer new '/signin' +1ms
        express:router:route get '/signin' +0ms
        express:router:layer new '/' +1ms
        express:router:route new '/signout' +0ms
        express:router:layer new '/signout' +1ms
        express:router:route get '/signout' +0ms
        express:router:layer new '/' +0ms
        express:router:route new '/signin-otp' +1ms
        express:router:layer new '/signin-otp' +0ms
        express:router:route get '/signin-otp' +0ms
        express:router:layer new '/' +1ms
        express:router:route new '/signin-otp' +0ms
        express:router:layer new '/signin-otp' +0ms
        express:router:route post '/signin-otp' +1ms
        express:router:layer new '/' +0ms
        express:router use '/' <anonymous> +0ms
        express:router:layer new '/' +1ms
        express:router use '/' <anonymous> +1ms
        express:router:layer new '/' +1ms
      2019-11-25T17:37:35.468Z xo:main INFO Setting up / → /etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-web/dist
        express:router use '/' serveStatic +1ms
        express:router:layer new '/' +0ms
      2019-11-25T17:37:35.473Z xo:plugin INFO register auth-github
      2019-11-25T17:37:35.485Z xo:plugin INFO register auth-google
      2019-11-25T17:37:35.489Z xo:plugin INFO register auth-ldap
      2019-11-25T17:37:35.564Z xo:plugin INFO register auth-saml
      2019-11-25T17:37:35.664Z xo:plugin INFO register backup-reports
      2019-11-25T17:37:35.668Z xo:plugin INFO register load-balancer
      2019-11-25T17:37:35.676Z xo:plugin INFO register perf-alert
      2019-11-25T17:37:35.680Z xo:plugin INFO register sdn-controller
      2019-11-25T17:37:35.691Z xo:plugin INFO register test
      2019-11-25T17:37:35.692Z xo:plugin INFO register test-plugin
      2019-11-25T17:37:35.693Z xo:plugin INFO register transport-email
      2019-11-25T17:37:35.734Z xo:plugin INFO register transport-icinga2
      2019-11-25T17:37:35.735Z xo:plugin INFO register transport-nagios
      2019-11-25T17:37:35.737Z xo:plugin INFO register transport-slack
      2019-11-25T17:37:35.847Z xo:plugin INFO register transport-xmpp
      2019-11-25T17:37:35.897Z xo:plugin INFO register usage-report
      2019-11-25T17:37:36.010Z xo:plugin INFO register web-hooks
      2019-11-25T17:37:36.012Z xo:plugin INFO failed register test
      2019-11-25T17:37:36.012Z xo:plugin INFO Cannot find module '/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/dist/../node_modules//xo-server-test' { error: { Error: Cannot find module '/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/dist/../node_modules//xo-server-test'
          at Function.Module._resolveFilename (module.js:548:15)
          at Function.Module._load (module.js:475:25)
          at Module.require (module.js:597:17)
          at require (internal/module.js:11:18)
          at Xo.registerPlugin (/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/src/index.js:259:17)
          at Xo.registerPluginWrapper (/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/src/index.js:315:24)
          at Promise.all.name (/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/src/index.js:340:37)
          at arrayMap (/etc/xo/xo-builds/xen-orchestra-201925111145/node_modules/lodash/_arrayMap.js:16:21)
          at map (/etc/xo/xo-builds/xen-orchestra-201925111145/node_modules/lodash/map.js:50:10)
          at Xo.registerPluginsInPath (/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/src/index.js:338:15)
          at <anonymous>
          at process._tickCallback (internal/process/next_tick.js:189:7) code: 'MODULE_NOT_FOUND' } }
      2019-11-25T17:37:36.066Z xo:xo-server:sdn-controller DEBUG No cert-dir provided, using default self-signed certificates
      2019-11-25T17:37:36.090Z xo:plugin INFO successfully register auth-github
      2019-11-25T17:37:36.090Z xo:plugin INFO successfully register auth-google
      2019-11-25T17:37:36.090Z xo:plugin INFO successfully register auth-ldap
      2019-11-25T17:37:36.090Z xo:plugin INFO successfully register auth-saml
      2019-11-25T17:37:36.091Z xo:plugin INFO successfully register test-plugin
      2019-11-25T17:37:36.091Z xo:plugin INFO successfully register transport-email
      2019-11-25T17:37:36.091Z xo:plugin INFO successfully register transport-icinga2
      2019-11-25T17:37:36.091Z xo:plugin INFO successfully register transport-nagios
      2019-11-25T17:37:36.092Z xo:plugin INFO successfully register transport-slack
      2019-11-25T17:37:36.092Z xo:plugin INFO successfully register transport-xmpp
      2019-11-25T17:37:36.092Z xo:plugin INFO successfully register usage-report
      2019-11-25T17:37:36.092Z xo:plugin INFO successfully register web-hooks
      2019-11-25T17:37:36.093Z xo:plugin INFO successfully register backup-reports
      2019-11-25T17:37:36.095Z xo:plugin INFO successfully register load-balancer
      2019-11-25T17:37:36.095Z xo:plugin INFO successfully register perf-alert
        xen-api root@10.69.0.200: event.from(...) [677ms] ==> object +1s
      2019-11-25T17:37:36.159Z xo:plugin INFO successfully register sdn-controller
      2019-11-25T17:37:38.977Z xo:main INFO + WebSocket connection (10.69.0.222)
      2019-11-25T17:37:38.992Z xo:api DEBUG (unknown user) | session.signIn(...) [11ms] ==> object
      2019-11-25T17:37:39.014Z xo:api DEBUG admin.bill | xo.getAllObjects(...) [9ms] ==> object
        express:router dispatching GET /api/yeJvXYqpoEKE5iIJ7l0-LlsmdyOgKKM-eQ3pGxRDoZU +4s
        express:router query  : /api/yeJvXYqpoEKE5iIJ7l0-LlsmdyOgKKM-eQ3pGxRDoZU +1ms
        express:router expressInit  : /api/yeJvXYqpoEKE5iIJ7l0-LlsmdyOgKKM-eQ3pGxRDoZU +1ms
        express:router helmet  : /api/yeJvXYqpoEKE5iIJ7l0-LlsmdyOgKKM-eQ3pGxRDoZU +1ms
        express:router compression  : /api/yeJvXYqpoEKE5iIJ7l0-LlsmdyOgKKM-eQ3pGxRDoZU +1ms
        express:router cookieParser  : /api/yeJvXYqpoEKE5iIJ7l0-LlsmdyOgKKM-eQ3pGxRDoZU +1ms
        express:router session  : /api/yeJvXYqpoEKE5iIJ7l0-LlsmdyOgKKM-eQ3pGxRDoZU +1ms
        express-session fetching C7vNjZR_gJbYflyBRght4xmngAK6sTwc +1ms
        express-session no session found +1ms
        express:router <anonymous>  : /api/yeJvXYqpoEKE5iIJ7l0-LlsmdyOgKKM-eQ3pGxRDoZU +2ms
        express:router urlencodedParser  : /api/yeJvXYqpoEKE5iIJ7l0-LlsmdyOgKKM-eQ3pGxRDoZU +0ms
        body-parser:urlencoded skip empty body +1ms
        express:router initialize  : /api/yeJvXYqpoEKE5iIJ7l0-LlsmdyOgKKM-eQ3pGxRDoZU +0ms
        express:router bound _handleHttpRequest  : /api/yeJvXYqpoEKE5iIJ7l0-LlsmdyOgKKM-eQ3pGxRDoZU +0ms
        compression gzip compression +9ms
        xen-api root@10.69.0.200: event.from(...) [4s] ==> object +4s
        xen-api root@10.69.0.200: host.call_plugin(...) [350ms] ==> string +292ms
      2019-11-25T17:37:40.164Z xo:api DEBUG admin.bill | pool.listMissingPatches(...) [360ms] ==> array
        xen-api root@10.69.0.200: event.from(...) [139ms] ==> object +48ms
        xen-api root@10.69.0.200: event.from(...) [455ms] ==> object +657ms
        xen-api root@10.69.0.200: host.call_plugin(...) [1s] ==> string +1s
      2019-11-25T17:37:42.033Z xo:api DEBUG admin.bill | pool.listMissingPatches(...) [1s] ==> array
        xen-api root@10.69.0.200: event.from(...) [1s] ==> object +48ms
      

      It looks like it's loading the older config config.toml.orig and a "dot hidden" file .xo-server.toml. Let me move these pigs out of the directory and restart.

      bill.gertzB 1 Reply Last reply Reply Quote 0
      • bill.gertzB Offline
        bill.gertz @bill.gertz
        last edited by bill.gertz

        @Danp @julien-f @olivierlambert

        Winner, winner, chicken dinner. The debug trick was the key to see WTF it was loading. Moved those two pigs out of the directory to an a hidden directory off of the parent and it starts as it's supposed to. Here is the same debug output with those two files out of the way:

        root@bfxoa001:/etc/xo/xo-server# systemctl stop xo-server.service 
        root@bfxoa001:/etc/xo/xo-server# env DEBUG='*' ./bin/xo-server
          app-conf /etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/config.toml +0ms
        2019-11-25T17:53:45.979Z xo:main INFO Configuration loaded.
        2019-11-25T17:53:45.998Z xo:main INFO Web server listening on https://0.0.0.0:443
        2019-11-25T17:53:46.105Z xo:xo-mixins:hooks DEBUG start start…
          xen-api root@10.69.0.200: session.login_with_password(...) [58ms] ==> string +0ms
          xen-api root@10.69.0.200: pool.get_all_records(...) [7ms] ==> object +8ms
          xen-api root@10.69.0.200: system.listMethods(...) [6ms] ==> array +8ms
          xen-api root@10.69.0.200: connected +1ms
          xen-api root@10.69.0.200: event.inject(...) [6ms] ==> string +8ms
          xen-api root@10.69.0.200: subject.get_all_records(...) [81ms] ==> object +82ms
          xen-api root@10.69.0.200: pool_patch.get_all_records(...) [90ms] ==> object +12ms
          xen-api root@10.69.0.200: VM_appliance.get_all_records(...) [86ms] ==> object +2ms
          xen-api root@10.69.0.200: pool_update.get_all_records(...) [144ms] ==> object +53ms
          xen-api root@10.69.0.200: VIF_metrics.get_all_records(...) [148ms] =!> XapiError: MESSAGE_REMOVED() +15ms
          xen-api root@10.69.0.200: DR_task.get_all_records(...) [158ms] ==> object +4ms
          xen-api root@10.69.0.200: VLAN.get_all_records(...) [150ms] ==> object +1ms
          xen-api root@10.69.0.200: tunnel.get_all_records(...) [141ms] ==> object +1ms
          xen-api root@10.69.0.200: pool.get_all_records(...) [167ms] ==> object +0ms
          xen-api root@10.69.0.200: PIF_metrics.get_all_records(...) [152ms] ==> object +0ms
          xen-api root@10.69.0.200: VM.get_all_records(...) [179ms] ==> object +15ms
          xen-api root@10.69.0.200: role.get_all_records(...) [220ms] ==> object +37ms
          xen-api root@10.69.0.200: USB_group.get_all_records(...) [244ms] ==> object +62ms
          xen-api root@10.69.0.200: host_metrics.get_all_records(...) [271ms] ==> object +0ms
          xen-api root@10.69.0.200: PCI.get_all_records(...) [254ms] ==> object +0ms
          xen-api root@10.69.0.200: task.get_all_records(...) [281ms] ==> object +0ms
          xen-api root@10.69.0.200: VBD.get_all_records(...) [262ms] ==> object +1ms
          xen-api root@10.69.0.200: VMSS.get_all_records(...) [276ms] ==> object +0ms
          xen-api root@10.69.0.200: PBD.get_all_records(...) [261ms] ==> object +0ms
          xen-api root@10.69.0.200: SM.get_all_records(...) [265ms] ==> object +0ms
          xen-api root@10.69.0.200: Cluster.get_all_records(...) [244ms] ==> object +1ms
          xen-api root@10.69.0.200: VM_metrics.get_all_records(...) [280ms] ==> object +0ms
          xen-api root@10.69.0.200: host.get_all_records(...) [288ms] ==> object +13ms
          xen-api root@10.69.0.200: console.get_all_records(...) [273ms] ==> object +0ms
          xen-api root@10.69.0.200: VBD_metrics.get_all_records(...) [276ms] =!> XapiError: MESSAGE_REMOVED() +0ms
          xen-api root@10.69.0.200: host_crashdump.get_all_records(...) [288ms] ==> object +1ms
          xen-api root@10.69.0.200: VM_guest_metrics.get_all_records(...) [293ms] ==> object +0ms
          xen-api root@10.69.0.200: SDN_controller.get_all_records(...) [262ms] ==> object +0ms
          xen-api root@10.69.0.200: VMPP.get_all_records(...) [292ms] =!> XapiError: MESSAGE_REMOVED() +0ms
          xen-api root@10.69.0.200: secret.get_all_records(...) [273ms] ==> object +1ms
          xen-api root@10.69.0.200: blob.get_all_records(...) [275ms] ==> object +0ms
          xen-api root@10.69.0.200: host_patch.get_all_records(...) [288ms] ==> object +0ms
          xen-api root@10.69.0.200: PVS_cache_storage.get_all_records(...) [264ms] ==> object +1ms
          xen-api root@10.69.0.200: VUSB.get_all_records(...) [261ms] ==> object +0ms
          xen-api root@10.69.0.200: network_sriov.get_all_records(...) [272ms] ==> object +0ms
          xen-api root@10.69.0.200: PVS_server.get_all_records(...) [267ms] ==> object +0ms
          xen-api root@10.69.0.200: SR.get_all_records(...) [282ms] ==> object +1ms
          xen-api root@10.69.0.200: VGPU.get_all_records(...) [270ms] ==> object +0ms
          xen-api root@10.69.0.200: PVS_proxy.get_all_records(...) [267ms] ==> object +0ms
          xen-api root@10.69.0.200: VGPU_type.get_all_records(...) [269ms] ==> object +0ms
          xen-api root@10.69.0.200: crashdump.get_all_records(...) [279ms] ==> object +1ms
          xen-api root@10.69.0.200: Feature.get_all_records(...) [267ms] ==> object +0ms
          xen-api root@10.69.0.200: PVS_site.get_all_records(...) [270ms] ==> object +0ms
          xen-api root@10.69.0.200: Cluster_host.get_all_records(...) [261ms] ==> object +0ms
          xen-api root@10.69.0.200: GPU_group.get_all_records(...) [273ms] ==> object +1ms
          xen-api root@10.69.0.200: network.get_all_records(...) [290ms] ==> object +0ms
          xen-api root@10.69.0.200: PUSB.get_all_records(...) [266ms] ==> object +0ms
          xen-api root@10.69.0.200: Bond.get_all_records(...) [286ms] ==> object +0ms
          xen-api root@10.69.0.200: host_cpu.get_all_records(...) [292ms] ==> object +1ms
          xen-api root@10.69.0.200: PGPU.get_all_records(...) [275ms] ==> object +0ms
          xen-api root@10.69.0.200: PIF.get_all_records(...) [289ms] ==> object +0ms
          xen-api root@10.69.0.200: VIF.get_all_records(...) [290ms] ==> object +0ms
          xen-api root@10.69.0.200: VDI.get_all_records(...) [285ms] ==> object +1ms
        2019-11-25T17:53:46.616Z xo:xo-mixins:hooks DEBUG start finished
          xen-api root@10.69.0.200: message.get_all_records(...) [290ms] ==> object +10ms
        2019-11-25T17:53:46.700Z xo:xo-mixins:hooks DEBUG clean start…
        2019-11-25T17:53:46.878Z xo:xo-mixins:hooks DEBUG clean finished
          express:application set "x-powered-by" to true +0ms
          express:application set "etag" to 'weak' +2ms
          express:application set "etag fn" to [Function: generateETag] +0ms
          express:application set "env" to 'production' +1ms
          express:application set "query parser" to 'extended' +0ms
          express:application set "query parser fn" to [Function: parseExtendedQueryString] +0ms
          express:application set "subdomain offset" to 2 +0ms
          express:application set "trust proxy" to false +1ms
          express:application set "trust proxy fn" to [Function: trustNone] +0ms
          express:application booting in production mode +1ms
          express:application set "view" to [Function: View] +0ms
          express:application set "views" to '/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/views' +0ms
          express:application set "jsonp callback name" to 'callback' +0ms
          express:application set "view cache" to true +1ms
          express:router use '/' query +2ms
          express:router:layer new '/' +0ms
          express:router use '/' expressInit +1ms
          express:router:layer new '/' +1ms
          express:router use '/' helmet +0ms
          express:router:layer new '/' +0ms
          express:router use '/' compression +1ms
          express:router:layer new '/' +0ms
          express:router use '/' cookieParser +1ms
          express:router:layer new '/' +0ms
        Warning: connect.session() MemoryStore is not
        designed for a production environment, as it will leak
        memory, and will not scale past a single process.
          express:router use '/' session +1ms
          express:router:layer new '/' +0ms
          express:router use '/' <anonymous> +1ms
          express:router:layer new '/' +0ms
          express:router use '/' urlencodedParser +1ms
          express:router:layer new '/' +0ms
          express:router use '/' initialize +1ms
          express:router:layer new '/' +0ms
          express:router use '/' bound _handleHttpRequest +1ms
          express:router:layer new '/' +0ms
          express:router:route new '/signin' +114ms
          express:router:layer new '/signin' +1ms
          express:router:route get '/signin' +0ms
          express:router:layer new '/' +1ms
          express:router:route new '/signout' +0ms
          express:router:layer new '/signout' +0ms
          express:router:route get '/signout' +1ms
          express:router:layer new '/' +0ms
          express:router:route new '/signin-otp' +0ms
          express:router:layer new '/signin-otp' +0ms
          express:router:route get '/signin-otp' +1ms
          express:router:layer new '/' +0ms
          express:router:route new '/signin-otp' +0ms
          express:router:layer new '/signin-otp' +0ms
          express:router:route post '/signin-otp' +1ms
          express:router:layer new '/' +0ms
          express:router use '/' <anonymous> +0ms
          express:router:layer new '/' +1ms
        2019-11-25T17:53:47.018Z xo:main INFO Setting up / → /etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-web/dist
          express:router use '/' serveStatic +2ms
          express:router:layer new '/' +0ms
        2019-11-25T17:53:47.022Z xo:plugin INFO register auth-github
        2019-11-25T17:53:47.044Z xo:plugin INFO register auth-google
        2019-11-25T17:53:47.049Z xo:plugin INFO register auth-ldap
        2019-11-25T17:53:47.157Z xo:plugin INFO register auth-saml
        2019-11-25T17:53:47.250Z xo:plugin INFO register backup-reports
        2019-11-25T17:53:47.254Z xo:plugin INFO register load-balancer
        2019-11-25T17:53:47.263Z xo:plugin INFO register perf-alert
        2019-11-25T17:53:47.266Z xo:plugin INFO register sdn-controller
        2019-11-25T17:53:47.277Z xo:plugin INFO register test
        2019-11-25T17:53:47.278Z xo:plugin INFO register test-plugin
        2019-11-25T17:53:47.279Z xo:plugin INFO register transport-email
        2019-11-25T17:53:47.319Z xo:plugin INFO register transport-icinga2
        2019-11-25T17:53:47.320Z xo:plugin INFO register transport-nagios
        2019-11-25T17:53:47.322Z xo:plugin INFO register transport-slack
        2019-11-25T17:53:47.441Z xo:plugin INFO register transport-xmpp
        2019-11-25T17:53:47.492Z xo:plugin INFO register usage-report
        2019-11-25T17:53:47.600Z xo:plugin INFO register web-hooks
        2019-11-25T17:53:47.603Z xo:plugin INFO failed register test
        2019-11-25T17:53:47.603Z xo:plugin INFO Cannot find module '/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/dist/../node_modules//xo-server-test' { error: { Error: Cannot find module '/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/dist/../node_modules//xo-server-test'
            at Function.Module._resolveFilename (module.js:548:15)
            at Function.Module._load (module.js:475:25)
            at Module.require (module.js:597:17)
            at require (internal/module.js:11:18)
            at Xo.registerPlugin (/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/src/index.js:259:17)
            at Xo.registerPluginWrapper (/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/src/index.js:315:24)
            at Promise.all.name (/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/src/index.js:340:37)
            at arrayMap (/etc/xo/xo-builds/xen-orchestra-201925111145/node_modules/lodash/_arrayMap.js:16:21)
            at map (/etc/xo/xo-builds/xen-orchestra-201925111145/node_modules/lodash/map.js:50:10)
            at Xo.registerPluginsInPath (/etc/xo/xo-builds/xen-orchestra-201925111145/packages/xo-server/src/index.js:338:15)
            at <anonymous> code: 'MODULE_NOT_FOUND' } }
          xen-api root@10.69.0.200: event.from(...) [712ms] ==> object +994ms
        2019-11-25T17:53:47.666Z xo:xo-server:sdn-controller DEBUG No cert-dir provided, using default self-signed certificates
        2019-11-25T17:53:47.682Z xo:plugin INFO successfully register auth-github
        2019-11-25T17:53:47.682Z xo:plugin INFO successfully register auth-google
        2019-11-25T17:53:47.682Z xo:plugin INFO successfully register auth-ldap
        2019-11-25T17:53:47.682Z xo:plugin INFO successfully register auth-saml
        2019-11-25T17:53:47.682Z xo:plugin INFO successfully register test-plugin
        2019-11-25T17:53:47.682Z xo:plugin INFO successfully register transport-email
        2019-11-25T17:53:47.683Z xo:plugin INFO successfully register transport-icinga2
        2019-11-25T17:53:47.683Z xo:plugin INFO successfully register transport-nagios
        2019-11-25T17:53:47.683Z xo:plugin INFO successfully register transport-slack
        2019-11-25T17:53:47.683Z xo:plugin INFO successfully register transport-xmpp
        2019-11-25T17:53:47.683Z xo:plugin INFO successfully register usage-report
        2019-11-25T17:53:47.683Z xo:plugin INFO successfully register web-hooks
        2019-11-25T17:53:47.683Z xo:plugin INFO successfully register backup-reports
        2019-11-25T17:53:47.684Z xo:plugin INFO successfully register load-balancer
        2019-11-25T17:53:47.685Z xo:plugin INFO successfully register perf-alert
        2019-11-25T17:53:47.742Z xo:plugin INFO successfully register sdn-controller
        

        Looks like some unexpected files lying about plus some unexpected behavior:

        • Is the .xo-server.toml supposed to be there?
        • Could we add a warning to doc set that xo-server seems to load any file named *.toml.*?

        That said I think it's fixed, if there is something I'm not seeing as a consequence of moving the .xo-server.toml file out, please, please let me know. Here is the contents of the .xo-server.toml file:

        # Example XO-Server configuration.
        #
        # This file is automatically looking for at the following places:
        # - `$HOME/.config/xo-server/config.toml`
        # - `/etc/xo-server/config.toml`
        #
        # The first entries have priority.
        #
        # Note: paths are relative to the configuration file.
        
        #=====================================================================
        
        # HTTP proxy configuration used by xo-server to fetch resources on the Internet.
        #
        # See: https://github.com/TooTallNate/node-proxy-agent#maps-proxy-protocols-to-httpagent-implementations
        # httpProxy = 'http://jsmith:qwerty@proxy.lan:3128'
        
        #=====================================================================
        
        # It may be necessary to run XO-Server as a privileged user (e.g. `root`) for
        # instance to allow the HTTP server to listen on a
        # [privileged ports](http://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html).
        #
        # To avoid security issues, XO-Server can drop its privileges by changing the
        # user and the group is running with.
        #
        # Note: XO-Server will change them just after reading the configuration.
        
        # User to run XO-Server as.
        #
        # Note: The user can be specified using either its name or its numeric
        # identifier.
        #
        # Default: undefined
        #user = 'nobody'
        
        # Group to run XO-Server as.
        #
        # Note: The group can be specified using either its name or its numeric
        # identifier.
        #
        # Default: undefined
        # group = 'nogroup'
        
        #=====================================================================
        
        # Directory containing the database of XO.
        # Currently used for logs.
        #
        # Default: '/var/lib/xo-server/data'
        #datadir = '/var/lib/xo-server/data'
        
        #=====================================================================
        
        # Configuration of the embedded HTTP server.
        [http]
        # If set to true, all HTTP traffic will be redirected to the first HTTPs
        # configuration.
        # redirectToHttps = true
        
        # Settings applied to cookies created by xo-server's embedded HTTP server.
        #
        # See https://www.npmjs.com/package/cookie#options-1
        [http.cookies]
        #sameSite = true
        #secure = true
        
        # Basic HTTP.
        [[http.listen]]
        # Address on which the server is listening on.
        #
        # Sets it to 'localhost' for IP to listen only on the local host.
        #
        # Default: all IPv6 addresses if available, otherwise all IPv4 addresses.
        # hostname = 'localhost'
        
        # Port on which the server is listening on.
        #
        # Default: undefined
        port = 80
        
        # Instead of `host` and `port` a path to a UNIX socket may be specified
        # (overrides `host` and `port`).
        #
        # Default: undefined
        # socket = './http.sock'
        
        # # Basic HTTPS.
        # #
        # # You can find the list of possible options there
        # # https://nodejs.org/docs/latest/api/tls.html#tls.createServer
        # #
        # # The only difference is the presence of the certificate and the key.
        # [[http.listen]]
        # #hostname = '127.0.0.1'
        # port = 443
        #
        # # File containing the certificate (PEM format).
        # #
        # # If a chain of certificates authorities is needed, you may bundle them
        # # directly in the certificate.
        # #
        # # Note: the order of certificates does matter, your certificate should come
        # # first followed by the certificate of the above
        # # certificate authority up to the root.
        # #
        # # Default: undefined
        # cert = './certificate.pem'
        #
        # # File containing the private key (PEM format).
        # #
        # # If the key is encrypted, the passphrase will be asked at
        # # server startup.
        # #
        # # Default: undefined
        # key = './key.pem'
        
        # List of files/directories which will be served.
        [http.mounts]
        #'/any/url' = '/path/to/directory'
        
        # List of proxied URLs (HTTP & WebSockets).
        [http.proxies]
        #'/any/url' = 'http://localhost:54722'
        
        #=====================================================================
        
        # Connection to the Redis server.
        [redis]
        # Unix sockets can be used
        #
        # Default: undefined
        #socket = '/var/run/redis/redis.sock'
        
        # Syntax: redis://[db[:password]@]hostname[:port][/db-number]
        #
        # Default: redis://localhost:6379/0
        #uri = 'redis://redis.company.lan/42'
        
        # List of aliased commands.
        #
        # See http://redis.io/topics/security#disabling-of-specific-commands
        #renameCommands:
        #  del = '3dda29ad-3015-44f9-b13b-fa570de92489'
        #  srem = '3fd758c9-5610-4e9d-a058-dbf4cb6d8bf0'
        
        #=====================================================================
        
        # Configuration for remotes
        [remoteOptions]
        # Directory used to mount remotes
        #
        # Default: '/run/xo-server/mounts'
        #mountsDir = '/run/xo-server/mounts'
        
        # Use sudo for mount with non-root user
        #
        # Default: false
        #useSudo = false
        

        Thanks to Damp, olivierlambert and to julien-f for the quick help.

        bill.gertzB 1 Reply Last reply Reply Quote 0
        • bill.gertzB Offline
          bill.gertz @bill.gertz
          last edited by bill.gertz

          @olivierlambert @julien-f @Danp

          Looks like the .xo-server.toml is installed by the the well known installer script, from xo-install.sh script:

          .
          .
          .
          echo -e "${INFO} Activating modified configuration file"
                          mv $INSTALLDIR/xo-builds/xen-orchestra-$TIME/packages/xo-server/sample.config.toml $INSTALLDIR/xo-builds/xen-orchestra-$TIME/packages/xo-server/.xo-server.toml
          .
          .
          .
          

          Looks like we either need to document the 'load any toml' behavior or get the other script to declare uncle and let your script drop down the default config.

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

            That's why we prefer to let people follow our official documentation to install XO: there's less potential issues than with 3rd party scripts we have no control over it.

            For the doc itself, we'll improve it (you can do a PR if you like, it's all in markdown! 🙂 )

            bill.gertzB 1 Reply Last reply Reply Quote 0
            • bill.gertzB Offline
              bill.gertz @olivierlambert
              last edited by bill.gertz

              @olivierlambert

              Thanks again for the help, and will submit a PR but under which repo for the documentation? Looks like your using GitBook and I'm clueless on submitting PRs on GitBook. Is there some sort of way to submit changes to your doc set from within GitBook?

              I ran into the problem anyway due to the load any toml behavior. xo-server startup loaded my backup of the original config (config.toml.orig). That was not really expected.

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

                This is already correctly documented: https://github.com/vatesfr/xen-orchestra/blob/377552103eabbf99d12101136fc8b37eb8f2dcf4/packages/xo-server/sample.config.toml#L3-L5

                Avoid using .xo-server.toml as they are relative to the current working directory (similar to other command tools like Git).

                bill.gertzB 1 Reply Last reply Reply Quote 0
                • bill.gertzB Offline
                  bill.gertz @julien-f
                  last edited by

                  @julien-f @olivierlambert

                  Thanks for getting back to me, not trying to pick a fight. Loading config.toml.orig is not clear based on what the comments say:

                  # This file is automatically looking for at the following places:
                  # - `$HOME/.config/xo-server/config.toml`
                  # - `/etc/xo-server/config.toml`
                  

                  xo-server is loading config.toml.orig that just doesn't seem to square with the comments. If it's documented elsewhere in the file and I just missed it please help me find it Just the same shouldn't this behavior be documented in https://xen-orchestra.com/docs/configuration.html? I can't be the only person to make .orig style backup copies before making changes?

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

                    @bill-gertz Indeed I missed this, xo-server loads all files named config.* with a known extension.

                    I have to take a look at why it loads a .orig.

                    bill.gertzB 1 Reply Last reply Reply Quote 0
                    • bill.gertzB Offline
                      bill.gertz @julien-f
                      last edited by

                      @julien-f

                      Along with .xo-server.toml as you pointed out earlier and I've experienced :-/. Thanks again for looking into this.

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

                        @bill-gertz AFAICT, this is a log issue, the file .orig is not taken into account for the configuration, I'll fix this.

                        Regarding .xo-server.toml, I will not change anything, it's used by some devs in some specific setups, but it's not documented as it does not make sense for user to do this.

                        bill.gertzB 1 Reply Last reply Reply Quote 0
                        • bill.gertzB Offline
                          bill.gertz @julien-f
                          last edited by bill.gertz

                          @julien-f

                          Again not trying to pick a fight but your own documentation says to use .xo-server.toml here when compiling from the sources.

                          Shouldn't this be changed from:

                          Now you have to create a config file for xo-server:

                          $ cd packages/xo-server
                          $ cp sample.config.toml .xo-server.toml

                          To something like:

                          Now you have to create a config file for xo-server:

                          $ cd packages/xo-server
                          $ cp sample.config.toml config.toml

                          This is what happened when the 3rd party script ran. I can submit PRs for the GitBook docs, but I don't see anyway of doing that from GitBooks. Is there a repo for this GitBook doc in which I can submit a PR? I'll be happy to submit a PR to the 3rd party script repo as well.

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

                            @bill-gertz said in XOA won't start HTTPS listen on configured port:

                            Again not trying to pick a fight

                            Don't worry about this 🙂

                            @bill-gertz said in XOA won't start HTTPS listen on configured port:

                            your own documentation says to use .xo-server.toml here when compiling from the sources

                            Hmm, indeed, I will change this to avoid any issues in the future.

                            @bill-gertz said in XOA won't start HTTPS listen on configured port:

                            Is there a repo for this GitBook doc in which I can submit a PR?

                            https://github.com/vatesfr/xen-orchestra/tree/master/docs

                            bill.gertzB 1 Reply Last reply Reply Quote 0
                            • bill.gertzB Offline
                              bill.gertz @julien-f
                              last edited by bill.gertz

                              @julien-f

                              Thanks, I'll lay my cards more directly on the table next time. Glad you're not taking it personally. I'll use that repo for PRs. Thanks again.

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

                                @bill-gertz I've made the change, the documentation will update soon: https://github.com/vatesfr/xen-orchestra/commit/7b47e4024492d38bca6e928748490e0a4880264c

                                0 julien-f committed to vatesfr/xen-orchestra
                                fix(docs/from sources): dont use `.xo-server.toml`
                                1 Reply Last reply Reply Quote 1
                                • olivierlambertO Offline
                                  olivierlambert Vates 🪐 Co-Founder CEO
                                  last edited by

                                  Thanks for the feedback @bill-gertz !

                                  Thanks for the doc update @julien-f 😉

                                  bill.gertzB 1 Reply Last reply Reply Quote 0
                                  • bill.gertzB Offline
                                    bill.gertz @olivierlambert
                                    last edited by

                                    @olivierlambert @julien-f @Danp

                                    Thanks to everyone for the clear, helpful support. Impressed.

                                    bill.gertzB 1 Reply Last reply Reply Quote 0
                                    • bill.gertzB Offline
                                      bill.gertz @bill.gertz
                                      last edited by

                                      @julien-f @olivierlambert

                                      Submitted PR to change attribute documented as 'host' to 'hostname'.
                                      https://github.com/vatesfr/xen-orchestra/pull/4681

                                      billgertz opened this pull request in vatesfr/xen-orchestra

                                      closed fix(docs/configuration): `host` → `hostname` #4681

                                      1 Reply Last reply Reply Quote 0
                                      • ronivayR Offline
                                        ronivay Top contributor
                                        last edited by ronivay

                                        Hi,

                                        @julien-f from sources documentation still instructs to set path relative to packages/xo-server like it used to be:

                                        [http.mounts]
                                        '/' = '../xo-web/dist/'

                                        sample.config.toml says that paths are relative to configuration file so this would end up looking xo-web/dist path from $HOME/.config/ since configuration is at $HOME/.config/xo-server/config.toml

                                        Noticed this while fixing my "well known installer script"

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

                                          @ronivay Thanks for the report, I'll change this by make it part of the default config, it won't be necessary for the user to configure it themself.

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

                                            In fact it's already the case, I just need to remove this from the documentation 🙂

                                            https://github.com/vatesfr/xen-orchestra/blob/14f0cbaec6244d66266fe2ee47b0bfb5716c2f61/packages/xo-server/config.toml#L99-L100

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