Skip to content

Releases: global-openstack/openstack_compute_instance_v2

v1.2.1

Choose a tag to compare

@scafeman scafeman released this 21 Sep 02:06

Release v1.2.1

🚀 New Features

  • Metadata Support: Added support for custom metadata key/value pairs on compute instances
    • New metadata variable accepts a map of strings to assign metadata to all VMs
    • Useful for tagging instances with environment info, project details, or service configurations

⬆️ Dependencies

  • OpenStack Provider Upgrade: Updated from 3.0.0 to 3.3.2
    • All modules now use ~> 3.3.2 version constraint for better compatibility
    • Includes latest bug fixes and feature improvements from the OpenStack provider

📚 Documentation

  • Added CLAUDE.md: Comprehensive development guide for future contributors
    • Common Terraform commands and workflows
    • Detailed architecture overview and module dependencies
    • File structure and development patterns
  • Updated provider version requirements in documentation

🔧 Improvements

  • Module Dependencies: Fixed dependency order for proper resource creation sequence
  • Enhanced Development Experience: Better guidance for working with the codebase

📋 Usage Example

module "openstack_vm" {
source = "github.com/global-openstack/openstack_compute_instance_v2.git?ref=v1.2.1"

# ... existing configuration ...

metadata = {
  "environment"     = "production"
  "project"         = "web-app"
  "rackspace-addon-monitoring" = "true"
}

}

🔄 Migration Notes

  • No breaking changes - fully backward compatible
  • New metadata variable is optional with an empty default
  • Provider upgrade may require terraform init -upgrade

v1.2.0

Choose a tag to compare

@scafeman scafeman released this 24 May 14:50
2becdd7

🚀 Release v1.2.0 – Enhanced NIC and Volume Support
This release introduces major improvements to networking and storage capabilities, along with refined cloud-init handling and output reporting.

✨ New Features
🖧 Additional NIC Support:
Added support for attaching multiple secondary NICs per VM using the additional_nics variable.

Supports static IPs per NIC per VM using add_nics_static_ips

Automatically maps NICs by VM and outputs detailed port info

🔒 Security Group Support:
Primary and Secondary NICs now support a list of security groups, automatically applied to each VM at provisioning.

💾 Improved Volume Management:
Enhancements to the additional_volumes logic to ensure consistent naming and deterministic ordering across all VMs.

☁️ Cloud-Init Template Support:
You can now choose between:

user_data_file for static YAML files

user_data_template_file for dynamic templates rendered via templatefile()
⚠️ Only one option should be set at a time.

📤 Output Enhancements
additional_nics_ports: Shows attached secondary NICs per VM, including IP, MAC, and network ID

debug_expanded_nics and debug_static_ip_map_attempts: Helpful debug outputs for NIC mapping and IP assignment

🔧 Internal Refactoring
Modular code separation for NICs, volumes, and floating IPs

Cleaner variable naming and better error handling in locals.tf

v1.1.0

Choose a tag to compare

@scafeman scafeman released this 03 May 02:28

OpenStack Compute Instance Terraform Module v1.1.0

📢 Release Highlights

  • Modularized Structure:
    Split into four clean submodules:

    • compute_instance/ – Core VM provisioning
    • add_volumes/ – Attach extra storage volumes
    • add_nics/ – Attach additional NICs
    • networking/ – Create and associate floating IPs
  • Automatic Volume Attachment:
    Additional volumes are attached to each VM with deterministic names like data-01, data-02 per VM, not globally across all VMs.

  • Secondary NICs:
    Secondary NICs are dynamically created and attached per VM using a simple flat list without needing per-VM mappings.

  • Floating IPs:
    Floating IPs are automatically provisioned and associated to the correct primary NICs when the "public_network_name" variable is set.
    Support was added to prevent adding floating IPs to the primary NIC when the "public_network_name" variable is not set.

  • Refactored Outputs:
    Clean and organized outputs for:

    • VM instance IDs
    • Floating IPs
    • Attached additional NICs (with IP, MAC, and network)
    • Attached additional Volumes (with name, size, type, attach ID)
  • Cloud-Init Support:
    Ability to inject cloud-init user-data files cleanly.

  • Consistent Naming:
    Predictable resource names across all VMs, NICs, and Volumes.

v1.0.1

Choose a tag to compare

@scafeman scafeman released this 28 Apr 20:09

"openstack_compute_instance_v2" Module Release 1.0.1

The openstack_compute_instance_v2 Terraform module provisions one or more virtual machines (VMs) into an OpenStack environment.

It is designed for flexibility, scalability, and production-grade deployments.

This module supports:

  • Primary NIC provisioning (static or DHCP IP assignment)
  • Optional floating IP association to the primary NIC
  • Optional attachment of additional NICs per VM
  • Optional attachment of additional storage volumes per VM
  • Cloud-init customization via a user-provided script
  • Dynamic or static VM naming based on user input

It is built for modularity and ease of consumption across different OpenStack private and public cloud environments.