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