Patching XCP-ng via XOA
-
Hi,
I don't know this plugin but it looks like at the beginning of the file/etc/xapi.d/plugins/updater.py
there is DEFAULT_REPOS = ('xcp-ng-base', 'xcp-ng-updates', 'xcp-ng-linstor') so as new packages are in xcp-ng-updates it should returns a list of new updates.
Maybe for some reason thexcp-ng-updates
is not checked by the plugin. To found repos used by the plugin you can try to mimic what the plugins is doing using this piece of python code:import yum yum_instance = yum.YumBase() yum_instance.preconf.debuglevel = 0 yum_instance.preconf.plugins = True DEFAULT_REPOS = ('xcp-ng-base', 'xcp-ng-updates', 'xcp-ng-linstor') repos = list(DEFAULT_REPOS) enabled_repos = yum_instance.repos.listEnabled() repos = [x.id for x in enabled_repos if x.id in repos] yum_instance.repos.disableRepo('*') print("repos checked: {}".format(yum_instance.repos.enableRepo(','.join(repos))))
Do you see
xcp-ng-updates
in the list of repos checked reported by the script ? -
You can also check if there are some logs in
/var/log/updater-plugin.log
-
This post is deleted! -
@rvreugde said in Patching XCP-ng via XOA:
xe host-call-plugin host-uuid=20cacce5-ffac-4ace-ac7c-e48f4e6dfc8e plugin=updater.py fn=check_update
Can you try to run the command directly on xcp-080 ?
-
I think, it has something to do with proxy settings.
XOA has its proxy set:
But, locally, via CLI, I got the following when I set the proxy
export {http,https}_proxy=http://192.168.91.151:8080
Check updates result (tried on several hosts):
xe host-call-plugin host-uuid=20cacce5-ffac-4ace-ac7c-e48f4e6dfc8e plugin=updater.py fn=check_update Error code: -1 Error parameters: The updater plugin is busy (current operation: check_update), , Traceback (most recent call last): File "/etc/xapi.d/plugins/xcpngutils/__init__.py", line 127, in wrapper return func(*args, **kwds) File "/etc/xapi.d/plugins/updater.py", line 95, in decorator with OperationLocker(*pid_args, **pid_kwargs): File "/etc/xapi.d/plugins/xcpngutils/filelocker.py", line 55, in __enter__ self.lock() File "/etc/xapi.d/plugins/updater.py", line 55, in lock self._raise_busy() File "/etc/xapi.d/plugins/updater.py", line 74, in _raise_busy raise OperationException('The updater plugin is busy (current operation: {})'.format(op)) OperationException: The updater plugin is busy (current operation: check_update)
The
/var/log/updater-plugin.log
is empty. -
I ran the command from
xcp-080
(Pool Master) for another pool member (xcp-082
).[12:24 xcp-080 ~]# xe host-list name-label=xcp-082 uuid ( RO) : fae5e2cb-a474-4541-8c30-8a5bc87ef945 name-label ( RW): xcp-082 name-description ( RW): Default install
This is the result:
[11:57 xcp-080 ~]# xe host-call-plugin host-uuid=fae5e2cb-a474-4541-8c30-8a5bc87ef945 plugin=updater.py fn=check_update [{"url": "https://www.xenproject.org", "version": "4.13.5", "name": "xen-libs", "license": "LGPLv2", "changelog": null, "release": "9.45.1.xcpng8.2", "size": 53660, "description": "Xen Hypervisor general libraries"}, {"url": null, "version": "4.19.19", "name": "kernel", "license": "GPLv2", "changelog": null, "release": "7.0.24.1.xcpng8.2", "size": 31000948, "description": "The Linux kernel"}, {"url": null, "version": "1.10.7", "name": "guest-templates-json-data-other", "license": "BSD", "changelog": null, "release": "1.2.xcpng8.2", "size": 13404, "description": "Contains the default other guest templates"}, {"url": "https://curl.se/", "version": "8.6.0", "name": "libcurl", "license": "MIT", "changelog": null, "release": "2.2.xcpng8.2", "size": 283684, "description": "A library for getting files from web servers"}, {"url": null, "version": "1.0.2", "name": "vendor-drivers", "license": "GPLv2", "changelog": null, "release": "1.7.xcpng8.2", "size": 3236, "description": "Vendor drivers"}, {"url": null, "version": "10.1.13.1", "name": "xsconsole", "license": "GPL2", "changelog": null, "release": "2.1.xcpng8.2", "size": 309872, "description": "XCP-ng Host Configuration Console"}, {"url": "http://www.openssl.org/", "version": "1.0.2k", "name": "openssl-perl", "license": "OpenSSL", "changelog": null, "release": "26.2.xcpng8.2", "size": 74148, "description": "Perl scripts provided with OpenSSL"}, {"url": "https://xcp-ng.org", "version": "8.2.0", "name": "xcp-ng-deps", "license": "GPLv2", "changelog": null, "release": "13", "size": 10152, "description": "A meta package pulling all needed dependencies for XCP-ng"}, {"url": "https://github.com/xcp-ng/xcp-ng-release", "version": "8.2.1", "name": "xcp-ng-release-presets", "license": "GPLv2", "changelog": null, "release": "14", "size": 11428, "description": "XCP-ng presets file"}, {"url": "https://github.com/xapi-project/blktap", "version": "3.37.4", "name": "blktap", "license": "BSD", "changelog": null, "release": "4.1.xcpng8.2", "size": 310644, "description": "blktap user space utilities"}, {"url": null, "version": "1.3.17", "name": "xenserver-status-report", "license": "GPLv2+", "changelog": null, "release": "1.xcpng8.2", "size": 33092, "description": "A program that generates status reports for a XenServer host"}, {"url": "https://github.com/facebook/zstd", "version": "1.5.5", "name": "zstd", "license": "BSD and GPLv2", "changelog": null, "release": "1.el7", "size": 459404, "description": "Zstd compression library"}, {"url": "http://www.openssh.com/portable.html", "version": "7.4p1", "name": "openssh", "license": "BSD", "changelog": null, "release": "23.3.1.xcpng8.2", "size": 428792, "description": "An open source implementation of SSH protocol versions 1 and 2"}, {"url": "https://github.com/xapi-project/vhd-tool", "version": "0.43.0", "name": "vhd-tool", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "23.1.xcpng8.2", "size": 3768904, "description": "Command-line tools for manipulating and streaming .vhd format files"}, {"url": "https://github.com/xapi-project/squeezed", "version": "0.27.0", "name": "squeezed", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "23.1.xcpng8.2", "size": 1227604, "description": "Memory ballooning daemon for the xapi toolstack"}, {"url": "https://github.com/xenserver/rrd2csv/", "version": "1.2.6", "name": "rrd2csv", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "20.1.xcpng8.2", "size": 2054068, "description": "Tool for converting Xen API RRDs to CSV"}, {"url": "https://www.sudo.ws", "version": "1.9.15", "name": "sudo", "license": "ISC", "changelog": null, "release": "4.1.xcpng8.2", "size": 1301008, "description": "Allows restricted root access for specified users"}, {"url": "https://github.com/xapi-project/sm", "version": "2.30.8", "name": "sm-rawhba", "license": "LGPL", "changelog": null, "release": "13.2.xcpng8.2", "size": 36932, "description": "rawhba SR type capability"}, {"url": "https://github.com/xapi-project/sm-cli", "version": "0.23.0", "name": "sm-cli", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "66.1.xcpng8.2", "size": 1217100, "description": "CLI for xapi toolstack storage managers"}, {"url": "https://github.com/xapi-project/sm", "version": "2.30.8", "name": "sm", "license": "LGPL", "changelog": null, "release": "13.2.xcpng8.2", "size": 650876, "description": "sm - XCP storage managers"}, {"url": "https://www.xenproject.org", "version": "4.13.5", "name": "xen-tools", "license": "GPLv2 and LGPLv2", "changelog": null, "release": "9.45.1.xcpng8.2", "size": 41712, "description": "Xen Hypervisor general tools"}, {"url": "https://github.com/xapi-project/xapi-storage-script", "version": "0.34.1", "name": "xapi-storage-script", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "21.1.xcpng8.2", "size": 3643732, "description": "Xapi storage script plugin server"}, {"url": "https://www.xenproject.org", "version": "4.13.5", "name": "xen-dom0-libs", "license": "GPLv2 and LGPLv2 and MIT", "changelog": null, "release": "9.45.1.xcpng8.2", "size": 659992, "description": "Xen Hypervisor Domain 0 libraries"}, {"url": "http://www.openssh.com/portable.html", "version": "7.4p1", "name": "openssh-server", "license": "BSD", "changelog": null, "release": "23.3.1.xcpng8.2", "size": 402980, "description": "An open source SSH server daemon"}, {"url": "https://github.com/xapi-project/message-switch", "version": "1.23.2", "name": "message-switch", "license": "ISC", "changelog": null, "release": "22.1.xcpng8.2", "size": 2386580, "description": "A store and forward message switch"}, {"url": "https://github.com/xcp-ng/xcp-ng-xapi-plugins", "version": "1.10.1", "name": "xcp-ng-xapi-plugins", "license": "AGPLv3", "changelog": null, "release": "1.xcpng8.2", "size": 46196, "description": "XAPI additional plugins for XCP-ng"}, {"url": "https://github.com/xapi-project/forkexecd", "version": "1.18.3", "name": "forkexecd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "15.1.xcpng8.2", "size": 1304412, "description": "A subprocess management service"}, {"url": "https://github.com/xapi-project/xenopsd", "version": "0.150.19", "name": "xenopsd-xc", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "8.1.xcpng8.2", "size": 4189872, "description": "Xenopsd using xc"}, {"url": "http://www.openssl.org/", "version": "1.1.1k", "name": "xs-openssl-libs", "license": "OpenSSL and ASL 2.0", "changelog": null, "release": "12.3.xcpng8.2", "size": 1506200, "description": "A general purpose cryptography library with TLS implementation"}, {"url": "https://github.com/xenserver/gpumon", "version": "0.18.0", "name": "gpumon", "license": "ISC", "changelog": null, "release": "23.1.xcpng8.2", "size": 1327416, "description": "RRDD GPU metrics plugin"}, {"url": null, "version": "1.10.7", "name": "guest-templates-json-data-windows", "license": "BSD", "changelog": null, "release": "1.2.xcpng8.2", "size": 15984, "description": "Contains the default Windows guest templates"}, {"url": "https://pagure.io/microcode_ctl", "version": "2.1", "name": "microcode_ctl", "license": "Redistributable, no modification permitted", "changelog": null, "release": "26.xs29.6.xcpng8.2", "size": 7501860, "description": "Tool to transform and deploy CPU microcode update for x86."}, {"url": "http://www.xen.org", "version": "1.249.40", "name": "xapi-tests", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.1.xcpng8.2", "size": 4019016, "description": "Toolstack test programs"}, {"url": "http://www.openssl.org/", "version": "1.0.2k", "name": "openssl", "license": "OpenSSL", "changelog": null, "release": "26.2.xcpng8.2", "size": 505780, "description": "Utilities from the general purpose cryptography library with TLS implementation"}, {"url": "http://www.kernel.org/", "version": "20190314", "name": "linux-firmware", "license": "GPL, GPLv2, GPLv2+, GPLv3, MIT and Redistributable, no modification permitted", "changelog": null, "release": "11.2.xcpng8.2", "size": 41281672, "description": "Firmware files used by the Linux kernel"}, {"url": null, "version": "1.10.7", "name": "guest-templates-json-data-linux", "license": "BSD", "changelog": null, "release": "1.2.xcpng8.2", "size": 21604, "description": "Contains the default Linux guest templates"}, {"url": "http://www.openssh.com/portable.html", "version": "7.4p1", "name": "openssh-clients", "license": "BSD", "changelog": null, "release": "23.3.1.xcpng8.2", "size": 603784, "description": "An open source SSH client applications"}, {"url": "https://github.com/xenserver/xha", "version": "10.3.1", "name": "xha", "license": "GPLv2", "changelog": null, "release": "3.1.xcpng8.2", "size": 91844, "description": "xha - XenServer proprietary HA daemon"}, {"url": "https://github.com/xapi-project/xcp-networkd", "version": "0.56.2", "name": "xcp-networkd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "20.xcpng8.2", "size": 3426224, "description": "Simple host network management service for the xapi toolstack"}, {"url": null, "version": "1.10.7", "name": "guest-templates-json", "license": "BSD", "changelog": null, "release": "1.2.xcpng8.2", "size": 31176, "description": "Creates the default guest templates"}, {"url": "https://github.com/xapi-project/xapi-storage", "version": "11.19.0_sxm2", "name": "xapi-storage", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "22.xcpng8.2", "size": 63340, "description": "Xapi storage interface"}, {"url": "https://github.com/xapi-project/xenopsd", "version": "0.150.19", "name": "xenopsd-cli", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "8.1.xcpng8.2", "size": 1338280, "description": "CLI for xenopsd, the xapi toolstack domain manager"}, {"url": "https://www.xenproject.org", "version": "4.13.5", "name": "xen-hypervisor", "license": "GPLv2", "changelog": null, "release": "9.45.1.xcpng8.2", "size": 2534612, "description": "The Xen Hypervisor"}, {"url": "https://www.xenproject.org", "version": "4.13.5", "name": "xen-dom0-tools", "license": "GPLv2 and LGPLv2 and MIT", "changelog": null, "release": "9.45.1.xcpng8.2", "size": 2563692, "description": "Xen Hypervisor Domain 0 tools"}, {"url": "https://github.com/xapi-project/xapi-nbd", "version": "1.11.0", "name": "xapi-nbd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "22.1.xcpng8.2", "size": 2086492, "description": "NBD server that exposes XenServer disks"}, {"url": "http://www.openssl.org/", "version": "1.0.2k", "name": "openssl-libs", "license": "OpenSSL", "changelog": null, "release": "26.2.xcpng8.2", "size": 1256632, "description": "A general purpose cryptography library with TLS implementation"}, {"url": "https://github.com/xcp-ng/xcp-ng-release", "version": "8.2.1", "name": "xcp-ng-release", "license": "GPLv2", "changelog": null, "release": "14", "size": 106568, "description": "XCP-ng release file"}, {"url": "http://www.xen.org", "version": "1.249.40", "name": "xapi-core", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.1.xcpng8.2", "size": 19172572, "description": "The xapi toolstack"}, {"url": "https://curl.se/", "version": "8.6.0", "name": "curl", "license": "MIT", "changelog": null, "release": "2.2.xcpng8.2", "size": 304800, "description": "A utility for getting files from remote servers (FTP, HTTP, and others)"}, {"url": "https://github.com/xapi-project/varstored-guard", "version": "0.6.2", "name": "varstored-guard", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "20.xcpng8.2", "size": 2340836, "description": "Deprivileged XAPI socket Daemon for EFI variable storage"}, {"url": "https://github.com/xapi-project/xcp-rrdd", "version": "1.33.5", "name": "xcp-rrdd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "3.1.xcpng8.2", "size": 2712836, "description": "Statistics gathering daemon for the xapi toolstack"}, {"url": "https://github.com/xcp-ng/xcp-ng-release", "version": "8.2.1", "name": "xcp-ng-release-config", "license": "GPLv2", "changelog": null, "release": "14", "size": 107020, "description": "XCP-ng configuration"}, {"url": "https://github.com/xapi-project/wsproxy", "version": "1.12.0", "name": "wsproxy", "license": "LGPL-2.0-only WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "24.xcpng8.2", "size": 616644, "description": "Websockets proxy for VNC traffic"}, {"url": "http://www.xen.org", "version": "1.249.40", "name": "xapi-xe", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.1.xcpng8.2", "size": 864380, "description": "The xapi toolstack CLI"}, {"url": "https://github.com/xapi-project/xenopsd", "version": "0.150.19", "name": "xenopsd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "8.1.xcpng8.2", "size": 85088, "description": "Simple VM manager"}, {"url": "https://github.com/xenserver/rrdd-plugins/", "version": "1.10.9", "name": "rrdd-plugins", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "17.1.xcpng8.2", "size": 4024592, "description": "RRDD metrics plugins"}]
-
And if you run the command from pool master for pool master you still have an empty list?
xe host-call-plugin host-uuid=20cacce5-ffac-4ace-ac7c-e48f4e6dfc8e plugin=updater.py fn=check_update
Maybe this command must be run from pool master (I'll be surprised...)?
-
Result for both hosts (
xcp-082
gives now a busy-error)[11:45 xcp-080 ~]# xe host-call-plugin host-uuid=fae5e2cb-a474-4541-8c30-8a5bc87ef945 plugin=updater.py fn=check_update Error code: -1 Error parameters: The updater plugin is busy (current operation: check_update), , Traceback (most recent call last): File "/etc/xapi.d/plugins/xcpngutils/__init__.py", line 119, in wrapper return func(*args, **kwds) File "/etc/xapi.d/plugins/updater.py", line 95, in decorator with OperationLocker(*pid_args, **pid_kwargs): File "/etc/xapi.d/plugins/xcpngutils/filelocker.py", line 55, in __enter__ self.lock() File "/etc/xapi.d/plugins/updater.py", line 55, in lock self._raise_busy() File "/etc/xapi.d/plugins/updater.py", line 74, in _raise_busy raise OperationException('The updater plugin is busy (current operation: {})'.format(op)) OperationException: The updater plugin is busy (current operation: check_update) [11:46 xcp-080 ~]# xe host-call-plugin host-uuid=20cacce5-ffac-4ace-ac7c-e48f4e6dfc8e plugin=updater.py fn=check_update Error code: -1 Error parameters: The updater plugin is busy (current operation: check_update), , Traceback (most recent call last): File "/etc/xapi.d/plugins/xcpngutils/__init__.py", line 127, in wrapper return func(*args, **kwds) File "/etc/xapi.d/plugins/updater.py", line 95, in decorator with OperationLocker(*pid_args, **pid_kwargs): File "/etc/xapi.d/plugins/xcpngutils/filelocker.py", line 55, in __enter__ self.lock() File "/etc/xapi.d/plugins/updater.py", line 55, in lock self._raise_busy() File "/etc/xapi.d/plugins/updater.py", line 74, in _raise_busy raise OperationException('The updater plugin is busy (current operation: {})'.format(op)) OperationException: The updater plugin is busy (current operation: check_update)
-
-
@Danp @gthvn1
Deleting the lockfile works (had to do it twice). Could it be possible that XOA attempts are also responsible for creating this file?rm -f /var/lib/xcp-ng-xapi-plugins/updater.py.lock
Result of the command
[12:55 xcp-080 ~]# xe host-call-plugin host-uuid=20cacce5-ffac-4ace-ac7c-e48f4e6dfc8e plugin=updater.py fn=check_update [{"url": null, "version": "4.19.19", "name": "kernel", "license": "GPLv2", "changelog": null, "release": "7.0.24.1.xcpng8.2", "size": 31000948, "description": "The Linux kernel"}, {"url": "https://github.com/xapi-project/sm", "version": "2.30.8", "name": "sm", "license": "LGPL", "changelog": null, "release": "13.2.xcpng8.2", "size": 650876, "description": "sm - XCP storage managers"}, {"url": "https://github.com/xenserver/rrdd-plugins/", "version": "1.10.9", "name": "rrdd-plugins", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "17.1.xcpng8.2", "size": 4024592, "description": "RRDD metrics plugins"}, {"url": null, "version": "1.0.2", "name": "vendor-drivers", "license": "GPLv2", "changelog": null, "release": "1.7.xcpng8.2", "size": 3236, "description": "Vendor drivers"}, {"url": "https://xcp-ng.org", "version": "8.2.0", "name": "xcp-ng-deps", "license": "GPLv2", "changelog": null, "release": "13", "size": 10152, "description": "A meta package pulling all needed dependencies for XCP-ng"}, {"url": "https://github.com/xcp-ng/xcp-ng-release", "version": "8.2.1", "name": "xcp-ng-release-presets", "license": "GPLv2", "changelog": null, "release": "14", "size": 11428, "description": "XCP-ng presets file"}, {"url": "https://github.com/xapi-project/xcp-rrdd", "version": "1.33.5", "name": "xcp-rrdd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "3.1.xcpng8.2", "size": 2712836, "description": "Statistics gathering daemon for the xapi toolstack"}, {"url": "https://github.com/xapi-project/sm-cli", "version": "0.23.0", "name": "sm-cli", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "66.1.xcpng8.2", "size": 1217100, "description": "CLI for xapi toolstack storage managers"}, {"url": "https://github.com/xapi-project/message-switch", "version": "1.23.2", "name": "message-switch", "license": "ISC", "changelog": null, "release": "22.1.xcpng8.2", "size": 2386580, "description": "A store and forward message switch"}, {"url": null, "version": "1.3.17", "name": "xenserver-status-report", "license": "GPLv2+", "changelog": null, "release": "1.xcpng8.2", "size": 33092, "description": "A program that generates status reports for a XenServer host"}, {"url": "https://github.com/xenserver/rrd2csv/", "version": "1.2.6", "name": "rrd2csv", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "20.1.xcpng8.2", "size": 2054068, "description": "Tool for converting Xen API RRDs to CSV"}, {"url": "https://github.com/xapi-project/xcp-networkd", "version": "0.56.2", "name": "xcp-networkd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "20.xcpng8.2", "size": 3426224, "description": "Simple host network management service for the xapi toolstack"}, {"url": "https://github.com/xapi-project/vhd-tool", "version": "0.43.0", "name": "vhd-tool", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "23.1.xcpng8.2", "size": 3768904, "description": "Command-line tools for manipulating and streaming .vhd format files"}, {"url": "http://www.openssh.com/portable.html", "version": "7.4p1", "name": "openssh-server", "license": "BSD", "changelog": null, "release": "23.3.1.xcpng8.2", "size": 402980, "description": "An open source SSH server daemon"}, {"url": "https://github.com/xapi-project/xapi-storage", "version": "11.19.0_sxm2", "name": "xapi-storage", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "22.xcpng8.2", "size": 63340, "description": "Xapi storage interface"}, {"url": "https://github.com/xapi-project/varstored-guard", "version": "0.6.2", "name": "varstored-guard", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "20.xcpng8.2", "size": 2340836, "description": "Deprivileged XAPI socket Daemon for EFI variable storage"}, {"url": "http://www.openssh.com/portable.html", "version": "7.4p1", "name": "openssh", "license": "BSD", "changelog": null, "release": "23.3.1.xcpng8.2", "size": 428792, "description": "An open source implementation of SSH protocol versions 1 and 2"}, {"url": "https://www.sudo.ws", "version": "1.9.15", "name": "sudo", "license": "ISC", "changelog": null, "release": "4.1.xcpng8.2", "size": 1301008, "description": "Allows restricted root access for specified users"}, {"url": "https://github.com/xapi-project/xapi-nbd", "version": "1.11.0", "name": "xapi-nbd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "22.1.xcpng8.2", "size": 2086492, "description": "NBD server that exposes XenServer disks"}, {"url": "http://www.kernel.org/", "version": "20190314", "name": "linux-firmware", "license": "GPL, GPLv2, GPLv2+, GPLv3, MIT and Redistributable, no modification permitted", "changelog": null, "release": "11.2.xcpng8.2", "size": 41281672, "description": "Firmware files used by the Linux kernel"}, {"url": "http://www.openssh.com/portable.html", "version": "7.4p1", "name": "openssh-clients", "license": "BSD", "changelog": null, "release": "23.3.1.xcpng8.2", "size": 603784, "description": "An open source SSH client applications"}, {"url": "https://github.com/xenserver/xha", "version": "10.3.1", "name": "xha", "license": "GPLv2", "changelog": null, "release": "3.1.xcpng8.2", "size": 91844, "description": "xha - XenServer proprietary HA daemon"}, {"url": "https://github.com/xapi-project/xenopsd", "version": "0.150.19", "name": "xenopsd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "8.1.xcpng8.2", "size": 85088, "description": "Simple VM manager"}, {"url": "https://github.com/xcp-ng/xcp-ng-release", "version": "8.2.1", "name": "xcp-ng-release", "license": "GPLv2", "changelog": null, "release": "14", "size": 106568, "description": "XCP-ng release file"}, {"url": "https://github.com/xenserver/gpumon", "version": "0.18.0", "name": "gpumon", "license": "ISC", "changelog": null, "release": "23.1.xcpng8.2", "size": 1327416, "description": "RRDD GPU metrics plugin"}, {"url": "http://www.xen.org", "version": "1.249.40", "name": "xapi-xe", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.1.xcpng8.2", "size": 864380, "description": "The xapi toolstack CLI"}, {"url": "https://github.com/xapi-project/forkexecd", "version": "1.18.3", "name": "forkexecd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "15.1.xcpng8.2", "size": 1304412, "description": "A subprocess management service"}, {"url": "https://github.com/xcp-ng/xcp-ng-release", "version": "8.2.1", "name": "xcp-ng-release-config", "license": "GPLv2", "changelog": null, "release": "14", "size": 107020, "description": "XCP-ng configuration"}, {"url": "https://github.com/xapi-project/xenopsd", "version": "0.150.19", "name": "xenopsd-cli", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "8.1.xcpng8.2", "size": 1338280, "description": "CLI for xenopsd, the xapi toolstack domain manager"}, {"url": "https://github.com/xapi-project/wsproxy", "version": "1.12.0", "name": "wsproxy", "license": "LGPL-2.0-only WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "24.xcpng8.2", "size": 616644, "description": "Websockets proxy for VNC traffic"}, {"url": "https://github.com/xapi-project/squeezed", "version": "0.27.0", "name": "squeezed", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "23.1.xcpng8.2", "size": 1227604, "description": "Memory ballooning daemon for the xapi toolstack"}, {"url": "https://github.com/xapi-project/xenopsd", "version": "0.150.19", "name": "xenopsd-xc", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "8.1.xcpng8.2", "size": 4189872, "description": "Xenopsd using xc"}, {"url": "https://github.com/xapi-project/sm", "version": "2.30.8", "name": "sm-rawhba", "license": "LGPL", "changelog": null, "release": "13.2.xcpng8.2", "size": 36932, "description": "rawhba SR type capability"}, {"url": "http://www.xen.org", "version": "1.249.40", "name": "xapi-tests", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.1.xcpng8.2", "size": 4019016, "description": "Toolstack test programs"}, {"url": "http://www.xen.org", "version": "1.249.40", "name": "xapi-core", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.1.xcpng8.2", "size": 19172572, "description": "The xapi toolstack"}, {"url": "https://github.com/xapi-project/xapi-storage-script", "version": "0.34.1", "name": "xapi-storage-script", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "21.1.xcpng8.2", "size": 3643732, "description": "Xapi storage script plugin server"}]
But after the command, the file is not deleted automatically.
[13:50 xcp-080 ~]# ls -alh /var/lib/xcp-ng-xapi-plugins/ total 12K drwxr-xr-x 2 root root 4,0K Feb 10 12:55 . drwxr-xr-x 36 root root 4,0K Nov 26 19:34 .. -rw-r--r-- 1 root root 13 Feb 10 13:50 updater.py.lock
-
In fact on my testing host (xcp-ng 8.3) the file is also there. So it looks like it is normal to not delete it. Can you run the command several times? Because on my host even if the file is not deleted I can run the command several times. So I guess that sometimes a process still holds the file and we need to delete it but most of the time the file is just closed and it works.
EDIT: Oh but in fact it looks like by default the update is run by XO so you will see the file that is updated (time is modified each minute on my host). But I'm discovering this plugin and I'm not sure how it is used... -
@gthvn1
FYI: After deleting the file the last time, it reappeared, without having invoked thehost-call-plugin
command.13:57 xcp-080 ~]# ls -al /var/lib/xcp-ng-xapi-plugins/ total 12 drwxr-xr-x 2 root root 4096 Feb 10 13:57 . drwxr-xr-x 36 root root 4096 Nov 26 19:34 .. -rw-r--r-- 1 root root 13 Feb 10 13:57 updater.py.lock
Invoking the command, results every time in:
[14:06 xcp-080 ~]# xe host-call-plugin host-uuid=20cacce5-ffac-4ace-ac7c-e48f4e6dfc8e plugin=updater.py fn=check_update Error code: -1 Error parameters: The updater plugin is busy (current operation: check_update), , Traceback (most recent call last): File "/etc/xapi.d/plugins/xcpngutils/__init__.py", line 127, in wrapper return func(*args, **kwds) File "/etc/xapi.d/plugins/updater.py", line 95, in decorator with OperationLocker(*pid_args, **pid_kwargs): File "/etc/xapi.d/plugins/xcpngutils/filelocker.py", line 55, in __enter__ self.lock() File "/etc/xapi.d/plugins/updater.py", line 55, in lock self._raise_busy() File "/etc/xapi.d/plugins/updater.py", line 74, in _raise_busy raise OperationException('The updater plugin is busy (current operation: {})'.format(op)) OperationException: The updater plugin is busy (current operation: check_update) [14:07 xcp-080 ~]# xe host-call-plugin host-uuid=20cacce5-ffac-4ace-ac7c-e48f4e6dfc8e plugin=updater.py fn=check_update Error code: -1 Error parameters: The updater plugin is busy (current operation: check_update), , Traceback (most recent call last): File "/etc/xapi.d/plugins/xcpngutils/__init__.py", line 127, in wrapper return func(*args, **kwds) File "/etc/xapi.d/plugins/updater.py", line 95, in decorator with OperationLocker(*pid_args, **pid_kwargs): File "/etc/xapi.d/plugins/xcpngutils/filelocker.py", line 55, in __enter__ self.lock() File "/etc/xapi.d/plugins/updater.py", line 55, in lock self._raise_busy() File "/etc/xapi.d/plugins/updater.py", line 74, in _raise_busy raise OperationException('The updater plugin is busy (current operation: {})'.format(op)) OperationException: The updater plugin is busy (current operation: check_update) [14:10 xcp-080 ~]# xe host-call-plugin host-uuid=20cacce5-ffac-4ace-ac7c-e48f4e6dfc8e plugin=updater.py fn=check_update Error code: -1 Error parameters: The updater plugin is busy (current operation: check_update), , Traceback (most recent call last): File "/etc/xapi.d/plugins/xcpngutils/__init__.py", line 127, in wrapper return func(*args, **kwds) File "/etc/xapi.d/plugins/updater.py", line 95, in decorator with OperationLocker(*pid_args, **pid_kwargs): File "/etc/xapi.d/plugins/xcpngutils/filelocker.py", line 55, in __enter__ self.lock() File "/etc/xapi.d/plugins/updater.py", line 55, in lock self._raise_busy() File "/etc/xapi.d/plugins/updater.py", line 74, in _raise_busy raise OperationException('The updater plugin is busy (current operation: {})'.format(op)) OperationException: The updater plugin is busy (current operation: check_update) [14:10 xcp-080 ~]# [14:11 xcp-080 ~]# xe host-call-plugin host-uuid=20cacce5-ffac-4ace-ac7c-e48f4e6dfc8e plugin=updater.py fn=check_update Error code: -1 Error parameters: The updater plugin is busy (current operation: check_update), , Traceback (most recent call last): File "/etc/xapi.d/plugins/xcpngutils/__init__.py", line 127, in wrapper return func(*args, **kwds) File "/etc/xapi.d/plugins/updater.py", line 95, in decorator with OperationLocker(*pid_args, **pid_kwargs): File "/etc/xapi.d/plugins/xcpngutils/filelocker.py", line 55, in __enter__ self.lock() File "/etc/xapi.d/plugins/updater.py", line 55, in lock self._raise_busy() File "/etc/xapi.d/plugins/updater.py", line 74, in _raise_busy raise OperationException('The updater plugin is busy (current operation: {})'.format(op)) OperationException: The updater plugin is busy (current operation: check_update) [14:11 xcp-080 ~]# xe host-call-plugin host-uuid=20cacce5-ffac-4ace-ac7c-e48f4e6dfc8e plugin=updater.py fn=check_update Error code: -1 Error parameters: The updater plugin is busy (current operation: check_update), , Traceback (most recent call last): File "/etc/xapi.d/plugins/xcpngutils/__init__.py", line 127, in wrapper return func(*args, **kwds) File "/etc/xapi.d/plugins/updater.py", line 95, in decorator with OperationLocker(*pid_args, **pid_kwargs): File "/etc/xapi.d/plugins/xcpngutils/filelocker.py", line 55, in __enter__ self.lock() File "/etc/xapi.d/plugins/updater.py", line 55, in lock self._raise_busy() File "/etc/xapi.d/plugins/updater.py", line 74, in _raise_busy raise OperationException('The updater plugin is busy (current operation: {})'.format(op)) OperationException: The updater plugin is busy (current operation: check_update)
-
@gthvn1
Following process is keeping the file opne (not the manual command). Is it XOA?14:18 xcp-080 ~]# lsof -t /var/lib/xcp-ng-xapi-plugins/updater.py.lock 15894 [14:19 xcp-080 ~]# ps -ef | grep 15894 root 15894 15893 0 14:15 ? 00:00:00 python /etc/xapi.d/plugins/updater.py <methodCall><methodName>check_update</methodName><params><param><value>OpaqueRef:cfc61ae4-5548-467b-ba63-e06d2572405b</value></param><param><value><struct/></value></param></params></methodCall>
-
@rvreugde it is really strange... I only have one host on my setup that I'm using for testing and I don't see this behavior... But I see almost every minutes a message in my /var/log/xensource.log saying:
Feb 10 14:55:58 xcp-gthvn1 xapi: [debug||518 HTTPS 10.1.0.100->:::80|host.call_plugin R:dd18d954e8e1|audit] Host.call_plugin host = 'd7f4a210-369a-410e-9c73-4acb59fe5e7c (xcp-gthvn1)'; plugin = 'updater.py' ; fn = 'check_update' args = [ 'hidden' ]
I don't know who is calling this. But for me the file is always released properly. No process that locks the file... Not sure about what to test next. Is there someone on the forum with the same issue? -
It seems to be working on another pool, but, how can we get this working in XOA?
XOA:
CLI:
[07:38 xcp-102 ~]# xe host-call-plugin host-uuid=a0d83751-159a-4f0b-8618-4984d543f0c8 plugin=updater.py fn=check_update [{"url": "http://www.xen.org", "version": "24.19.2", "name": "xcp-networkd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 4647492, "description": "Simple host network management service for the xapi toolstack"}, {"url": "https://github.com/xapi-project/sm", "version": "3.2.3", "name": "sm-fairlock", "license": "LGPL", "changelog": null, "release": "1.15.xcpng8.3", "size": 42552, "description": "Fair locking subsystem"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "forkexecd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 2361328, "description": "A subprocess management service"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "sm-cli", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 1787364, "description": "CLI for xapi toolstack storage managers"}, {"url": null, "version": "4.19.19", "name": "kernel", "license": "GPLv2", "changelog": null, "release": "8.0.37.1.xcpng8.3", "size": 30911672, "description": "The Linux kernel"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "xapi-storage-script", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 4589220, "description": "Xapi storage script plugin server"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "xapi-xe", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 1369152, "description": "The xapi toolstack CLI"}, {"url": "https://www.jedsoft.org/slang/", "version": "2.3.2", "name": "slang", "license": "GPLv2+", "changelog": null, "release": "11.xcpng8.3", "size": 367944, "description": "Shared library for the S-Lang extension language"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "xenopsd-xc", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 5163268, "description": "Xenopsd using xc"}, {"url": "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git", "version": "20240503", "name": "amd-microcode", "license": "Redistributable", "changelog": null, "release": "1.1.xcpng8.3", "size": 96912, "description": "AMD Microcode"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "xapi-rrd2csv", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 2924652, "description": "A tool to output RRD values in CSV format"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "xenopsd-cli", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 1879780, "description": "CLI for xenopsd, the xapi toolstack domain manager"}, {"url": "https://github.com/xapi-project/blktap", "version": "3.54.9", "name": "blktap", "license": "BSD", "changelog": null, "release": "1.2.xcpng8.3", "size": 312948, "description": "blktap user space utilities"}, {"url": null, "version": "2.0.15", "name": "kexec-tools", "license": "GPL", "changelog": null, "release": "20.1.xcpng8.3", "size": 69300, "description": "kexec/kdump userspace tools"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "wsproxy", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 967004, "description": "Websockets proxy for VNC traffic"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "vhd-tool", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 4875652, "description": "Command-line tools for manipulating and streaming .vhd format files"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "xapi-nbd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 2977480, "description": "NBD server that exposes XenServer disks"}, {"url": "http://www.gnu.org/software/grub/", "version": "2.06", "name": "grub-tools", "license": "GPLv3+", "changelog": null, "release": "4.0.2.1.xcpng8.3", "size": 2318216, "description": "Support tools for GRUB."}, {"url": "https://github.com/vatesfr/xen-orchestra", "version": "0.6.0", "name": "xo-lite", "license": "AGPL3-only", "changelog": null, "release": "1.xcpng8.3", "size": 941976, "description": "Xen Orchestra Lite"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "xapi-core", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 27803496, "description": "The xapi toolstack"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "xenopsd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 1378804, "description": "Simple VM manager"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "rrdd-plugins", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 4977012, "description": "RRDD metrics plugin"}, {"url": null, "version": "5.10.226", "name": "intel-igc", "license": "GPL", "changelog": null, "release": "1.xcpng8.3", "size": 64356, "description": "Intel igc device drivers"}, {"url": "https://xcp-ng.org", "version": "8.3", "name": "xcp-ng-deps", "license": "GPLv2", "changelog": null, "release": "13", "size": 11808, "description": "A meta package pulling all needed dependencies for XCP-ng"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "xcp-rrdd", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 3640260, "description": "Statistics gathering daemon for the xapi toolstack"}, {"url": "http://www.gnu.org/software/grub/", "version": "2.06", "name": "grub-efi", "license": "GPLv3+", "changelog": null, "release": "4.0.2.1.xcpng8.3", "size": 4224468, "description": "GRUB for EFI systems."}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "python2-xapi-storage", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 281168, "description": "Xapi storage interface (Python2)"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "squeezed", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 1801864, "description": "Memory ballooning daemon for the xapi toolstack"}, {"url": "http://www.gnu.org/software/grub/", "version": "2.06", "name": "grub", "license": "GPLv3+", "changelog": null, "release": "4.0.2.1.xcpng8.3", "size": 1054832, "description": "Bootloader with support for Linux, Multiboot and more"}, {"url": "https://github.com/xapi-project/sm", "version": "3.2.3", "name": "sm", "license": "LGPL", "changelog": null, "release": "1.15.xcpng8.3", "size": 364880, "description": "sm - XCP storage managers"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "xapi-tests", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 6841292, "description": "Toolstack test programs"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "message-switch", "license": "ISC", "changelog": null, "release": "1.9.xcpng8.3", "size": 4443828, "description": "A store and forward message switch"}, {"url": "http://www.xen.org", "version": "24.19.2", "name": "varstored-guard", "license": "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception", "changelog": null, "release": "1.9.xcpng8.3", "size": 4843928, "description": "Deprivileged XAPI socket Daemon for EFI variable storage"}]
-
@olivierlambert do you know who on XOA side can have a look?