Repository navigation
Releases: global-openstack/openstack_compute_instance_v2
Release list
v1.2.1
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
🚀 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()
📤 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
OpenStack Compute Instance Terraform Module v1.1.0
📢 Release Highlights
-
Modularized Structure:
Split into four clean submodules:compute_instance/– Core VM provisioningadd_volumes/– Attach extra storage volumesadd_nics/– Attach additional NICsnetworking/– Create and associate floating IPs
-
Automatic Volume Attachment:
Additional volumes are attached to each VM with deterministic names likedata-01,data-02per 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
"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.