[SOLVED] "Image Datastore does not support transfer mode: ssh" after upgrade

Hello!

After upgrade to OpenNebula 5.8.1 a got the error:
[one.vm.deploy] Image Datastore does not support transfer mode: ssh
when start or deploy VM.

Everything was OK with previous Opennebula version and there was no changes in datastores configuration.

System and image datastores are placed on network (lustre share), more details:

Image datastore:
-bash-4.2$ onedatastore show 101
DATASTORE 101 INFORMATION
ID : 101
NAME : Lustre image
USER : oneadmin
GROUP : oneadmin
CLUSTERS : 0
TYPE : IMAGE
DS_MAD : fs
TM_MAD : qcow2
BASE PATH : /var/lib/one//datastores/101
DISK_TYPE : FILE
STATE : READY

DATASTORE CAPACITY
TOTAL: : 127.6T
FREE: : 46T
USED: : 79.3T
LIMIT: : -

PERMISSIONS
OWNER : um-
GROUP : u–
OTHER : —

DATASTORE TEMPLATE
CLONE_TARGET=“SYSTEM”
DISK_TYPE=“FILE”
DS_MAD=“fs”
LN_TARGET=“NONE”
RESTRICTED_DIRS="/"
SAFE_DIRS="/lustre/cloud/datastores/backing.files/ /var/tmp/ /lustre/cloud/temp/"
TM_MAD=“qcow2”
TYPE=“IMAGE_DS”

System datastore:
-bash-4.2$ onedatastore show 100
DATASTORE 100 INFORMATION
ID : 100
NAME : Lustre system
USER : oneadmin
GROUP : oneadmin
CLUSTERS : 0
TYPE : SYSTEM
DS_MAD : -
TM_MAD : qcow2
BASE PATH : /var/lib/one//datastores/100
DISK_TYPE : FILE
STATE : READY

DATASTORE CAPACITY
TOTAL: : 127.6T
FREE: : 46T
USED: : 79.3T
LIMIT: : -

PERMISSIONS
OWNER : um-
GROUP : u–
OTHER : —

DATASTORE TEMPLATE
DISK_TYPE=“FILE”
DS_MIGRATE=“YES”
RESTRICTED_DIRS="/"
SAFE_DIRS="/var/tmp"
SHARED=“YES”
TM_MAD=“qcow2”
TYPE=“SYSTEM_DS”

What should I try to repair this?

With regards,
Dmitry

Hi @yermak,

Could you check /etc/one/oned.conf to have the following configuration

TM_MAD_CONF = [
    NAME = "qcow2", LN_TARGET = "NONE", CLONE_TARGET = "SYSTEM", SHARED = "YES",
    DS_MIGRATE = "YES", TM_MAD_SYSTEM = "ssh", LN_TARGET_SSH = "SYSTEM",
    CLONE_TARGET_SSH = "SYSTEM", DISK_TYPE_SSH = "FILE", DRIVER = "qcow2"
]

If it there are missing variables - add them and restart the opennebula service. Then check the configured Datastore’s variables and add any missing variables.

I think the following will do the trick:

# create a datastore template file
cat >ds.template <<EOF
TM_MAD_SYSTEM = "ssh"
LN_TARGET_SSH = "SYSTEM"
CLONE_TARGET_SSH = "SYSTEM"
DISK_TYPE_SSH = "FILE"
EOF
# then update the datastores appending the template file
onedatastore update 100 --append ds.template
onedatastore update 101 --append ds.template

Hope this helps.

Best Regards,
Anton Todorov

Anton, thank you very much!

That really resolved the problem.

best regards,
Dmitry