You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ch...@apache.org on 2013/01/10 00:50:01 UTC
[2/16] git commit: Network-refactor: move readonly interface
NetworkModel into api project so that plugins can stop depending on the
server project Network-refactor: accidentally injected NetworkModel twice
(revert one of them)
Network-refactor: move readonly interface NetworkModel into api project so that plugins can stop depending on the server project
Network-refactor: accidentally injected NetworkModel twice (revert one of them)
Signed-off-by: Chiradeep Vittal <ch...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/0c300153
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/0c300153
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/0c300153
Branch: refs/heads/network-refactor
Commit: 0c3001530ff85adb37205693727498953f13cc8c
Parents: 5042642
Author: Chiradeep Vittal <ch...@apache.org>
Authored: Tue Jan 8 14:14:30 2013 -0800
Committer: Chiradeep Vittal <ch...@apache.org>
Committed: Wed Jan 9 15:49:01 2013 -0800
----------------------------------------------------------------------
api/src/com/cloud/network/NetworkModel.java | 245 +++++++++++++++
.../network/guru/NiciraNvpGuestNetworkGuru.java | 3 +-
server/src/com/cloud/network/NetworkModel.java | 245 ---------------
3 files changed, 246 insertions(+), 247 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/0c300153/api/src/com/cloud/network/NetworkModel.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/network/NetworkModel.java b/api/src/com/cloud/network/NetworkModel.java
new file mode 100644
index 0000000..f53cfbd
--- /dev/null
+++ b/api/src/com/cloud/network/NetworkModel.java
@@ -0,0 +1,245 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+package com.cloud.network;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import com.cloud.dc.Vlan;
+import com.cloud.exception.InsufficientAddressCapacityException;
+import com.cloud.hypervisor.Hypervisor.HypervisorType;
+import com.cloud.network.Network.Capability;
+import com.cloud.network.Network.Provider;
+import com.cloud.network.Network.Service;
+import com.cloud.network.Networks.TrafficType;
+import com.cloud.network.element.NetworkElement;
+import com.cloud.network.element.UserDataServiceProvider;
+import com.cloud.network.rules.FirewallRule;
+import com.cloud.offering.NetworkOffering;
+import com.cloud.user.Account;
+import com.cloud.vm.Nic;
+import com.cloud.vm.NicProfile;
+import com.cloud.vm.VirtualMachine;
+
+
+public interface NetworkModel {
+
+ /**
+ * Lists IP addresses that belong to VirtualNetwork VLANs
+ *
+ * @param accountId
+ * - account that the IP address should belong to
+ * @param associatedNetworkId
+ * TODO
+ * @param sourceNat
+ * - (optional) true if the IP address should be a source NAT address
+ * @return - list of IP addresses
+ */
+ List<? extends IpAddress> listPublicIpsAssignedToGuestNtwk(long accountId, long associatedNetworkId, Boolean sourceNat);
+
+ List<? extends NetworkOffering> getSystemAccountNetworkOfferings(String... offeringNames);
+
+ List<? extends Nic> getNics(long vmId);
+
+ String getNextAvailableMacAddressInNetwork(long networkConfigurationId) throws InsufficientAddressCapacityException;
+
+ boolean validateRule(FirewallRule rule);
+
+ PublicIpAddress getPublicIpAddress(long ipAddressId);
+
+ List<? extends Vlan> listPodVlans(long podId);
+
+ List<? extends Network> listNetworksUsedByVm(long vmId, boolean isSystem);
+
+ Nic getNicInNetwork(long vmId, long networkId);
+
+ List<? extends Nic> getNicsForTraffic(long vmId, TrafficType type);
+
+ Network getDefaultNetworkForVm(long vmId);
+
+ Nic getDefaultNic(long vmId);
+
+ UserDataServiceProvider getUserDataUpdateProvider(Network network);
+
+ boolean networkIsConfiguredForExternalNetworking(long zoneId, long networkId);
+
+ Map<Capability, String> getNetworkServiceCapabilities(long networkId, Service service);
+
+ boolean areServicesSupportedByNetworkOffering(long networkOfferingId, Service... services);
+
+ Network getNetworkWithSecurityGroupEnabled(Long zoneId);
+
+ String getIpOfNetworkElementInVirtualNetwork(long accountId, long dataCenterId);
+
+ List<? extends Network> listNetworksForAccount(long accountId, long zoneId, Network.GuestType type);
+
+ List<? extends Network> listAllNetworksInAllZonesByType(Network.GuestType type);
+
+ String getGlobalGuestDomainSuffix();
+
+ String getStartIpAddress(long networkId);
+
+ String getIpInNetwork(long vmId, long networkId);
+
+ String getIpInNetworkIncludingRemoved(long vmId, long networkId);
+
+ Long getPodIdForVlan(long vlanDbId);
+
+ List<Long> listNetworkOfferingsForUpgrade(long networkId);
+
+ boolean isSecurityGroupSupportedInNetwork(Network network);
+
+ boolean isProviderSupportServiceInNetwork(long networkId, Service service, Provider provider);
+
+ boolean isProviderEnabledInPhysicalNetwork(long physicalNetowrkId, String providerName);
+
+ String getNetworkTag(HypervisorType hType, Network network);
+
+ List<Service> getElementServices(Provider provider);
+
+ boolean canElementEnableIndividualServices(Provider provider);
+
+ boolean areServicesSupportedInNetwork(long networkId, Service... services);
+
+ boolean isNetworkSystem(Network network);
+
+ Map<Capability, String> getNetworkOfferingServiceCapabilities(NetworkOffering offering, Service service);
+
+ Long getPhysicalNetworkId(Network network);
+
+ boolean getAllowSubdomainAccessGlobal();
+
+ boolean isProviderForNetwork(Provider provider, long networkId);
+
+ boolean isProviderForNetworkOffering(Provider provider, long networkOfferingId);
+
+ void canProviderSupportServices(Map<Provider, Set<Service>> providersMap);
+
+ List<PhysicalNetworkSetupInfo> getPhysicalNetworkInfo(long dcId, HypervisorType hypervisorType);
+
+ boolean canAddDefaultSecurityGroup();
+
+ List<Service> listNetworkOfferingServices(long networkOfferingId);
+
+ boolean areServicesEnabledInZone(long zoneId, NetworkOffering offering, List<Service> services);
+
+ Map<PublicIpAddress, Set<Service>> getIpToServices(List<? extends PublicIpAddress> publicIps, boolean rulesRevoked,
+ boolean includingFirewall);
+
+ Map<Provider, ArrayList<PublicIpAddress>> getProviderToIpList(Network network, Map<PublicIpAddress, Set<Service>> ipToServices);
+
+ boolean checkIpForService(IpAddress ip, Service service, Long networkId);
+
+ void checkCapabilityForProvider(Set<Provider> providers, Service service, Capability cap, String capValue);
+
+ Provider getDefaultUniqueProviderForService(String serviceName);
+
+ void checkNetworkPermissions(Account owner, Network network);
+
+ String getDefaultManagementTrafficLabel(long zoneId, HypervisorType hypervisorType);
+
+ String getDefaultStorageTrafficLabel(long zoneId, HypervisorType hypervisorType);
+
+ String getDefaultPublicTrafficLabel(long dcId, HypervisorType vmware);
+
+ String getDefaultGuestTrafficLabel(long dcId, HypervisorType vmware);
+
+ /**
+ * @param providerName
+ * @return
+ */
+ NetworkElement getElementImplementingProvider(String providerName);
+
+ /**
+ * @param accountId
+ * @param zoneId
+ * @return
+ */
+ String getAccountNetworkDomain(long accountId, long zoneId);
+
+ /**
+ * @return
+ */
+ String getDefaultNetworkDomain();
+
+ /**
+ * @param ntwkOffId
+ * @return
+ */
+ List<Provider> getNtwkOffDistinctProviders(long ntwkOffId);
+
+ /**
+ * @param accountId
+ * @param dcId
+ * @param sourceNat
+ * @return
+ */
+ List<? extends IpAddress> listPublicIpsAssignedToAccount(long accountId, long dcId, Boolean sourceNat);
+
+ /**
+ * @param zoneId
+ * @param trafficType
+ * @return
+ */
+ List<? extends PhysicalNetwork> getPhysicalNtwksSupportingTrafficType(long zoneId, TrafficType trafficType);
+
+ /**
+ * @param guestNic
+ * @return
+ */
+ boolean isPrivateGateway(Nic guestNic);
+
+ Map<Service, Map<Capability, String>> getNetworkCapabilities(long networkId);
+
+ Network getSystemNetworkByZoneAndTrafficType(long zoneId, TrafficType trafficType);
+
+ Long getDedicatedNetworkDomain(long networkId);
+
+ Map<Service, Set<Provider>> getNetworkOfferingServiceProvidersMap(long networkOfferingId);
+
+ List<? extends Provider> listSupportedNetworkServiceProviders(String serviceName);
+
+ List<? extends Network> listNetworksByVpc(long vpcId);
+
+ boolean canUseForDeploy(Network network);
+
+ Network getExclusiveGuestNetwork(long zoneId);
+
+ long findPhysicalNetworkId(long zoneId, String tag, TrafficType trafficType);
+
+ Integer getNetworkRate(long networkId, Long vmId);
+
+ boolean isVmPartOfNetwork(long vmId, long ntwkId);
+
+ PhysicalNetwork getDefaultPhysicalNetworkByZoneAndTrafficType(long zoneId, TrafficType trafficType);
+
+ Network getNetwork(long networkId);
+
+ IpAddress getIp(long sourceIpAddressId);
+
+ boolean isNetworkAvailableInDomain(long networkId, long domainId);
+
+ NicProfile getNicProfile(VirtualMachine vm, long networkId, String broadcastUri);
+
+ Set<Long> getAvailableIps(Network network, String requestedIp);
+
+ String getDomainNetworkDomain(long domainId, long zoneId);
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/0c300153/plugins/network-elements/nicira-nvp/src/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/nicira-nvp/src/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java b/plugins/network-elements/nicira-nvp/src/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java
index 02916f9..d7b8cfb 100644
--- a/plugins/network-elements/nicira-nvp/src/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java
+++ b/plugins/network-elements/nicira-nvp/src/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java
@@ -70,8 +70,7 @@ import com.cloud.vm.VirtualMachineProfile;
public class NiciraNvpGuestNetworkGuru extends GuestNetworkGuru {
private static final Logger s_logger = Logger.getLogger(NiciraNvpGuestNetworkGuru.class);
- @Inject
- NetworkModel _externalNetworkManager;
+
@Inject
NetworkModel _networkModel;
@Inject
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/0c300153/server/src/com/cloud/network/NetworkModel.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkModel.java b/server/src/com/cloud/network/NetworkModel.java
deleted file mode 100644
index f53cfbd..0000000
--- a/server/src/com/cloud/network/NetworkModel.java
+++ /dev/null
@@ -1,245 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package com.cloud.network;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import com.cloud.dc.Vlan;
-import com.cloud.exception.InsufficientAddressCapacityException;
-import com.cloud.hypervisor.Hypervisor.HypervisorType;
-import com.cloud.network.Network.Capability;
-import com.cloud.network.Network.Provider;
-import com.cloud.network.Network.Service;
-import com.cloud.network.Networks.TrafficType;
-import com.cloud.network.element.NetworkElement;
-import com.cloud.network.element.UserDataServiceProvider;
-import com.cloud.network.rules.FirewallRule;
-import com.cloud.offering.NetworkOffering;
-import com.cloud.user.Account;
-import com.cloud.vm.Nic;
-import com.cloud.vm.NicProfile;
-import com.cloud.vm.VirtualMachine;
-
-
-public interface NetworkModel {
-
- /**
- * Lists IP addresses that belong to VirtualNetwork VLANs
- *
- * @param accountId
- * - account that the IP address should belong to
- * @param associatedNetworkId
- * TODO
- * @param sourceNat
- * - (optional) true if the IP address should be a source NAT address
- * @return - list of IP addresses
- */
- List<? extends IpAddress> listPublicIpsAssignedToGuestNtwk(long accountId, long associatedNetworkId, Boolean sourceNat);
-
- List<? extends NetworkOffering> getSystemAccountNetworkOfferings(String... offeringNames);
-
- List<? extends Nic> getNics(long vmId);
-
- String getNextAvailableMacAddressInNetwork(long networkConfigurationId) throws InsufficientAddressCapacityException;
-
- boolean validateRule(FirewallRule rule);
-
- PublicIpAddress getPublicIpAddress(long ipAddressId);
-
- List<? extends Vlan> listPodVlans(long podId);
-
- List<? extends Network> listNetworksUsedByVm(long vmId, boolean isSystem);
-
- Nic getNicInNetwork(long vmId, long networkId);
-
- List<? extends Nic> getNicsForTraffic(long vmId, TrafficType type);
-
- Network getDefaultNetworkForVm(long vmId);
-
- Nic getDefaultNic(long vmId);
-
- UserDataServiceProvider getUserDataUpdateProvider(Network network);
-
- boolean networkIsConfiguredForExternalNetworking(long zoneId, long networkId);
-
- Map<Capability, String> getNetworkServiceCapabilities(long networkId, Service service);
-
- boolean areServicesSupportedByNetworkOffering(long networkOfferingId, Service... services);
-
- Network getNetworkWithSecurityGroupEnabled(Long zoneId);
-
- String getIpOfNetworkElementInVirtualNetwork(long accountId, long dataCenterId);
-
- List<? extends Network> listNetworksForAccount(long accountId, long zoneId, Network.GuestType type);
-
- List<? extends Network> listAllNetworksInAllZonesByType(Network.GuestType type);
-
- String getGlobalGuestDomainSuffix();
-
- String getStartIpAddress(long networkId);
-
- String getIpInNetwork(long vmId, long networkId);
-
- String getIpInNetworkIncludingRemoved(long vmId, long networkId);
-
- Long getPodIdForVlan(long vlanDbId);
-
- List<Long> listNetworkOfferingsForUpgrade(long networkId);
-
- boolean isSecurityGroupSupportedInNetwork(Network network);
-
- boolean isProviderSupportServiceInNetwork(long networkId, Service service, Provider provider);
-
- boolean isProviderEnabledInPhysicalNetwork(long physicalNetowrkId, String providerName);
-
- String getNetworkTag(HypervisorType hType, Network network);
-
- List<Service> getElementServices(Provider provider);
-
- boolean canElementEnableIndividualServices(Provider provider);
-
- boolean areServicesSupportedInNetwork(long networkId, Service... services);
-
- boolean isNetworkSystem(Network network);
-
- Map<Capability, String> getNetworkOfferingServiceCapabilities(NetworkOffering offering, Service service);
-
- Long getPhysicalNetworkId(Network network);
-
- boolean getAllowSubdomainAccessGlobal();
-
- boolean isProviderForNetwork(Provider provider, long networkId);
-
- boolean isProviderForNetworkOffering(Provider provider, long networkOfferingId);
-
- void canProviderSupportServices(Map<Provider, Set<Service>> providersMap);
-
- List<PhysicalNetworkSetupInfo> getPhysicalNetworkInfo(long dcId, HypervisorType hypervisorType);
-
- boolean canAddDefaultSecurityGroup();
-
- List<Service> listNetworkOfferingServices(long networkOfferingId);
-
- boolean areServicesEnabledInZone(long zoneId, NetworkOffering offering, List<Service> services);
-
- Map<PublicIpAddress, Set<Service>> getIpToServices(List<? extends PublicIpAddress> publicIps, boolean rulesRevoked,
- boolean includingFirewall);
-
- Map<Provider, ArrayList<PublicIpAddress>> getProviderToIpList(Network network, Map<PublicIpAddress, Set<Service>> ipToServices);
-
- boolean checkIpForService(IpAddress ip, Service service, Long networkId);
-
- void checkCapabilityForProvider(Set<Provider> providers, Service service, Capability cap, String capValue);
-
- Provider getDefaultUniqueProviderForService(String serviceName);
-
- void checkNetworkPermissions(Account owner, Network network);
-
- String getDefaultManagementTrafficLabel(long zoneId, HypervisorType hypervisorType);
-
- String getDefaultStorageTrafficLabel(long zoneId, HypervisorType hypervisorType);
-
- String getDefaultPublicTrafficLabel(long dcId, HypervisorType vmware);
-
- String getDefaultGuestTrafficLabel(long dcId, HypervisorType vmware);
-
- /**
- * @param providerName
- * @return
- */
- NetworkElement getElementImplementingProvider(String providerName);
-
- /**
- * @param accountId
- * @param zoneId
- * @return
- */
- String getAccountNetworkDomain(long accountId, long zoneId);
-
- /**
- * @return
- */
- String getDefaultNetworkDomain();
-
- /**
- * @param ntwkOffId
- * @return
- */
- List<Provider> getNtwkOffDistinctProviders(long ntwkOffId);
-
- /**
- * @param accountId
- * @param dcId
- * @param sourceNat
- * @return
- */
- List<? extends IpAddress> listPublicIpsAssignedToAccount(long accountId, long dcId, Boolean sourceNat);
-
- /**
- * @param zoneId
- * @param trafficType
- * @return
- */
- List<? extends PhysicalNetwork> getPhysicalNtwksSupportingTrafficType(long zoneId, TrafficType trafficType);
-
- /**
- * @param guestNic
- * @return
- */
- boolean isPrivateGateway(Nic guestNic);
-
- Map<Service, Map<Capability, String>> getNetworkCapabilities(long networkId);
-
- Network getSystemNetworkByZoneAndTrafficType(long zoneId, TrafficType trafficType);
-
- Long getDedicatedNetworkDomain(long networkId);
-
- Map<Service, Set<Provider>> getNetworkOfferingServiceProvidersMap(long networkOfferingId);
-
- List<? extends Provider> listSupportedNetworkServiceProviders(String serviceName);
-
- List<? extends Network> listNetworksByVpc(long vpcId);
-
- boolean canUseForDeploy(Network network);
-
- Network getExclusiveGuestNetwork(long zoneId);
-
- long findPhysicalNetworkId(long zoneId, String tag, TrafficType trafficType);
-
- Integer getNetworkRate(long networkId, Long vmId);
-
- boolean isVmPartOfNetwork(long vmId, long ntwkId);
-
- PhysicalNetwork getDefaultPhysicalNetworkByZoneAndTrafficType(long zoneId, TrafficType trafficType);
-
- Network getNetwork(long networkId);
-
- IpAddress getIp(long sourceIpAddressId);
-
- boolean isNetworkAvailableInDomain(long networkId, long domainId);
-
- NicProfile getNicProfile(VirtualMachine vm, long networkId, String broadcastUri);
-
- Set<Long> getAvailableIps(Network network, String requestedIp);
-
- String getDomainNetworkDomain(long domainId, long zoneId);
-
-}
\ No newline at end of file