bernardodemarco commented on code in PR #10617:
URL: https://github.com/apache/cloudstack/pull/10617#discussion_r2017690684
##########
ui/src/views/network/VpcTiersTab.vue:
##########
@@ -617,6 +619,46 @@ export default {
this.initForm()
this.fetchNetworkAclList()
this.fetchNetworkOfferings()
+ const cidr = this.resource.cidr
+ if (cidr && cidr.includes('/')) {
Review Comment:
```suggestion
if (cidr?.includes('/')) {
```
##########
ui/public/locales/en.json:
##########
@@ -576,9 +576,9 @@
"label.create.template": "Create Template",
"label.create.tier.aclid.description": "The ACL associated with the Network
Tier.",
"label.create.tier.externalid.description": "ID of the Network in an external
system.",
-"label.create.tier.gateway.description": "The Network Tier's gateway in the
super CIDR range, not overlapping with the CIDR of other Network Tiers in this
VPC.",
+"label.create.tier.gateway.description": "Gateway in range of VPC CIDR
({value})",
Review Comment:
```suggestion
"label.create.tier.gateway.description": "Gateway IP must be within VPC CIDR
({value})",
```
##########
ui/src/views/network/VpcTiersTab.vue:
##########
@@ -617,6 +619,46 @@ export default {
this.initForm()
this.fetchNetworkAclList()
this.fetchNetworkOfferings()
+ const cidr = this.resource.cidr
+ if (cidr && cidr.includes('/')) {
+ const [address, maskBits] = cidr.split('/')
+ const prefix = Number(maskBits)
+
+ const subnetMasks = {
+ 8: '255.0.0.0',
+ 9: '255.128.0.0',
+ 10: '255.192.0.0',
+ 11: '255.224.0.0',
+ 12: '255.240.0.0',
+ 13: '255.248.0.0',
+ 14: '255.252.0.0',
+ 15: '255.254.0.0',
+ 16: '255.255.0.0',
+ 17: '255.255.128.0',
+ 18: '255.255.192.0',
+ 19: '255.255.224.0',
+ 20: '255.255.240.0',
+ 21: '255.255.248.0',
+ 22: '255.255.252.0',
+ 23: '255.255.254.0',
+ 24: '255.255.255.0',
+ 25: '255.255.255.128',
+ 26: '255.255.255.192',
+ 27: '255.255.255.224',
+ 28: '255.255.255.240',
+ 29: '255.255.255.248',
+ 30: '255.255.255.252',
+ 31: '255.255.255.254',
+ 32: '255.255.255.255'
+ }
+
+ const cidrValue = `${address}/${maskBits}`
+ const netmask = subnetMasks[prefix] || '255.255.255.0'
Review Comment:
What do you think about abstracting this process of retrieving a CIDR's
netmask into an utility function? Maybe, we could place it inside the
`ui/src/utils` folder
##########
ui/src/views/network/VpcTiersTab.vue:
##########
@@ -617,6 +619,46 @@ export default {
this.initForm()
this.fetchNetworkAclList()
this.fetchNetworkOfferings()
+ const cidr = this.resource.cidr
+ if (cidr && cidr.includes('/')) {
+ const [address, maskBits] = cidr.split('/')
+ const prefix = Number(maskBits)
+
+ const subnetMasks = {
+ 8: '255.0.0.0',
+ 9: '255.128.0.0',
+ 10: '255.192.0.0',
+ 11: '255.224.0.0',
+ 12: '255.240.0.0',
+ 13: '255.248.0.0',
+ 14: '255.252.0.0',
+ 15: '255.254.0.0',
+ 16: '255.255.0.0',
+ 17: '255.255.128.0',
+ 18: '255.255.192.0',
+ 19: '255.255.224.0',
+ 20: '255.255.240.0',
+ 21: '255.255.248.0',
+ 22: '255.255.252.0',
+ 23: '255.255.254.0',
+ 24: '255.255.255.0',
+ 25: '255.255.255.128',
+ 26: '255.255.255.192',
+ 27: '255.255.255.224',
+ 28: '255.255.255.240',
+ 29: '255.255.255.248',
+ 30: '255.255.255.252',
+ 31: '255.255.255.254',
+ 32: '255.255.255.255'
+ }
+
+ const cidrValue = `${address}/${maskBits}`
Review Comment:
Is it necessary to define this `cidrValue` here? It'll contain the same
value as the `cidr` variable has, right?
--
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]