Skip to content

Support IPv6 Secondary Interface in shiftstack-qa automation#17

Open
tusharjadhav3302 wants to merge 1 commit into
mainfrom
support_ipv6_secondary_OSPRH-6486
Open

Support IPv6 Secondary Interface in shiftstack-qa automation#17
tusharjadhav3302 wants to merge 1 commit into
mainfrom
support_ipv6_secondary_OSPRH-6486

Conversation

@tusharjadhav3302

Copy link
Copy Markdown

Summary

  • Add create_ipv6_secondary_networks.yml prepare task that creates IPv6 networks
    (slaac + dhcpstateless), subnets, and router for secondary worker interfaces
  • Add configure_ipv6_secondary day2ops procedure that applies DHCP kernel arg
    MachineConfig, patches CNO with macvlan additionalNetworks, deploys test pods,
    and verifies pod-to-pod IPv6 connectivity
  • Fix naming mismatch: validation now reads secondary_ip_protocol instead of
    non-existent network_secondary
  • Add 4.18_ipi-ipv6-secondary.yaml job definition for the scenario
  • Add IPv6 secondary network config block to configs/global.yml

Details

Prepare phase:

  • Creates 2 IPv6 networks with different RA modes (slaac, dhcpv6-stateless)
  • Creates IPv6 subnets with appropriate RA/address modes
  • Creates a router and attaches both subnets

Post-install (day2ops procedure):

  • Applies 05-worker-kernelarg-dhcp MachineConfig for ip=dhcp,dhcp6
  • Waits for MCP update and cluster health
  • Discovers IPv6 interfaces on workers
  • Patches CNO network.operator with macvlan additionalNetworks
  • Deploys hello-openshift pods with IPv6 network annotations
  • Verifies pod-to-pod connectivity on both slaac and dhcpstateless networks
  • Validates external reachability via oc debug node/ from worker nodes

Future Scope (not in this PR)

  • IPv6 VM connectivity testing: Deploy a standalone OpenStack VM attached to the
    IPv6 secondary networks to validate full VM-to-pod and pod-to-VM connectivity.
    Deferred because it requires admin-only OpenStack operations (image upload to Glance,
    flavor creation) which are not available from the shiftstack (non-admin) cloud.
    IR plugin reference: roles/day2ops/tasks/install_ipv6_vm.yml (205 lines),
    roles/day2ops/tasks/check_ipv6_connectivity.yml (100 lines).
  • Worker scaleup re-verification: After scaling up workers, re-scale IPv6 deployments
    and re-check connectivity. IR plugin reference:
    roles/day2ops/tasks/scale-ipv6-networks-deployments.yml (66 lines).

Test Plan

  • ./gate.sh passes (ansible-lint + pre-commit)
  • IPv6 secondary networks created in OpenStack
  • Workers have IPv6 interfaces after MachineConfig application
  • NetworkAttachmentDefinition CRs created by CNO
  • Pods can communicate over IPv6 secondary interfaces (same node + different nodes)
  • External reachability validated via oc debug node/

…PRH-6486

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant