3e71924d81987bbc928a4dfb66d5dc40f94d78b1
java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/client/LandscapeManagementPanel.java
| ... | ... | @@ -1493,10 +1493,16 @@ public class LandscapeManagementPanel extends SimplePanel { |
| 1493 | 1493 | @Override |
| 1494 | 1494 | public void onSuccess(Void result) { |
| 1495 | 1495 | applicationReplicaSetsBusy.setBusy(false); |
| 1496 | - Notification.notify(stringMessages.successfullyLaunchedNewArchiveCandidate( |
|
| 1497 | - archiveReplicaSet.getName(), upgradeInstructions.getReleaseNameOrNullForLatestMaster()), |
|
| 1498 | - NotificationType.SUCCESS); |
|
| 1499 | - } |
|
| 1496 | + Notification.notify( |
|
| 1497 | + stringMessages.successfullyLaunchedNewArchiveCandidate( |
|
| 1498 | + archiveReplicaSet.getName(), |
|
| 1499 | + upgradeInstructions |
|
| 1500 | + .getReleaseNameOrNullForLatestMaster() == null |
|
| 1501 | + ? "Default" |
|
| 1502 | + : upgradeInstructions |
|
| 1503 | + .getReleaseNameOrNullForLatestMaster()), |
|
| 1504 | + NotificationType.SUCCESS); |
|
| 1505 | + } |
|
| 1500 | 1506 | }); |
| 1501 | 1507 | } |
| 1502 | 1508 |
java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/SailingReleaseRepository.java
| ... | ... | @@ -1,11 +1,15 @@ |
| 1 | 1 | package com.sap.sailing.landscape; |
| 2 | 2 | |
| 3 | 3 | import com.sap.sse.landscape.ReleaseRepository; |
| 4 | -import com.sap.sse.landscape.impl.GithubReleasesRepository; |
|
| 4 | +import com.sap.sse.landscape.impl.FolderBasedReleaseRepositoryImpl; |
|
| 5 | 5 | |
| 6 | 6 | public interface SailingReleaseRepository extends ReleaseRepository { |
| 7 | - ReleaseRepository INSTANCE = new GithubReleasesRepository( |
|
| 8 | - "SAP", // owner |
|
| 9 | - "sailing-analytics", // repo name |
|
| 10 | - "main"); // main release name prefix |
|
| 7 | + // TODO bug6203: avoid rate limits by temporarily using the old folder-based releases repo again: |
|
| 8 | + ReleaseRepository INSTANCE = new FolderBasedReleaseRepositoryImpl("https://releases.sapsailing.com", /* master release name prefix */ "main"); |
|
| 9 | + |
|
| 10 | + default void m() { int TODO; } |
|
| 11 | +// ReleaseRepository INSTANCE = new GithubReleasesRepository( |
|
| 12 | +// "SAP", // owner |
|
| 13 | +// "sailing-analytics", // repo name |
|
| 14 | +// "main"); // main release name prefix |
|
| 11 | 15 | } |
java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/LandscapeServiceImpl.java
| ... | ... | @@ -271,7 +271,7 @@ public class LandscapeServiceImpl implements LandscapeService { |
| 271 | 271 | getLandscape().getCentralReverseProxy(region); |
| 272 | 272 | final com.sap.sailing.landscape.procedures.StartSailingAnalyticsMasterHost.Builder<?, String> masterHostBuilder = StartSailingAnalyticsMasterHost.masterHostBuilder(masterConfigurationBuilder); |
| 273 | 273 | masterHostBuilder |
| 274 | - .setAvailabilityZone(getBestAvailabilityZoneForArchiveCandidate(region, landscape, reverseProxyCluster, optionalKeyName, privateKeyEncryptionPassphrase)) |
|
| 274 | + .setAvailabilityZone(getBestAvailabilityZoneForArchiveCandidate(region, landscape, oldArchiveReplicaSet.getMaster(), reverseProxyCluster, optionalKeyName, privateKeyEncryptionPassphrase)) |
|
| 275 | 275 | .setInstanceName(SharedLandscapeConstants.ARCHIVE_SERVER_NEW_CANDIDATE_INSTANCE_NAME) |
| 276 | 276 | .setInstanceType(InstanceType.valueOf(instanceType)) |
| 277 | 277 | .setOptionalTimeout(Landscape.WAIT_FOR_HOST_TIMEOUT) |
| ... | ... | @@ -300,13 +300,8 @@ public class LandscapeServiceImpl implements LandscapeService { |
| 300 | 300 | } |
| 301 | 301 | |
| 302 | 302 | private AwsAvailabilityZone getBestAvailabilityZoneForArchiveCandidate(AwsRegion region, AwsLandscape<String> landscape, |
| 303 | - ReverseProxyCluster<String, SailingAnalyticsMetrics, SailingAnalyticsProcess<String>, RotatingFileBasedLog> reverseProxyCluster, |
|
| 303 | + SailingAnalyticsProcess<String> oldArchivePrimary, ReverseProxyCluster<String, SailingAnalyticsMetrics, SailingAnalyticsProcess<String>, RotatingFileBasedLog> reverseProxyCluster, |
|
| 304 | 304 | String optionalKeyName, byte[] privateKeyEncryptionPassphrase) throws Exception { |
| 305 | - final AwsApplicationReplicaSet<String, SailingAnalyticsMetrics, SailingAnalyticsProcess<String>> oldArchiveReplicaSet = getApplicationReplicaSet( |
|
| 306 | - region, SharedLandscapeConstants.ARCHIVE_SERVER_APPLICATION_REPLICA_SET_NAME, |
|
| 307 | - Landscape.WAIT_FOR_PROCESS_TIMEOUT.map(Duration::asMillis).orElse(null), |
|
| 308 | - optionalKeyName, privateKeyEncryptionPassphrase); |
|
| 309 | - final SailingAnalyticsProcess<String> oldArchivePrimary = oldArchiveReplicaSet.getMaster(); |
|
| 310 | 305 | final AwsAvailabilityZone oldArchiveAZ = oldArchivePrimary.getHost().getAvailabilityZone(); |
| 311 | 306 | AwsAvailabilityZone result = null; |
| 312 | 307 | for (final AwsInstance<String> reverseProxyHost : reverseProxyCluster.getHosts()) { |
java/com.sap.sse.landscape.aws/src/com/sap/sse/landscape/aws/impl/AwsLandscapeImpl.java
| ... | ... | @@ -1071,7 +1071,9 @@ public class AwsLandscapeImpl<ShardingKey> implements AwsLandscape<ShardingKey> |
| 1071 | 1071 | @Override |
| 1072 | 1072 | public void setTerminationProtection(AwsInstance<ShardingKey> host, boolean terminationProtection) { |
| 1073 | 1073 | logger.info("Setting termination protection for instance "+host+" to "+terminationProtection); |
| 1074 | - getEc2Client(getRegion(host.getAvailabilityZone().getRegion())).modifyInstanceAttribute(b->b.disableApiTermination(a->a.value(terminationProtection))); |
|
| 1074 | + getEc2Client(getRegion(host.getAvailabilityZone().getRegion())).modifyInstanceAttribute(b->b |
|
| 1075 | + .instanceId(host.getInstanceId()) |
|
| 1076 | + .disableApiTermination(a->a.value(terminationProtection))); |
|
| 1075 | 1077 | } |
| 1076 | 1078 | |
| 1077 | 1079 | @Override |