Status: New
Owner: ----
New issue 1172 by [email protected]: gnt-instance move > socat: E
openssl-method="TLSv1": method unknown
https://code.google.com/p/ganeti/issues/detail?id=1172
Hello,
i encountered an issue when trying to move a plain instance from one node
to another. In short the error after gnt-instance move is:
"disk/0 failed to receive data: Exited with status 1 (recent output: socat:
E openssl-method="TLSv1": method unknown or not provided by library\n0+0
records in\n0+0 records out\n0 bytes (0 B) copied, 0.00308621 s, 0.0 kB/s)"
What software version are you running?
######################################
:~ gnt-cluster --version
gnt-cluster (ganeti 2.15.1-1) 2.15.1
:~ gnt-cluster version
Software version: 2.15.1
Internode protocol: 2150000
Configuration format: 2150000
OS api version: 20
Export interface: 0
VCS version: (ganeti) version 2.15.1-1
:~ hspace --version
hspace (ganeti) version 2.15.1-1
compiled with ghc 7.8
running on linux x86_64
What distribution are you using?
######################################
:~ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 15.10
Release: 15.10
Codename: wily
What steps will reproduce the problem?
######################################
1. standard ganeti package install from ubuntu 15.10
2. init the cluster
3. add second node
4. add instance with plain disk
5. move instance from one node to the other
What is the expected output?
######################################
{code}
root@gnt1:~ gnt-instance move -n gnt1.tstdomain.local
klaus20.tstdomain.local
Instance klaus20.tstdomain.local will be moved. This requires a
shutdown of the instance. Continue?
y/[n]/?: y
Thu Feb 18 17:53:16 2016 - INFO: Not checking memory on the secondary node
as instance will not be started
Thu Feb 18 17:53:16 2016 - INFO: Shutting down instance
klaus20.tstdomain.local on source node gnt2.tstdomain.local
Thu Feb 18 17:53:17 2016 Exporting disk/0 from gnt2.tstdomain.local to
gnt1.tstdomain.local
Thu Feb 18 17:53:20 2016 disk/0 is now listening, starting export
Thu Feb 18 17:53:23 2016 disk/0 is receiving data on gnt1.tstdomain.local
Thu Feb 18 17:53:23 2016 disk/0 is sending data on gnt2.tstdomain.local
Thu Feb 18 17:53:28 2016 disk/0 sent 418M, 71.8 MiB/s, 10%, ETA 51s
Thu Feb 18 17:54:21 2016 disk/0 finished receiving data
Thu Feb 18 17:54:21 2016 disk/0 finished sending data
Thu Feb 18 17:54:21 2016 - INFO: Removing the disks on the original node
root@gnt1:~
{code}
What do you see instead?
######################################
{code}
root@gnt1:~ gnt-instance move -n gnt1.tstdomain.local
klaus20.tstdomain.local
Instance klaus20.tstdomain.local will be moved. This requires a
shutdown of the instance. Continue?
y/[n]/?: y
Thu Feb 18 17:44:23 2016 - INFO: Not checking memory on the secondary node
as instance will not be started
Thu Feb 18 17:44:23 2016 - INFO: Shutting down instance
klaus20.tstdomain.local on source node gnt2.tstdomain.local
Thu Feb 18 17:44:24 2016 Exporting disk/0 from gnt2.tstdomain.local to
gnt1.tstdomain.local
Thu Feb 18 17:44:27 2016 - WARNING:
import 'import-disk0-2016-02-18_17_44_24-5UELMl' on gnt1.tstdomain.local
failed: Exited with status 1
Thu Feb 18 17:44:27 2016 disk/0 failed to receive data: Exited with status
1 (recent output: socat: E openssl-method="TLSv1": method unknown or not
provided by library\n0+0 records in\n0+0 records out\n0 bytes (0 B) copied,
0.00308621 s, 0.0 kB/s)
Thu Feb 18 17:44:27 2016 - WARNING: Some disks failed to copy, aborting
Failure: command execution error:
Errors during disk copy: Failed to transfer instance data
root@gnt1:~
{code}
Results from my investigations
######################################
The method/parameters Ganeti hands over to socat to transfer the image
seems incorrect. Especially the encryption methods requested is wrong.
See:
http://www.dest-unreach.org/socat/doc/socat.html#OPTION_OPENSSL_METHOD
http://repo.or.cz/socat.git/blob/aed0fcd79e86e839426b30d29e789b87a8958fc6:/doc/socat.yo
http://repo.or.cz/socat.git/blob/aed0fcd79e86e839426b30d29e789b87a8958fc6:/xio-openssl.c#l777
I think this should fix the issue in the first step:
{code}
diff --git a/lib/impexpd/__init__.py b/lib/impexpd/__init__.py
index f40db31..6c49b93 100644
--- a/lib/impexpd/__init__.py
+++ b/lib/impexpd/__init__.py
@@ -88,7 +88,7 @@ BUFSIZE = 1024 * 1024
# Common options for socat
SOCAT_TCP_OPTS = ["keepalive", "keepidle=60", "keepintvl=10", "keepcnt=5"]
-SOCAT_OPENSSL_OPTS = ["verify=1", "method=TLSv1",
+SOCAT_OPENSSL_OPTS = ["verify=1", "method=TLS1",
"cipher=%s" % constants.OPENSSL_CIPHERS]
if constants.SOCAT_USE_COMPRESS:
{code}
Best regards
Jard
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings