Skip to content

Conversation

lgarber-akamai
Copy link
Contributor

@lgarber-akamai lgarber-akamai commented Sep 24, 2025

📝 Description

This pull request adds support for VPC Dual Stack in the following modules:

  • linode.cloud.instance (config interfaces only)
  • linode.cloud.vpc
  • linode.cloud.vpc_subnet
  • linode.cloud.vpc_ipv6_list (new module)
  • linode.cloud.vpcs_ipv6_list (new module)

No changes are required for existing info and list modules because the API responses are passed through directly to result.

✔️ How to Test

The following test steps assume you have pulled down this PR locally, run make install. Additionally, your local environment should point at a Linode account with access to VPC Dual Stack (see TPT-3535 for details).

Integration Testing

make test-int TEST_ARGS="-v vpc_basic vpc_ipv6 vpc_subnet vpc_subnet_ipv6 instance_interfaces instance_interfaces_vpc instance_interfaces_vpc_ipv6 instance_config_vpc instance_config_vpc_ipv6"

Manual Testing

  1. In an ansible_linode sandbox environment (e.g. dx-devenv), run the following playbook:
---
- name: ansible_linode Sandbox Playbook
  hosts: localhost
  tasks:
    - name: Create a VPC
      linode.cloud.vpc:
        label: 'test-vpc-manual'
        region: no-osl-1
        ipv6:
          - range: "auto"
        state: present
      register: create_vpc

    - name: Create a subnet
      linode.cloud.vpc_subnet:
        vpc_id: '{{ create_vpc.vpc.id }}'
        label: 'test-subnet'
        ipv4: '10.0.0.0/24'
        ipv6:
          - range: "auto"
        state: present
      register: create_subnet

    - name: Create a Linode Instance with a public IPv6 VPC interface
      linode.cloud.instance:
        label: my-vpc-instance
        region: no-osl-1
        type: g6-nanode-1
        image: linode/alpine3.21
        booted: false
        interfaces:
          - purpose: vpc
            subnet_id: '{{ create_subnet.subnet.id }}'
            ipv6:
              is_public: true
              slaac:
                - range: auto
              ranges:
                - range: auto
        state: present

  environment:
    LINODE_API_VERSION: v4beta
  1. Ensure the playbook executes successfully.
  2. Make arbitrary changes to the IPv6 configuration of the interface.
  3. Re-run the playbook and ensure it executes successfully.
  4. Make arbitrary changes to the VPC and VPC subnet IPv6 configuration.
  5. Re-run the playbook and expect an error.

@lgarber-akamai lgarber-akamai added the new-feature for new features in the changelog. label Sep 24, 2025
@lgarber-akamai lgarber-akamai marked this pull request as ready for review September 24, 2025 16:46
@lgarber-akamai lgarber-akamai requested a review from a team as a code owner September 24, 2025 16:46
@lgarber-akamai lgarber-akamai requested review from jriddle-linode and zliang-akamai and removed request for a team September 24, 2025 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-feature for new features in the changelog.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant