mirror of
https://github.com/apache/cloudstack.git
synced 2025-12-17 02:53:18 +01:00
Add 8 Commands/ConfigItems to new style
Make subclasses extend the abstract class; change accessor of few methods
This commit is contained in:
parent
36a95e7577
commit
7ccd174471
@ -100,7 +100,7 @@ public class ConfigHelper {
|
||||
gson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create();
|
||||
}
|
||||
|
||||
public static List<ConfigItem> generateCommandCfg(NetworkElementCommand cmd) {
|
||||
public static List<ConfigItem> generateCommandCfg(final NetworkElementCommand cmd) {
|
||||
List<ConfigItem> cfg;
|
||||
if (cmd instanceof SetPortForwardingRulesVpcCommand) {
|
||||
cfg = generateConfig((SetPortForwardingRulesVpcCommand)cmd); // Migrated
|
||||
@ -151,85 +151,85 @@ public class ConfigHelper {
|
||||
}
|
||||
|
||||
|
||||
private static List<ConfigItem> generateConfig(VpnUsersCfgCommand cmd) {
|
||||
private static List<ConfigItem> generateConfig(final VpnUsersCfgCommand cmd) {
|
||||
|
||||
List<VpnUser> vpnUsers = new LinkedList<VpnUser>();
|
||||
for (VpnUsersCfgCommand.UsernamePassword userpwd : cmd.getUserpwds()) {
|
||||
final List<VpnUser> vpnUsers = new LinkedList<VpnUser>();
|
||||
for (final VpnUsersCfgCommand.UsernamePassword userpwd : cmd.getUserpwds()) {
|
||||
vpnUsers.add(new VpnUser(userpwd.getUsername(), userpwd.getPassword(), userpwd.isAdd()));
|
||||
}
|
||||
|
||||
VpnUserList vpnUserList = new VpnUserList(vpnUsers);
|
||||
final VpnUserList vpnUserList = new VpnUserList(vpnUsers);
|
||||
return generateConfigItems(vpnUserList);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(RemoteAccessVpnCfgCommand cmd) {
|
||||
RemoteAccessVpn remoteAccessVpn = new RemoteAccessVpn(cmd.isCreate(), cmd.getIpRange(), cmd.getPresharedKey(), cmd.getVpnServerIp(), cmd.getLocalIp(), cmd.getLocalCidr(),
|
||||
private static List<ConfigItem> generateConfig(final RemoteAccessVpnCfgCommand cmd) {
|
||||
final RemoteAccessVpn remoteAccessVpn = new RemoteAccessVpn(cmd.isCreate(), cmd.getIpRange(), cmd.getPresharedKey(), cmd.getVpnServerIp(), cmd.getLocalIp(), cmd.getLocalCidr(),
|
||||
cmd.getPublicInterface());
|
||||
return generateConfigItems(remoteAccessVpn);
|
||||
}
|
||||
|
||||
|
||||
private static List<ConfigItem> generateConfig(SetFirewallRulesCommand cmd) {
|
||||
List<FirewallRule> rules = new ArrayList<FirewallRule>();
|
||||
for (FirewallRuleTO rule : cmd.getRules()) {
|
||||
FirewallRule fwRule = new FirewallRule(rule.getId(), rule.getSrcVlanTag(), rule.getSrcIp(), rule.getProtocol(), rule.getSrcPortRange(), rule.revoked(),
|
||||
private static List<ConfigItem> generateConfig(final SetFirewallRulesCommand cmd) {
|
||||
final List<FirewallRule> rules = new ArrayList<FirewallRule>();
|
||||
for (final FirewallRuleTO rule : cmd.getRules()) {
|
||||
final FirewallRule fwRule = new FirewallRule(rule.getId(), rule.getSrcVlanTag(), rule.getSrcIp(), rule.getProtocol(), rule.getSrcPortRange(), rule.revoked(),
|
||||
rule.isAlreadyAdded(), rule.getSourceCidrList(), rule.getPurpose().toString(), rule.getIcmpType(), rule.getIcmpCode(), rule.getTrafficType().toString(),
|
||||
rule.getGuestCidr(), rule.isDefaultEgressPolicy());
|
||||
rules.add(fwRule);
|
||||
}
|
||||
|
||||
FirewallRules ruleSet = new FirewallRules(rules.toArray(new FirewallRule[rules.size()]));
|
||||
final FirewallRules ruleSet = new FirewallRules(rules.toArray(new FirewallRule[rules.size()]));
|
||||
return generateConfigItems(ruleSet);
|
||||
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(SetPortForwardingRulesCommand cmd) {
|
||||
List<ForwardingRule> rules = new ArrayList<ForwardingRule>();
|
||||
private static List<ConfigItem> generateConfig(final SetPortForwardingRulesCommand cmd) {
|
||||
final List<ForwardingRule> rules = new ArrayList<ForwardingRule>();
|
||||
|
||||
for (PortForwardingRuleTO rule : cmd.getRules()) {
|
||||
ForwardingRule fwdRule = new ForwardingRule(rule.revoked(), rule.getProtocol().toLowerCase(), rule.getSrcIp(), rule.getStringSrcPortRange(), rule.getDstIp(),
|
||||
for (final PortForwardingRuleTO rule : cmd.getRules()) {
|
||||
final ForwardingRule fwdRule = new ForwardingRule(rule.revoked(), rule.getProtocol().toLowerCase(), rule.getSrcIp(), rule.getStringSrcPortRange(), rule.getDstIp(),
|
||||
rule.getStringDstPortRange());
|
||||
rules.add(fwdRule);
|
||||
}
|
||||
|
||||
ForwardingRules ruleSet = new ForwardingRules(rules.toArray(new ForwardingRule[rules.size()]));
|
||||
final ForwardingRules ruleSet = new ForwardingRules(rules.toArray(new ForwardingRule[rules.size()]));
|
||||
|
||||
return generateConfigItems(ruleSet);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(SetStaticNatRulesCommand cmd) {
|
||||
private static List<ConfigItem> generateConfig(final SetStaticNatRulesCommand cmd) {
|
||||
|
||||
LinkedList<StaticNatRule> rules = new LinkedList<>();
|
||||
for (StaticNatRuleTO rule : cmd.getRules()) {
|
||||
StaticNatRule staticNatRule = new StaticNatRule(rule.revoked(), rule.getProtocol(), rule.getSrcIp(), rule.getStringSrcPortRange(), rule.getDstIp());
|
||||
final LinkedList<StaticNatRule> rules = new LinkedList<>();
|
||||
for (final StaticNatRuleTO rule : cmd.getRules()) {
|
||||
final StaticNatRule staticNatRule = new StaticNatRule(rule.revoked(), rule.getProtocol(), rule.getSrcIp(), rule.getStringSrcPortRange(), rule.getDstIp());
|
||||
rules.add(staticNatRule);
|
||||
}
|
||||
StaticNatRules staticNatRules = new StaticNatRules(rules);
|
||||
final StaticNatRules staticNatRules = new StaticNatRules(rules);
|
||||
|
||||
return generateConfigItems(staticNatRules);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(LoadBalancerConfigCommand cmd) {
|
||||
LinkedList<ConfigItem> cfg = new LinkedList<>();
|
||||
private static List<ConfigItem> generateConfig(final LoadBalancerConfigCommand cmd) {
|
||||
final LinkedList<ConfigItem> cfg = new LinkedList<>();
|
||||
|
||||
String routerIp = cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP);
|
||||
LoadBalancerConfigurator cfgtr = new HAProxyConfigurator();
|
||||
final String routerIp = cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP);
|
||||
final LoadBalancerConfigurator cfgtr = new HAProxyConfigurator();
|
||||
|
||||
String[] config = cfgtr.generateConfiguration(cmd);
|
||||
StringBuffer buff = new StringBuffer();
|
||||
final String[] config = cfgtr.generateConfiguration(cmd);
|
||||
final StringBuffer buff = new StringBuffer();
|
||||
for (int i = 0; i < config.length; i++) {
|
||||
buff.append(config[i]);
|
||||
buff.append("\n");
|
||||
}
|
||||
String tmpCfgFilePath = "/etc/haproxy/";
|
||||
String tmpCfgFileName = "haproxy.cfg.new." + String.valueOf(System.currentTimeMillis());
|
||||
final String tmpCfgFilePath = "/etc/haproxy/";
|
||||
final String tmpCfgFileName = "haproxy.cfg.new." + String.valueOf(System.currentTimeMillis());
|
||||
cfg.add(new FileConfigItem(tmpCfgFilePath, tmpCfgFileName, buff.toString()));
|
||||
|
||||
String[][] rules = cfgtr.generateFwRules(cmd);
|
||||
final String[][] rules = cfgtr.generateFwRules(cmd);
|
||||
|
||||
String[] addRules = rules[LoadBalancerConfigurator.ADD];
|
||||
String[] removeRules = rules[LoadBalancerConfigurator.REMOVE];
|
||||
String[] statRules = rules[LoadBalancerConfigurator.STATS];
|
||||
final String[] addRules = rules[LoadBalancerConfigurator.ADD];
|
||||
final String[] removeRules = rules[LoadBalancerConfigurator.REMOVE];
|
||||
final String[] statRules = rules[LoadBalancerConfigurator.STATS];
|
||||
|
||||
String args = " -f " + tmpCfgFilePath + tmpCfgFileName;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
@ -269,126 +269,126 @@ public class ConfigHelper {
|
||||
return cfg;
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(SavePasswordCommand cmd) {
|
||||
VmPassword vmPassword = new VmPassword(cmd.getVmIpAddress(), cmd.getPassword());
|
||||
private static List<ConfigItem> generateConfig(final SavePasswordCommand cmd) {
|
||||
final VmPassword vmPassword = new VmPassword(cmd.getVmIpAddress(), cmd.getPassword());
|
||||
|
||||
return generateConfigItems(vmPassword);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(DhcpEntryCommand cmd) {
|
||||
VmDhcpConfig vmDhcpConfig = new VmDhcpConfig(cmd.getVmName(), cmd.getVmMac(), cmd.getVmIpAddress(), cmd.getVmIp6Address(), cmd.getDuid(), cmd.getDefaultDns(),
|
||||
private static List<ConfigItem> generateConfig(final DhcpEntryCommand cmd) {
|
||||
final VmDhcpConfig vmDhcpConfig = new VmDhcpConfig(cmd.getVmName(), cmd.getVmMac(), cmd.getVmIpAddress(), cmd.getVmIp6Address(), cmd.getDuid(), cmd.getDefaultDns(),
|
||||
cmd.getDefaultRouter(), cmd.getStaticRoutes(), cmd.isDefault());
|
||||
|
||||
return generateConfigItems(vmDhcpConfig);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(CreateIpAliasCommand cmd) {
|
||||
List<IpAddressAlias> ipAliases = new LinkedList<IpAddressAlias>();
|
||||
List<IpAliasTO> ipAliasTOs = cmd.getIpAliasList();
|
||||
for (IpAliasTO ipaliasto : ipAliasTOs) {
|
||||
IpAddressAlias alias = new IpAddressAlias(false, ipaliasto.getRouterip(), ipaliasto.getNetmask(), Long.parseLong(ipaliasto.getAlias_count()));
|
||||
private static List<ConfigItem> generateConfig(final CreateIpAliasCommand cmd) {
|
||||
final List<IpAddressAlias> ipAliases = new LinkedList<IpAddressAlias>();
|
||||
final List<IpAliasTO> ipAliasTOs = cmd.getIpAliasList();
|
||||
for (final IpAliasTO ipaliasto : ipAliasTOs) {
|
||||
final IpAddressAlias alias = new IpAddressAlias(false, ipaliasto.getRouterip(), ipaliasto.getNetmask(), Long.parseLong(ipaliasto.getAlias_count()));
|
||||
ipAliases.add(alias);
|
||||
}
|
||||
|
||||
IpAliases ipAliasList = new IpAliases(ipAliases);
|
||||
final IpAliases ipAliasList = new IpAliases(ipAliases);
|
||||
return generateConfigItems(ipAliasList);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(DeleteIpAliasCommand cmd) {
|
||||
List<IpAddressAlias> ipAliases = new LinkedList<IpAddressAlias>();
|
||||
private static List<ConfigItem> generateConfig(final DeleteIpAliasCommand cmd) {
|
||||
final List<IpAddressAlias> ipAliases = new LinkedList<IpAddressAlias>();
|
||||
|
||||
List<IpAliasTO> revokedIpAliasTOs = cmd.getDeleteIpAliasTos();
|
||||
for (IpAliasTO ipAliasTO : revokedIpAliasTOs) {
|
||||
IpAddressAlias alias = new IpAddressAlias(true, ipAliasTO.getRouterip(), ipAliasTO.getNetmask(), Long.parseLong(ipAliasTO.getAlias_count()));
|
||||
final List<IpAliasTO> revokedIpAliasTOs = cmd.getDeleteIpAliasTos();
|
||||
for (final IpAliasTO ipAliasTO : revokedIpAliasTOs) {
|
||||
final IpAddressAlias alias = new IpAddressAlias(true, ipAliasTO.getRouterip(), ipAliasTO.getNetmask(), Long.parseLong(ipAliasTO.getAlias_count()));
|
||||
ipAliases.add(alias);
|
||||
}
|
||||
|
||||
List<IpAliasTO> activeIpAliasTOs = cmd.getCreateIpAliasTos();
|
||||
for (IpAliasTO ipAliasTO : activeIpAliasTOs) {
|
||||
IpAddressAlias alias = new IpAddressAlias(false, ipAliasTO.getRouterip(), ipAliasTO.getNetmask(), Long.parseLong(ipAliasTO.getAlias_count()));
|
||||
final List<IpAliasTO> activeIpAliasTOs = cmd.getCreateIpAliasTos();
|
||||
for (final IpAliasTO ipAliasTO : activeIpAliasTOs) {
|
||||
final IpAddressAlias alias = new IpAddressAlias(false, ipAliasTO.getRouterip(), ipAliasTO.getNetmask(), Long.parseLong(ipAliasTO.getAlias_count()));
|
||||
ipAliases.add(alias);
|
||||
}
|
||||
|
||||
IpAliases ipAliasList = new IpAliases(ipAliases);
|
||||
final IpAliases ipAliasList = new IpAliases(ipAliases);
|
||||
return generateConfigItems(ipAliasList);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(DnsMasqConfigCommand cmd) {
|
||||
LinkedList<DhcpConfigEntry> entries = new LinkedList<DhcpConfigEntry>();
|
||||
private static List<ConfigItem> generateConfig(final DnsMasqConfigCommand cmd) {
|
||||
final LinkedList<DhcpConfigEntry> entries = new LinkedList<DhcpConfigEntry>();
|
||||
|
||||
for (DhcpTO dhcpTo : cmd.getIps()) {
|
||||
DhcpConfigEntry entry = new DhcpConfigEntry(dhcpTo.getRouterIp(), dhcpTo.getGateway(), dhcpTo.getNetmask(), dhcpTo.getStartIpOfSubnet());
|
||||
for (final DhcpTO dhcpTo : cmd.getIps()) {
|
||||
final DhcpConfigEntry entry = new DhcpConfigEntry(dhcpTo.getRouterIp(), dhcpTo.getGateway(), dhcpTo.getNetmask(), dhcpTo.getStartIpOfSubnet());
|
||||
entries.add(entry);
|
||||
}
|
||||
|
||||
return generateConfigItems(new DhcpConfig(entries));
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(BumpUpPriorityCommand cmd) {
|
||||
LinkedList<ConfigItem> cfg = new LinkedList<>();
|
||||
private static List<ConfigItem> generateConfig(final BumpUpPriorityCommand cmd) {
|
||||
final LinkedList<ConfigItem> cfg = new LinkedList<>();
|
||||
cfg.add(new ScriptConfigItem(VRScripts.RVR_BUMPUP_PRI, null));
|
||||
return cfg;
|
||||
}
|
||||
|
||||
|
||||
private static List<ConfigItem> generateConfig(VmDataCommand cmd) {
|
||||
VmData vmData = new VmData(cmd.getVmIpAddress(), cmd.getVmData());
|
||||
private static List<ConfigItem> generateConfig(final VmDataCommand cmd) {
|
||||
final VmData vmData = new VmData(cmd.getVmIpAddress(), cmd.getVmData());
|
||||
|
||||
return generateConfigItems(vmData);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(Site2SiteVpnCfgCommand cmd) {
|
||||
Site2SiteVpn site2siteVpn = new Site2SiteVpn(cmd.getLocalPublicIp(), cmd.getLocalGuestCidr(), cmd.getLocalPublicGateway(), cmd.getPeerGatewayIp(),
|
||||
private static List<ConfigItem> generateConfig(final Site2SiteVpnCfgCommand cmd) {
|
||||
final Site2SiteVpn site2siteVpn = new Site2SiteVpn(cmd.getLocalPublicIp(), cmd.getLocalGuestCidr(), cmd.getLocalPublicGateway(), cmd.getPeerGatewayIp(),
|
||||
cmd.getPeerGuestCidrList(), cmd.getEspPolicy(), cmd.getIkePolicy(), cmd.getIpsecPsk(), cmd.getIkeLifetime(), cmd.getEspLifetime(), cmd.isCreate(), cmd.getDpd(),
|
||||
cmd.isPassive());
|
||||
return generateConfigItems(site2siteVpn);
|
||||
}
|
||||
|
||||
|
||||
private static List<ConfigItem> generateConfig(SetMonitorServiceCommand cmd) {
|
||||
MonitorService monitorService = new MonitorService(cmd.getConfiguration(), cmd.getAccessDetail(NetworkElementCommand.ROUTER_MONITORING_ENABLE));
|
||||
private static List<ConfigItem> generateConfig(final SetMonitorServiceCommand cmd) {
|
||||
final MonitorService monitorService = new MonitorService(cmd.getConfiguration(), cmd.getAccessDetail(NetworkElementCommand.ROUTER_MONITORING_ENABLE));
|
||||
return generateConfigItems(monitorService);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(SetupGuestNetworkCommand cmd) {
|
||||
NicTO nic = cmd.getNic();
|
||||
String routerGIP = cmd.getAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP);
|
||||
String gateway = cmd.getAccessDetail(NetworkElementCommand.GUEST_NETWORK_GATEWAY);
|
||||
String cidr = Long.toString(NetUtils.getCidrSize(nic.getNetmask()));
|
||||
String netmask = nic.getNetmask();
|
||||
String domainName = cmd.getNetworkDomain();
|
||||
private static List<ConfigItem> generateConfig(final SetupGuestNetworkCommand cmd) {
|
||||
final NicTO nic = cmd.getNic();
|
||||
final String routerGIP = cmd.getAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP);
|
||||
final String gateway = cmd.getAccessDetail(NetworkElementCommand.GUEST_NETWORK_GATEWAY);
|
||||
final String cidr = Long.toString(NetUtils.getCidrSize(nic.getNetmask()));
|
||||
final String netmask = nic.getNetmask();
|
||||
final String domainName = cmd.getNetworkDomain();
|
||||
String dns = cmd.getDefaultDns1();
|
||||
|
||||
if (dns == null || dns.isEmpty()) {
|
||||
dns = cmd.getDefaultDns2();
|
||||
} else {
|
||||
String dns2 = cmd.getDefaultDns2();
|
||||
final String dns2 = cmd.getDefaultDns2();
|
||||
if (dns2 != null && !dns2.isEmpty()) {
|
||||
dns += "," + dns2;
|
||||
}
|
||||
}
|
||||
|
||||
GuestNetwork guestNetwork = new GuestNetwork(cmd.isAdd(), nic.getMac(), "eth" + nic.getDeviceId(), routerGIP, netmask, gateway,
|
||||
final GuestNetwork guestNetwork = new GuestNetwork(cmd.isAdd(), nic.getMac(), "eth" + nic.getDeviceId(), routerGIP, netmask, gateway,
|
||||
cidr, dns, domainName);
|
||||
|
||||
return generateConfigItems(guestNetwork);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(SetNetworkACLCommand cmd) {
|
||||
String privateGw = cmd.getAccessDetail(NetworkElementCommand.VPC_PRIVATE_GATEWAY);
|
||||
private static List<ConfigItem> generateConfig(final SetNetworkACLCommand cmd) {
|
||||
final String privateGw = cmd.getAccessDetail(NetworkElementCommand.VPC_PRIVATE_GATEWAY);
|
||||
|
||||
String[][] rules = cmd.generateFwRules();
|
||||
String[] aclRules = rules[0];
|
||||
NicTO nic = cmd.getNic();
|
||||
String dev = "eth" + nic.getDeviceId();
|
||||
String netmask = Long.toString(NetUtils.getCidrSize(nic.getNetmask()));
|
||||
final String[][] rules = cmd.generateFwRules();
|
||||
final String[] aclRules = rules[0];
|
||||
final NicTO nic = cmd.getNic();
|
||||
final String dev = "eth" + nic.getDeviceId();
|
||||
final String netmask = Long.toString(NetUtils.getCidrSize(nic.getNetmask()));
|
||||
|
||||
List<AclRule> ingressRules = new ArrayList<AclRule>();
|
||||
List<AclRule> egressRules = new ArrayList<AclRule>();
|
||||
final List<AclRule> ingressRules = new ArrayList<AclRule>();
|
||||
final List<AclRule> egressRules = new ArrayList<AclRule>();
|
||||
|
||||
for (int i = 0; i < aclRules.length; i++) {
|
||||
AclRule aclRule;
|
||||
String[] ruleParts = aclRules[i].split(":");
|
||||
final String[] ruleParts = aclRules[i].split(":");
|
||||
switch (ruleParts[1].toLowerCase()) {
|
||||
case "icmp":
|
||||
aclRule = new IcmpAclRule(ruleParts[4], "ACCEPT".equals(ruleParts[5]), Integer.parseInt(ruleParts[2]), Integer.parseInt(ruleParts[3]));
|
||||
@ -412,14 +412,14 @@ public class ConfigHelper {
|
||||
}
|
||||
}
|
||||
|
||||
NetworkACL networkACL = new NetworkACL(dev, nic.getMac(), privateGw != null, nic.getIp(), netmask, ingressRules.toArray(new AclRule[ingressRules.size()]),
|
||||
final NetworkACL networkACL = new NetworkACL(dev, nic.getMac(), privateGw != null, nic.getIp(), netmask, ingressRules.toArray(new AclRule[ingressRules.size()]),
|
||||
egressRules.toArray(new AclRule[egressRules.size()]));
|
||||
|
||||
return generateConfigItems(networkACL);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(SetSourceNatCommand cmd) {
|
||||
LinkedList<ConfigItem> cfg = new LinkedList<>();
|
||||
private static List<ConfigItem> generateConfig(final SetSourceNatCommand cmd) {
|
||||
final LinkedList<ConfigItem> cfg = new LinkedList<>();
|
||||
|
||||
/* FIXME This seems useless as we already pass this info with the ipassoc
|
||||
* IpAddressTO pubIP = cmd.getIpAddress();
|
||||
@ -435,14 +435,14 @@ public class ConfigHelper {
|
||||
return cfg;
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(SetStaticRouteCommand cmd) {
|
||||
LinkedList<StaticRoute> routes = new LinkedList<>();
|
||||
private static List<ConfigItem> generateConfig(final SetStaticRouteCommand cmd) {
|
||||
final LinkedList<StaticRoute> routes = new LinkedList<>();
|
||||
|
||||
for (StaticRouteProfile profile : cmd.getStaticRoutes()) {
|
||||
String cidr = profile.getCidr();
|
||||
String subnet = NetUtils.getCidrSubNet(cidr);
|
||||
String cidrSize = cidr.split("\\/")[1];
|
||||
boolean keep = profile.getState() == com.cloud.network.vpc.StaticRoute.State.Active || profile.getState() == com.cloud.network.vpc.StaticRoute.State.Add;
|
||||
for (final StaticRouteProfile profile : cmd.getStaticRoutes()) {
|
||||
final String cidr = profile.getCidr();
|
||||
final String subnet = NetUtils.getCidrSubNet(cidr);
|
||||
final String cidrSize = cidr.split("\\/")[1];
|
||||
final boolean keep = profile.getState() == com.cloud.network.vpc.StaticRoute.State.Active || profile.getState() == com.cloud.network.vpc.StaticRoute.State.Add;
|
||||
|
||||
routes.add(new StaticRoute(!keep, profile.getIp4Address(), profile.getGateway(), subnet + "/" + cidrSize));
|
||||
}
|
||||
@ -450,23 +450,23 @@ public class ConfigHelper {
|
||||
return generateConfigItems(new StaticRoutes(routes));
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfig(IpAssocCommand cmd) {
|
||||
private static List<ConfigItem> generateConfig(final IpAssocCommand cmd) {
|
||||
new LinkedList<>();
|
||||
List<IpAddress> ips = new LinkedList<IpAddress>();
|
||||
final List<IpAddress> ips = new LinkedList<IpAddress>();
|
||||
|
||||
for (IpAddressTO ip : cmd.getIpAddresses()) {
|
||||
IpAddress ipAddress = new IpAddress(ip.getPublicIp(), ip.isSourceNat(), ip.isAdd(), ip.isOneToOneNat(), ip.isFirstIP(), ip.getVlanGateway(), ip.getVlanNetmask(),
|
||||
for (final IpAddressTO ip : cmd.getIpAddresses()) {
|
||||
final IpAddress ipAddress = new IpAddress(ip.getPublicIp(), ip.isSourceNat(), ip.isAdd(), ip.isOneToOneNat(), ip.isFirstIP(), ip.getVlanGateway(), ip.getVlanNetmask(),
|
||||
ip.getVifMacAddress(), ip.getNicDevId(), ip.isNewNic());
|
||||
ips.add(ipAddress);
|
||||
}
|
||||
|
||||
IpAssociation ipAssociation = new IpAssociation(ips.toArray(new IpAddress[ips.size()]));
|
||||
final IpAssociation ipAssociation = new IpAssociation(ips.toArray(new IpAddress[ips.size()]));
|
||||
|
||||
return generateConfigItems(ipAssociation);
|
||||
}
|
||||
|
||||
private static List<ConfigItem> generateConfigItems(ConfigBase configuration) {
|
||||
List<ConfigItem> cfg = new LinkedList<>();
|
||||
private static List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
final List<ConfigItem> cfg = new LinkedList<>();
|
||||
String destinationFile;
|
||||
|
||||
switch (configuration.getType()) {
|
||||
@ -521,10 +521,10 @@ public class ConfigHelper {
|
||||
throw new CloudRuntimeException("Unable to process the configuration for " + configuration.getType());
|
||||
}
|
||||
|
||||
ConfigItem configFile = new FileConfigItem(VRScripts.CONFIG_PERSIST_LOCATION, destinationFile, gson.toJson(configuration));
|
||||
final ConfigItem configFile = new FileConfigItem(VRScripts.CONFIG_PERSIST_LOCATION, destinationFile, gson.toJson(configuration));
|
||||
cfg.add(configFile);
|
||||
|
||||
ConfigItem updateCommand = new ScriptConfigItem(VRScripts.UPDATE_CONFIG, destinationFile);
|
||||
final ConfigItem updateCommand = new ScriptConfigItem(VRScripts.UPDATE_CONFIG, destinationFile);
|
||||
cfg.add(updateCommand);
|
||||
|
||||
return cfg;
|
||||
|
||||
@ -20,60 +20,60 @@
|
||||
package com.cloud.agent.resource.virtualnetwork;
|
||||
|
||||
public class VRScripts {
|
||||
protected final static String CONFIG_PERSIST_LOCATION = "/var/cache/cloud/";
|
||||
protected final static String IP_ASSOCIATION_CONFIG = "ip_associations.json";
|
||||
protected final static String GUEST_NETWORK_CONFIG = "guest_network.json";
|
||||
protected final static String NETWORK_ACL_CONFIG = "network_acl.json";
|
||||
protected final static String VM_METADATA_CONFIG = "vm_metadata.json";
|
||||
protected final static String VM_DHCP_CONFIG = "vm_dhcp_entry.json";
|
||||
protected final static String VM_PASSWORD_CONFIG = "vm_password.json";
|
||||
protected static final String FORWARDING_RULES_CONFIG = "forwarding_rules.json";
|
||||
protected static final String FIREWALL_RULES_CONFIG = "firewall_rules.json";
|
||||
protected static final String VPN_USER_LIST_CONFIG = "vpn_user_list.json";
|
||||
protected static final String STATICNAT_RULES_CONFIG = "staticnat_rules.json";
|
||||
protected static final String SITE_2_SITE_VPN_CONFIG = "site_2_site_vpn.json";
|
||||
protected static final String STATIC_ROUTES_CONFIG = "static_routes.json";
|
||||
protected static final String REMOTE_ACCESS_VPN_CONFIG = "remote_access_vpn.json";
|
||||
protected static final String MONITOR_SERVICE_CONFIG = "monitor_service.json";
|
||||
protected static final String DHCP_CONFIG = "dhcp.json";
|
||||
protected static final String IP_ALIAS_CONFIG = "ip_aliases.json";
|
||||
public final static String CONFIG_PERSIST_LOCATION = "/var/cache/cloud/";
|
||||
public final static String IP_ASSOCIATION_CONFIG = "ip_associations.json";
|
||||
public final static String GUEST_NETWORK_CONFIG = "guest_network.json";
|
||||
public final static String NETWORK_ACL_CONFIG = "network_acl.json";
|
||||
public final static String VM_METADATA_CONFIG = "vm_metadata.json";
|
||||
public final static String VM_DHCP_CONFIG = "vm_dhcp_entry.json";
|
||||
public final static String VM_PASSWORD_CONFIG = "vm_password.json";
|
||||
public static final String FORWARDING_RULES_CONFIG = "forwarding_rules.json";
|
||||
public static final String FIREWALL_RULES_CONFIG = "firewall_rules.json";
|
||||
public static final String VPN_USER_LIST_CONFIG = "vpn_user_list.json";
|
||||
public static final String STATICNAT_RULES_CONFIG = "staticnat_rules.json";
|
||||
public static final String SITE_2_SITE_VPN_CONFIG = "site_2_site_vpn.json";
|
||||
public static final String STATIC_ROUTES_CONFIG = "static_routes.json";
|
||||
public static final String REMOTE_ACCESS_VPN_CONFIG = "remote_access_vpn.json";
|
||||
public static final String MONITOR_SERVICE_CONFIG = "monitor_service.json";
|
||||
public static final String DHCP_CONFIG = "dhcp.json";
|
||||
public static final String IP_ALIAS_CONFIG = "ip_aliases.json";
|
||||
|
||||
protected final static String CONFIG_CACHE_LOCATION = "/var/cache/cloud/";
|
||||
protected final static int DEFAULT_EXECUTEINVR_TIMEOUT = 120; //Seconds
|
||||
public final static String CONFIG_CACHE_LOCATION = "/var/cache/cloud/";
|
||||
public final static int DEFAULT_EXECUTEINVR_TIMEOUT = 120; //Seconds
|
||||
|
||||
// New scripts for use with chef
|
||||
protected static final String UPDATE_CONFIG = "update_config.py";
|
||||
public static final String UPDATE_CONFIG = "update_config.py";
|
||||
|
||||
protected static final String S2SVPN_CHECK = "checkbatchs2svpn.sh";
|
||||
protected static final String S2SVPN_IPSEC = "ipsectunnel.sh";
|
||||
protected static final String DHCP = "edithosts.sh";
|
||||
protected static final String DNSMASQ_CONFIG = "dnsmasq.sh";
|
||||
protected static final String FIREWALL_EGRESS = "firewall_egress.sh";
|
||||
protected static final String FIREWALL_INGRESS = "firewall_ingress.sh";
|
||||
protected static final String FIREWALL_NAT = "firewall_nat.sh";
|
||||
protected static final String IPALIAS_CREATE = "createIpAlias.sh";
|
||||
protected static final String IPALIAS_DELETE = "deleteIpAlias.sh";
|
||||
protected static final String IPASSOC = "ipassoc.sh";
|
||||
protected static final String LB = "loadbalancer.sh";
|
||||
protected static final String MONITOR_SERVICE = "monitor_service.sh";
|
||||
protected static final String ROUTER_ALERTS = "getRouterAlerts.sh";
|
||||
protected static final String PASSWORD = "savepassword.sh";
|
||||
protected static final String RVR_CHECK = "checkrouter.sh";
|
||||
protected static final String RVR_BUMPUP_PRI = "bumpup_priority.sh";
|
||||
protected static final String VMDATA = "vmdata.py";
|
||||
protected static final String VERSION = "get_template_version.sh";
|
||||
protected static final String VPC_ACL = "vpc_acl.sh";
|
||||
protected static final String VPC_GUEST_NETWORK = "vpc_guestnw.sh";
|
||||
protected static final String VPC_IPASSOC = "vpc_ipassoc.sh";
|
||||
protected static final String VPC_LB = "vpc_loadbalancer.sh";
|
||||
protected static final String VPC_PRIVATEGW = "vpc_privateGateway.sh";
|
||||
protected static final String VPC_PRIVATEGW_ACL = "vpc_privategw_acl.sh";
|
||||
protected static final String VPC_PORTFORWARDING = "vpc_portforwarding.sh";
|
||||
protected static final String VPC_SOURCE_NAT = "vpc_snat.sh";
|
||||
protected static final String VPC_STATIC_NAT = "vpc_staticnat.sh";
|
||||
protected static final String VPC_STATIC_ROUTE = "vpc_staticroute.sh";
|
||||
protected static final String VPN_L2TP = "vpn_l2tp.sh";
|
||||
public static final String S2SVPN_CHECK = "checkbatchs2svpn.sh";
|
||||
public static final String S2SVPN_IPSEC = "ipsectunnel.sh";
|
||||
public static final String DHCP = "edithosts.sh";
|
||||
public static final String DNSMASQ_CONFIG = "dnsmasq.sh";
|
||||
public static final String FIREWALL_EGRESS = "firewall_egress.sh";
|
||||
public static final String FIREWALL_INGRESS = "firewall_ingress.sh";
|
||||
public static final String FIREWALL_NAT = "firewall_nat.sh";
|
||||
public static final String IPALIAS_CREATE = "createipAlias.sh";
|
||||
public static final String IPALIAS_DELETE = "deleteipAlias.sh";
|
||||
public static final String IPASSOC = "ipassoc.sh";
|
||||
public static final String LB = "loadbalancer.sh";
|
||||
public static final String MONITOR_SERVICE = "monitor_service.sh";
|
||||
public static final String ROUTER_ALERTS = "getRouterAlerts.sh";
|
||||
public static final String PASSWORD = "savepassword.sh";
|
||||
public static final String RVR_CHECK = "checkrouter.sh";
|
||||
public static final String RVR_BUMPUP_PRI = "bumpup_priority.sh";
|
||||
public static final String VMDATA = "vmdata.py";
|
||||
public static final String VERSION = "get_template_version.sh";
|
||||
public static final String VPC_ACL = "vpc_acl.sh";
|
||||
public static final String VPC_GUEST_NETWORK = "vpc_guestnw.sh";
|
||||
public static final String VPC_IPASSOC = "vpc_ipassoc.sh";
|
||||
public static final String VPC_LB = "vpc_loadbalancer.sh";
|
||||
public static final String VPC_PRIVATEGW = "vpc_privateGateway.sh";
|
||||
public static final String VPC_PRIVATEGW_ACL = "vpc_privategw_acl.sh";
|
||||
public static final String VPC_PORTFORWARDING = "vpc_portforwarding.sh";
|
||||
public static final String VPC_SOURCE_NAT = "vpc_snat.sh";
|
||||
public static final String VPC_STATIC_NAT = "vpc_staticnat.sh";
|
||||
public static final String VPC_STATIC_ROUTE = "vpc_staticroute.sh";
|
||||
public static final String VPN_L2TP = "vpn_l2tp.sh";
|
||||
|
||||
protected static final String VR_CFG = "vr_cfg.sh";
|
||||
public static final String VR_CFG = "vr_cfg.sh";
|
||||
|
||||
}
|
||||
|
||||
@ -19,14 +19,39 @@
|
||||
|
||||
package com.cloud.agent.resource.virtualnetwork.facade;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.FileConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.ScriptConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.VRScripts;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
import com.google.gson.FieldNamingPolicy;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
|
||||
public abstract class AbstractConfigItemFacade {
|
||||
public abstract List<ConfigItem> generateConfig(NetworkElementCommand cmd);
|
||||
protected final static Gson gson;
|
||||
|
||||
public abstract List<ConfigItem> generateConfigItems(ConfigBase configuration);
|
||||
static {
|
||||
gson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create();
|
||||
}
|
||||
|
||||
protected String destinationFile;
|
||||
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
final List<ConfigItem> cfg = new LinkedList<>();
|
||||
|
||||
final ConfigItem configFile = new FileConfigItem(VRScripts.CONFIG_PERSIST_LOCATION, destinationFile, gson.toJson(configuration));
|
||||
cfg.add(configFile);
|
||||
|
||||
final ConfigItem updateCommand = new ScriptConfigItem(VRScripts.UPDATE_CONFIG, destinationFile);
|
||||
cfg.add(updateCommand);
|
||||
|
||||
return cfg;
|
||||
}
|
||||
|
||||
public abstract List<ConfigItem> generateConfig(NetworkElementCommand cmd);
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class BumUpPriorityConfigItem {
|
||||
public class BumUpPriorityConfigItem extends AbstractConfigItemFacade {
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class CreateIpAliasConfigItem {
|
||||
public class CreateIpAliasConfigItem extends AbstractConfigItemFacade {
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class DeleteIpAliasConfigItem {
|
||||
public class DeleteIpAliasConfigItem extends AbstractConfigItemFacade {
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -21,16 +21,29 @@ package com.cloud.agent.resource.virtualnetwork.facade;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.agent.api.routing.DhcpEntryCommand;
|
||||
import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.VRScripts;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.VmDhcpConfig;
|
||||
|
||||
public class DhcpEntryConfigItem {
|
||||
public class DhcpEntryConfigItem extends AbstractConfigItemFacade{
|
||||
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
final DhcpEntryCommand command = (DhcpEntryCommand) cmd;
|
||||
|
||||
final VmDhcpConfig vmDhcpConfig = new VmDhcpConfig(command.getVmName(), command.getVmMac(), command.getVmIpAddress(), command.getVmIp6Address(), command.getDuid(), command.getDefaultDns(),
|
||||
command.getDefaultRouter(), command.getStaticRoutes(), command.isDefault());
|
||||
|
||||
return generateConfigItems(vmDhcpConfig);
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
destinationFile = VRScripts.VM_DHCP_CONFIG;
|
||||
|
||||
return super.generateConfigItems(configuration);
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class DnsMasqConfigItem {
|
||||
public class DnsMasqConfigItem extends AbstractConfigItemFacade {
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class IpAssociationConfigItem {
|
||||
public class IpAssociationConfigItem extends AbstractConfigItemFacade {
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -19,18 +19,86 @@
|
||||
|
||||
package com.cloud.agent.resource.virtualnetwork.facade;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.agent.api.routing.LoadBalancerConfigCommand;
|
||||
import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.FileConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.ScriptConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.VRScripts;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
import com.cloud.network.HAProxyConfigurator;
|
||||
import com.cloud.network.LoadBalancerConfigurator;
|
||||
|
||||
public class LoadBalancerConfigItem {
|
||||
public class LoadBalancerConfigItem extends AbstractConfigItemFacade{
|
||||
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
final LoadBalancerConfigCommand command = (LoadBalancerConfigCommand) cmd;
|
||||
|
||||
final LinkedList<ConfigItem> cfg = new LinkedList<>();
|
||||
|
||||
final String routerIp = cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP);
|
||||
final LoadBalancerConfigurator cfgtr = new HAProxyConfigurator();
|
||||
|
||||
final String[] config = cfgtr.generateConfiguration(command);
|
||||
final StringBuffer buff = new StringBuffer();
|
||||
for (int i = 0; i < config.length; i++) {
|
||||
buff.append(config[i]);
|
||||
buff.append("\n");
|
||||
}
|
||||
final String tmpCfgFilePath = "/etc/haproxy/";
|
||||
final String tmpCfgFileName = "haproxy.cfg.new." + String.valueOf(System.currentTimeMillis());
|
||||
cfg.add(new FileConfigItem(tmpCfgFilePath, tmpCfgFileName, buff.toString()));
|
||||
|
||||
final String[][] rules = cfgtr.generateFwRules(command);
|
||||
|
||||
final String[] addRules = rules[LoadBalancerConfigurator.ADD];
|
||||
final String[] removeRules = rules[LoadBalancerConfigurator.REMOVE];
|
||||
final String[] statRules = rules[LoadBalancerConfigurator.STATS];
|
||||
|
||||
String args = " -f " + tmpCfgFilePath + tmpCfgFileName;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (addRules.length > 0) {
|
||||
for (int i = 0; i < addRules.length; i++) {
|
||||
sb.append(addRules[i]).append(',');
|
||||
}
|
||||
args += " -a " + sb.toString();
|
||||
}
|
||||
|
||||
sb = new StringBuilder();
|
||||
if (removeRules.length > 0) {
|
||||
for (int i = 0; i < removeRules.length; i++) {
|
||||
sb.append(removeRules[i]).append(',');
|
||||
}
|
||||
|
||||
args += " -d " + sb.toString();
|
||||
}
|
||||
|
||||
sb = new StringBuilder();
|
||||
if (statRules.length > 0) {
|
||||
for (int i = 0; i < statRules.length; i++) {
|
||||
sb.append(statRules[i]).append(',');
|
||||
}
|
||||
|
||||
args += " -s " + sb.toString();
|
||||
}
|
||||
|
||||
if (command.getVpcId() == null) {
|
||||
args = " -i " + routerIp + args;
|
||||
cfg.add(new ScriptConfigItem(VRScripts.LB, args));
|
||||
} else {
|
||||
args = " -i " + command.getNic().getIp() + args;
|
||||
cfg.add(new ScriptConfigItem(VRScripts.VPC_LB, args));
|
||||
}
|
||||
|
||||
return cfg;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class RemoteAccessVpnConfigItem {
|
||||
public class RemoteAccessVpnConfigItem extends AbstractConfigItemFacade{
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -22,15 +22,26 @@ package com.cloud.agent.resource.virtualnetwork.facade;
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.api.routing.SavePasswordCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.VRScripts;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.VmPassword;
|
||||
|
||||
public class SavePasswordConfigItem {
|
||||
public class SavePasswordConfigItem extends AbstractConfigItemFacade {
|
||||
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
final SavePasswordCommand command = (SavePasswordCommand) cmd;
|
||||
final VmPassword vmPassword = new VmPassword(command.getVmIpAddress(), command.getPassword());
|
||||
|
||||
return generateConfigItems(vmPassword);
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
destinationFile = VRScripts.VM_PASSWORD_CONFIG;
|
||||
|
||||
return super.generateConfigItems(configuration);
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class SetFirewallRulesConfigItem {
|
||||
public class SetFirewallRulesConfigItem extends AbstractConfigItemFacade{
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class SetGuestNetworkConfigItem {
|
||||
public class SetGuestNetworkConfigItem extends AbstractConfigItemFacade{
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class SetMonitorServiceConfigItem {
|
||||
public class SetMonitorServiceConfigItem extends AbstractConfigItemFacade{
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class SetNetworkAclConfigItem {
|
||||
public class SetNetworkAclConfigItem extends AbstractConfigItemFacade {
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class SetPortForwardingRulusConfigItem {
|
||||
public class SetPortForwardingRulusConfigItem extends AbstractConfigItemFacade {
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -19,18 +19,41 @@
|
||||
|
||||
package com.cloud.agent.resource.virtualnetwork.facade;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.api.routing.SetPortForwardingRulesCommand;
|
||||
import com.cloud.agent.api.to.PortForwardingRuleTO;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.VRScripts;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ForwardingRule;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ForwardingRules;
|
||||
|
||||
public class SetPortForwardingRulusVpcConfigItem {
|
||||
public class SetPortForwardingRulusVpcConfigItem extends AbstractConfigItemFacade {
|
||||
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
final SetPortForwardingRulesCommand command = (SetPortForwardingRulesCommand) cmd;
|
||||
|
||||
final List<ForwardingRule> rules = new ArrayList<ForwardingRule>();
|
||||
|
||||
for (final PortForwardingRuleTO rule : command.getRules()) {
|
||||
final ForwardingRule fwdRule = new ForwardingRule(rule.revoked(), rule.getProtocol().toLowerCase(), rule.getSrcIp(), rule.getStringSrcPortRange(), rule.getDstIp(),
|
||||
rule.getStringDstPortRange());
|
||||
rules.add(fwdRule);
|
||||
}
|
||||
|
||||
final ForwardingRules ruleSet = new ForwardingRules(rules.toArray(new ForwardingRule[rules.size()]));
|
||||
|
||||
return generateConfigItems(ruleSet);
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
destinationFile = VRScripts.FORWARDING_RULES_CONFIG;;
|
||||
|
||||
return super.generateConfigItems(configuration);
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class SetSourceNatConfigItem {
|
||||
public class SetSourceNatConfigItem extends AbstractConfigItemFacade{
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -19,18 +19,38 @@
|
||||
|
||||
package com.cloud.agent.resource.virtualnetwork.facade;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.api.routing.SetStaticNatRulesCommand;
|
||||
import com.cloud.agent.api.to.StaticNatRuleTO;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.VRScripts;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.StaticNatRule;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.StaticNatRules;
|
||||
|
||||
public class SetStaticNatRulesConfigItem {
|
||||
public class SetStaticNatRulesConfigItem extends AbstractConfigItemFacade{
|
||||
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
final SetStaticNatRulesCommand command = (SetStaticNatRulesCommand) cmd;
|
||||
|
||||
final LinkedList<StaticNatRule> rules = new LinkedList<>();
|
||||
for (final StaticNatRuleTO rule : command.getRules()) {
|
||||
final StaticNatRule staticNatRule = new StaticNatRule(rule.revoked(), rule.getProtocol(), rule.getSrcIp(), rule.getStringSrcPortRange(), rule.getDstIp());
|
||||
rules.add(staticNatRule);
|
||||
}
|
||||
final StaticNatRules staticNatRules = new StaticNatRules(rules);
|
||||
|
||||
return generateConfigItems(staticNatRules);
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
destinationFile = VRScripts.STATICNAT_RULES_CONFIG;
|
||||
|
||||
return super.generateConfigItems(configuration);
|
||||
}
|
||||
}
|
||||
@ -19,18 +19,43 @@
|
||||
|
||||
package com.cloud.agent.resource.virtualnetwork.facade;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.api.routing.SetStaticRouteCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.VRScripts;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.StaticRoute;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.StaticRoutes;
|
||||
import com.cloud.network.vpc.StaticRouteProfile;
|
||||
import com.cloud.utils.net.NetUtils;
|
||||
|
||||
public class SetStaticRouteConfigItem {
|
||||
public class SetStaticRouteConfigItem extends AbstractConfigItemFacade{
|
||||
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
final SetStaticRouteCommand command = (SetStaticRouteCommand) cmd;
|
||||
|
||||
final LinkedList<StaticRoute> routes = new LinkedList<>();
|
||||
|
||||
for (final StaticRouteProfile profile : command.getStaticRoutes()) {
|
||||
final String cidr = profile.getCidr();
|
||||
final String subnet = NetUtils.getCidrSubNet(cidr);
|
||||
final String cidrSize = cidr.split("\\/")[1];
|
||||
final boolean keep = profile.getState() == com.cloud.network.vpc.StaticRoute.State.Active || profile.getState() == com.cloud.network.vpc.StaticRoute.State.Add;
|
||||
|
||||
routes.add(new StaticRoute(!keep, profile.getIp4Address(), profile.getGateway(), subnet + "/" + cidrSize));
|
||||
}
|
||||
|
||||
return generateConfigItems(new StaticRoutes(routes));
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
destinationFile = VRScripts.STATIC_ROUTES_CONFIG;
|
||||
|
||||
return super.generateConfigItems(configuration);
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class Site2SiteVpnConfigItem {
|
||||
public class Site2SiteVpnConfigItem extends AbstractConfigItemFacade{
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class VmDataConfigItem {
|
||||
public class VmDataConfigItem extends AbstractConfigItemFacade {
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -25,12 +25,14 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
|
||||
import com.cloud.agent.resource.virtualnetwork.ConfigItem;
|
||||
import com.cloud.agent.resource.virtualnetwork.model.ConfigBase;
|
||||
|
||||
public class VpnUsersConfigItem {
|
||||
public class VpnUsersConfigItem extends AbstractConfigItemFacade{
|
||||
@Override
|
||||
public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
@Override
|
||||
protected List<ConfigItem> generateConfigItems(final ConfigBase configuration) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user