Giter VIP home page Giter VIP logo

addon-linstor's People

Contributors

antnjakushin avatar philipp-reisner avatar rck avatar rp- avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

addon-linstor's Issues

Datastore driver 'linstor' not available

I've tried installing and using the linstor addon in version 5.8.5 of OpenNebula.

I'm getting this when I restart oned:

Mon Oct 7 16:36:31 2019 [Z0][ImM][E]: Error monitoring datastore 103: Datastore driver 'linstor' not available

I installed it by cloning this repository and running the install as the oned user thus:

oneadmin@clvm-0:~/addon-linstor$ python setup.py install
running install
running bdist_egg
running egg_info
writing requirements to linstor_opennebula.egg-info/requires.txt
writing linstor_opennebula.egg-info/PKG-INFO
writing top-level names to linstor_opennebula.egg-info/top_level.txt
writing dependency_links to linstor_opennebula.egg-info/dependency_links.txt
reading manifest file 'linstor_opennebula.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'linstor_opennebula.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/linstor_helper
copying build/lib.linux-x86_64-2.7/linstor_helper/__init__.py -> build/bdist.linux-x86_64/egg/linstor_helper
copying build/lib.linux-x86_64-2.7/linstor_helper/extender.py -> build/bdist.linux-x86_64/egg/linstor_helper
creating build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/consts.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/image.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/__init__.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/datastore.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/vm.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/driver_action.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/util.py -> build/bdist.linux-x86_64/egg/one
byte-compiling build/bdist.linux-x86_64/egg/linstor_helper/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/linstor_helper/extender.py to extender.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/consts.py to consts.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/image.py to image.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/datastore.py to datastore.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/vm.py to vm.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/driver_action.py to driver_action.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/util.py to util.pyc
installing package data to build/bdist.linux-x86_64/egg
running install_data
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying linstor_opennebula.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying linstor_opennebula.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying linstor_opennebula.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying linstor_opennebula.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying linstor_opennebula.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/linstor_opennebula-0.9.8-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing linstor_opennebula-0.9.8-py2.7.egg
Removing /usr/local/lib/python2.7/dist-packages/linstor_opennebula-0.9.8-py2.7.egg
Copying linstor_opennebula-0.9.8-py2.7.egg to /usr/local/lib/python2.7/dist-packages
linstor-opennebula 0.9.8 is already the active version in easy-install.pth

Installed /usr/local/lib/python2.7/dist-packages/linstor_opennebula-0.9.8-py2.7.egg
Processing dependencies for linstor-opennebula==0.9.8
Searching for python-linstor==1.0.3
Best match: python-linstor 1.0.3
Adding python-linstor 1.0.3 to easy-install.pth file

Using /usr/lib/python2.7/dist-packages
Finished processing dependencies for linstor-opennebula==0.9.8

I restared oned after that, but (having defined datastores according to the readme's instructions for this repository) I'm getting the error shown above.

I did notice that the readme says that the addon is compatible up to version 5.6 and was tested there. Is there in fact an incompatibility or have I just done something stupid (highly likely)?

Thanks

Fault tolerance when using the Linstor driver

Opennebula: 6.6.3
Addon Linstor: latest

We are trying to configure fault tolerance using host hooks:

ARGUMENTS = "$TEMPLATE -m -p 2"
ARGUMENTS_STDIN = "yes"
COMMAND   = "ft/host_error.rb"
NAME      = "host_error"
STATE     = "ERROR"
REMOTE    = "no"
RESOURCE  = HOST
TYPE      = state

But when this hook is triggered (the host is turned off), we get the error:

Tue Nov 28 14:42:00 2023 [Z0][TrM][I]: Command execution failed (exit code: 1): /var/lib/one/remotes/tm/linstor/mv n03:/var/lib/one//datastores/100/12 n01:/var/lib/one//datastores/100/12 12 100
Tue Nov 28 14:42:00 2023 [Z0][TrM][I]: Traceback (most recent call last):
Tue Nov 28 14:42:00 2023 [Z0][TrM][I]: File "/usr/lib/python3.6/site-packages/one/util.py", line 392, in run_main
Tue Nov 28 14:42:00 2023 [Z0][TrM][I]: main_func()
Tue Nov 28 14:42:00 2023 [Z0][TrM][I]: File "/var/lib/one/remotes/tm/linstor/mv", line 82, in main
Tue Nov 28 14:42:00 2023 [Z0][TrM][I]: raise RuntimeError("Unable to tar copy to new host")
Tue Nov 28 14:42:00 2023 [Z0][TrM][I]: RuntimeError: Unable to tar copy to new host
Tue Nov 28 14:42:00 2023 [Z0][TrM][E]: Unable to tar copy to new host
Tue Nov 28 14:42:00 2023 [Z0][TrM][E]: Error executing image transfer script: Traceback (most recent call last):   File "/usr/lib/python3.6/site-packages/one/util.py", line 392, in run_main     main_func()   File "/var/lib/on
e/remotes/tm/linstor/mv", line 82, in main     raise RuntimeError("Unable to tar copy to new host") RuntimeError: Unable to tar copy to new host ERROR: Unable to tar copy to new host
Tue Nov 28 14:42:00 2023 [Z0][VM][I]: New LCM state is PROLOG_MIGRATE_UNKNOWN_FAILURE

In this log file: n03 - the host that was shutdown, n01 - the host to which there was an attempt to migrate the VM, 12 - virtual machine ID, 100 - datastore ID.

I looked at the file /var/lib/one/remotes/tm/linstor/mv, and it seems to me that we are in the wrong branch of the loop , since the function disk_id expects a value in a different format (since now we are assigning the None value to the variable and trying to copy data from a switched off host).

Have I identified the problems correctly or should I look elsewhere?

implement resize

Hello.
tm/resize isn't implemented.
Could you implement it, please?

Choosing image datastore while creating new VM

Hello @rp-,

I'm trying to make the following:

  • Create two Image datastores - one with bigger place-count and another with lower
  • Create one system datastore
  • Be able to choose where to deploy the freshly created VMs

I've made the first two things but when creating new VM, I'm able to choose only system datastore.

Read about the differences and the blog says that system datastore is used only for small contextual images and the OpenNebula docs says that The Image Datastore, stores the Image repository and The System Datastore holds disk for running virtual machines, usually cloned from the Image Datastore, which is different.

If the blog is right - why cannot choose a prefer datastore of type image? And if the doc's are right - why all of my VM disks are placed on the Image datastore (seen in the linstor rd l).

Thanks in advance :)

BR,
Plamen

Creating OS or datablock images fails

Hello

I've tried to get OpenNebula 6 to work with linstor. Everything works perfectly fine except creating new OS or generic storage datablocks which fails in Opennebula with error Error creating datablock.

The log itself reports:

Tue Apr 20 08:00:46 2021 [Z0][ImM][I]: Creating disk at  of 10240Mb (format: raw)
Tue Apr 20 08:00:46 2021 [Z0][ReM][D]: Req:5952 UID:0 one.image.allocate result SUCCESS, 107
Tue Apr 20 08:00:46 2021 [Z0][ReM][D]: Req:3728 UID:0 IP:127.0.0.1 one.image.info invoked , 107, false
Tue Apr 20 08:00:46 2021 [Z0][ReM][D]: Req:3728 UID:0 one.image.info result SUCCESS, "<IMAGE><ID>107</ID><..."
Tue Apr 20 08:00:47 2021 [Z0][ReM][D]: Req:9904 UID:0 IP:127.0.0.1 one.datastore.info invoked , 128, false
Tue Apr 20 08:00:47 2021 [Z0][ReM][D]: Req:9904 UID:0 one.datastore.info result SUCCESS, "<DATASTORE><ID>128</..."
Tue Apr 20 08:00:47 2021 [Z0][ReM][D]: Req:7888 UID:0 IP:127.0.0.1 one.imagepool.info invoked , -2, 0, -200, -1
Tue Apr 20 08:00:47 2021 [Z0][ReM][D]: Req:7888 UID:0 one.imagepool.info result SUCCESS, "<IMAGE_POOL><IMAGE><..."
Tue Apr 20 08:00:47 2021 [Z0][ReM][D]: Req:8816 UID:0 IP:127.0.0.1 one.user.info invoked , 0, false
Tue Apr 20 08:00:47 2021 [Z0][ReM][D]: Req:8816 UID:0 one.user.info result SUCCESS, "<USER><ID>0</ID><GID..."
Tue Apr 20 08:00:54 2021 [Z0][ReM][D]: Req:960 UID:0 IP:127.0.0.1 one.imagepool.info invoked , -2, 0, -200, -1
Tue Apr 20 08:00:54 2021 [Z0][ReM][D]: Req:960 UID:0 one.imagepool.info result SUCCESS, "<IMAGE_POOL><IMAGE><..."
Tue Apr 20 08:00:54 2021 [Z0][ReM][D]: Req:8192 UID:0 IP:127.0.0.1 one.user.info invoked , 0, false
Tue Apr 20 08:00:54 2021 [Z0][ReM][D]: Req:8192 UID:0 one.user.info result SUCCESS, "<USER><ID>0</ID><GID..."
Tue Apr 20 08:00:56 2021 [Z0][ReM][D]: Req:3632 UID:0 IP:127.0.0.1 one.zone.raftstatus invoked
Tue Apr 20 08:00:56 2021 [Z0][ReM][D]: Req:3632 UID:0 one.zone.raftstatus result SUCCESS, "<RAFT><SERVER_ID>-1<..."
Tue Apr 20 08:00:56 2021 [Z0][ReM][D]: Req:8912 UID:0 IP:127.0.0.1 one.vmpool.infoextended invoked , -2, -1, -1, -1
Tue Apr 20 08:00:56 2021 [Z0][ReM][D]: Req:8912 UID:0 one.vmpool.infoextended result SUCCESS, "<VM_POOL><VM><ID>374..."
Tue Apr 20 08:00:56 2021 [Z0][ReM][D]: Req:9984 UID:0 IP:127.0.0.1 one.vmpool.infoextended invoked , -2, -1, -1, -1
Tue Apr 20 08:00:56 2021 [Z0][ReM][D]: Req:9984 UID:0 one.vmpool.infoextended result SUCCESS, "<VM_POOL><VM><ID>374..."
Tue Apr 20 08:00:58 2021 [Z0][ReM][D]: Req:1120 UID:1 IP:127.0.0.1 one.documentpool.info invoked , -2, -1, -1, 100
Tue Apr 20 08:00:58 2021 [Z0][ReM][D]: Req:1120 UID:1 one.documentpool.info result SUCCESS, "<DOCUMENT_POOL></DOC..."
Tue Apr 20 08:00:58 2021 [Z0][ReM][D]: Req:9408 UID:1 IP:127.0.0.1 one.vmpool.monitoring invoked , -2, 0
Tue Apr 20 08:00:58 2021 [Z0][ReM][D]: Req:9408 UID:1 one.vmpool.monitoring result SUCCESS, "<MONITORING_DATA><MO..."
Tue Apr 20 08:00:58 2021 [Z0][ReM][D]: Req:9920 UID:1 IP:127.0.0.1 one.vmpool.infoextended invoked , -2, -1, -1, -1, ""
Tue Apr 20 08:00:58 2021 [Z0][ReM][D]: Req:9920 UID:1 one.vmpool.infoextended result SUCCESS, "<VM_POOL><VM><ID>374..."
Tue Apr 20 08:00:58 2021 [Z0][ImM][I]: Command execution failed (exit code: 1): /var/lib/one/remotes/datastore/linstor/mkfs PERTX0RSSVZFUl9BQ1RJT05fREFUQT48SU1BR0U+PElEPjEwNzwvSUQ+PFVJRD4wPC9VSUQ+PEdJRD4wPC9HSUQ+PFVOQU1FPm9uZWFkbWluPC9VTkFNRT48R05BTUU+b25lYWRtaW48L0dOQU1FPjxOQU1FPnRlc3QtT1M8L05BTUU+PFBFUk1JU1NJT05TPjxPV05FUl9VPjE8L09XTkVSX1U+PE9XTkVSX00+MTwvT1dORVJfTT48T1dORVJfQT4wPC9PV05FUl9BPjxHUk9VUF9VPjA8L0dST1VQX1U+PEdST1VQX00+MDwvR1JPVVBfTT48R1JPVVBfQT4wPC9HUk9VUF9BPjxPVEhFUl9VPjA8L09USEVSX1U+PE9USEVSX00+MDwvT1RIRVJfTT48T1RIRVJfQT4wPC9PVEhFUl9BPjwvUEVSTUlTU0lPTlM+PFRZUEU+MDwvVFlQRT48RElTS19UWVBFPjI8L0RJU0tfVFlQRT48UEVSU0lTVEVOVD4xPC9QRVJTSVNURU5UPjxSRUdUSU1FPjE2MTg4OTg0NDY8L1JFR1RJTUU+PFNPVVJDRT48IVtDREFUQVtdXT48L1NPVVJDRT48UEFUSD48IVtDREFUQVtdXT48L1BBVEg+PEZPUk1BVD48IVtDREFUQVtyYXddXT48L0ZPUk1BVD48RlM+PCFbQ0RBVEFbXV0+PC9GUz48U0laRT4xMDI0MDwvU0laRT48U1RBVEU+NDwvU1RBVEU+PFBSRVZfU1RBVEU+MDwvUFJFVl9TVEFURT48UlVOTklOR19WTVM+MDwvUlVOTklOR19WTVM+PENMT05JTkdfT1BTPjA8L0NMT05JTkdfT1BTPjxDTE9OSU5HX0lEPi0xPC9DTE9OSU5HX0lEPjxUQVJHRVRfU05BUFNIT1Q+LTE8L1RBUkdFVF9TTkFQU0hPVD48REFUQVNUT1JFX0lEPjEyODwvREFUQVNUT1JFX0lEPjxEQVRBU1RPUkU+bGluc3Rvcl9kYXRhc3RvcmU8L0RBVEFTVE9SRT48Vk1TPjwvVk1TPjxDTE9ORVM+PC9DTE9ORVM+PEFQUF9DTE9ORVM+PC9BUFBfQ0xPTkVTPjxURU1QTEFURT48REVWX1BSRUZJWD48IVtDREFUQVtzZF1dPjwvREVWX1BSRUZJWD48L1RFTVBMQVRFPjxTTkFQU0hPVFM+PEFMTE9XX09SUEhBTlM+PCFbQ0RBVEFbTk9dXT48L0FMTE9XX09SUEhBTlM+PENVUlJFTlRfQkFTRT48IVtDREFUQVstMV1dPjwvQ1VSUkVOVF9CQVNFPjxORVhUX1NOQVBTSE9UPjwhW0NEQVRBWzBdXT48L05FWFRfU05BUFNIT1Q+PC9TTkFQU0hPVFM+PC9JTUFHRT48REFUQVNUT1JFPjxJRD4xMjg8L0lEPjxVSUQ+MDwvVUlEPjxHSUQ+MDwvR0lEPjxVTkFNRT5vbmVhZG1pbjwvVU5BTUU+PEdOQU1FPm9uZWFkbWluPC9HTkFNRT48TkFNRT5saW5zdG9yX2RhdGFzdG9yZTwvTkFNRT48UEVSTUlTU0lPTlM+PE9XTkVSX1U+MTwvT1dORVJfVT48T1dORVJfTT4xPC9PV05FUl9NPjxPV05FUl9BPjA8L09XTkVSX0E+PEdST1VQX1U+MTwvR1JPVVBfVT48R1JPVVBfTT4wPC9HUk9VUF9NPjxHUk9VUF9BPjA8L0dST1VQX0E+PE9USEVSX1U+MDwvT1RIRVJfVT48T1RIRVJfTT4wPC9PVEhFUl9NPjxPVEhFUl9BPjA8L09USEVSX0E+PC9QRVJNSVNTSU9OUz48RFNfTUFEPjwhW0NEQVRBW2xpbnN0b3JdXT48L0RTX01BRD48VE1fTUFEPjwhW0NEQVRBW2xpbnN0b3JdXT48L1RNX01BRD48QkFTRV9QQVRIPjwhW0NEQVRBWy92YXIvbGliL29uZS8vZGF0YXN0b3Jlcy8xMjhdXT48L0JBU0VfUEFUSD48VFlQRT4wPC9UWVBFPjxESVNLX1RZUEU+MjwvRElTS19UWVBFPjxTVEFURT4wPC9TVEFURT48Q0xVU1RFUlM+PElEPjA8L0lEPjwvQ0xVU1RFUlM+PFRPVEFMX01CPjk1Mzg2ODA8L1RPVEFMX01CPjxGUkVFX01CPjk1MzQ4NjQ8L0ZSRUVfTUI+PFVTRURfTUI+MzgxNjwvVVNFRF9NQj48SU1BR0VTPjxJRD4xMDI8L0lEPjxJRD4xMDM8L0lEPjxJRD4xMDQ8L0lEPjwvSU1BR0VTPjxURU1QTEFURT48QUxMT1dfT1JQSEFOUz48IVtDREFUQVt5ZXNdXT48L0FMTE9XX09SUEhBTlM+PEJSSURHRV9MSVNUPjwhW0NEQVRBW3N0bzA1MDEgc3RvMDUwMl1dPjwvQlJJREdFX0xJU1Q+PENMT05FX1RBUkdFVD48IVtDREFUQVtTRUxGXV0+PC9DTE9ORV9UQVJHRVQ+PENMT05FX1RBUkdFVF9TSEFSRUQ+PCFbQ0RBVEFbU0VMRl1dPjwvQ0xPTkVfVEFSR0VUX1NIQVJFRD48Q0xPTkVfVEFSR0VUX1NTSD48IVtDREFUQVtTRUxGXV0+PC9DTE9ORV9UQVJHRVRfU1NIPjxDT01QQVRJQkxFX1NZU19EUz48IVtDREFUQVsxMjldXT48L0NPTVBBVElCTEVfU1lTX0RTPjxESVNLX1RZUEU+PCFbQ0RBVEFbQkxPQ0tdXT48L0RJU0tfVFlQRT48RElTS19UWVBFX1NIQVJFRD48IVtDREFUQVtCTE9DS11dPjwvRElTS19UWVBFX1NIQVJFRD48RElTS19UWVBFX1NTSD48IVtDREFUQVtCTE9DS11dPjwvRElTS19UWVBFX1NTSD48RFNfTUFEPjwhW0NEQVRBW2xpbnN0b3JdXT48L0RTX01BRD48TElOU1RPUl9DT05UUk9MTEVSUz48IVtDREFUQVsxMC4xOTkuOTkuMTk6MzM3MF1dPjwvTElOU1RPUl9DT05UUk9MTEVSUz48TElOU1RPUl9SRVNPVVJDRV9HUk9VUD48IVtDREFUQVtvbmVncm91cF1dPjwvTElOU1RPUl9SRVNPVVJDRV9HUk9VUD48TE5fVEFSR0VUPjwhW0NEQVRBW05PTkVdXT48L0xOX1RBUkdFVD48TE5fVEFSR0VUX1NIQVJFRD48IVtDREFUQVtOT05FXV0+PC9MTl9UQVJHRVRfU0hBUkVEPjxMTl9UQVJHRVRfU1NIPjwhW0NEQVRBW05PTkVdXT48L0xOX1RBUkdFVF9TU0g+PFJFU1RSSUNURURfRElSUz48IVtDREFUQVsvXV0+PC9SRVNUUklDVEVEX0RJUlM+PFNBRkVfRElSUz48IVtDREFUQVsvdmFyL3RtcF1dPjwvU0FGRV9ESVJTPjxUTV9NQUQ+PCFbQ0RBVEFbbGluc3Rvcl1dPjwvVE1fTUFEPjxUTV9NQURfU1lTVEVNPjwhW0NEQVRBW3NzaCxzaGFyZWRdXT48L1RNX01BRF9TWVNURU0+PFRZUEU+PCFbQ0RBVEFbSU1BR0VfRFNdXT48L1RZUEU+PC9URU1QTEFURT48L0RBVEFTVE9SRT48L0RTX0RSSVZFUl9BQ1RJT05fREFUQT4= 107
Tue Apr 20 08:00:58 2021 [Z0][ImM][E]: Error creating datablock

Unfortunately I don't see what should be wrong looking at the mkfs script itself :/

Cheers

Failure on VM deletion

Hi there,
I am testing the linstor addon according the installation instructions and I could successfully create a VM. Live migration etc. is also working fine. When I try to delete the VM the VM goes in to failure state with following log output:

Sun Nov 25 15:11:05 2018 [Z0][VM][I]: New LCM state is SHUTDOWN
Sun Nov 25 15:11:07 2018 [Z0][VMM][I]: ExitCode: 0
Sun Nov 25 15:11:07 2018 [Z0][VMM][I]: Successfully execute virtualization driver operation: cancel.
Sun Nov 25 15:11:07 2018 [Z0][VMM][I]: Successfully execute network driver operation: clean.
Sun Nov 25 15:11:07 2018 [Z0][VM][I]: New LCM state is EPILOG
Sun Nov 25 15:11:11 2018 [Z0][TM][I]: Command execution failed (exit code: 1): /var/lib/one/remotes/tm/linstor/delete srv432:/var/lib/one//datastores/0/1/disk.0 1 100
Sun Nov 25 15:11:11 2018 [Z0][TM][I]: Traceback (most recent call last):
Sun Nov 25 15:11:11 2018 [Z0][TM][I]: File "/var/lib/one/remotes/tm/linstor/delete", line 87, in
Sun Nov 25 15:11:11 2018 [Z0][TM][I]: main()
Sun Nov 25 15:11:11 2018 [Z0][TM][I]: File "/var/lib/one/remotes/tm/linstor/delete", line 81, in main
Sun Nov 25 15:11:11 2018 [Z0][TM][I]: res.delete()
Sun Nov 25 15:11:11 2018 [Z0][TM][I]: File "/usr/lib/python2.7/site-packages/linstor_helper/resource.py", line 155, in delete
Sun Nov 25 15:11:11 2018 [Z0][TM][I]: for snap in self.snapshots():
Sun Nov 25 15:11:11 2018 [Z0][TM][I]: File "/usr/lib/python2.7/site-packages/linstor_helper/resource.py", line 215, in snapshots
Sun Nov 25 15:11:11 2018 [Z0][TM][I]: "snapshot_dfns"
Sun Nov 25 15:11:11 2018 [Z0][TM][I]: KeyError: 'snapshot_dfns'
Sun Nov 25 15:11:11 2018 [Z0][TM][E]: Error executing image transfer script
Sun Nov 25 15:11:11 2018 [Z0][VM][I]: New LCM state is EPILOG_FAILURE

Environment is Open Nebula 5.6.1 on CentOS 7.5. Two KVM Nodes and the linstor controller runs on the OpenNebula Frontend Server. linstor satellite, controller, drbd etc. on the current release as of this writing.

Please help....

Thanks & Best Regards
Uli

Using controller node for mv method

Hi!
When you call method STOP for VM, opennebula uses controller as DST:

Wed Apr 24 13:59:12 2024 [Z0][VM][I]: New LCM state is SAVE_STOP
Wed Apr 24 13:59:14 2024 [Z0][VMM][I]: ExitCode: 0
Wed Apr 24 13:59:14 2024 [Z0][VMM][I]: Successfully execute virtualization driver operation: save.
Wed Apr 24 13:59:14 2024 [Z0][VMM][I]: ExitCode: 0
Wed Apr 24 13:59:14 2024 [Z0][VMM][I]: Successfully execute network driver operation: clean.
Wed Apr 24 13:59:14 2024 [Z0][VM][I]: New LCM state is EPILOG_STOP
Wed Apr 24 14:00:11 2024 [Z0][TrM][I]: Command execution failed (exit code: 1): /var/lib/one/remotes/tm/linstor/mv onenode-prg-01:/var/lib/one//datastores/109/22/disk.0 hosting-cntl:/var/lib/one//datastores/109/22/disk.0 22 108

here hosting-cntl is just opennebula-controller (oned, sunstone etc). It's just virtual machine without any configured LVM pools. Moreover this host is not in Opennebula's hosts list.

some details:

linstor -m n l
root@linstor-cntl:~# linstor -m n l
[
  [
    {
      "name": "onenode-prg-01",
      "type": "SATELLITE",
      "props": {
        "CurStltConnName": "default",
        "NodeUname": "onenode-prg-01"
      },
      "net_interfaces": [
        {
          "name": "default",
          "address": "10.249.252.10",
          "satellite_port": 3366,
          "satellite_encryption_type": "PLAIN",
          "is_active": true,
          "uuid": "0e8a0453-b155-4e23-92ce-bbaa9ea23e2a"
        }
      ],
      "connection_status": "ONLINE",
      "uuid": "39c10b95-7335-4315-9e41-cc0e028f8748",
      "storage_providers": [
        "DISKLESS",
        "LVM",
        "LVM_THIN",
        "FILE",
        "FILE_THIN",
        "REMOTE_SPDK",
        "EBS_INIT",
        "EBS_TARGET"
      ],
      "resource_layers": [
        "DRBD",
        "WRITECACHE",
        "CACHE",
        "STORAGE"
      ],
      "unsupported_providers": {
        "SPDK": [
          "IO exception occured when running 'rpc.py spdk_get_version': Cannot run program \"rpc.py\": error=2, No such file or directory"
        ],
        "STORAGE_SPACES": [
          "This tool does not exist on the Linux platform."
        ],
        "ZFS_THIN": [
          "'cat /sys/module/zfs/version' returned with exit code 1",
          "IO exception occured when running 'zfs '-?'': Cannot run program \"zfs\": error=2, No such file or directory"
        ],
        "ZFS": [
          "'cat /sys/module/zfs/version' returned with exit code 1",
          "IO exception occured when running 'zfs '-?'': Cannot run program \"zfs\": error=2, No such file or directory"
        ],
        "EXOS": [
          "IO exception occured when running 'lsscsi --version': Cannot run program \"lsscsi\": error=2, No such file or directory"
        ],
        "STORAGE_SPACES_THIN": [
          "This tool does not exist on the Linux platform."
        ]
      },
      "unsupported_layers": {
        "LUKS": [
          "IO exception occured when running 'cryptsetup --version': Cannot run program \"cryptsetup\": error=2, No such file or directory"
        ],
        "NVME": [
          "IO exception occured when running 'nvme version': Cannot run program \"nvme\": error=2, No such file or directory"
        ],
        "BCACHE": [
          "IO exception occured when running 'make-bcache -h': Cannot run program \"make-bcache\": error=2, No such file or directory"
        ]
      }
    },
    {
      "name": "onenode-prg-02",
      "type": "SATELLITE",
      "props": {
        "CurStltConnName": "default",
        "NodeUname": "onenode-prg-02"
      },
      "net_interfaces": [
        {
          "name": "default",
          "address": "10.249.252.11",
          "satellite_port": 3366,
          "satellite_encryption_type": "PLAIN",
          "is_active": true,
          "uuid": "31b19016-95ad-4a8a-ae3e-6d04e9d73a9a"
        }
      ],
      "connection_status": "ONLINE",
      "uuid": "777348da-5329-4a5b-8e79-8be0c36813a1",
      "storage_providers": [
        "DISKLESS",
        "LVM",
        "LVM_THIN",
        "FILE",
        "FILE_THIN",
        "REMOTE_SPDK",
        "EBS_INIT",
        "EBS_TARGET"
      ],
      "resource_layers": [
        "DRBD",
        "WRITECACHE",
        "CACHE",
        "STORAGE"
      ],
      "unsupported_providers": {
        "SPDK": [
          "IO exception occured when running 'rpc.py spdk_get_version': Cannot run program \"rpc.py\": error=2, No such file or directory"
        ],
        "STORAGE_SPACES": [
          "This tool does not exist on the Linux platform."
        ],
        "ZFS_THIN": [
          "'cat /sys/module/zfs/version' returned with exit code 1",
          "IO exception occured when running 'zfs '-?'': Cannot run program \"zfs\": error=2, No such file or directory"
        ],
        "ZFS": [
          "'cat /sys/module/zfs/version' returned with exit code 1",
          "IO exception occured when running 'zfs '-?'': Cannot run program \"zfs\": error=2, No such file or directory"
        ],
        "EXOS": [
          "IO exception occured when running 'lsscsi --version': Cannot run program \"lsscsi\": error=2, No such file or directory"
        ],
        "STORAGE_SPACES_THIN": [
          "This tool does not exist on the Linux platform."
        ]
      },
      "unsupported_layers": {
        "LUKS": [
          "IO exception occured when running 'cryptsetup --version': Cannot run program \"cryptsetup\": error=2, No such file or directory"
        ],
        "NVME": [
          "IO exception occured when running 'nvme version': Cannot run program \"nvme\": error=2, No such file or directory"
        ],
        "BCACHE": [
          "IO exception occured when running 'make-bcache -h': Cannot run program \"make-bcache\": error=2, No such file or directory"
        ]
      }
    },
    {
      "name": "onenode-prg-03",
      "type": "SATELLITE",
      "props": {
        "CurStltConnName": "default",
        "NodeUname": "onenode-prg-03"
      },
      "net_interfaces": [
        {
          "name": "default",
          "address": "10.249.252.12",
          "satellite_port": 3366,
          "satellite_encryption_type": "PLAIN",
          "is_active": true,
          "uuid": "5f2954be-e062-4dbb-90c7-95eadd88c911"
        }
      ],
      "connection_status": "ONLINE",
      "uuid": "6433ff3c-6e61-443a-9788-fc1cbd55b29f",
      "storage_providers": [
        "DISKLESS",
        "LVM",
        "LVM_THIN",
        "FILE",
        "FILE_THIN",
        "REMOTE_SPDK",
        "EBS_INIT",
        "EBS_TARGET"
      ],
      "resource_layers": [
        "DRBD",
        "NVME",
        "WRITECACHE",
        "CACHE",
        "STORAGE"
      ],
      "unsupported_providers": {
        "SPDK": [
          "IO exception occured when running 'rpc.py spdk_get_version': Cannot run program \"rpc.py\": error=2, No such file or directory"
        ],
        "STORAGE_SPACES": [
          "This tool does not exist on the Linux platform."
        ],
        "ZFS_THIN": [
          "'cat /sys/module/zfs/version' returned with exit code 1",
          "IO exception occured when running 'zfs '-?'': Cannot run program \"zfs\": error=2, No such file or directory"
        ],
        "ZFS": [
          "'cat /sys/module/zfs/version' returned with exit code 1",
          "IO exception occured when running 'zfs '-?'': Cannot run program \"zfs\": error=2, No such file or directory"
        ],
        "EXOS": [
          "IO exception occured when running 'lsscsi --version': Cannot run program \"lsscsi\": error=2, No such file or directory"
        ],
        "STORAGE_SPACES_THIN": [
          "This tool does not exist on the Linux platform."
        ]
      },
      "unsupported_layers": {
        "LUKS": [
          "IO exception occured when running 'cryptsetup --version': Cannot run program \"cryptsetup\": error=2, No such file or directory"
        ],
        "BCACHE": [
          "IO exception occured when running 'make-bcache -h': Cannot run program \"make-bcache\": error=2, No such file or directory"
        ]
      }
    }
  ]
]
onedatastore show 108
oneadmin@hosting-cntl:/root$ onedatastore show 108
DATASTORE 108 INFORMATION
ID             : 108
NAME           : linstor-images
USER           : oneadmin
GROUP          : oneadmin
CLUSTERS       : 0
TYPE           : IMAGE
DS_MAD         : linstor
TM_MAD         : linstor
BASE PATH      : /var/lib/one//datastores/108
DISK_TYPE      : BLOCK
STATE          : READY

DATASTORE CAPACITY
TOTAL:         : 5.2T
FREE:          : 5.2T
USED:          : 6.6G
LIMIT:         : -

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

DATASTORE TEMPLATE
ALLOW_ORPHANS="yes"
BRIDGE_LIST="onenode-prg-01 onenode-prg-02 onenode-prg-03"
CLONE_TARGET="SELF"
CLONE_TARGET_SHARED="SELF"
CLONE_TARGET_SSH="SELF"
COMPATIBLE_SYS_DS="109"
DISK_TYPE="BLOCK"
DISK_TYPE_SHARED="BLOCK"
DISK_TYPE_SSH="BLOCK"
DS_MAD="linstor"
LINSTOR_CONTROLLERS="10.249.252.2:3370"
LINSTOR_RESOURCE_GROUP="on_image_rg"
LN_TARGET="NONE"
LN_TARGET_SHARED="NONE"
LN_TARGET_SSH="NONE"
RESTRICTED_DIRS="/"
SAFE_DIRS="/var/tmp"
TM_MAD="linstor"
TM_MAD_SYSTEM="ssh,shared"
TYPE="IMAGE_DS"

IMAGES
16
onedatastore show 109
oneadmin@hosting-cntl:/root$ onedatastore show 109
DATASTORE 109 INFORMATION
ID             : 109
NAME           : linstor-system
USER           : oneadmin
GROUP          : oneadmin
CLUSTERS       : 0
TYPE           : SYSTEM
DS_MAD         : -
TM_MAD         : linstor
BASE PATH      : /var/lib/one//datastores/109
DISK_TYPE      : BLOCK
STATE          : READY

DATASTORE CAPACITY
TOTAL:         : 5.2T
FREE:          : 5.2T
USED:          : 6.6G
LIMIT:         : -

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

DATASTORE TEMPLATE
ALLOW_ORPHANS="yes"
BRIDGE_LIST="onenode-prg-01 onenode-prg-02 onenode-prg-03"
DISK_TYPE="BLOCK"
DS_MIGRATE="YES"
LINSTOR_CONTROLLERS="10.249.252.2:3370"
LINSTOR_RESOURCE_GROUP="on_system_rg"
RESTRICTED_DIRS="/"
SAFE_DIRS="/var/tmp"
SHARED="YES"
TM_MAD="linstor"
TYPE="SYSTEM_DS"

IMAGES
full log
oneadmin@hosting-cntl:/root$ cat /var/log/one/22.log
Wed Apr 24 13:58:52 2024 [Z0][VM][I]: New state is ACTIVE
Wed Apr 24 13:58:52 2024 [Z0][VM][I]: New LCM state is PROLOG
Wed Apr 24 13:58:59 2024 [Z0][VM][I]: New LCM state is BOOT
Wed Apr 24 13:58:59 2024 [Z0][VMM][I]: Generating deployment file: /var/lib/one/vms/22/deployment.0
Wed Apr 24 13:59:00 2024 [Z0][VMM][I]: Successfully execute transfer manager driver operation: tm_context.
Wed Apr 24 13:59:00 2024 [Z0][VMM][I]: ExitCode: 0
Wed Apr 24 13:59:00 2024 [Z0][VMM][I]: Successfully execute network driver operation: pre.
Wed Apr 24 13:59:00 2024 [Z0][VMM][I]: ExitCode: 0
Wed Apr 24 13:59:00 2024 [Z0][VMM][I]: Successfully execute virtualization driver operation: /bin/mkdir -p.
Wed Apr 24 13:59:00 2024 [Z0][VMM][I]: ExitCode: 0
Wed Apr 24 13:59:00 2024 [Z0][VMM][I]: Successfully execute virtualization driver operation: /bin/cat - >/var/lib/one//datastores/109/22/vm.xml.
Wed Apr 24 13:59:00 2024 [Z0][VMM][I]: ExitCode: 0
Wed Apr 24 13:59:00 2024 [Z0][VMM][I]: Successfully execute virtualization driver operation: /bin/cat - >/var/lib/one//datastores/109/22/ds.xml.
Wed Apr 24 13:59:01 2024 [Z0][VMM][I]: XPath set is empty
Wed Apr 24 13:59:01 2024 [Z0][VMM][I]: ExitCode: 0
Wed Apr 24 13:59:01 2024 [Z0][VMM][I]: Successfully execute virtualization driver operation: deploy.
Wed Apr 24 13:59:01 2024 [Z0][VMM][I]: ExitCode: 0
Wed Apr 24 13:59:01 2024 [Z0][VMM][I]: Successfully execute network driver operation: post.
Wed Apr 24 13:59:01 2024 [Z0][VM][I]: New LCM state is RUNNING
Wed Apr 24 13:59:12 2024 [Z0][VM][I]: New LCM state is SAVE_STOP
Wed Apr 24 13:59:14 2024 [Z0][VMM][I]: ExitCode: 0
Wed Apr 24 13:59:14 2024 [Z0][VMM][I]: Successfully execute virtualization driver operation: save.
Wed Apr 24 13:59:14 2024 [Z0][VMM][I]: ExitCode: 0
Wed Apr 24 13:59:14 2024 [Z0][VMM][I]: Successfully execute network driver operation: clean.
Wed Apr 24 13:59:14 2024 [Z0][VM][I]: New LCM state is EPILOG_STOP
Wed Apr 24 14:00:11 2024 [Z0][TrM][I]: Command execution failed (exit code: 1): /var/lib/one/remotes/tm/linstor/mv onenode-prg-01:/var/lib/one//datastores/109/22/disk.0 hosting-cntl:/var/lib/one//datastores/109/22/disk.0 22 108
Wed Apr 24 14:00:11 2024 [Z0][TrM][I]: Traceback (most recent call last):
Wed Apr 24 14:00:11 2024 [Z0][TrM][I]: File "/var/lib/one/.local/lib/python3.9/site-packages/one/util.py", line 392, in run_main
Wed Apr 24 14:00:11 2024 [Z0][TrM][I]: main_func()
Wed Apr 24 14:00:11 2024 [Z0][TrM][I]: File "/var/lib/one/remotes/tm/linstor/mv", line 206, in main
Wed Apr 24 14:00:11 2024 [Z0][TrM][I]: move_none_linstor_host(lin, src_host, src_path, dst_host, dst_path, dst_dir, res_name)
Wed Apr 24 14:00:11 2024 [Z0][TrM][I]: File "/var/lib/one/remotes/tm/linstor/mv", line 91, in move_none_linstor_host
Wed Apr 24 14:00:11 2024 [Z0][TrM][I]: raise RuntimeError("Unable to copy linstor resource from {from_host} to new host {host}: {err}"
Wed Apr 24 14:00:11 2024 [Z0][TrM][I]: RuntimeError: Unable to copy linstor resource from onenode-prg-01 to new host hosting-cntl: ERROR: bash: Command "dd" failed:
Wed Apr 24 14:00:11 2024 [Z0][TrM][I]:
Wed Apr 24 14:00:11 2024 [Z0][TrM][E]: Unable to copy linstor resource from onenode-prg-01 to new host hosting-cntl: ERROR: bash: Command "dd" failed:
Wed Apr 24 14:00:11 2024 [Z0][TrM][E]: Error executing image transfer script: Traceback (most recent call last):   File "/var/lib/one/.local/lib/python3.9/site-packages/one/util.py", line 392, in run_main     main_func()   File "/var/lib/one/remotes/tm/linstor/mv", line 206, in main     move_none_linstor_host(lin, src_host, src_path, dst_host, dst_path, dst_dir, res_name)   File "/var/lib/one/remotes/tm/linstor/mv", line 91, in move_none_linstor_host     raise RuntimeError("Unable to copy linstor resource from {from_host} to new host {host}: {err}" RuntimeError: Unable to copy linstor resource from onenode-prg-01 to new host hosting-cntl: ERROR: bash: Command "dd" failed:   ERROR: Unable to copy linstor resource from onenode-prg-01 to new host hosting-cntl: ERROR: bash: Command "dd" failed:
Wed Apr 24 14:00:11 2024 [Z0][VM][I]: New LCM state is EPILOG_STOP_FAILURE
journalctl -u opennebula
Apr 24 13:58:52 hosting-cntl clone[1547739]: INFO Entering tm clone src:hosting-cntl:OpenNebula-Image-16 dst:onenode-prg-01:/var/lib/one//datastores/109/22/disk.0
Apr 24 13:58:52 hosting-cntl clone[1547739]: INFO running shell command: onedatastore show --xml 108
Apr 24 13:58:52 hosting-cntl clone[1547739]: INFO running shell command: onevm show -x 22
Apr 24 13:58:53 hosting-cntl clone[1547739]: INFO Cloning from resource 'OpenNebula-Image-16' to 'OpenNebula-Image-16-vm22-disk0'.
Apr 24 13:58:59 hosting-cntl clone[1547739]: INFO ssh 'onenode-prg-01' cmd: mkdir -p /var/lib/one/datastores/109/22 && ln -fs /dev/drbd1005 /var/lib/one/datastores/109/22/disk.0
Apr 24 13:58:59 hosting-cntl clone[1547739]: INFO Exiting tm clone
Apr 24 13:58:59 hosting-cntl context[1547779]: INFO Entering tm/context on onenode-prg-01:/var/lib/one//datastores/109/22/disk.1.
Apr 24 13:58:59 hosting-cntl context[1547779]: INFO running shell command: onedatastore show --xml 109
Apr 24 13:59:00 hosting-cntl context[1547779]: INFO running shell command: onevm show -x 22
Apr 24 13:59:00 hosting-cntl context[1547779]: INFO tm/ssh/context finished with 0.
Apr 24 13:59:14 hosting-cntl mv[1547871]: INFO Entering tm mv, from='onenode-prg-01:/var/lib/one//datastores/109/22/disk.0' to='hosting-cntl:/var/lib/one//datastores/109/22/disk.0'
Apr 24 13:59:14 hosting-cntl mv[1547871]: INFO running shell command: onedatastore show --xml 108
Apr 24 13:59:14 hosting-cntl mv[1547871]: INFO running shell command: onevm show -x 22
Apr 24 13:59:14 hosting-cntl mv[1547871]: INFO OpenNebula-Image-16-vm22-disk0 is a non-persistent OS or DATABLOCK image
Apr 24 13:59:14 hosting-cntl mv[1547871]: INFO None Linstor dst node: hosting-cntl
Apr 24 13:59:14 hosting-cntl mv[1547871]: INFO running shell command: bash -c source /var/lib/one/remotes//scripts_common.sh && ssh_make_path hosting-cntl /var/lib/one/datastores/109/22
Apr 24 13:59:15 hosting-cntl mv[1547871]: INFO ssh 'onenode-prg-01' cmd: set -e -o pipefail && dd if=/dev/drbd1005 bs=4M iflag=direct conv=sparse | ssh hosting-cntl -- 'dd of=/var/lib/one/datastores/109/22/disk.0 bs=4M conv=sparse'
Apr 24 14:00:11 hosting-cntl mv[1547871]: ERROR Traceback (most recent call last):
                                            File "/var/lib/one/.local/lib/python3.9/site-packages/one/util.py", line 392, in run_main
                                              main_func()
                                            File "/var/lib/one/remotes/tm/linstor/mv", line 206, in main
                                              move_none_linstor_host(lin, src_host, src_path, dst_host, dst_path, dst_dir, res_name)
                                            File "/var/lib/one/remotes/tm/linstor/mv", line 91, in move_none_linstor_host
                                              raise RuntimeError("Unable to copy linstor resource from {from_host} to new host {host}: {err}"
                                          RuntimeError: Unable to copy linstor resource from onenode-prg-01 to new host hosting-cntl: ERROR: bash: Command "dd" failed:

Update Drivers for 6.8 release

In relation with OpenNebula/one#6162 issue, we have updated the datastore drivers to take the driver message action through stdin. The change is rather simple, just read DRV_ACTION from stdin, see for example this change, something like:

DRV_ACTION=`cat -`
ID=$1

This needs to happen for every datastore/* action file and tm/monitor script (for example see here)

Note: Releases 6.4.x and 6.6.x will support both behaviors (configurable through oned.conf) to preserve compatibility

After (hard) reboot of storage node state of (disk-)resource (attached to a VM) is unknown on rebooted node

Hi again,
I am currently in the status of testing what can go wrong and have switched off the passive storage node (resource state=unused) and switched it on again to see if replication starts again.
See detailed history below (FYI, that the text is partly crossed is unintended)

SETUP:
srv485 -> linstor controller & OpenNebula Frontend
srv484 & srv483 -> linstor satellite & storage node & OpenNebula KVM host,
datatore policy -> LINSTOR_AUTO_PLACE = 2
OS: Centos 7.5 (same error behaviour on Ubuntu 18.04 btw)

VM creation, live migration, VM deletion is working fine.
Is there conceptually something I am missing or is this unexpected behavior?

oneadmin@srv485:~$ linstor resource list
╭────────────────────────────────────────────────────────╮
┊ ResourceName ┊ Node ┊ Port ┊ Usage ┊ State ┊
╞┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╡
┊ OpenNebula-Image-0 ┊ srv483 ┊ 7000 ┊ Unused ┊ UpToDate ┊
┊ OpenNebula-Image-0 ┊ srv484 ┊ 7000 ┊ Unused ┊ UpToDate ┊
╰────────────────────────────────────────────────────────╯

oneadmin@srv485:~$ onetemplate instantiate 0
VM ID: 0

oneadmin@srv485:~$ linstor resource list
╭──────────────────────────────────────────────────────────────────╮
┊ ResourceName ┊ Node ┊ Port ┊ Usage ┊ State ┊
╞┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╡
┊ OpenNebula-Image-0 ┊ srv483 ┊ 7000 ┊ Unused ┊ UpToDate ┊
┊ OpenNebula-Image-0 ┊ srv484 ┊ 7000 ┊ Unused ┊ UpToDate ┊
┊ OpenNebula-Image-0-vm0-disk0 ┊ srv483 ┊ 7001 ┊ Unused ┊ UpToDate ┊
┊ OpenNebula-Image-0-vm0-disk0 ┊ srv484 ┊ 7001 ┊ InUse ┊ UpToDate ┊
╰──────────────────────────────────────────────────────────────────╯

SWITCHING OFF NODE srv483

oneadmin@srv485:~$ linstor resource list
╭──────────────────────────────────────────────────────────────────╮
┊ ResourceName ┊ Node ┊ Port ┊ Usage ┊ State ┊
╞┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╡
┊ OpenNebula-Image-0 ┊ srv483 ┊ 7000 ┊ ┊ Unknown ┊
┊ OpenNebula-Image-0 ┊ srv484 ┊ 7000 ┊ Unused ┊ UpToDate ┊
┊ OpenNebula-Image-0-vm0-disk0 ┊ srv483 ┊ 7001 ┊ ┊ Unknown ┊
┊ OpenNebula-Image-0-vm0-disk0 ┊ srv484 ┊ 7001 ┊ InUse ┊ UpToDate ┊
╰──────────────────────────────────────────────────────────────────╯

oneadmin@srv485:~$ linstor node list
╭─────────────────────────────────────────────────────────────────────╮
┊ Node ┊ NodeType ┊ Addresses ┊ State ┊
╞┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╡
┊ srv483 ┊ SATELLITE ┊ 100.80.0.15,100.80.0.15:3366 (PLAIN) ┊ OFFLINE ┊
┊ srv484 ┊ SATELLITE ┊ 100.80.0.16,100.80.0.16:3366 (PLAIN) ┊ Online ┊
╰─────────────────────────────────────────────────────────────────────╯

SWITCHING ON node srv483

oneadmin@srv485:$ linstor node list
╭────────────────────────────────────────────────────────────────────╮
┊ Node ┊ NodeType ┊ Addresses ┊ State ┊
╞┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╡
┊ srv483 ┊ SATELLITE ┊ 100.80.0.15,100.80.0.15:3366 (PLAIN) ┊ Online ┊
┊ srv484 ┊ SATELLITE ┊ 100.80.0.16,100.80.0.16:3366 (PLAIN) ┊ Online ┊
╰────────────────────────────────────────────────────────────────────╯
oneadmin@srv485:
$ linstor resource list
╭──────────────────────────────────────────────────────────────────╮
┊ ResourceName ┊ Node ┊ Port ┊ Usage ┊ State ┊
╞┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╡
┊ OpenNebula-Image-0 ┊ srv483 ┊ 7000 ┊ Unused ┊ UpToDate ┊
┊ OpenNebula-Image-0 ┊ srv484 ┊ 7000 ┊ Unused ┊ UpToDate ┊
┊ OpenNebula-Image-0-vm0-disk0 ┊ srv483 ┊ 7001 ┊ ┊ Unknown ┊
┊ OpenNebula-Image-0-vm0-disk0 ┊ srv484 ┊ 7001 ┊ InUse ┊ UpToDate ┊
╰──────────────────────────────────────────────────────────────────╯

oneadmin@srv485:$ linstor error-reports list
╭────────────────────────────────────────────────────────────╮
┊ Nr. ┊ Id ┊ Datetime ┊ Node ┊
╞┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╡
┊ 1 ┊ 5BFE9E8A-90340-000000 ┊ 2018-11-28 14:56:47 ┊ srv483 ┊
╰────────────────────────────────────────────────────────────╯
oneadmin@srv485:
$ linstor error-reports show 5BFE9E8A-90340-000000
ERROR REPORT 5BFE9E8A-90340-000000

============================================================

Application: LINBIT® LINSTOR
Module: Satellite
Version: 0.7.3
Build ID: 6e47dd2cb440e65727889f4c2f7423996153bdb3
Build time: 2018-11-22T10:55:51+00:00
Error time: 2018-11-28 14:56:47
Node: srv483

============================================================

Reported error:

Description:
Operations on resource 'OpenNebula-Image-0-vm0-disk0' were aborted
Cause:
Meta data creation for volume 0 failed because the execution of an external command failed
Correction:
- Check whether the required software is installed
- Check whether the application's search path includes the location
of the external software
- Check whether the application has execute permission for the external command

Category: LinStorException
Class name: ResourceException
Class canonical name: com.linbit.linstor.core.DrbdDeviceHandler.ResourceException
Generated at: Method 'createResourceMetaData', Source file 'DrbdDeviceHandler.java', Line #1524

Error message: Meta data creation for resource 'OpenNebula-Image-0-vm0-disk0' volume 0 failed

Error context:
Meta data creation for resource 'OpenNebula-Image-0-vm0-disk0' volume 0 failed

Call backtrace:

Method                                   Native Class:Line number
createResourceMetaData                   N      com.linbit.linstor.core.DrbdDeviceHandler:1524
createResource                           N      com.linbit.linstor.core.DrbdDeviceHandler:1138
dispatchResource                         N      com.linbit.linstor.core.DrbdDeviceHandler:364
run                                      N      com.linbit.linstor.core.DeviceManagerImpl$DeviceHandlerInvocation:1225
run                                      N      com.linbit.WorkerPool$WorkerThread:179

Caused by:

Description:
Execution of the external command 'drbdadm' failed.
Cause:
The external command exited with error code 20.
Correction:
- Check whether the external program is operating properly.
- Check whether the command line is correct.
Contact a system administrator or a developer if the command line is no longer valid
for the installed version of the external program.
Additional information:
The full command line executed was:
drbdadm -vvv --max-peers 7 -- --force create-md OpenNebula-Image-0-vm0-disk0/0

The external command sent the following output data:
drbdmeta 1001 v09 /dev/vg-drbdpool/OpenNebula-Image-0-vm0-disk0_00000 internal create-md 7 --force 


The external command sent the follwing error information:
open(/dev/vg-drbdpool/OpenNebula-Image-0-vm0-disk0_00000) failed: No such file or directory
open(/dev/vg-drbdpool/OpenNebula-Image-0-vm0-disk0_00000) failed: No such file or directory
Command 'drbdmeta 1001 v09 /dev/vg-drbdpool/OpenNebula-Image-0-vm0-disk0_00000 internal create-md 7 --force' terminated with exit code 20

Category: LinStorException
Class name: ExtCmdFailedException
Class canonical name: com.linbit.extproc.ExtCmdFailedException
Generated at: Method 'execute', Source file 'DrbdAdm.java', Line #437

Error message: The external command 'drbdadm' exited with error code 20

Call backtrace:

Method                                   Native Class:Line number
execute                                  N      com.linbit.drbd.DrbdAdm:437
simpleAdmCommand                         N      com.linbit.drbd.DrbdAdm:388
createMd                                 N      com.linbit.drbd.DrbdAdm:217
createVolumeMetaData                     N      com.linbit.linstor.core.DrbdDeviceHandler:1060
createResourceMetaData                   N      com.linbit.linstor.core.DrbdDeviceHandler:1489
createResource                           N      com.linbit.linstor.core.DrbdDeviceHandler:1138
dispatchResource                         N      com.linbit.linstor.core.DrbdDeviceHandler:364
run                                      N      com.linbit.linstor.core.DeviceManagerImpl$DeviceHandlerInvocation:1225
run                                      N      com.linbit.WorkerPool$WorkerThread:179

END OF ERROR REPORT.

System datastore driver 'linstor' not available

Hello,

I had issues to make them work.
I'm using OpenNebula 5.13.90 (d738ff6b).

The required executable files as mentioned in issue #5 are in their locations - /var/lib/one/remotes/tm/linstor/ && /var/lib/one/remotes/datastore/linstor/

Should this be an incompatibility problem or am I making error>

BR,
Plamen

Support native OpenNebula backup

Is it planned to support native OpenNebula backup functionality?
Now I can create a backup (after adding files (postbackup, prebackup, postbackup_live, prebackup_live) in /var/lib/one/remotes/tm/linstor/) and the backups are stored in backup storage (rsync).
But I can't restore with the following error:

Tue Sep 26 16:04:13 2023 : Error copying image in the datastore: Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/one/util.py", line 392, in run_main main_func() File "/var/lib/one/remotes/datastore/linstor/cp", line 60, in main "-", File "/usr/lib/python3.6/site-packages/one/util.py", line 284, in set_downloader_args return _get_subp_out(_source(LIBFS, "set_downloader_args", string_args)) File "/usr/lib/python3.6/site-packages/one/util.py", line 103, in _get_subp_out raise subprocess.CalledProcessError(returncode=rc, cmd=cmd, output=out, stderr=err) subprocess.CalledProcessError: Command '['bash', '-c', 'source /var/lib/one/remotes//datastore/libfs.sh && set_downloader_args "" "" "" "" rsync://102/0:8fa45e//var/lib/one//datastores/102/0/8fa45e/disk.0.0\n -']' returned non-zero exit status 127. ERROR: Command ['bash', '-c', 'source /var/lib/one/remotes//datastore/libfs.sh && set_downloader_args "" "" "" "" rsync://102/0:8fa45e//var/lib/one//datastores/102/0/8fa45e/disk.0.0\n -'] returned error: 'rsync://102/0:8fa45e//var/lib/one//datastores/102/0/8fa45e/disk.0.0' bash: line 1: -: command not found

Replica count

Hello,

I'm experiencing strange behavior creating VMs, that did not had before (while using Ubuntu OS with deb installers and thin LVM):

The system datastore with ID 101 in OpenNebula is configured as folllows:

ALLOW_ORPHANS	yes	 
BRIDGE_LIST	colo-srv-1 colo-srv-2 colo-srv-3	 
DISK_TYPE	FILE	 
DS_MIGRATE	YES	 
LINSTOR_CLONE_MODE	copy	 
LINSTOR_CONTROLLERS	colo-srv-1,colo-srv-2,colo-srv-3	 
LINSTOR_RESOURCE_GROUP	OneSysRscGrp	 
RESTRICTED_DIRS	/	 
SAFE_DIRS	/var/tmp	 
SHARED	YES	 
TM_MAD	linstor	 
TYPE	SYSTEM_DS	 

The image datastore with ID 102 is configured there as follows:

ALLOW_ORPHANS	yes	 
BRIDGE_LIST	colo-srv-1 colo-srv-2 colo-srv-3	 
CLONE_TARGET	SELF	 
CLONE_TARGET_SHARED	SELF	 
CLONE_TARGET_SSH	SELF	 
COMPATIBLE_SYS_DS	0,101	 
DISK_TYPE	BLOCK	 
DISK_TYPE_SHARED	BLOCK	 
DISK_TYPE_SSH	BLOCK	 
DS_MAD	linstor	 
LINSTOR_CLONE_MODE	copy	 
LINSTOR_CONTROLLERS	colo-srv-1,colo-srv-2,colo-srv-3	 
LINSTOR_RESOURCE_GROUP	OneRscGrp	 
LN_TARGET	NONE	 
LN_TARGET_SHARED	NONE	 
LN_TARGET_SSH	NONE	 
RESTRICTED_DIRS	/	 
SAFE_DIRS	/var/tmp	 
TM_MAD	linstor	 
TM_MAD_SYSTEM	ssh,shared	 
TYPE	IMAGE_DS	 

I've decided to use non-thin LVM, so I set LINSTOR_CLONE_MODE to copy

The resource groups in the Linstor are created as follows:

╭────────────────────────────────────────────────────────────────╮
┊ ResourceGroup ┊ SelectFilter            ┊ VlmNrs ┊ Description ┊
╞════════════════════════════════════════════════════════════════╡
┊ DfltRscGrp    ┊ PlaceCount: 2           ┊        ┊             ┊
╞┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╡
┊ OneRscGrp     ┊ PlaceCount: 3           ┊ 0      ┊             ┊
┊               ┊ StoragePool(s): onepool ┊        ┊             ┊
╞┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╡
┊ OneSysRscGrp  ┊ PlaceCount: 3           ┊ 0      ┊             ┊
┊               ┊ StoragePool(s): onepool ┊        ┊             ┊

The question is why the images are placed on 3 storage nodes, but when I create VMs their disks/resources are placed only on two of them?

Maybe there is some mistake I do but cannot find a reason.

Thanks in advance.

BR,
Plamen

'file' driver requires '/var/lib/one//datastores/113/20/disk.1' to be a regular file

Hi guys!

I'm running Opennebula 6.8, and trying to use Linstor datastore. Image DS works(I can successfully download an image from market), but system DS - doesn't.
If I create a VM, it gets stuck in PENDING state forever and throws me the following error:

Scheduler Error
Tue Dec 26 18:04:15 2023: Cannot dispatch VM: No system datastore meets capacity and SCHED_DS_REQUIREMENTS: ("CLUSTERS/ID" @> 100) & ("ID" @> 0) & ( ID="113" )

That is sched.log snippet:

Tue Dec 26 18:11:01 2023 [Z0][VM][D]: Found 1 pending/rescheduling VMs.
Tue Dec 26 18:11:01 2023 [Z0][HOST][D]: Discovered 3 enabled hosts.
Tue Dec 26 18:11:01 2023 [Z0][VM][D]: VMs in VMGroups:

Tue Dec 26 18:11:01 2023 [Z0][VNET][D]: Discovered 0 vnets.
Tue Dec 26 18:11:01 2023 [Z0][SCHED][D]: Match-making results for VM 16:
        Cannot schedule VM, there is no suitable system ds.

Tue Dec 26 18:11:01 2023 [Z0][SCHED][D]: Dispatching VMs to hosts:
        VMID    Priority        Host    System DS

For Discovered 0 vnets. message - this cluster has no networking set up yet, but can successfully run VMs on default(0,1,2) datastores.
I'm using different LINSTOR_RESOURCE_GROUPs for system and image datastores.

Support for live snapshots

Hi, is there a timeline for when this driver would support live snapshots? Right now, we just get an operation not supported message. This is critical for our business that we use the live snapshotting feature.

Installation instructions not working/ outdated

I setup a new debian buster test system and install opennebula and linstor there. Both for. Now I try to integrate them.

In the first run the setup complained about a missing setuptool module. Running "apt-get install python-setuptools" solved it. But now fails with:

root@n1:/tmp/addon-linstor# python setup.py install
running install
running bdist_egg
running egg_info
writing requirements to linstor_opennebula.egg-info/requires.txt
writing linstor_opennebula.egg-info/PKG-INFO
writing top-level names to linstor_opennebula.egg-info/top_level.txt
writing dependency_links to linstor_opennebula.egg-info/dependency_links.txt
reading manifest file 'linstor_opennebula.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'linstor_opennebula.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/vm.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/image.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/driver_action.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/extender.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/init.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/util.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/consts.py -> build/bdist.linux-x86_64/egg/one
copying build/lib.linux-x86_64-2.7/one/datastore.py -> build/bdist.linux-x86_64/egg/one
byte-compiling build/bdist.linux-x86_64/egg/one/vm.py to vm.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/image.py to image.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/driver_action.py to driver_action.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/extender.py to extender.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/init.py to init.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/util.py to util.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/consts.py to consts.pyc
byte-compiling build/bdist.linux-x86_64/egg/one/datastore.py to datastore.pyc
installing package data to build/bdist.linux-x86_64/egg
running install_data
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying linstor_opennebula.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying linstor_opennebula.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying linstor_opennebula.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying linstor_opennebula.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying linstor_opennebula.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/linstor_opennebula-1.0.9-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing linstor_opennebula-1.0.9-py2.7.egg
Removing /usr/local/lib/python2.7/dist-packages/linstor_opennebula-1.0.9-py2.7.egg
Copying linstor_opennebula-1.0.9-py2.7.egg to /usr/local/lib/python2.7/dist-packages
linstor-opennebula 1.0.9 is already the active version in easy-install.pth
Installed /usr/local/lib/python2.7/dist-packages/linstor_opennebula-1.0.9-py2.7.egg
Processing dependencies for linstor-opennebula==1.0.9
Searching for python-linstor>=1.0.13
Reading https://pypi.org/simple/python-linstor/
Couldn't find index page for 'python-linstor' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
No local packages or working download links found for python-linstor>=1.0.13
error: Could not find suitable distribution for Requirement.parse('python-linstor>=1.0.13')

I already installed the python-linstor package:

root@n1:/tmp/addon-linstor# apt-get install python-linstor linstor-client
Reading package lists... Done
Building dependency tree
Reading state information... Done
linstor-client is already the newest version (1.1.2-1).
python-linstor is already the newest version (1.1.2-1).
python-linstor set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

It'd be great if the install instructions could be updated/ completed. Thank you.

Instantiation of multiple VMs

If I try to instantiate more than 1 VM at a time on a linstor storage, the linstor is stopping to work due to multiple pvdisplay processes on the nodes hanging.

Does this happens to somebody else and is there a workaround?

Different linstor controller address than localhost

Is there an options to change the linstor controller address or better - add multiple addresses the way the linstor-client works?

By default analyzed from the logs its searching for linstor://localhost but there can be different controllers in a HA way that are on different machines.

BR,
Plamen

Disk snapshot delete/revert not working

Hi
Snapshot creation is working fine. Disk save is also working fine.
But deleting and reverting the snapshots does not work.
oned.log only gives following error message:

"Sat Dec 1 15:17:40 2018 [Z0][TM][D]: Message received: LOG I 1 Command execution failed (exit code: 1): /var/lib/one/remotes/tm/linstor/snap_delete srv486:/var/lib/one//datastores/0/1/disk.0 0 1 100

Sat Dec 1 15:17:40 2018 [Z0][TM][D]: Message received: TRANSFER FAILURE 1 -

Best Regards
Uli

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.