apache / apache/cloudstack

Provide a global setting to set the default network offering for Differnet network types ( L2/Isolated/Shared)

Ouverte
#12,705 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
complexity:unknown component:advanced-networking component:basic-network component:networking no-issue-activity type:improvement
Langage dominant
Java
Étoiles
3.1k
Forks
1.4k
Merge moyen
6 j 19 h
PR mergées (30 j)
32

Description

### The required feature described as a wish

Currently, there is a global setting "cloud.kubernetes.cluster.network.offering" which is set to "DefaultNetworkOfferingforKubernetesService".

When a user executes the api (createKubernetesCluster) and doesn't provide a network, cloudstack uses the global setting value to automatically create a network based on the network offering

https://cloudstack.apache.org/api/apidocs-4.22/apis/createKubernetesCluster.html

Similarly, when a user executes the deployVirtualMachine api call , cloudstack uses the offerings mentioned in the sql query to launch vm based on the network offering

https://cloudstack.apache.org/api/apidocs-4.22/apis/deployVirtualMachine.html

deploy virtualmachine serviceofferingid=<> templateid=<> zoneid=<>

```
mysql> SELECT id, name, display_text, `default`, for_vpc FROM cloud.network_offerings WHERE availability = 'Required' AND system_only = 0;
+----+----------------------------------------------------+----------------------------------------------------------------+---------+---------+
| id | name | display_text | default | for_vpc |
+----+----------------------------------------------------+----------------------------------------------------------------+---------+---------+
| 10 | DefaultIsolatedNetworkOfferingWithSourceNatService | Offering for Isolated networks with Source Nat service enabled | 1 | 0 |
| 28 | DefaultNetworkOfferingforKubernetesService | Network Offering used for CloudStack Kubernetes service | 1 | 0 |
| 29 | DefaultNSXNetworkOfferingforKubernetesService | Network Offering for NSX CloudStack Kubernetes Service | 1 | 0 |
| 30 | DefaultNSXVPCNetworkOfferingforKubernetesService | Network Offering for NSX CloudStack Kubernetes service on VPC | 1 | 1 |
+----+----------------------------------------------------+----------------------------------------------------------------+---------+---------+
4 rows in set (0.01 sec)

```

Now if a Admin user wants to use differnet network offering as the default, he has to first mark all the offerings mentioned in the sql query as optional

Image

Next, he has to make sure the newly created network offering as Required

Image

```
mysql> SELECT id, name, display_text, `default`, for_vpc FROM cloud.network_offerings WHERE availability = 'Required' AND system_only = 0;
+----+------+--------------+---------+---------+
| id | name | display_text | default | for_vpc |
+----+------+--------------+---------+---------+
| 31 | test | test | 0 | 0 |
+----+------+--------------+---------+---------+
1 row in set (0.00 sec)

```

It's a tedious process and i think if CloudStack can have default global setting for each network type it would be beneficial from admin and

users who doesn't want to provide the network id during vm deployment and let cloudstack handle the network creation part

Default.isolated.network.offering
Default.shared.network.offering
Default.l2.network.offering
Default.vpc.network.offering
Default.shared.network.offering
Default.nsx.network.offering
Default.netris.network.offering

Ref

https://github.com/apache/cloudstack/issues/12116#issuecomment-3576829083

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par les chemins d’API createKubernetesCluster et deployVirtualMachine, le paramètre existant cloud.kubernetes.cluster.network.offering et la requête cloud.network_offerings présentée dans l’issue. Déterminez comment les valeurs par défaut sont sélectionnées pour les réseaux isolated, shared, L2, VPC, NSX et Netris. C’est terminé lorsque les administrateurs peuvent configurer des valeurs par défaut globales distinctes sans modifier manuellement la disponibilité des offerings, et que les deux flux d’API utilisent la valeur par défaut configurée appropriée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
backend-api-design, cloud, networking
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.