Search in sources :

Example 1 with RpcServer

use of com.yahoo.vespa.config.server.rpc.RpcServer in project vespa by vespa-engine.

the class ConfigServerBootstrapTest method testBootStrapWhenRedeploymentFails.

@Test
public void testBootStrapWhenRedeploymentFails() throws Exception {
    ConfigserverConfig configserverConfig = createConfigserverConfig();
    DeployTester tester = new DeployTester("src/test/apps/hosted/", configserverConfig);
    tester.deployApp("myApp", "4.5.6", Instant.now());
    File versionFile = temporaryFolder.newFile();
    VersionState versionState = new VersionState(versionFile);
    assertTrue(versionState.isUpgraded());
    // Manipulate application package so that it will fail deployment when config server starts
    java.nio.file.Files.delete(Paths.get(configserverConfig.configServerDBDir()).resolve("tenants/").resolve(tester.tenant().getName().value()).resolve("sessions/2/services.xml"));
    RpcServer rpcServer = createRpcServer(configserverConfig);
    ConfigServerBootstrap bootstrap = new ConfigServerBootstrap(tester.applicationRepository(), rpcServer, versionState, createStateMonitor(), false);
    // Call method directly, to be sure that it is finished redeploying all applications and we can check status
    bootstrap.run();
    // App is invalid, so bootstrapping was unsuccessful. Status should be 'initializing' and rpc server should not be running
    assertEquals(StateMonitor.Status.initializing, bootstrap.status());
    assertFalse(rpcServer.isRunning());
}
Also used : ConfigserverConfig(com.yahoo.cloud.config.ConfigserverConfig) RpcServer(com.yahoo.vespa.config.server.rpc.RpcServer) DeployTester(com.yahoo.vespa.config.server.deploy.DeployTester) File(java.io.File) VersionState(com.yahoo.vespa.config.server.version.VersionState) Test(org.junit.Test)

Example 2 with RpcServer

use of com.yahoo.vespa.config.server.rpc.RpcServer in project vespa by vespa-engine.

the class InjectedGlobalComponentRegistryTest method setupRegistry.

@Before
public void setupRegistry() {
    curator = new MockCurator();
    ConfigCurator configCurator = ConfigCurator.create(curator);
    metrics = Metrics.createTestMetrics();
    modelFactoryRegistry = new ModelFactoryRegistry(Collections.singletonList(new VespaModelFactory(new NullConfigModelRegistry())));
    configserverConfig = new ConfigserverConfig(new ConfigserverConfig.Builder().configServerDBDir(Files.createTempDir().getAbsolutePath()).configDefinitionsDir(Files.createTempDir().getAbsolutePath()));
    serverDB = new ConfigServerDB(configserverConfig);
    sessionPreparer = new SessionTest.MockSessionPreparer();
    rpcServer = new RpcServer(configserverConfig, null, Metrics.createTestMetrics(), new HostRegistries(), new ConfigRequestHostLivenessTracker(), new FileServer(FileDistribution.getDefaultFileDBPath()));
    generationCounter = new SuperModelGenerationCounter(curator);
    defRepo = new StaticConfigDefinitionRepo();
    permanentApplicationPackage = new PermanentApplicationPackage(configserverConfig);
    hostRegistries = new HostRegistries();
    HostProvisionerProvider hostProvisionerProvider = HostProvisionerProvider.withProvisioner(new SessionHandlerTest.MockProvisioner());
    zone = Zone.defaultZone();
    globalComponentRegistry = new InjectedGlobalComponentRegistry(curator, configCurator, metrics, modelFactoryRegistry, serverDB, sessionPreparer, rpcServer, configserverConfig, generationCounter, defRepo, permanentApplicationPackage, hostRegistries, hostProvisionerProvider, zone);
}
Also used : ConfigserverConfig(com.yahoo.cloud.config.ConfigserverConfig) HostRegistries(com.yahoo.vespa.config.server.host.HostRegistries) HostProvisionerProvider(com.yahoo.vespa.config.server.provision.HostProvisionerProvider) ModelFactoryRegistry(com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry) ConfigRequestHostLivenessTracker(com.yahoo.vespa.config.server.host.ConfigRequestHostLivenessTracker) VespaModelFactory(com.yahoo.vespa.model.VespaModelFactory) NullConfigModelRegistry(com.yahoo.config.model.NullConfigModelRegistry) ConfigCurator(com.yahoo.vespa.config.server.zookeeper.ConfigCurator) SessionHandlerTest(com.yahoo.vespa.config.server.http.SessionHandlerTest) RpcServer(com.yahoo.vespa.config.server.rpc.RpcServer) PermanentApplicationPackage(com.yahoo.vespa.config.server.application.PermanentApplicationPackage) FileServer(com.yahoo.vespa.config.server.filedistribution.FileServer) MockCurator(com.yahoo.vespa.curator.mock.MockCurator) Before(org.junit.Before)

Example 3 with RpcServer

use of com.yahoo.vespa.config.server.rpc.RpcServer in project vespa by vespa-engine.

the class ConfigServerBootstrapTest method testBootStrap.

@Test
// TODO: An issue with how MockCurator.MockLock is implemented make this not work (it will hang
@Ignore
public // not being able to acquire activate lock in ConfigServerBootstrap
void testBootStrap() throws Exception {
    ConfigserverConfig configserverConfig = createConfigserverConfig();
    DeployTester tester = new DeployTester("src/test/apps/hosted/", configserverConfig);
    tester.deployApp("myApp", "4.5.6", Instant.now());
    File versionFile = temporaryFolder.newFile();
    VersionState versionState = new VersionState(versionFile);
    assertTrue(versionState.isUpgraded());
    RpcServer rpcServer = createRpcServer(configserverConfig);
    ConfigServerBootstrap bootstrap = new ConfigServerBootstrap(tester.applicationRepository(), rpcServer, versionState, createStateMonitor());
    waitUntil(() -> bootstrap.status() == StateMonitor.Status.up, "failed waiting for status 'up'");
    waitUntil(rpcServer::isRunning, "failed waiting for Rpc server running");
    bootstrap.deconstruct();
    assertEquals(StateMonitor.Status.down, bootstrap.status());
    assertFalse(rpcServer.isRunning());
}
Also used : ConfigserverConfig(com.yahoo.cloud.config.ConfigserverConfig) RpcServer(com.yahoo.vespa.config.server.rpc.RpcServer) DeployTester(com.yahoo.vespa.config.server.deploy.DeployTester) File(java.io.File) VersionState(com.yahoo.vespa.config.server.version.VersionState) Ignore(org.junit.Ignore) Test(org.junit.Test)

Aggregations

ConfigserverConfig (com.yahoo.cloud.config.ConfigserverConfig)3 RpcServer (com.yahoo.vespa.config.server.rpc.RpcServer)3 DeployTester (com.yahoo.vespa.config.server.deploy.DeployTester)2 VersionState (com.yahoo.vespa.config.server.version.VersionState)2 File (java.io.File)2 Test (org.junit.Test)2 NullConfigModelRegistry (com.yahoo.config.model.NullConfigModelRegistry)1 PermanentApplicationPackage (com.yahoo.vespa.config.server.application.PermanentApplicationPackage)1 FileServer (com.yahoo.vespa.config.server.filedistribution.FileServer)1 ConfigRequestHostLivenessTracker (com.yahoo.vespa.config.server.host.ConfigRequestHostLivenessTracker)1 HostRegistries (com.yahoo.vespa.config.server.host.HostRegistries)1 SessionHandlerTest (com.yahoo.vespa.config.server.http.SessionHandlerTest)1 ModelFactoryRegistry (com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry)1 HostProvisionerProvider (com.yahoo.vespa.config.server.provision.HostProvisionerProvider)1 ConfigCurator (com.yahoo.vespa.config.server.zookeeper.ConfigCurator)1 MockCurator (com.yahoo.vespa.curator.mock.MockCurator)1 VespaModelFactory (com.yahoo.vespa.model.VespaModelFactory)1 Before (org.junit.Before)1 Ignore (org.junit.Ignore)1