add route advertisement

This commit is contained in:
Pearl Dsilva 2023-09-25 12:09:14 -04:00
parent eae9c4784e
commit 33a29dce03
5 changed files with 20 additions and 7 deletions

View File

@ -63,6 +63,8 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import static java.util.Objects.isNull;
import static org.apache.cloudstack.utils.NsxApiClientUtils.RouteAdvertisementType.TIER1_CONNECTED;
import static org.apache.cloudstack.utils.NsxApiClientUtils.RouteAdvertisementType.TIER1_IPSEC_LOCAL_ENDPOINT;
import static org.apache.cloudstack.utils.NsxApiClientUtils.HAMode.ACTIVE_STANDBY;
import static org.apache.cloudstack.utils.NsxApiClientUtils.FailoverMode.PREEMPTIVE;
import static org.apache.cloudstack.utils.NsxApiClientUtils.PoolAllocation.ROUTING;
@ -253,6 +255,7 @@ public class NsxResource implements ServerResource {
.setPoolAllocation(ROUTING.name())
.setHaMode(ACTIVE_STANDBY.name())
.setFailoverMode(PREEMPTIVE.name())
.setRouteAdvertisementTypes(List.of(TIER1_CONNECTED.name(), TIER1_IPSEC_LOCAL_ENDPOINT.name()))
.setId(name)
.setDisplayName(name)
// .setChildren(

View File

@ -64,6 +64,16 @@ public class NsxApiClientUtils {
OVERLAY,
VLAN
}
public enum RouteAdvertisementType {
TIER1_STATIC_ROUTES,
TIER1_CONNECTED,
TIER1_NAT,
TIER1_LB_VIP,
TIER1_LB_SNAT,
TIER1_DNS_FORWARDER_IP,
TIER1_IPSEC_LOCAL_ENDPOINT
}
public static ApiClient createApiClient(String hostname, String port, String username, char[] password) {
String controllerUrl = String.format("https://%s:%s", hostname, port);
HttpConfiguration.SslConfiguration.Builder sslConfigBuilder = new HttpConfiguration.SslConfiguration.Builder();

View File

@ -2531,14 +2531,14 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
}
// we should actually find the mapping and remove if it exists
// but we don't know about vmware/plugin/hypervisors at this point
NsxProviderVO nsxProvider = nsxProviderDao.findByZoneId(zoneId);
if (Objects.nonNull(nsxProvider)) {
nsxProviderDao.remove(nsxProvider.getId());
}
final boolean success = _zoneDao.remove(zoneId);
if (success) {
NsxProviderVO nsxProvider = nsxProviderDao.findByZoneId(zoneId);
if (Objects.nonNull(nsxProvider)) {
nsxProviderDao.remove(nsxProvider.getId());
}
// delete template refs for this zone
templateZoneDao.deleteByZoneId(zoneId);
// delete all capacity records for the zone

View File

@ -1062,7 +1062,7 @@ export default {
try {
if (!this.stepData.stepMove.includes('addNsxController')) {
const providerParams = {}
providerParams.name = this.prefillContent?.name || ''
providerParams.name = this.prefillContent?.nsxName || ''
providerParams.nsxproviderhostname = this.prefillContent?.nsxHostname || ''
providerParams.nsxproviderport = this.prefillContent?.nsxPort || ''
providerParams.username = this.prefillContent?.username || ''

View File

@ -381,7 +381,7 @@ export default {
const fields = [
{
title: 'label.nsx.provider.name',
key: 'name',
key: 'nsxName',
placeHolder: 'message.installwizard.tooltip.nsx.provider.name',
required: true
},