コード例 #1
0
        void PicksUpExistingConfiguration() => WithValidPreflightChecks(s => s
                                                                        .Elasticsearch(e => e
                                                                                       .EsConfigMachineVariable(LocationsModel.DefaultConfigDirectory)
                                                                                       )
                                                                        .FileSystem(fs =>
        {
            fs.AddFile(Path.Combine(LocationsModel.DefaultConfigDirectory, "jvm.options"), new MockFileData(@"-Xmx8000m
-SomeOtherJvmOption"));
            return(fs);
        })
                                                                        )
        .AssertTask(
            (m, s, fs) => new EditJvmOptionsTask(m, s, fs),
            (m, t) =>
        {
            var dir                    = m.LocationsModel.ConfigDirectory;
            var jvmOptionsFile         = Path.Combine(dir, "jvm.options");
            var jvmOptionsFileContents = t.FileSystem.File.ReadAllText(jvmOptionsFile);
            jvmOptionsFileContents.Should()
            .NotBeEmpty()
            .And.Contain("-Xmx8000m")
            .And.Contain("-SomeOtherJvmOption")
            ;
            var jvmOptions = LocalJvmOptionsConfiguration.FromFolder(dir, t.FileSystem);
            jvmOptions.ConfiguredHeapSize.Should().Be((ulong)8000);
        }
            );
コード例 #2
0
 void WritesConfiguredMemory() => WithValidPreflightChecks(s => s
                                                           .Elasticsearch(es => es
                                                                          .EsConfigMachineVariable(LocationsModel.DefaultConfigDirectory)
                                                                          )
                                                           .FileSystem(fs =>
 {
     fs.AddFile(Path.Combine(LocationsModel.DefaultConfigDirectory, "jvm.options"), new MockFileData(""));
     return(fs);
 })
                                                           )
 .OnStep(m => m.ConfigurationModel, s => s.SelectedMemory = 1024)
 .AssertTask(
     (m, s, fs) => new EditJvmOptionsTask(m, s, fs),
     (m, t) =>
 {
     var dir                    = m.LocationsModel.ConfigDirectory;
     var jvmOptionsFile         = Path.Combine(dir, "jvm.options");
     var jvmOptionsFileContents = t.FileSystem.File.ReadAllText(jvmOptionsFile);
     jvmOptionsFileContents.Should()
     .NotBeEmpty()
     .And.Contain($"-Xmx1024m")
     .And.Contain($"-Xms1024m");
     var jvmOptions = LocalJvmOptionsConfiguration.FromFolder(dir, t.FileSystem);
     jvmOptions.ConfiguredHeapSize.Should().Be((ulong)1024);
 }
     );
コード例 #3
0
        public InstallationModelTester(
            MockWixStateProvider wixState,
            MockJavaEnvironmentStateProvider javaState,
            MockElasticsearchEnvironmentStateProvider esState,
            NoopServiceStateProvider serviceState,
            NoopPluginStateProvider pluginState,
            MockFileSystem fileSystem,
            NoopSession session,
            string[] args)
        {
            if (wixState == null)
            {
                throw new ArgumentNullException(nameof(wixState));
            }
            if (javaState == null)
            {
                throw new ArgumentNullException(nameof(javaState));
            }
            if (esState == null)
            {
                throw new ArgumentNullException(nameof(esState));
            }

            this.JavaState         = javaState;
            this.EsState           = esState;
            this.PluginState       = pluginState;
            this.JavaConfig        = new JavaConfiguration(javaState);
            this.EsConfig          = ElasticsearchYamlConfiguration.FromFolder(esState.ConfigDirectory, fileSystem);
            this.JvmConfig         = LocalJvmOptionsConfiguration.FromFolder(esState.ConfigDirectory, fileSystem);
            this.InstallationModel = new InstallationModel(
                wixState, JavaConfig, esState, serviceState, pluginState, EsConfig, JvmConfig, session, args);
            this.FileSystem = fileSystem;
        }
コード例 #4
0
 void WritesExpectedDefaults() => DefaultValidModelForTasks(s => s
                                                            .Elasticsearch(es => es
                                                                           .EsConfigMachineVariable(LocationsModel.DefaultConfigDirectory)
                                                                           )
                                                            .FileSystem(fs =>
 {
     fs.AddFile(Path.Combine(LocationsModel.DefaultConfigDirectory, "jvm.options"), new MockFileData(""));
     return(fs);
 })
                                                            )
 .AssertTask(
     (m, s, fs) => new EditJvmOptionsTask(m, s, fs),
     (m, t) =>
 {
     var dir                    = m.LocationsModel.ConfigDirectory;
     var jvmOptionsFile         = Path.Combine(dir, "jvm.options");
     var jvmOptionsFileContents = t.FileSystem.File.ReadAllText(jvmOptionsFile);
     jvmOptionsFileContents.Should()
     .NotBeEmpty()
     .And.Contain($"-Xmx{ConfigurationModel.DefaultHeapSize}m")
     .And.Contain($"-Xms{ConfigurationModel.DefaultHeapSize}m");
     var jvmOptions = LocalJvmOptionsConfiguration.FromFolder(dir, t.FileSystem);
     jvmOptions.ConfiguredHeapSize.Should().Be(ConfigurationModel.DefaultHeapSize);
 }
     );
コード例 #5
0
        public static InstallationModel Create(IWixStateProvider wixState, ISession session, params string[] args)
        {
            var javaConfig   = JavaConfiguration.Default;
            var esState      = ElasticsearchEnvironmentStateProvider.Default;
            var serviceState = ServiceStateProvider.FromSession(session);
            var pluginState  = PluginStateProvider.Default;

            var esConfig  = ElasticsearchYamlConfiguration.FromFolder(esState.ConfigDirectory);
            var jvmConfig = LocalJvmOptionsConfiguration.FromFolder(esState.ConfigDirectory);

            return(new InstallationModel(wixState, javaConfig, esState, serviceState, pluginState, esConfig, jvmConfig, session, args));
        }
コード例 #6
0
        protected override bool ExecuteTask()
        {
            this.Session.SendActionStart(1000, ActionName, "Updating Elasticsearch JVM options", "Elasticsearch JVM options: [1]");
            var selectedMemory  = this.InstallationModel.ConfigurationModel.SelectedMemory;
            var heapSize        = $"{selectedMemory}m";
            var configDirectory = this.InstallationModel.LocationsModel.ConfigDirectory;
            var options         = LocalJvmOptionsConfiguration.FromFolder(configDirectory, this.FileSystem);

            options.Xmx = heapSize;
            options.Xms = heapSize;
            options.Save();
            this.Session.SendProgress(1000, "updated heap size to " + selectedMemory + "m");
            return(true);
        }
コード例 #7
0
 [Fact] void WritesExpectedDefauls() => WithValidPreflightChecks()
 .AssertTask(
     (m, s, fs) => new EditJvmOptionsTask(m, s, fs),
     (m, t) =>
 {
     var dir                    = m.LocationsModel.ConfigDirectory;
     var jvmOptionsFile         = Path.Combine(dir, "jvm.options");
     var jvmOptionsFileContents = t.FileSystem.File.ReadAllText(jvmOptionsFile);
     jvmOptionsFileContents.Should().NotBeEmpty()
     .And.Contain($"-Xmx{ConfigurationModel.DefaultHeapSize}m")
     .And.Contain($"-Xms{ConfigurationModel.DefaultHeapSize}m");
     var jvmOptions = LocalJvmOptionsConfiguration.FromFolder(dir, t.FileSystem);
     jvmOptions.ConfiguredHeapSize.Should().Be(ConfigurationModel.DefaultHeapSize);
 }
     );
        public static ElasticsearchInstallationModel Create(IWixStateProvider wixState, ISession session, params string[] args)
        {
            var javaConfig          = JavaConfiguration.Default;
            var esEnvironmentConfig = ElasticsearchEnvironmentConfiguration.Default;
            var serviceState        = ServiceStateProvider.FromSession(session, "Elasticsearch");
            var pluginState         = PluginStateProviderBase.ElasticsearchDefault(session);

            var esConfig      = ElasticsearchYamlConfiguration.FromFolder(esEnvironmentConfig.ConfigDirectory);
            var jvmConfig     = LocalJvmOptionsConfiguration.FromFolder(esEnvironmentConfig.ConfigDirectory);
            var tempDirConfig = new TempDirectoryConfiguration(session, ElasticsearchEnvironmentStateProvider.Default, null);

            return(new ElasticsearchInstallationModel(wixState,
                                                      javaConfig, esEnvironmentConfig, serviceState, pluginState, esConfig, jvmConfig, tempDirConfig,
                                                      session, args));
        }
コード例 #9
0
 [Fact] void WritesConfiguredMemory() => WithValidPreflightChecks()
 .OnStep(m => m.ConfigurationModel, s => s.SelectedMemory = 1024)
 .AssertTask(
     (m, s, fs) => new EditJvmOptionsTask(m, s, fs),
     (m, t) =>
 {
     var dir                    = m.LocationsModel.ConfigDirectory;
     var jvmOptionsFile         = Path.Combine(dir, "jvm.options");
     var jvmOptionsFileContents = t.FileSystem.File.ReadAllText(jvmOptionsFile);
     jvmOptionsFileContents.Should().NotBeEmpty()
     .And.Contain($"-Xmx1024m")
     .And.Contain($"-Xms1024m");
     var jvmOptions = LocalJvmOptionsConfiguration.FromFolder(dir, t.FileSystem);
     jvmOptions.ConfiguredHeapSize.Should().Be((ulong)1024);
 }
     );