70 Commits

Author SHA1 Message Date
Megan Marsh
f1f834b8fe commhostport isn't present if communicator is null; protect casting in a check 2020-10-21 14:30:23 -07:00
Megan Marsh
b54b778572 major refactor of the step_run. Splits step into two major parts:
- generating defaults
- overriding defaults with user args

The default generation has been shuffled around some, in order to
make sure that any changes to a specific arg happen in one place
to make it easier to reason about those args. Related args have
been moved close to one another.

The deviceArgs and driveArgs were overly complex after several
layers of copy/paste modifications. Careful pruning reduced the
layers of logic and repeated code, to help make it easier to reason
about.
2020-10-07 15:09:45 -07:00
Megan Marsh
1d218d9e65 add QemuImgArgs option to set specialized flags in qemu-img
convert, resize, and create commands. Add tests. Refactor steps to
not require config pulled from statebag.
2020-09-17 15:15:04 -07:00
Megan Marsh
83ee4e7d13 miscellaneous qemu cleanup. Fix generator strings; generate code
fix diskimage logic
linting
fix tests
2020-09-17 09:57:45 -07:00
Megan Marsh
9ac76be190 clean up step_run 2020-09-17 09:57:45 -07:00
Megan Marsh
9140985ab0 implement cd_files for qemu builder 2020-09-14 12:16:56 -07:00
Wilken Rivera
0719f906d4
Replace if/else with simple if (#9913) 2020-09-09 10:24:17 +02:00
Ronald van Zantvoort
7335695c84
qemu vnc: hardcoded lowerbound leaves negative ports
```hcl2
  vnc_port_min = 5000
  vnc_port_max = 5500
```

Build returns faulty:
```
    qemu.one: view the screen of the VM, connect via VNC to vnc://127.0.0.1:5138
(...)
2020/09/06 19:09:52 packer-builder-qemu plugin: Qemu stderr: qemu-system-x86_64: -vnc 127.0.0.1:-762,password: can't convert to a number: -762
```
2020-09-06 21:18:12 +02:00
Lyle Franklin
a4d1afb83a
Add 'cdrom_interface' option to QEMU builder (#9483)
- This option allows the user to select the interface type for the CDROM
  drive, e.g. `virtio-scsi`, rather than the default `virtio`
- Background: Installation of Ubuntu 20.04 on ARM64 fails as it can't mount the
  installation CDROM. While the default `virtio` CDROM fails, setting
  `cdrom_interface: virtio-scsi` with this PR succeeds. Some links:
  - ISO link: http://cdimage.ubuntu.com/ubuntu-legacy-server/releases/20.04/release/ubuntu-20.04-legacy-server-arm64.iso
  - https://bugs.launchpad.net/ubuntu/+source/debian-installer/+bug/1605407
  - https://superuser.com/a/1376628/230508
2020-07-07 16:22:30 +02:00
Sylvia Moss
ce45a1990a
Refactor communicator config for Qemu and add SkipNatMapping option (#9307) 2020-06-02 11:56:36 +02:00
Megan Marsh
082d806b1f fix httpip acquisition 2020-05-21 09:39:54 -07:00
Rui Lopes
06fad6cc4f qemu: add support for using a network bridge 2020-05-20 16:46:32 -07:00
Megan Marsh
7d8f1c01c4 Revert "fix: persist default drive/device" (#8440)
This reverts commit 30ccab4 which introduced the issue 8436.
2019-12-03 13:42:11 +01:00
bugbuilder
30ccab472f fix: persist default drive/device 2019-11-17 04:38:30 -03:00
Lee Trager
c7f38b232f Add display template option for QEMU. Fixes #7675 2019-10-08 12:04:49 -07:00
Lars Lehtonen
b6eadb419a builder/qemu: Fix dropped error 2019-08-29 05:13:46 -07:00
Jayson Cofell
7f5fd4851e QEMU: Remove QMPEnable and depend upon VNC password usage for QMP enablement. 2019-07-16 08:56:22 -06:00
Jayson Cofell
5c5943b8ba Add VNC Password support to QEMU builder 2019-07-03 18:38:56 -06:00
Jayson Cofell
afe9ba2869 QEMU: Initial QMP support 2019-07-03 18:33:59 -06:00
Jayson Cofell
c9b693080a Add additional disk support for QEMU builder. 2019-06-24 17:35:06 -06:00
Radek Simko
b4d35eceff
builder/qemu: Fix typo in version comparison 2019-05-07 08:37:57 +01:00
Radek Simko
c7cf39808d
builder/qemu: Replace dot-based parsing with hashicorp/go-version 2019-05-06 22:28:27 +01:00
Adrien Delorme
c4f3dccc14 rename interpolation context from ctx to ictx and contexts to ctx to avoid conflicts 2019-04-03 15:56:15 +02:00
Adrien Delorme
5a6dffde9a use port as ints 2019-03-19 15:01:12 +01:00
Vasiliy Tolstov
b6ebe00249 provide memory and cpus like other builders does
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-01-23 13:21:52 +03:00
Megan Marsh
65124985d1 don't set DetectZeroes if it's off, because some versions of QEMU don't support this option 2018-12-03 15:52:13 -08:00
Megan Marsh
3175dcdf81
Merge pull request #6807 from dev-rowbot/qemu-net-device-6804
Fix for #6804 - KVM/QEMU Network "has no peer"
2018-10-18 14:09:22 -07:00
Konstantin Shloma
1155347b55 add qemu disk detect-zeroes= option 2018-10-10 14:38:59 +03:00
Rowan Potgieter
65db6be6b9 Fix for #6804
The user QEMU args may overwrite the default -device.
This results in no network
2018-10-06 14:40:43 +02:00
Matthew Hooker
7a189a83a1
fix imports
`find . -type f -name '*.go' -not -path "./vendor/*" -exec goimports -w {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker
a831d522be
change run signatures
Run now takes a context as well as a statebag. We'll assign the context
to the blank identifier to prevent namespace collisions. We'll let the
step authors opt-in to using the context.

`find . -iname "step_*.go" -exec gsed -i'' 's/func \(.*\)Run(/func \1Run(_ context.Context, /' {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker
366dc3da0a
move multistep imports to helper.
gomvpkg -from "github.com/mitchellh/multistep" -to "github.com/hashicorp/packer/helper/multistep"
2018-01-24 17:09:15 -08:00
Matthew Hooker
81522dced0
move packer to hashicorp 2017-04-04 13:39:01 -07:00
Chris Bednarski
facf27ceeb Make rdp and vnc links clickable by adding the protocol 2017-02-02 01:55:28 -08:00
Matthew Hooker
0339fcc442
builder/qemu: add use_default_display option
If set, won't set `-display dsl` as a default argument. Useful for osx
compatibility.
2016-12-16 17:44:54 -08:00
Rickard von Essen
c95aab5e0e Merge pull request #3888 from yoctocloud/qemu
builder/qemu: specify disk format to avoid errors
2016-09-22 08:43:40 +02:00
Matthew Hooker
7cbb98f2d5 QemuArggs -> QemuArgs
Avast ye, resolves #3901
2016-09-19 14:34:13 -07:00
Vasiliy Tolstov
4986ef39b2 builder/qemu: specify disk format to avoid errors
Image format was not specified for XXX and probing
guessed raw.
Automatically detecting the format is dangerous for raw images, write
operations on block 0 will be restricted.
Specify the 'raw' format explicitly to remove the restrictions.

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-09-15 17:59:05 +03:00
Vasiliy Tolstov
83f175cac7 builder/qemu: dont fail on communicator - none
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-07-07 00:49:23 +03:00
Ian Duffy
fa273f3bea Allow configurable VNC bind IP for QEMU
This commit allows for a user configurable VNC bind IP to be used for
QEMU.

By default this will be 127.0.0.1, alternatively, a user can use
0.0.0.0 which will bind to all interfaces.

This pull request should satisfy concerns of #3570 and #3559. It is
also in-line with the functionality provided by #3566 and #3565

Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-05-25 10:10:12 +01:00
Vasiliy Tolstov
e5276b31a3 fix assign to driveArgs
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-03-01 21:15:51 +00:00
Chris Bednarski
fee00baf6a Revert "close #3192"
This reverts commit 3b8f0023e57fe009a5dc2f534ea83242e9b6fc87.
2016-02-29 13:51:47 -08:00
Vasiliy Tolstov
3b8f0023e5 close #3192
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-26 14:05:43 +00:00
Dan Sedlacek
279555b8e1 Added ability to see what SSH Port packer generated in template data 2016-02-12 11:39:08 -08:00
Vasiliy Tolstov
48f8612b72 add virtio-scsi
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2015-09-15 10:59:29 +00:00
Vasiliy Tolstov
3fae902bc3 enable discards only on qemu >= 2
older qemu versions does not have discard option, so not enable it

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2015-09-08 10:40:23 +00:00
Mitchell Hashimoto
fd40b714c4 Merge pull request #2118 from vtolstov/image
remove image format from image name in qemu builder
2015-06-18 10:16:51 +02:00
Mitchell Hashimoto
523a3342b8 builder/qemu: fix tests 2015-06-15 10:15:08 -07:00
Mitchell Hashimoto
ea86cb4c7e builder/qemu: use proper ssh port [GH-2074] 2015-06-13 19:30:16 -04:00
Vasiliy Tolstov
3d94462e37 remove image format from image name
Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2015-06-08 14:44:26 +03:00