From 19566176409704337ba3da84de4528b165bb221a Mon Sep 17 00:00:00 2001 From: Ryan Johnson Date: Thu, 16 May 2024 00:21:38 -0400 Subject: [PATCH] chore: test debt Signed-off-by: Ryan Johnson --- GNUmakefile | 35 ----------- builder/vsphere/common/testing/utility.go | 29 ++++++--- builder/vsphere/driver/driver_test.go | 38 +++++++----- builder/vsphere/driver/host_acc_test.go | 6 +- builder/vsphere/driver/vm_clone_acc_test.go | 6 +- builder/vsphere/driver/vm_create_acc_test.go | 6 +- builder/vsphere/iso/builder_acc_test.go | 61 +++++++++++-------- .../builder/vsphere-clone/alpine/alpine.json | 4 +- .../vsphere-clone/alpine/alpine.pkr.hcl | 4 +- .../vsphere-iso/alpine/alpine-3.8.json | 8 +-- .../vsphere-iso/alpine/alpine-3.8.pkr.hcl | 8 +-- .../builder/vsphere-iso/ubuntu/preseed.cfg | 8 +-- .../vsphere-iso/ubuntu/ubuntu-16.04.json | 8 +-- .../vsphere-iso/ubuntu/ubuntu-16.04.pkr.hcl | 8 +-- .../vsphere-iso/windows/windows-10.json | 8 +-- .../vsphere-iso/windows/windows-10.pkr.hcl | 8 +-- examples/driver/main.go | 28 +++++++-- 17 files changed, 142 insertions(+), 131 deletions(-) delete mode 100644 GNUmakefile diff --git a/GNUmakefile b/GNUmakefile deleted file mode 100644 index 52d70ce05..000000000 --- a/GNUmakefile +++ /dev/null @@ -1,35 +0,0 @@ -NAME=vsphere -BINARY=packer-plugin-${NAME} -PLUGIN_FQN="$(shell grep -E '^module' ", }, - "ssh_username": "root", - "ssh_password": "jetbrains", + "ssh_username": "packer", + "ssh_password": "VMw@re1!", } return config diff --git a/examples/builder/vsphere-clone/alpine/alpine.json b/examples/builder/vsphere-clone/alpine/alpine.json index 885183db8..847315a61 100644 --- a/examples/builder/vsphere-clone/alpine/alpine.json +++ b/examples/builder/vsphere-clone/alpine/alpine.json @@ -4,8 +4,8 @@ "type": "vsphere-clone", "vcenter_server": "vcenter.example.com", - "username": "root", - "password": "jetbrains", + "username": "administrator@vsphere.local", + "password": "VMw@re1!", "insecure_connection": "true", "template": "alpine", diff --git a/examples/builder/vsphere-clone/alpine/alpine.pkr.hcl b/examples/builder/vsphere-clone/alpine/alpine.pkr.hcl index 4df5415d6..809ba859a 100644 --- a/examples/builder/vsphere-clone/alpine/alpine.pkr.hcl +++ b/examples/builder/vsphere-clone/alpine/alpine.pkr.hcl @@ -12,9 +12,9 @@ source "vsphere-clone" "example_clone" { communicator = "none" host = "esxi-01.example.com" insecure_connection = "true" - password = "jetbrains" + password = "VMw@re1!" template = "alpine" - username = "root" + username = "administrator@vsphere.local" vcenter_server = "vcenter.example.com" vm_name = "alpine-clone-${local.timestamp}" } diff --git a/examples/builder/vsphere-iso/alpine/alpine-3.8.json b/examples/builder/vsphere-iso/alpine/alpine-3.8.json index 88f566e4b..8c15628bf 100644 --- a/examples/builder/vsphere-iso/alpine/alpine-3.8.json +++ b/examples/builder/vsphere-iso/alpine/alpine-3.8.json @@ -39,16 +39,16 @@ "network_card": "vmxnet3" } ], - "password": "jetbrains", - "ssh_password": "jetbrains", - "ssh_username": "root", + "password": "VMw@re1!", + "ssh_password": "VMw@re1!", + "ssh_username": "packer", "storage": [ { "disk_size": 1024, "disk_thin_provisioned": true } ], - "username": "root", + "username": "administrator@vsphere.local", "vcenter_server": "vcenter.example.com", "vm_name": "alpine-{{timestamp}}" } diff --git a/examples/builder/vsphere-iso/alpine/alpine-3.8.pkr.hcl b/examples/builder/vsphere-iso/alpine/alpine-3.8.pkr.hcl index c9d8e61c1..f55a0833f 100644 --- a/examples/builder/vsphere-iso/alpine/alpine-3.8.pkr.hcl +++ b/examples/builder/vsphere-iso/alpine/alpine-3.8.pkr.hcl @@ -23,14 +23,14 @@ source "vsphere-iso" "autogenerated_1" { network_adapters { network_card = "vmxnet3" } - password = "jetbrains" - ssh_password = "jetbrains" - ssh_username = "root" + password = "VMw@re1!" + ssh_password = "VMw@re1!" + ssh_username = "packer" storage { disk_size = 1024 disk_thin_provisioned = true } - username = "root" + username = "administrator@vsphere.local" vcenter_server = "vcenter.example.com" vm_name = "alpine-${local.timestamp}" } diff --git a/examples/builder/vsphere-iso/ubuntu/preseed.cfg b/examples/builder/vsphere-iso/ubuntu/preseed.cfg index ec963b6b2..68deeb303 100644 --- a/examples/builder/vsphere-iso/ubuntu/preseed.cfg +++ b/examples/builder/vsphere-iso/ubuntu/preseed.cfg @@ -1,7 +1,7 @@ -d-i passwd/user-fullname string jetbrains -d-i passwd/username string jetbrains -d-i passwd/user-password password jetbrains -d-i passwd/user-password-again password jetbrains +d-i passwd/user-fullname string packer +d-i passwd/username string packer +d-i passwd/user-password password VMw@re1! +d-i passwd/user-password-again password VMw@re1! d-i user-setup/allow-password-weak boolean true d-i partman-auto/disk string /dev/sda diff --git a/examples/builder/vsphere-iso/ubuntu/ubuntu-16.04.json b/examples/builder/vsphere-iso/ubuntu/ubuntu-16.04.json index 5abd2fab4..a9020d1ed 100644 --- a/examples/builder/vsphere-iso/ubuntu/ubuntu-16.04.json +++ b/examples/builder/vsphere-iso/ubuntu/ubuntu-16.04.json @@ -38,16 +38,16 @@ "network_card": "vmxnet3" } ], - "password": "jetbrains", - "ssh_password": "jetbrains", - "ssh_username": "jetbrains", + "password": "VMw@re1!", + "ssh_password": "VMw@re1!", + "ssh_username": "packer", "storage": [ { "disk_size": 32768, "disk_thin_provisioned": true } ], - "username": "root", + "username": "administrator@vsphere.local", "vcenter_server": "vcenter.example.com", "vm_name": "example-ubuntu" } diff --git a/examples/builder/vsphere-iso/ubuntu/ubuntu-16.04.pkr.hcl b/examples/builder/vsphere-iso/ubuntu/ubuntu-16.04.pkr.hcl index e39dc3397..a0f8eeca3 100644 --- a/examples/builder/vsphere-iso/ubuntu/ubuntu-16.04.pkr.hcl +++ b/examples/builder/vsphere-iso/ubuntu/ubuntu-16.04.pkr.hcl @@ -31,14 +31,14 @@ source "vsphere-iso" "example" { network_adapters { network_card = "vmxnet3" } - password = "jetbrains" - ssh_password = "jetbrains" - ssh_username = "jetbrains" + password = "VMw@re1!" + ssh_password = "VMw@re1!" + ssh_username = "packer" storage { disk_size = 32768 disk_thin_provisioned = true } - username = "root" + username = "administrator@vsphere.local" vcenter_server = "vcenter.example.com" vm_name = "example-ubuntu" } diff --git a/examples/builder/vsphere-iso/windows/windows-10.json b/examples/builder/vsphere-iso/windows/windows-10.json index 482382196..22568282c 100644 --- a/examples/builder/vsphere-iso/windows/windows-10.json +++ b/examples/builder/vsphere-iso/windows/windows-10.json @@ -23,18 +23,18 @@ "network_card": "vmxnet3" } ], - "password": "jetbrains", + "password": "VMw@re1!", "storage": [ { "disk_size": 32768, "disk_thin_provisioned": true } ], - "username": "root", + "username": "administrator@vsphere.local", "vcenter_server": "vcenter.example.com", "vm_name": "example-windows", - "winrm_password": "jetbrains", - "winrm_username": "jetbrains" + "winrm_password": "packer", + "winrm_username": "VMw@re1!" } ], "provisioners": [ diff --git a/examples/builder/vsphere-iso/windows/windows-10.pkr.hcl b/examples/builder/vsphere-iso/windows/windows-10.pkr.hcl index c56f427ea..3bf876810 100644 --- a/examples/builder/vsphere-iso/windows/windows-10.pkr.hcl +++ b/examples/builder/vsphere-iso/windows/windows-10.pkr.hcl @@ -20,16 +20,16 @@ source "vsphere-iso" "example_windows" { network_adapters { network_card = "vmxnet3" } - password = "jetbrains" + password = "VMw@re1!" storage { disk_size = 32768 disk_thin_provisioned = true } - username = "root" + username = "administrator@vsphere.local" vcenter_server = "vcenter.example.com" vm_name = "example-windows" - winrm_password = "jetbrains" - winrm_username = "jetbrains" + winrm_password = "VMw@re1!" + winrm_username = "packer" } # a build block invokes sources and runs provisioning steps on them. The diff --git a/examples/driver/main.go b/examples/driver/main.go index 46d65d384..f7cc22dd1 100644 --- a/examples/driver/main.go +++ b/examples/driver/main.go @@ -5,22 +5,42 @@ package main import ( "fmt" + "os" "github.com/hashicorp/packer-plugin-vsphere/builder/vsphere/driver" ) +const ( + defaultUsername = "administrator@vsphere.local" + defaultPassword = "VMw@re1!" + defaultApiEndpoint = "vcenter.example.com" + defaultHost = "esxi-01.example.com" +) + +func getEnv(key, fallback string) string { + if value := os.Getenv(key); value != "" { + return value + } + return fallback +} + func main() { + username := getEnv("VSPHERE_USERNAME", defaultUsername) + password := getEnv("VSPHERE_PASSWORD", defaultPassword) + vcenter := getEnv("VSPHERE_VCENTER_SERVER", defaultApiEndpoint) + host := getEnv("VSPHERE_HOST", defaultHost) + d, err := driver.NewDriver(&driver.ConnectConfig{ - VCenterServer: "vcenter.example.com", - Username: "root", - Password: "jetbrains", + VCenterServer: vcenter, + Username: username, + Password: password, InsecureConnection: true, }) if err != nil { panic(err) } - ds, err := d.FindDatastore("", "esxi-01.example.com") + ds, err := d.FindDatastore("", host) if err != nil { panic(err) }