@@ -183,6 +183,9 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne
183183
184184 private static final Logger LOGGER = Logger .getLogger (KubernetesClusterManagerImpl .class );
185185 private static final String DEFAULT_NETWORK_OFFERING_FOR_KUBERNETES_SERVICE_NAME = "DefaultNetworkOfferingforKubernetesService" ;
186+ private static final String DEFAULT_NETWORK_OFFERING_FOR_KUBERNETES_SERVICE_DISPLAY_TEXT = "Network Offering used for CloudStack Kubernetes service" ;
187+ private static final String DEFAULT_NSX_NETWORK_OFFERING_FOR_KUBERNETES_SERVICE_NAME = "DefaultNSXNetworkOfferingforKubernetesService" ;
188+ private static final String DEFAULT_NSX_NETWORK_OFFERING_FOR_KUBERNETES_SERVICE_DISPLAY_TEXT = "NSX Network Offering used for CloudStack Kubernetes service" ;
186189
187190 protected StateMachine2 <KubernetesCluster .State , KubernetesCluster .Event , KubernetesCluster > _stateMachine = KubernetesCluster .State .getStateMachine ();
188191
@@ -1875,21 +1878,37 @@ boolean isClusterVMsInDesiredState(KubernetesCluster kubernetesCluster, VirtualM
18751878
18761879 @ Override
18771880 public boolean start () {
1881+ createNetworkOfferingForKubernetes (DEFAULT_NETWORK_OFFERING_FOR_KUBERNETES_SERVICE_NAME ,
1882+ DEFAULT_NETWORK_OFFERING_FOR_KUBERNETES_SERVICE_DISPLAY_TEXT , false );
1883+
1884+ createNetworkOfferingForKubernetes (DEFAULT_NSX_NETWORK_OFFERING_FOR_KUBERNETES_SERVICE_NAME ,
1885+ DEFAULT_NSX_NETWORK_OFFERING_FOR_KUBERNETES_SERVICE_DISPLAY_TEXT , true );
1886+
1887+ _gcExecutor .scheduleWithFixedDelay (new KubernetesClusterGarbageCollector (), 300 , 300 , TimeUnit .SECONDS );
1888+ _stateScanner .scheduleWithFixedDelay (new KubernetesClusterStatusScanner (), 300 , 30 , TimeUnit .SECONDS );
1889+
1890+ return true ;
1891+ }
1892+
1893+ private void createNetworkOfferingForKubernetes (String offeringName , String offeringDesc , boolean forNsx ) {
18781894 final Map <Network .Service , Network .Provider > defaultKubernetesServiceNetworkOfferingProviders = new HashMap <Service , Network .Provider >();
18791895 defaultKubernetesServiceNetworkOfferingProviders .put (Service .Dhcp , Network .Provider .VirtualRouter );
18801896 defaultKubernetesServiceNetworkOfferingProviders .put (Service .Dns , Network .Provider .VirtualRouter );
18811897 defaultKubernetesServiceNetworkOfferingProviders .put (Service .UserData , Network .Provider .VirtualRouter );
1882- defaultKubernetesServiceNetworkOfferingProviders .put (Service .Firewall , Network .Provider .VirtualRouter );
1883- defaultKubernetesServiceNetworkOfferingProviders .put (Service .Gateway , Network .Provider .VirtualRouter );
1884- defaultKubernetesServiceNetworkOfferingProviders .put (Service .Lb , Network .Provider .VirtualRouter );
1885- defaultKubernetesServiceNetworkOfferingProviders .put (Service .SourceNat , Network .Provider .VirtualRouter );
1886- defaultKubernetesServiceNetworkOfferingProviders .put (Service .StaticNat , Network .Provider .VirtualRouter );
1887- defaultKubernetesServiceNetworkOfferingProviders .put (Service .PortForwarding , Network .Provider .VirtualRouter );
1888- defaultKubernetesServiceNetworkOfferingProviders .put (Service .Vpn , Network .Provider .VirtualRouter );
1898+ defaultKubernetesServiceNetworkOfferingProviders .put (Service .Firewall , forNsx ? Network .Provider .Nsx : Network .Provider .VirtualRouter );
1899+ defaultKubernetesServiceNetworkOfferingProviders .put (Service .Lb , forNsx ? Network .Provider .Nsx : Network .Provider .VirtualRouter );
1900+ defaultKubernetesServiceNetworkOfferingProviders .put (Service .SourceNat , forNsx ? Network .Provider .Nsx : Network .Provider .VirtualRouter );
1901+ defaultKubernetesServiceNetworkOfferingProviders .put (Service .StaticNat , forNsx ? Network .Provider .Nsx : Network .Provider .VirtualRouter );
1902+ defaultKubernetesServiceNetworkOfferingProviders .put (Service .PortForwarding , forNsx ? Network .Provider .Nsx : Network .Provider .VirtualRouter );
1903+ defaultKubernetesServiceNetworkOfferingProviders .put (Service .Vpn , forNsx ? Network .Provider .Nsx : Network .Provider .VirtualRouter );
1904+
1905+ if (!forNsx ) {
1906+ defaultKubernetesServiceNetworkOfferingProviders .put (Service .Gateway , Network .Provider .VirtualRouter );
1907+ }
18891908
18901909 NetworkOfferingVO defaultKubernetesServiceNetworkOffering =
1891- new NetworkOfferingVO (DEFAULT_NETWORK_OFFERING_FOR_KUBERNETES_SERVICE_NAME ,
1892- "Network Offering used for CloudStack Kubernetes service" , Networks .TrafficType .Guest ,
1910+ new NetworkOfferingVO (offeringName ,
1911+ offeringDesc , Networks .TrafficType .Guest ,
18931912 false , false , null , null , true ,
18941913 NetworkOffering .Availability .Required , null , Network .GuestType .Isolated , true ,
18951914 true , false , false , false , false ,
@@ -1906,11 +1925,6 @@ public boolean start() {
19061925 networkOfferingServiceMapDao .persist (offService );
19071926 LOGGER .trace ("Added service for the network offering: " + offService );
19081927 }
1909-
1910- _gcExecutor .scheduleWithFixedDelay (new KubernetesClusterGarbageCollector (), 300 , 300 , TimeUnit .SECONDS );
1911- _stateScanner .scheduleWithFixedDelay (new KubernetesClusterStatusScanner (), 300 , 30 , TimeUnit .SECONDS );
1912-
1913- return true ;
19141928 }
19151929
19161930 @ Override
0 commit comments