diff options
Diffstat (limited to 'service-monitor')
3 files changed, 14 insertions, 16 deletions
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java index e0e2b64bdae..57c206ee570 100644 --- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java +++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java @@ -10,8 +10,8 @@ import com.yahoo.config.model.api.SuperModelProvider; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.HostName; import com.yahoo.log.LogLevel; -import com.yahoo.vespa.flags.FeatureFlag; import com.yahoo.vespa.flags.FlagSource; +import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.service.monitor.DuperModelInfraApi; import com.yahoo.vespa.service.monitor.InfraApplicationApi; @@ -59,12 +59,8 @@ public class DuperModelManager implements DuperModelInfraApi { @Inject public DuperModelManager(ConfigserverConfig configServerConfig, FlagSource flagSource, SuperModelProvider superModelProvider) { this( - // Whether to include activate infrastructure applications (except from controller/config apps - see below). - new FeatureFlag("dupermodel-contains-infra", true, flagSource).value(), - // For historical reasons, the ApplicationInfo in the DuperModel for controllers and config servers - // is based on the ConfigserverConfig (this flag is true). We want to transition to use the - // infrastructure application activated by the InfrastructureProvisioner once that supports health. - new FeatureFlag("dupermodel-use-configserverconfig", true, flagSource).value(), + Flags.DUPERMODEL_CONTAINS_INFRA.bindTo(flagSource).value(), + Flags.DUPERMODEL_USE_CONFIGSERVERCONFIG.bindTo(flagSource).value(), configServerConfig.multitenant(), configServerApplication.makeApplicationInfoFromConfig(configServerConfig), superModelProvider, diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/health/HealthMonitorManager.java b/service-monitor/src/main/java/com/yahoo/vespa/service/health/HealthMonitorManager.java index 2ad37faf593..340d30e9f41 100644 --- a/service-monitor/src/main/java/com/yahoo/vespa/service/health/HealthMonitorManager.java +++ b/service-monitor/src/main/java/com/yahoo/vespa/service/health/HealthMonitorManager.java @@ -8,8 +8,9 @@ import com.yahoo.vespa.applicationmodel.ClusterId; import com.yahoo.vespa.applicationmodel.ConfigId; import com.yahoo.vespa.applicationmodel.ServiceStatus; import com.yahoo.vespa.applicationmodel.ServiceType; -import com.yahoo.vespa.flags.FeatureFlag; -import com.yahoo.vespa.flags.FileFlagSource; +import com.yahoo.vespa.flags.Flag; +import com.yahoo.vespa.flags.FlagSource; +import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.service.duper.DuperModelManager; import com.yahoo.vespa.service.duper.ZoneApplication; import com.yahoo.vespa.service.executor.RunletExecutorImpl; @@ -49,23 +50,23 @@ public class HealthMonitorManager implements MonitorManager { private final ConcurrentHashMap<ApplicationId, ApplicationHealthMonitor> healthMonitors = new ConcurrentHashMap<>(); private final DuperModelManager duperModel; private final ApplicationHealthMonitorFactory applicationHealthMonitorFactory; - private final FeatureFlag monitorInfra; + private final Flag<Boolean> monitorInfra; @Inject - public HealthMonitorManager(DuperModelManager duperModel, FileFlagSource flagSource) { + public HealthMonitorManager(DuperModelManager duperModel, FlagSource flagSource) { this(duperModel, - new FeatureFlag("healthmonitor-monitorinfra", true, flagSource), + Flags.HEALTHMONITOR_MONITOR_INFRA.bindTo(flagSource), new StateV1HealthModel(TARGET_HEALTH_STALENESS, HEALTH_REQUEST_TIMEOUT, KEEP_ALIVE, new RunletExecutorImpl(THREAD_POOL_SIZE))); } private HealthMonitorManager(DuperModelManager duperModel, - FeatureFlag monitorInfra, + Flag<Boolean> monitorInfra, StateV1HealthModel healthModel) { this(duperModel, monitorInfra, id -> new ApplicationHealthMonitor(id, healthModel)); } HealthMonitorManager(DuperModelManager duperModel, - FeatureFlag monitorInfra, + Flag<Boolean> monitorInfra, ApplicationHealthMonitorFactory applicationHealthMonitorFactory) { this.duperModel = duperModel; this.monitorInfra = monitorInfra; diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/health/HealthMonitorManagerTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/health/HealthMonitorManagerTest.java index 86b0ee4a8f3..39147955d4c 100644 --- a/service-monitor/src/test/java/com/yahoo/vespa/service/health/HealthMonitorManagerTest.java +++ b/service-monitor/src/test/java/com/yahoo/vespa/service/health/HealthMonitorManagerTest.java @@ -7,7 +7,7 @@ import com.yahoo.vespa.applicationmodel.ClusterId; import com.yahoo.vespa.applicationmodel.ConfigId; import com.yahoo.vespa.applicationmodel.ServiceStatus; import com.yahoo.vespa.applicationmodel.ServiceType; -import com.yahoo.vespa.flags.FeatureFlag; +import com.yahoo.vespa.flags.Flag; import com.yahoo.vespa.service.duper.ConfigServerApplication; import com.yahoo.vespa.service.duper.ControllerHostApplication; import com.yahoo.vespa.service.duper.DuperModelManager; @@ -33,7 +33,8 @@ import static org.mockito.Mockito.when; public class HealthMonitorManagerTest { private final ConfigServerApplication configServerApplication = new ConfigServerApplication(); private final DuperModelManager duperModel = mock(DuperModelManager.class); - private final FeatureFlag monitorInfra = mock(FeatureFlag.class); + @SuppressWarnings("unchecked") + private final Flag<Boolean> monitorInfra = (Flag<Boolean>) mock(Flag.class); private final ApplicationHealthMonitor monitor = mock(ApplicationHealthMonitor.class); private final ApplicationHealthMonitorFactory monitorFactory = mock(ApplicationHealthMonitorFactory.class); private final HealthMonitorManager manager = new HealthMonitorManager(duperModel, monitorInfra, monitorFactory); |