diff --git a/confluent_osdeploy/esxi7/profiles/hypervisor/scripts/getinstalldisk b/confluent_osdeploy/esxi7/profiles/hypervisor/scripts/getinstalldisk index 9853599b..b32cdc59 100644 --- a/confluent_osdeploy/esxi7/profiles/hypervisor/scripts/getinstalldisk +++ b/confluent_osdeploy/esxi7/profiles/hypervisor/scripts/getinstalldisk @@ -109,7 +109,9 @@ class DiskInfo(object): if self.size < 2048: raise SilentException("Too small") if storagespec and storagespec == 'm2': - if self.model.lower() not in PRIORITY_MODELS and not devinfo.get('m2_slot', None): + if (self.model.lower() not in PRIORITY_MODELS + and not devinfo.get('m2_slot', None) + and self.driver != 'iavmd'): raise SilentException("Not an M.2 disk") @@ -121,6 +123,8 @@ class DiskInfo(object): return 0 if self.model.lower() in PRIORITY_MODELS: return 0 + if self.driver == 'iavmd': + return 1 if self.driver == 'vmw_ahci': return 2 if self.driver == 'nvme_pcie': diff --git a/confluent_server/builddeb b/confluent_server/builddeb index a4b2cada..0603984d 100755 --- a/confluent_server/builddeb +++ b/confluent_server/builddeb @@ -40,7 +40,7 @@ if [ "$OPKGNAME" = "confluent-server" ]; then sed -i 's/^\(Depends:.*\)/\1, confluent-client, python3-lxml, python3-cryptography, python3-websocket, python3-msgpack, python3-aiohttp, python3-pyparsing, python3-asyncssh, python3-pysnmp4, python3-libarchive-c, confluent-vtbufferd, python3-netifaces, python3-yaml, python3-dateutil, python3-crypt-r, python3-numpy, python3-pillow/' debian/control fi # only BIOS settings on IMM2-era Lenovo BMCs need it, and Ubuntu does not package it - sed -i '/^Depends:/a Recommends: python3-eficompressor' debian/control + sed -i '/^Depends:/a Recommends: python3-eficompressor, rsync' debian/control echo 'confluent_client confluent-client' >> debian/pydist-overrides fi diff --git a/confluent_server/confluent/syncfiles.py b/confluent_server/confluent/syncfiles.py index afba5da2..71c4916a 100644 --- a/confluent_server/confluent/syncfiles.py +++ b/confluent_server/confluent/syncfiles.py @@ -349,6 +349,10 @@ def start_syncfiles(nodename, cfg, suffixes, principals=[]): sl = SyncList(synclist, nodename, cfg) if not (sl.appendmap or sl.mergemap or sl.replacemap or sl.appendoncemap): return 200, 'OK', 'Empty synclist' # the synclist has no actual entries + if not shutil.which('rsync'): + return 500, 'Error', ( + 'File synchronization requires rsync. ' + 'Install rsync on the Confluent server and retry.') if nodename in syncrunners: if syncrunners[nodename].done(): try: