-
Notifications
You must be signed in to change notification settings - Fork 458
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
<host> not added to network when creating a domain #441
Comments
Try out the wait for lease param |
I tried that, but it doesn't fix my problem. The line is still missing, and will only be added when I run |
Let me try to make it more clear: The issue is not, that the domain does not get a DHCP lease - it gets one, but not the one I defined. And that's because the entry is not being added to the network's XML definition. When I run it a second time, it will be added and the domain will get the correct IP and hostname over DHCP. |
Ok thx i will check i dont have terminal now ;) |
have the feeling this was more o less related to what I experiment there but not sure, need to check |
@ghtyrant once you have time can you attach logs with |
Here you go, sorry for the delay: net-dumpxml before running terraform apply:
Terraform output on the first run: https://gist.github.com/ghtyrant/118dca9360596b8807212780fb719c16 net-dumpxml does not change after the first run. Terraform output on the second run: https://gist.github.com/ghtyrant/3ebc5cb6e522f79ad8fbe4dbd234bb15 net-dumpxml after running terraform apply a second time:
|
Can reproduce this issue too - executing
After that, the host is visible when dumping the XML. |
After encountering the same issue, I have done some research. One might expect Terraform to resolve the name of the network to it's ID automatically. But currently it doesn't.
https://github.com/dmacvicar/terraform-provider-libvirt/blob/master/libvirt/domain.go#L612 Using the name as specifier also did not work reliably in my case. It only worked for the first network interface of each machine. As a result, there is a difference between the plan and what is done. According to the plan specifying an IP should result in looking for the network ID by the name, enabling DHCP and adding the hosts to the table of the network. Edit: Using the network ID to specify the network instead, avoids all these issues. |
@MalloZup Same issue here. Hosts entries are only created in the second apply (even using the network ID) Edit: Maybe instead of checking if HasDHCP only looking the network modes, it should check if some address is provided by the user too. |
I failed to reproduce the issue with this:
The 2nd run of
and XML dump of the |
closing thx |
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))
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))
Version Reports:
Distro version of host:
Debian GNU/Linux 9.5 (stretch)
Terraform Version Report
terraform v0.11.8
I built this provider from source since Debian ships with libvirt 3.0.0, which doesn't work with the pre-built binaries.
Libvirt version
3.0.0
terraform-provider-libvirt plugin version (git-hash)
4cc6d3ba0180c5c1afcbd2f37cbe8f6f8d93ccae
Description of Issue/Question
Setup
main.tf:
Module vm (vm/main.tf):
Steps to Reproduce Issue
terraform apply
. This will create the network "default" and a domain called "cloud"sudo virsh net-dumpxml default
:terraform apply
againsudo virsh net-dumpxml default
again:<host mac='2A:40:25:3F:0E:CE' name='cloud' ip='192.168.100.4'/>
was added at the second run, but not at the firstI expect to be added on the first run.
This could be related to #389 or #402. I tried adding a dependency on the network to the VM but the result was the same.
The text was updated successfully, but these errors were encountered: