klausheck opened a new issue, #6584:
URL: https://github.com/apache/cloudstack/issues/6584
<!--
Verify first that your issue/request is not already reported on GitHub.
Also test if the latest release and main branch are affected too.
Always add information AFTER of these HTML comments, but no need to delete
the comments.
-->
##### ISSUE TYPE
<!-- Pick one below and delete the rest -->
* Bug Report
##### COMPONENT NAME
<!--
Categorize the issue, e.g. API, VR, VPN, UI, etc.
-->
~~~
Creation of virtual router with dual-stack IPv4/IPv6 fails.
~~~
##### CLOUDSTACK VERSION
<!--
New line separated list of affected versions, commit ID for issues on main
branch.
-->
4.17
~~~
~~~
##### CONFIGURATION
<!--
Information about the configuration if relevant, e.g. basic network,
advanced networking, etc. N/A otherwise
-->
##### OS / ENVIRONMENT
<!--
Information about the environment if relevant, N/A otherwise
-->
Ubuntu 20.04
##### SUMMARY
<!-- Explain the problem/feature briefly -->
When instantiating a Dual-Stack Network, the following error occurs:
Unable to start a VM [3f772370-2cf1-4ce0-96ff-a51f36d376b8] due to
[Unable to create a deployment for VM instance {id: "108", name:
"i-2-108-VM",
uuid: "3f772370-2cf1-4ce0-96ff-a51f36d376b8", type="User"}].
After diving into the issue, it turns out that the actual reason is a
failure in creating the virtual router, which can be seen in the management log
entry:
ROR [c.c.n.Ipv6ServiceImpl] (Work-Job-Executor-68:ctx-f9e73850
job-1385/job-1386 ctx-12d32990) (logid:c126a9d8) Unable to find IPv6 address
for zone ID: 1, physical network ID: 202, VLAN: vlan://99
In table "vlan", however, there is no entry with physical network ID: 202.
All entries there have physical_network_id 203.
The table "networks", on the other hand, has an entry for
physical_network_id 202. But that entry is the "Guest network" definition.
It seems to me as if the search parameter 202 is simply not correct. What
the system wants to find is the /64 IPv6 "IP range" that is defined for the
Zone's physical network transporting "Public" traffic type. This is supposed to
be used by the virtual router as its IPv6 address within the "Public" network.
In order to test this assumption, I added an entry to table "vlan". It is
exactly the same as the one defined for traffic type "Public", only with
physical_network_id 202 instead of 203.
With this "test entry", the virtual router is created correctly, as is the
vm instance. This pretty much indicates that the assumption was correct.
The bug is: when instantiating a dual-stack network, the Cloudstack Manager
searches for the wrong physical_network_id in order to create the virtual
router.
With the fake entry, I found a working workaround, but I would highly
appreciate a fix.
##### STEPS TO REPRODUCE
<!--
For bugs, show exactly how to reproduce the problem, using a minimal
test-case. Use Screenshots if accurate.
For new features, show how the feature would be used.
-->
- the configuration steps do exactly follow the "IPv6 Support in Cloudstack"
chapter in the "Plugins Guide" for version 4.17.0.0 including "Adding a Public
IPv6 Range" to the Zone's Public traffic type and "Adding Guest IPv6 Prefix"
- all prerequisites for IPv6 are fulfilled
- create a network offering
DefaultDualStackIsolatedNetworkOfferingWithSourceNatService which is analogous
to DefaultIsolatedNetworkOfferingWithSourceNatService plus option IPv4 + IPv6
(Dual Stack)
- create a guest network using the new network offering
DefaultDualStackIsolatedNetworkOfferingWithSourceNatService
- create a compute instance in the new Dual-Stack network
<!-- Paste example playbooks or commands between quotes below -->
~~~
~~~
<!-- You can also paste gist.github.com links for larger files -->
##### EXPECTED RESULTS
<!-- What did you expect to happen when running the steps above? -->
~~~
As explained above, the virtual router for the dual-stack network should
have been created.
~~~
##### ACTUAL RESULTS
<!-- What actually happened? -->
The creation of the virtual router simply failed.
<!-- Paste verbatim command output between quotes below -->
~~~
~~~
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]