VMware Cloud Community
purefn
Contributor
Contributor

ovftool drops query parameters for http sources

Why does ovftool appear to drop the query parameters for HTTP OVA sources? I have an OVA stored in an S3 like storage and am trying to use a presigned URL as the source to ovftool.

$ ovftool --X:logLevel=trivia --X:logToConsole 'http://192.168.39.196/ovas/dsl.ova?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minioadmin%2F20...'

2019-08-28T18:52:12.098-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] [SSL_DB] Using /home/rwallace/.ovftool.ssldb as SSL DB

2019-08-28T18:52:12.102-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 2 (SIGINT)

2019-08-28T18:52:12.102-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 4 (SIGILL)

2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 6 (SIGABRT)

2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 8 (SIGFPE)

2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 15 (SIGTERM)

2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 1 (SIGHUP)

2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 3 (SIGQUIT)

2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 5 (SIGTRAP)

2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 9 (SIGKILL)

2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 13 (SIGPIPE)

2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Initializing progress

2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] OvfTool Version: VMware ovftool 4.3.0 (build-7948156)

2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Using home directory: ./.ovftool

2019-08-28T18:52:12.104-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Curl Version: 7.58.0

2019-08-28T18:52:12.104-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Done initializing libs

2019-08-28T18:52:12.104-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Determining source

2019-08-28T18:52:12.104-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Constructing URL...

2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Determining target

2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Getting source

2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Parsing URL...

2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Constructing URL...

2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Constructing URL...

2019-08-28T18:52:12.105-07:00 info OVFTool[61924] [Originator@6876 sub=Default] ReaderFactory web request: http://192.168.39.196/ovas/dsl.ova?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minioadmin%2F20..., noBody=true

2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Initializing new curl session

2019-08-28T18:52:12.105-07:00 trivia OVFTool[61924] [Originator@6876 sub=Default] Using HIGH OpenSSL ciphers suite.

2019-08-28T18:52:12.106-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL:   Trying 192.168.39.196...

-->

2019-08-28T18:52:12.106-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: TCP_NODELAY set

-->

2019-08-28T18:52:12.106-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: Connected to 192.168.39.196 (192.168.39.196) port 9001 (#0)

-->

2019-08-28T18:52:12.106-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden

2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden

2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden

2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden

2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden

2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden

2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden

2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden

2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden

2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden

2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden

2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: Connection #0 to host 192.168.39.196 left intact

-->

2019-08-28T18:52:12.107-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Constructing URL...

2019-08-28T18:52:12.108-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Curl session torn down

Error: Could not open URL http://192.168.39.196:9001/ovas/dsl.ova (response code: 403)

2019-08-28T18:52:12.108-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Backtrace:

--> [backtrace begin] product: VMware Workstation, version: e.x.p, build: build-7948156, tag: OVFTool, cpu: x86_64, os: linux, buildType: release

--> backtrace[00] libvmacore.so[0x00356204]: Vmacore::System::Stacktrace::CaptureWork(unsigned int)

--> backtrace[01] libvmacore.so[0x001C35B4]: Vmacore::System::SystemFactory::CreateQuickBacktrace(Vmacore::Ref<Vmacore::System::Backtrace>&)

--> backtrace[02] libvmacore.so[0x0018426B]: Vmacore::Throwable::Throwable(std::string&&)

--> backtrace[03] ovftool.bin[0x001FFD76]

--> backtrace[04] ovftool.bin[0x001FCD8A]

--> backtrace[05] ovftool.bin[0x001FDDF8]

--> backtrace[06] ovftool.bin[0x001FEB54]

--> backtrace[07] ovftool.bin[0x001FF234]

--> backtrace[08] ovftool.bin[0x002003C5]

--> backtrace[09] ovftool.bin[0x00200DA5]

--> backtrace[10] ovftool.bin[0x0026B4C1]

--> backtrace[11] ovftool.bin[0x00174CCA]

--> backtrace[12] ovftool.bin[0x001EFEC5]

--> backtrace[13] ovftool.bin[0x001467E7]

--> backtrace[14] libc.so.6[0x00022B8E]

--> backtrace[15] ovftool.bin[0x0014E6B9]

--> [backtrace end]

The request fails because ovftool tries to get the file as just "http://192.168.39.196:9001/ovas/dsl.ova ", without any signatures or anything, which results in the 403 Forbidden response.

Why does ovftool do that? Is there a way to prevent it from doing that? If there isn't now, can it be fixed in the future?

Thanks,

Rich

Reply
0 Kudos
0 Replies