dmacvicar / terraform-provider-libvirt

Terraform provider to provision infrastructure with Linux's KVM using libvirt
Apache License 2.0
1.54k stars 457 forks source link

Upgrade provider from 0.6.3 #872

Closed lperrin-obs closed 2 years ago

lperrin-obs commented 2 years ago

System Information

Linux distribution

Ubuntu 20.04

Terraform version

terraform -v
Terraform v1.0.2
on linux_amd64
+ provider registry.terraform.io/dmacvicar/libvirt v0.6.3

Provider and libvirt versions

terraform-provider-libvirt -version
terraform-provider-libvirt 0.6.3+git.1604843676.67f4f2aa
Compiled against library: libvirt 6.0.0
Using library: libvirt 6.0.0
Running hypervisor: QEMU 4.2.1
Running against daemon: 6.0.0

Checklist

Description of Issue/Question

I'm trying to upgrade the libvirt provider from 0.6.3 (installed with package) to 0.6.10.

Setup

terraform {
  required_providers {
    libvirt = {
      source = "dmacvicar/libvirt"
      version = "0.6.10"
    }
  }
}

provider "libvirt" {
  uri = "qemu+ssh://user@servercontrolserver2/system"
}

resource "libvirt_volume" "ubuntu20 {
  name = "ubuntu20"
  source = "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img"
  format = "qcow2"
}

Steps to Reproduce Issue

terraform init --upgrade=true
Upgrading modules...
- vm-test-ubuntu in ../terraform-modules/libvirt-vm

Initializing the backend...

Initializing provider plugins...
- Finding dmacvicar/libvirt versions matching "0.6.3, 0.6.10"...
╷
│ Error: Failed to query available provider packages
│ 
│ Could not retrieve the list of available versions for provider dmacvicar/libvirt: no available releases match the given constraints 0.6.3, 0.6.10

Additional information:

Do you have SELinux or Apparmor/Firewall enabled? no Have you tried to reproduce the issue without them enabled?

karlskewes commented 2 years ago

For me I had to delete the .terraform directory where my main.tf/etc files were. I also deleted the older version under my users home dir.

You could also try performing the init command again with TF_LOG=debug set. https://www.terraform.io/docs/internals/debugging.html

lperrin-obs commented 2 years ago

I've tried to remove the .terraform directory but it's not better.

I activated the DEBUG but I didn't find explicit information :

terraform init -upgrade=true                                              
2021-07-19T11:37:41.736+0200 [DEBUG] Adding temp file log sink: /tmp/user/1000/terraform-log213838621
2021-07-19T11:37:41.736+0200 [INFO]  Terraform version: 1.0.2
2021-07-19T11:37:41.736+0200 [INFO]  Go runtime version: go1.16.4
2021-07-19T11:37:41.736+0200 [INFO]  CLI args: []string{"/usr/bin/terraform", "init", "-upgrade=true"}
2021-07-19T11:37:41.736+0200 [DEBUG] Attempting to open CLI config file: /home/fgzx6022/.terraformrc
2021-07-19T11:37:41.736+0200 [DEBUG] File doesn't exist, but doesn't need to. Ignoring.
2021-07-19T11:37:41.736+0200 [INFO]  Loading CLI configuration from /home/fgzx6022/.terraform.d/credentials.tfrc.json
2021-07-19T11:37:41.736+0200 [DEBUG] ignoring non-existing provider search directory terraform.d/plugins
2021-07-19T11:37:41.736+0200 [DEBUG] ignoring non-existing provider search directory /home/fgzx6022/.terraform.d/plugins
2021-07-19T11:37:41.736+0200 [DEBUG] will search for provider plugins in /home/fgzx6022/.local/share/terraform/plugins
2021-07-19T11:37:41.736+0200 [DEBUG] ignoring non-existing provider search directory /usr/share/ubuntu/terraform/plugins
2021-07-19T11:37:41.736+0200 [DEBUG] ignoring non-existing provider search directory /home/fgzx6022/.local/share/flatpak/exports/share/terraform/plugins
2021-07-19T11:37:41.736+0200 [DEBUG] ignoring non-existing provider search directory /var/lib/flatpak/exports/share/terraform/plugins
2021-07-19T11:37:41.736+0200 [DEBUG] ignoring non-existing provider search directory /usr/local/share/terraform/plugins
2021-07-19T11:37:41.736+0200 [DEBUG] will search for provider plugins in /usr/share/terraform/plugins
2021-07-19T11:37:41.736+0200 [DEBUG] ignoring non-existing provider search directory /var/lib/snapd/desktop/terraform/plugins
2021-07-19T11:37:41.737+0200 [INFO]  CLI command args: []string{"init", "-upgrade=true"}

Initializing the backend...
2021-07-19T11:37:41.738+0200 [DEBUG] New state was assigned lineage "11e3971f-1f2d-fa8e-8541-cb8eda0283f1"
2021-07-19T11:37:41.738+0200 [WARN]  Failed to determine selected providers: 1 error occurred:
    * there is no package for registry.terraform.io/dmacvicar/libvirt 0.6.3 cached in .terraform/providers
2021-07-19T11:37:41.738+0200 [DEBUG] checking for provisioner in "."
2021-07-19T11:37:41.743+0200 [DEBUG] checking for provisioner in "/usr/bin"
2021-07-19T11:37:41.743+0200 [INFO]  Failed to read plugin lock file .terraform/plugins/linux_amd64/lock.json: open .terraform/plugins/linux_amd64/lock.json: no such file or directory

Initializing provider plugins...
- Finding dmacvicar/libvirt versions matching "0.6.10"...
╷
│ Error: Failed to query available provider packages
│ 
│ Could not retrieve the list of available versions for provider dmacvicar/libvirt: no available releases match the given constraints 0.6.10
lperrin-obs commented 2 years ago

I finally resolved the issue by removing the 0.6.3 version installed with deb.