Documentation of reuse_ips and behaviour mismatch

Offen Anfängerfreundlich
#167 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
72/100
Issue-Typ
Dokumentation
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
go
Bereich
cloud, documentation

Rechercherichtung

Lies die Beschreibung von reuse_ips in docs-partials/builder/openstack/RunConfig-not-required.mdx und vergleiche sie mit dem Verhalten in builder/openstack/step_allocate_ip.go, insbesondere mit dem verlinkten Code in der Nähe von Zeile 74. Kläre, ob die Option nur verfügbare Floating IPs wiederverwendet oder eine erstellt, wenn keine verfügbar sind, und überprüfe anschließend, ob die Dokumentation mit dem beobachteten Verhalten übereinstimmt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

Overview

Documentation implies that reuse_ips will trial using any existing floating IPs then create a new one if it cannot find any. I find and code implies to me from a quick look that it will only try reuse_ips and hence if there is not a IP to reuse then will fail.

https://github.com/hashicorp/packer-plugin-openstack/blob/76283e5cef45a5cab6adcf968936c7f24b90e0d4/docs-partials/builder/openstack/RunConfig-not-required.mdx?plain=1#L35-L40

Reproduction Steps

GitLab-ci runner

build-image:
  stage: build
  image: hashicorp/packer
  before_script: 
    - mkdir -p ./openstack
    - mkdir -p /etc/openstack
    - echo "$CLOUDS_YAML" > ./openstack/clouds.yaml
    - cp openstack/clouds.yaml /etc/openstack
  script: 
    - packer init ubuntu.pkr.hcl
    - packer build -var ubuntu_version=noble ubuntu.pkr.hcl`
Plugin and Packer version

From packer version

Simplified Packer Buildfile
packer {
  required_plugins {
      openstack = {
        version = "~> 1"
        source  = "github.com/hashicorp/openstack"
    }
  }
}

source "openstack" "ubuntu" {
  flavor          = "general.v2.small"
  image_name       = "packer-test-ubuntu-${var.ubuntu_version}"
  external_source_image_url = "https://cloud-images.ubuntu.com/${var.ubuntu_version}/current/${var.ubuntu_version}-server-cloudimg-amd64.img"
  ssh_username    = "ubuntu"
  cloud = "openstack"
  networks = ["<removed>"]
  floating_ip_network = "external"
  reuse_ips = true
  insecure            = "true"
  image_disk_format   = "raw"
  use_blockstorage_volume = true
  volume_size = 10
  network_discovery_cidrs = ["<removed>"]

  username     = "ubuntu"
}

Operating system and Environment details

hashicorp/packer docker image, AMD64

Log Fragments related

Packer init versions

$ packer init ubuntu.pkr.hcl
Installed plugin github.com/hashicorp/openstack v1.1.4 in "/root/.config/packer/plugins/github.com/hashicorp/openstack/packer-plugin-openstack_v1.1.4_x5.0_linux_amd64"

Build failure output

==> openstack.ubuntu: Launching server...
==> openstack.ubuntu: Server ID: 3d10800f-b8a6-49b8-b103-7014cb708c55
==> openstack.ubuntu: Waiting for server to become ready...
==> openstack.ubuntu: Searching for unassociated floating IP
==> openstack.ubuntu: Error searching for floating IP: no free floating IPs found
==> openstack.ubuntu: Terminating the source server: 3d10800f-b8a6-49b8-b103-7014cb708c55 ...
==> openstack.ubuntu: Waiting for volume 2be9f422-8822-460d-b56a-d27327df072d to become available...
==> openstack.ubuntu: Deleting volume: 2be9f422-8822-460d-b56a-d27327df072d ...
==> openstack.ubuntu: Deleting temporary external source image: packer_6aeb58c1-a60a-345c-f49c-0f087813cf4b ...
==> openstack.ubuntu: Deleting temporary keypair: packer_6aeb58c1-74e9-b8e2-4f69-9bad19abed95 ...
Build 'openstack.ubuntu' errored after 1 minute 45 seconds: Error searching for floating IP: no free floating IPs found
==> Wait completed after 1 minute 45 seconds
==> Some builds didn't complete successfully and had errors:
--> openstack.ubuntu: Error searching for floating IP: no free floating IPs found
==> Builds finished but no artifacts were created.
Vorherrschende Sprache
Go
Sterne
29
Forks
27
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus hashicorp/packer-plugin-openstack

Alle Issues in hashicorp/packer-plugin-openstack

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.