Ali Rizvi-Santiago
95f60f6153
Modified common/config.go to accommodate some of the new DownloadableURL policies made by the PR #5761 merge.
...
common/config.go:
Added the ability for DownloadableURL to promote UNC paths to the SMB uri.
Modified DownloadableURL to include the "./" prefix when a relative path is passed to it.
Fix-up the DownloadableURL argument if on windows and incorrectly prefixed with "/".
2018-01-18 22:43:08 -06:00
Ali Rizvi-Santiago
50e9cd2ca7
Initial fixes of common/config.go after rebase before refactoring of test-cases so that they don't require root to run.
2018-01-16 13:46:27 -06:00
Ali Rizvi-Santiago
c17f827e1d
Split up DownloadableURL() into it's individual components: SupportedURL(), DownloadableURL(), and ValidatedURL(). Updated all instances of DownloadableURL() to point to ValidatedURL(). Reverted the tests that are based on un-supported protocols.
2018-01-16 13:37:32 -06:00
Ali Rizvi-Santiago
3cf448f6ec
Reverted previously removed additions of tests that check for ftp:// or nonexistent-protocol:// using DownloadableURL. DownloadableURL's responsibility is not to have inherent knowledge of protocols that are available, but to format an invalid url/path to a valid url/path.
2018-01-16 13:37:32 -06:00
Ali Rizvi-Santiago
46a5ca30e5
Removed call to filepath.Rel(...) in builder/vmware/iso/step_create_vmx.go
2018-01-16 13:37:32 -06:00
Ali Rizvi-Santiago
4a1fb0d262
Grrr...gofmt -w common/*.go
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
5d97b105a8
Removed implementation of the ftp protocol and the usage of cheggaaa's progress-bar as suggested by @SwampDragons. Replaced some of the old smoke-tests that were based on the ftp-protocol non-existing with a "non-existent://" protocol that's guaranteed to not exist.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
5a3e98b529
Updated the testcases in common/download_test.go to pass a non-nil progress-bar due to the removal of a pointer type in commit ed2e341b7d7f49a063dd5018701b4ae548b8ec14 from yesterday.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
ab4490b967
Consolidated progress bar's appearance into the GetDefaultProgressBar() function. Updated dependency for cheggaaa's progress-bar from the gopkg.in location to the better maintained one on github.com.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
8c6efe336c
Added second argument for custom-formatted progress-bar to NewDownloadClient in common/download_test.go. This second parameter was added as a result of commit f0bd9018f3e318caafb1fe7d46e04c470e07c092 which lets you customize the progress-bar format.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
69e5eec1ce
Consolidated the progress-bar's format into common/step_download.go. Removed DownloadClient's PercentProgress callback since cheggaaa's progress-bar already does that.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
d85883582f
Changed a critical error to a non-critical one when dealing with the strange .CopyFile flag in common/download.go.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
c978e27f0f
grr. removed an assignment that was dead in common/download.go.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
5a4ce2165c
Modified common/download_test.go to not test the smb:// uri on platforms other than windows. Added an immediate platform error to SMBDownloader.Download as opposed to letting .toPath return it (which would have left the structure partially initialized).
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
4783b6508e
Fix common/download_test.go to avoid formatting the volume name to a hidden windows share when not on windows.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
d275bacb0f
go fmt builder/vmware/iso/step_create_vmx.go to calm down Travis CI.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
e940dc7e42
Fixed a config_test that should've failed but didn't because ftp:// uris work now. HeH!
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
e42a23ecb5
Ugh..added dependency for gopkg.in/cheggaaa/pb.v1: github.com/matn/go-runewidth. Also added github.com/jlaffaye/ftp for ftp support.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
c29e3915be
Added gopkg.in/cheggaaa/pb.v1 to vendor/vendor.json via govendor.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
b1ff14714b
go fmt
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
11ff4439a6
Moved the setting of HTTPDownloader's current progress to after the object actually gets instantiated. ;)
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
0fa6c3782e
Added a progressbar using gopkg.in/cheggaaa/pb.v1 as per #3578 for all the DownloadClients in common/download.go.
2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago
2f1104625d
Fixed some of the unit-tests in common/ due to the changes made in {config,download}.go
...
config.go:
Fixed some issues related to the url scheme not being lowercased which broke some of the tests.
config_test.go:
Removed the UNC share test for \\host\share\file since SMB support has been moved to a different uri scheme.
download_test.go:
Explicitly set the CopyFile configuration option for all the unit-tests that test file copying capability.
Removed the UNC share testcase since it's under a different uri scheme now.
Modified the file:// UNC share testcase to explicitly test the smb:// uri.
Changed the incorrect t.Errorf calls to t.Logf so that the tests can pass.
2018-01-16 13:37:30 -06:00
Ali Rizvi-Santiago
6170e24ecb
Refactored the code a bit to move the CopyFile hack out of DownloadClient and instead into each protocol.
...
config.go:
Removed all of the windows-specific net/url hackery since it's now handled mostly by download.go
Removed the replacement of '\' with '/' since url.Parse does it now.
Added knowledge of the other protocols implemented in download.go (ftp, smb)
Removed some modules that were unused in this commit.
download.go:
Moved the file-path conversions for the different protocols into their own internally callable functions.
Shuffled some of the functions around in case someone wants to implement the ability to resume.
Modified DownloadClient.Get to remove the CopyFile special case and trust the protocol implementations if a user doesn't want to copy the file.
Since all the protocols except for HTTPDownloader implement Cancel, added a Resume method as a placeholder for another developer to implement.
Added a few missing names from their function definitions.
Fixed the syntax in a few lines due to my suckage at go.
Adjusted the types for progress and total so that they support 64-bit sizes.
Removed the usage of the bufio library since it wasn't really being used.
2018-01-16 13:37:30 -06:00
Ali Rizvi-Santiago
60831801a7
Added the file, ftp, and smb downloaders to common/download.go
2018-01-16 13:36:18 -06:00
Ali Rizvi-Santiago
da9c94b345
Added some testcases for the various file uri transforms to download_test.go
...
Moved some of the code for normalizing a Windows file uri to a regular path into it's own function NormalizeWindowsURL
2018-01-16 13:36:18 -06:00
Ali Rizvi-Santiago
281dd1258a
Added proper support for downloading via a Windows UNC path or a relative uri.
...
Added proper support for validating a downloadableURL containing a UNC or relative uri.
Removed the workaround for an earlier Go issue that had remained dormant in common/download.go (issue #5927 ).
When building a .vmx file via the vmware-iso builder, transform the path to the correct os-formatted one (using filepath.FromSlash).
2018-01-16 13:36:17 -06:00
Matthew Hooker
e222d60b5a
update changelog
2018-01-12 15:11:50 -08:00
Matthew Hooker
cea2ab8c6d
move kms/encrypted validation to block devices
2018-01-12 15:10:51 -08:00
Matthew Hooker
0023aa11cf
add kms_key_id to block device docs
2018-01-12 14:48:18 -08:00
Matthew Hooker
e968f9d6cc
spelling/style fixes
2018-01-12 14:26:56 -08:00
Matthew Hooker
cfd24eddbf
Merge pull request #5774 from jwieringa/f-kms-key-id
...
Added KmsKeyID to Amazon Builder DeviceBlock
2018-01-12 14:23:19 -08:00
Jason Wieringa
f6772f06be
builder/amazon: Raise error when ebsvolume kms_key_id is without encrypted = true
2018-01-11 20:27:38 -08:00
Jason Wieringa
2ac59b3c27
builder/amazon: Added KmsKeyID to BlockDevice
...
+ Adds kms_key_id to list of options
+ Tests that configuraiton is set along with encrypted
+ Updates documentation on ebsvolume builder
2018-01-11 20:27:38 -08:00
Jason Wieringa
78ff4d1eed
Updated github.com/aws/aws-sdk-go/service/ec2
...
Upgrades to v1.12.57 for the field KmsKeyID on EbsBlockDevice
introduced in v1.12.35 on November 2017.
2018-01-11 20:27:38 -08:00
Matthew Hooker
6f2669c044
Revert "add note about vix api libraries"
...
This reverts commit c5ec92c88b
.
2018-01-11 16:48:39 -08:00
Matthew Hooker
c5ec92c88b
add note about vix api libraries
2018-01-11 15:44:49 -08:00
Matthew Hooker
6d6216419c
update changelog
2018-01-11 12:14:34 -08:00
Matthew Hooker
2ce3ca1538
Merge pull request #5773 from hashicorp/fix5705
...
Use SDK's InstanceReady waiter
2018-01-11 12:12:03 -08:00
SwampDragons
fb730cf521
Merge pull request #5761 from hashicorp/fix_5713
...
fix nasty edge case where we can't find guest additions on windows if they are on a different drive
2018-01-11 11:48:26 -08:00
Megan Marsh
bdd186fa2b
add tests for fileexistslocally helper function
2018-01-10 16:44:27 -08:00
Megan Marsh
3ace5bb91b
simplify FileExistsLocally
2018-01-10 16:11:17 -08:00
Matthew Hooker
f5ea1e8312
Use WaitUntilInstanceReady waiter
2018-01-10 15:57:31 -08:00
Megan Marsh
55ddbf4765
sloppy copypasta
2018-01-10 10:08:23 -08:00
Megan Marsh
898dadd53c
re-add this block. I still don't think we need it but I don't want to risk breaking things with this bugfix.
2018-01-10 10:03:36 -08:00
SwampDragons
4b8476b3f4
Merge pull request #5781 from diegogoding/fix5779
...
fixes issue 5779
2018-01-10 09:59:37 -08:00
Diego Goding
38b1cdd8c4
fixed issue 5779
2018-01-10 08:56:59 -06:00
Megan Marsh
a04a921c2d
add UNC path to test cases, so I can try to enable it in future
2018-01-09 17:14:32 -08:00
Megan Marsh
154973241f
add a bunch of windows filepath tests
2018-01-09 16:57:52 -08:00
Megan Marsh
40f0cc6dfe
I don't think this is needed anymore
2018-01-09 15:53:54 -08:00