Skip to content

Commit e27f097

Browse files
Preserve original behavior, azure repo plugin
Allow plugin install even if no azure settings are present atm
1 parent 385d786 commit e27f097

File tree

3 files changed

+6
-10
lines changed

3 files changed

+6
-10
lines changed

plugins/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureRepositoryPlugin.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import org.elasticsearch.common.settings.Setting;
2323
import org.elasticsearch.common.settings.Settings;
24+
import org.elasticsearch.common.settings.SettingsException;
2425
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
2526
import org.elasticsearch.env.Environment;
2627
import org.elasticsearch.plugins.Plugin;
@@ -68,6 +69,9 @@ public List<Setting<?>> getSettings() {
6869
public void reload(Settings settings) {
6970
// secure settings should be readable
7071
final Map<String, AzureStorageSettings> clientsSettings = AzureStorageSettings.load(settings);
72+
if (clientsSettings.isEmpty()) {
73+
throw new SettingsException("If you want to use an azure repository, you need to define a client configuration.");
74+
}
7175
azureStoreService.refreshAndClearCache(clientsSettings);
7276
}
7377
}

plugins/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureStorageSettings.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -195,16 +195,13 @@ public static Map<String, AzureStorageSettings> load(Settings settings) {
195195
for (final String clientName : ACCOUNT_SETTING.getNamespaces(settings)) {
196196
storageSettings.put(clientName, getClientSettings(settings, clientName));
197197
}
198-
if (storageSettings.isEmpty()) {
199-
throw new SettingsException("If you want to use an azure repository, you need to define a client configuration.");
200-
}
201-
if (storageSettings.containsKey("default") == false) {
198+
if (false == storageSettings.containsKey("default") && false == storageSettings.isEmpty()) {
202199
// in case no setting named "default" has been set, let's define our "default"
203200
// as the first named config we get
204201
final AzureStorageSettings defaultSettings = storageSettings.values().iterator().next();
205202
storageSettings.put("default", defaultSettings);
206203
}
207-
assert storageSettings.containsKey("default") : "always have 'default'";
204+
assert storageSettings.containsKey("default") || storageSettings.isEmpty() : "always have 'default' if any";
208205
return Collections.unmodifiableMap(storageSettings);
209206
}
210207

plugins/repository-azure/src/test/java/org/elasticsearch/repositories/azure/AzureStorageServiceTests.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -153,11 +153,6 @@ public void testReinitClientWrongSettings() throws IOException {
153153
}
154154
}
155155

156-
public void testGetSelectedClientWithNoPrimaryAndSecondary() {
157-
final SettingsException e = expectThrows(SettingsException.class, () -> new AzureStorageServiceImpl(Settings.EMPTY));
158-
assertThat(e.getMessage(), is("If you want to use an azure repository, you need to define a client configuration."));
159-
}
160-
161156
public void testGetSelectedClientNonExisting() {
162157
final AzureStorageServiceImpl azureStorageService = new AzureStorageServiceImpl(buildSettings());
163158
final SettingsException e = expectThrows(SettingsException.class, () -> azureStorageService.client("azure4"));

0 commit comments

Comments
 (0)