Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

panic: runtime error: invalid memory address or nil pointer dereference #279

Closed
BruceBushby opened this issue Feb 7, 2018 · 5 comments
Closed

Comments

@BruceBushby
Copy link

Version Reports:

Distro version of host:

[root@laptop k801]# cat /etc/redhat-release
Fedora release 27 (Twenty Seven)
[root@laptop k801]#

Terraform Version Report

[root@laptop k801]# terraform -v
Terraform v0.11.4-dev (4f38f4f9eb7e892aecb546e52851a85cfad5af6c)

  • provider.libvirt (unversioned)

[root@laptop k801]#

Libvirt version

[root@laptop k801]# virsh --version
3.7.0
[root@laptop k801]#

terraform-provider-libvirt plugin version (git-hash)

commit d4863a5
Author: Flavio Castelli fcastelli@suse.com
Date: Sun Jan 14 14:46:36 2018 +0100

Description of Issue/Question

Terraform crashes while creating a virtual machine

Setup

Latest updated Fedora 27 (updated 6th Feb 2018)
Latest Terraform built from git
Latest terraform-provider-libvirt built from git

Terraform Plan

[root@laptop k801]# cat k801.tf
provider "libvirt" {
uri = "qemu:///system"
}

// blank 32GB image for net install.
resource "libvirt_volume" "k801-qcow2" {
name = "k801-qcow2"
pool = "default"
format = "qcow2"
size = 343597383680
}

// set boot order hd, network
resource "libvirt_domain" "k801-qcow2" {
name = "k801"
memory = "2048"
vcpu = 2

network_interface {
network_name = "dc00-10"
}
boot_device {
dev = [ "hd", "network"]
}
disk {
volume_id = "${libvirt_volume.k801-qcow2.id}"
}
graphics {
type = "spice"
autoport = "yes"
address = "0.0.0.0"
listen_type = "address"
}
}

Steps to Reproduce Issue

Latest updated Fedora 27 (updated 6th Feb 2018)
Latest Terraform built from git
Latest terraform-provider-libvirt built from git


Additional Infos:

Virtual machine is still created and installs as expected.

Appears Terraform simply time out after 30seconds and then crashes due to
panic: runtime error: invalid memory address or nil pointer dereference:

Shell session:

[root@laptop k801]# terraform apply -auto-approve

Initializing provider plugins...

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
libvirt_volume.k801-qcow2: Creating...
format: "" => "qcow2"
name: "" => "k801-qcow2"
pool: "" => "default"
size: "" => "343597383680"
libvirt_volume.k801-qcow2: Creation complete after 0s (ID: /var/lib/libvirt/images/k801-qcow2)
libvirt_domain.k801-qcow2: Creating...
arch: "" => ""
boot_device.#: "" => "1"
boot_device.0.dev.#: "" => "2"
boot_device.0.dev.0: "" => "hd"
boot_device.0.dev.1: "" => "network"
disk.#: "" => "1"
disk.0.%: "" => "1"
disk.0.volume_id: "" => "/var/lib/libvirt/images/k801-qcow2"
emulator: "" => ""
graphics.%: "" => "4"
graphics.address: "" => "0.0.0.0"
graphics.autoport: "" => "yes"
graphics.listen_type: "" => "address"
graphics.type: "" => "spice"
machine: "" => ""
memory: "" => "2048"
name: "" => "k801"
network_interface.#: "" => "1"
network_interface.0.addresses.#: "" => ""
network_interface.0.hostname: "" => ""
network_interface.0.mac: "" => ""
network_interface.0.network_id: "" => ""
network_interface.0.network_name: "" => "dc00-10"
vcpu: "" => "2"
libvirt_domain.k801-qcow2: Still creating... (10s elapsed)
libvirt_domain.k801-qcow2: Still creating... (20s elapsed)
libvirt_domain.k801-qcow2: Still creating... (30s elapsed)

Error: Error applying plan:

1 error(s) occurred:

panic: runtime error: invalid memory address or nil pointer dereference
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xab6e28]
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt:
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: goroutine 31 [running]:
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: github.com/dmacvicar/terraform-provider-libvirt/libvirt.getDomainInterfacesFromNetworks(0x0, 0x0, 0xc420477c58, 0x6, 0xc420477c88, 0x3, 0xc420477c9c, 0x4, 0xc42031a450, 0x24, ...)
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: /root/go/src/github.com/dmacvicar/terraform-provider-libvirt/libvirt/domain.go:215 +0x6b8
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: github.com/dmacvicar/terraform-provider-libvirt/libvirt.domainGetIfacesInfo(0x7fd158001ea0, 0x0, 0x0, 0xc420477c58, 0x6, 0xc420477c88, 0x3, 0xc420477c9c, 0x4, 0xc42031a450, ...)
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: /root/go/src/github.com/dmacvicar/terraform-provider-libvirt/libvirt/domain.go:167 +0x188
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: github.com/dmacvicar/terraform-provider-libvirt/libvirt.resourceLibvirtDomainRead(0xc4202b7180, 0xc2e9e0, 0xc42000edb8, 0x0, 0x0)
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: /root/go/src/github.com/dmacvicar/terraform-provider-libvirt/libvirt/resource_libvirt_domain.go:987 +0x1e4e
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: github.com/dmacvicar/terraform-provider-libvirt/libvirt.resourceLibvirtDomainCreate(0xc4202b7180, 0xc2e9e0, 0xc42000edb8, 0x0, 0x0)
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: /root/go/src/github.com/dmacvicar/terraform-provider-libvirt/libvirt/resource_libvirt_domain.go:718 +0x542c
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: github.com/dmacvicar/terraform-provider-libvirt/vendor/github.com/hashicorp/terraform/helper/schema.(*Resource).Apply(0xc4202eeb40, 0xc4202665f0, 0xc42025db00, 0xc2e9e0, 0xc42000edb8, 0x1, 0xc4203f0810, 0xd05c00)
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: /root/go/src/github.com/dmacvicar/terraform-provider-libvirt/vendor/github.com/hashicorp/terraform/helper/schema/resource.go:193 +0x3b6
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: github.com/dmacvicar/terraform-provider-libvirt/vendor/github.com/hashicorp/terraform/helper/schema.(*Provider).Apply(0xc4203821c0, 0xc4202665a0, 0xc4202665f0, 0xc42025db00, 0x7fd1760ce6c8, 0x0, 0xd40ce0)
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: /root/go/src/github.com/dmacvicar/terraform-provider-libvirt/vendor/github.com/hashicorp/terraform/helper/schema/provider.go:259 +0xa4
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: github.com/dmacvicar/terraform-provider-libvirt/vendor/github.com/hashicorp/terraform/plugin.(*ResourceProviderServer).Apply(0xc4202e9040, 0xc42025daa0, 0xc42044c130, 0x0, 0x0)
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: /root/go/src/github.com/dmacvicar/terraform-provider-libvirt/vendor/github.com/hashicorp/terraform/plugin/resource_provider.go:488 +0x57
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: reflect.Value.call(0xc420067620, 0xc42000eba8, 0x13, 0xdc0788, 0x4, 0xc420046f20, 0x3, 0x3, 0xc4202fa6e8, 0xc4201af4b8, ...)
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: /usr/lib/golang/src/reflect/value.go:434 +0x905
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: reflect.Value.Call(0xc420067620, 0xc42000eba8, 0x13, 0xc4202fa720, 0x3, 0x3, 0xc400000003, 0x0, 0x0)
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: /usr/lib/golang/src/reflect/value.go:302 +0xa4
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: net/rpc.(*service).call(0xc4203986c0, 0xc42008af00, 0xc42039a120, 0xc4200b4d00, 0xc4202e9140, 0xc319e0, 0xc42025daa0, 0x16, 0xc31a20, 0xc42044c130, ...)
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: /usr/lib/golang/src/net/rpc/server.go:381 +0x142
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: created by net/rpc.(*Server).ServeCodec
2018-02-06T14:37:09.900Z [DEBUG] plugin.terraform-provider-libvirt: /usr/lib/golang/src/net/rpc/server.go:475 +0x36b
2018/02/06 14:37:09 [TRACE] root: eval: *terraform.EvalWriteState
2018/02/06 14:37:09 [TRACE] root: eval: *terraform.EvalApplyProvisioners
2018/02/06 14:37:09 [TRACE] root: eval: *terraform.EvalIf
2018/02/06 14:37:09 [TRACE] root: eval: *terraform.EvalWriteState
2018/02/06 14:37:09 [TRACE] root: eval: *terraform.EvalWriteDiff
2018/02/06 14:37:09 [TRACE] root: eval: *terraform.EvalApplyPost
2018-02-06T14:37:09.901Z [DEBUG] plugin: plugin process exited: path=/root/go/bin/terraform-provider-libvirt
2018/02/06 14:37:09 [ERROR] root: eval: *terraform.EvalApplyPost, err: 1 error(s) occurred:

  • libvirt_domain.k801-qcow2: unexpected EOF
    2018/02/06 14:37:09 [ERROR] root: eval: *terraform.EvalSequence, err: 1 error(s) occurred:

  • libvirt_domain.k801-qcow2: unexpected EOF
    2018/02/06 14:37:09 [TRACE] [walkApply] Exiting eval tree: libvirt_domain.k801-qcow2
    2018/02/06 14:37:09 [TRACE] dag/walk: upstream errored, not walking "meta.count-boundary (count boundary fixup)"
    2018/02/06 14:37:09 [TRACE] dag/walk: upstream errored, not walking "provider.libvirt (close)"
    2018/02/06 14:37:09 [TRACE] dag/walk: upstream errored, not walking "root"
    2018/02/06 14:37:09 [TRACE] Preserving existing state lineage "7acf523d-b4b0-424e-80f5-c1220fbd85ee"
    2018/02/06 14:37:09 [DEBUG] plugin: waiting for all plugin processes to complete...
    2018-02-06T14:37:09.905Z [WARN ] plugin: error closing client during Kill: err="connection is shut down"

  • libvirt_domain.k801-qcow2: 1 error(s) occurred:

  • libvirt_domain.k801-qcow2: unexpected EOF

Terraform does not automatically rollback in the face of errors.

!!!!!!!!!!!!!!!!!!!!!!!!!!! TERRAFORM CRASH !!!!!!!!!!!!!!!!!!!!!!!!!!!!

Terraform crashed! This is always indicative of a bug within Terraform.
A crash log has been placed at "crash.log" relative to your current
working directory. It would be immensely helpful if you could please
report the crash with Terraform1 so that we can fix this.

When reporting bugs, please include your terraform version. That
information is available on the first line of crash.log. You can also
get it by running 'terraform --version' on the command line.

!!!!!!!!!!!!!!!!!!!!!!!!!!! TERRAFORM CRASH !!!!!!!!!!!!!!!!!!!!!!!!!!!!
Instead, your Terraform state file has been partially updated with
any resources that successfully completed. Please address the error
above and apply again to incrementally change your infrastructure.

[root@laptop k801]#

Selinux or Firewall:

Selinux disabled
iptables disabled and flushed

@BruceBushby
Copy link
Author

crash.log

@BruceBushby
Copy link
Author

2018-02-06T14:37:09.896Z [DEBUG] plugin.terraform-provider-libvirt: 2018/02/06 14:37:09 [WARN] WaitForState timeout after 30s
2018-02-06T14:37:09.896Z [DEBUG] plugin.terraform-provider-libvirt: 2018/02/06 14:37:09 [WARN] WaitForState starting 30s refresh grace period
2018-02-06T14:37:09.896Z [DEBUG] plugin.terraform-provider-libvirt: 2018/02/06 14:37:09 [DEBUG] getting domain addresses from networks
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: panic: runtime error: invalid memory address or nil pointer dereference
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xab6e28]
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt:
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: goroutine 31 [running]:
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: github.com/dmacvicar/terraform-provider-libvirt/libvirt.getDomainInterfacesFromNetworks(0x0, 0x0, 0xc420477c58, 0x6, 0xc420477c88, 0x3, 0xc420477c9c, 0x4, 0xc42031a450, 0x24, ...)
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: /root/go/src/github.com/dmacvicar/terraform-provider-libvirt/libvirt/domain.go:215 +0x6b8

@BruceBushby
Copy link
Author

Perhaps my libvirt setup is incorrect. I'm using a separate dhcp service rather then the libvirt dhcp.

WIll change and re-test

2018-02-06T14:37:09.896Z [DEBUG] plugin.terraform-provider-libvirt: 2018/02/06 14:37:09 [WARN] WaitForState starting 30s refresh grace period
2018-02-06T14:37:09.896Z [DEBUG] plugin.terraform-provider-libvirt: 2018/02/06 14:37:09 [DEBUG] getting domain addresses from networks
2018-02-06T14:37:09.899Z [DEBUG] plugin.terraform-provider-libvirt: panic: runtime error: invalid memory address or nil pointer dereference

@BruceBushby
Copy link
Author

Fixed!

I shutdown my dhcp service and configured the libvirt network's dhcp.... problem solved.

dc00-10 8e78b397-095f-476d-afbe-a412c5a76871

[root@laptop k801]#
[root@laptop k801]# terraform apply -auto-approve
libvirt_volume.k801-qcow2: Creating...
format: "" => "qcow2"
name: "" => "k801-qcow2"
pool: "" => "default"
size: "" => "343597383680"
libvirt_volume.k801-qcow2: Creation complete after 0s (ID: /var/lib/libvirt/images/k801-qcow2)
libvirt_domain.k801-qcow2: Creating...
arch: "" => ""
boot_device.#: "" => "1"
boot_device.0.dev.#: "" => "2"
boot_device.0.dev.0: "" => "hd"
boot_device.0.dev.1: "" => "network"
disk.#: "" => "1"
disk.0.%: "" => "1"
disk.0.volume_id: "" => "/var/lib/libvirt/images/k801-qcow2"
emulator: "" => ""
graphics.%: "" => "4"
graphics.address: "" => "0.0.0.0"
graphics.autoport: "" => "yes"
graphics.listen_type: "" => "address"
graphics.type: "" => "spice"
machine: "" => ""
memory: "" => "2048"
name: "" => "k801"
network_interface.#: "" => "1"
network_interface.0.addresses.#: "" => ""
network_interface.0.hostname: "" => ""
network_interface.0.mac: "" => ""
network_interface.0.network_id: "" => ""
network_interface.0.network_name: "" => "dc00-10"
vcpu: "" => "2"
libvirt_domain.k801-qcow2: Still creating... (10s elapsed)
libvirt_domain.k801-qcow2: Still creating... (20s elapsed)
libvirt_domain.k801-qcow2: Still creating... (30s elapsed)
libvirt_domain.k801-qcow2: Creation complete after 31s (ID: 7571043d-23e7-4260-b1d7-575f28088538)

Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
[root@laptop k801]#

@BruceBushby
Copy link
Author

Closing, fixed as explained above.

dirkmueller added a commit to dirkmueller/terraform-provider-libvirt that referenced this issue Jun 5, 2020
See https://raw.githubusercontent.com/hashicorp/terraform-plugin-sdk/v1-maint/CHANGELOG.md

BUG FIXES:

* Remove deprecation for `d.Partial` ([dmacvicar#463](hashicorp/terraform-plugin-sdk#463))
* Fix bug when serializing bool in TypeMap ([dmacvicar#465](hashicorp/terraform-plugin-sdk#465))

DEPRECATIONS:

* Deprecate `DisableBinaryDriver` ([dmacvicar#450](hashicorp/terraform-plugin-sdk#450))
* Deprecate the `helper/mutexkv`, `helper/pathorcontents`, `httpclient`, and `helper/hashcode` packages ([dmacvicar#453](hashicorp/terraform-plugin-sdk#453))

FEATURES:

* Allow disabling binary testing via `TF_DISABLE_BINARY_TESTING` environment variable. ([dmacvicar#441](hashicorp/terraform-plugin-sdk#441))

BUG FIXES:

* More accurate results for `schema.ResourceData.HasChange` when dealing with a Set inside another Set. ([dmacvicar#362](hashicorp/terraform-plugin-sdk#362))

DEPRECATED:

* helper/encryption: In line with sensitive state best practices, the `helper/encryption` package is deprecated. ([dmacvicar#437](hashicorp/terraform-plugin-sdk#437))

ENHANCEMENTS:

* Better error messaging when indexing into TypeSet for test checks, while the binary driver is enabled (currently not supported) ([dmacvicar#417](hashicorp/terraform-plugin-sdk#417))
* Prevent ConflictsWith from self referencing and prevent referencing multi item Lists or Sets ([dmacvicar#416](hashicorp/terraform-plugin-sdk#416)] [[dmacvicar#423](hashicorp/terraform-plugin-sdk#423)] [[dmacvicar#426](hashicorp/terraform-plugin-sdk#426))

FEATURES:

* Added validation helper `RequiredWith` ([dmacvicar#342](hashicorp/terraform-plugin-sdk#342))

BUG FIXES:

* Binary acceptance test driver: omit test cleanup when state is empty ([dmacvicar#356](hashicorp/terraform-plugin-sdk#356))
* Make mockT.Fatal halt execution ([dmacvicar#396](hashicorp/terraform-plugin-sdk#396))

DEPENDENCIES:

* `github.com/hashicorp/terraform-plugin-test@v1.2.0` -> `v1.3.0` [[dmacvicar#400](hashicorp/terraform-plugin-sdk#400)]

BUG FIXES:

* Binary acceptance test driver: fix cleanup of temporary directories ([dmacvicar#378](hashicorp/terraform-plugin-sdk#378))

DEPRECATED:

* helper/schema: `ResourceData.GetOkExists` will not be removed in the next major version unless a suitable replacement or alternative can be prescribed ([dmacvicar#350](hashicorp/terraform-plugin-sdk#350))

FEATURES:

* Added support for additional protocol 5.2 fields (`Description`, `DescriptionKind`, `Deprecated`) ([dmacvicar#353](hashicorp/terraform-plugin-sdk#353))

BUG FIXES:

* Binary acceptance test driver: auto-configure providers ([dmacvicar#355](hashicorp/terraform-plugin-sdk#355))

FEATURES:

* helper/validation: `StringNotInSlice` ([dmacvicar#341](hashicorp/terraform-plugin-sdk#341))

FEATURES:

* Binary acceptance test driver ([dmacvicar#262](hashicorp/terraform-plugin-sdk#262))

DEPRECATED:

* helper/schema: `ResourceData.Partial` ([dmacvicar#317](hashicorp/terraform-plugin-sdk#317))
* helper/schema: `ResourceData.SetPartial` ([dmacvicar#317](hashicorp/terraform-plugin-sdk#317))

DEPRECATED:

* helper/validation: `ValidateListUniqueStrings` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `SingleIP` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `IPRange` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `CIDRNetwork` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `ValidateJsonString` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `ValidateRegexp` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `ValidateRFC3339TimeString` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))

FEATURES:

* helper/validation: `IntDivisibleBy` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IntNotInSlice` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsIPv6Address` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsIPv4Address` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsCIDR` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsMACAddress` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsPortNumber` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsPortNumberOrZero` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsDayOfTheWeek` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsMonth` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsRFC3339Time` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsURLWithHTTPS` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsURLWithHTTPorHTTPS` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsURLWithScheme` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `ListOfUniqueStrings` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `IsIPAddress` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `IsIPv4Range` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `IsCIDRNetwork` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `StringIsJSON` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `StringIsValidRegExp` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))

FEATURES:

* helper/validation: `StringIsEmpty` ([dmacvicar#294](hashicorp/terraform-plugin-sdk#294))
* helper/validation: `StringIsNotEmpty` ([dmacvicar#294](hashicorp/terraform-plugin-sdk#294))
* helper/validation: `StringIsWhiteSpace` ([dmacvicar#294](hashicorp/terraform-plugin-sdk#294))
* helper/validation: `StringIsNotWhiteSpace` ([dmacvicar#294](hashicorp/terraform-plugin-sdk#294))
* helper/validation: `IsUUID` ([dmacvicar#294](hashicorp/terraform-plugin-sdk#294)) ([dmacvicar#297](hashicorp/terraform-plugin-sdk#297))

BUG FIXES:

* schema/ExactlyOneOf: Fix handling of unknowns in complex types ([dmacvicar#287](hashicorp/terraform-plugin-sdk#287))

BUG FIXES:

* helper/resource: Don't crash when dependent test sweeper is missing ([dmacvicar#279](hashicorp/terraform-plugin-sdk#279))
dirkmueller added a commit to dirkmueller/terraform-provider-libvirt that referenced this issue Jun 5, 2020
See https://raw.githubusercontent.com/hashicorp/terraform-plugin-sdk/v1-maint/CHANGELOG.md

BUG FIXES:

* Remove deprecation for `d.Partial` ([dmacvicar#463](hashicorp/terraform-plugin-sdk#463))
* Fix bug when serializing bool in TypeMap ([dmacvicar#465](hashicorp/terraform-plugin-sdk#465))

DEPRECATIONS:

* Deprecate `DisableBinaryDriver` ([dmacvicar#450](hashicorp/terraform-plugin-sdk#450))
* Deprecate the `helper/mutexkv`, `helper/pathorcontents`, `httpclient`, and `helper/hashcode` packages ([dmacvicar#453](hashicorp/terraform-plugin-sdk#453))

FEATURES:

* Allow disabling binary testing via `TF_DISABLE_BINARY_TESTING` environment variable. ([dmacvicar#441](hashicorp/terraform-plugin-sdk#441))

BUG FIXES:

* More accurate results for `schema.ResourceData.HasChange` when dealing with a Set inside another Set. ([dmacvicar#362](hashicorp/terraform-plugin-sdk#362))

DEPRECATED:

* helper/encryption: In line with sensitive state best practices, the `helper/encryption` package is deprecated. ([dmacvicar#437](hashicorp/terraform-plugin-sdk#437))

ENHANCEMENTS:

* Better error messaging when indexing into TypeSet for test checks, while the binary driver is enabled (currently not supported) ([dmacvicar#417](hashicorp/terraform-plugin-sdk#417))
* Prevent ConflictsWith from self referencing and prevent referencing multi item Lists or Sets ([dmacvicar#416](hashicorp/terraform-plugin-sdk#416)] [[dmacvicar#423](hashicorp/terraform-plugin-sdk#423)] [[dmacvicar#426](hashicorp/terraform-plugin-sdk#426))

FEATURES:

* Added validation helper `RequiredWith` ([dmacvicar#342](hashicorp/terraform-plugin-sdk#342))

BUG FIXES:

* Binary acceptance test driver: omit test cleanup when state is empty ([dmacvicar#356](hashicorp/terraform-plugin-sdk#356))
* Make mockT.Fatal halt execution ([dmacvicar#396](hashicorp/terraform-plugin-sdk#396))

DEPENDENCIES:

* `github.com/hashicorp/terraform-plugin-test@v1.2.0` -> `v1.3.0` [[dmacvicar#400](hashicorp/terraform-plugin-sdk#400)]

BUG FIXES:

* Binary acceptance test driver: fix cleanup of temporary directories ([dmacvicar#378](hashicorp/terraform-plugin-sdk#378))

DEPRECATED:

* helper/schema: `ResourceData.GetOkExists` will not be removed in the next major version unless a suitable replacement or alternative can be prescribed ([dmacvicar#350](hashicorp/terraform-plugin-sdk#350))

FEATURES:

* Added support for additional protocol 5.2 fields (`Description`, `DescriptionKind`, `Deprecated`) ([dmacvicar#353](hashicorp/terraform-plugin-sdk#353))

BUG FIXES:

* Binary acceptance test driver: auto-configure providers ([dmacvicar#355](hashicorp/terraform-plugin-sdk#355))

FEATURES:

* helper/validation: `StringNotInSlice` ([dmacvicar#341](hashicorp/terraform-plugin-sdk#341))

FEATURES:

* Binary acceptance test driver ([dmacvicar#262](hashicorp/terraform-plugin-sdk#262))

DEPRECATED:

* helper/schema: `ResourceData.Partial` ([dmacvicar#317](hashicorp/terraform-plugin-sdk#317))
* helper/schema: `ResourceData.SetPartial` ([dmacvicar#317](hashicorp/terraform-plugin-sdk#317))

DEPRECATED:

* helper/validation: `ValidateListUniqueStrings` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `SingleIP` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `IPRange` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `CIDRNetwork` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `ValidateJsonString` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `ValidateRegexp` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `ValidateRFC3339TimeString` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))

FEATURES:

* helper/validation: `IntDivisibleBy` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IntNotInSlice` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsIPv6Address` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsIPv4Address` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsCIDR` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsMACAddress` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsPortNumber` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsPortNumberOrZero` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsDayOfTheWeek` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsMonth` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsRFC3339Time` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsURLWithHTTPS` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsURLWithHTTPorHTTPS` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `IsURLWithScheme` ([dmacvicar#296](hashicorp/terraform-plugin-sdk#296))
* helper/validation: `ListOfUniqueStrings` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `IsIPAddress` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `IsIPv4Range` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `IsCIDRNetwork` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `StringIsJSON` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `StringIsValidRegExp` ([dmacvicar#301](hashicorp/terraform-plugin-sdk#301))
* helper/validation: `StringIsEmpty` ([dmacvicar#294](hashicorp/terraform-plugin-sdk#294))
* helper/validation: `StringIsNotEmpty` ([dmacvicar#294](hashicorp/terraform-plugin-sdk#294))
* helper/validation: `StringIsWhiteSpace` ([dmacvicar#294](hashicorp/terraform-plugin-sdk#294))
* helper/validation: `StringIsNotWhiteSpace` ([dmacvicar#294](hashicorp/terraform-plugin-sdk#294))
* helper/validation: `IsUUID` ([dmacvicar#294](hashicorp/terraform-plugin-sdk#294)) ([dmacvicar#297](hashicorp/terraform-plugin-sdk#297))

BUG FIXES:

* schema/ExactlyOneOf: Fix handling of unknowns in complex types ([dmacvicar#287](hashicorp/terraform-plugin-sdk#287))
* helper/resource: Don't crash when dependent test sweeper is missing ([dmacvicar#279](hashicorp/terraform-plugin-sdk#279))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant