Esempio n. 1
0
    def test_migrate_from_3_to_4(self, sleep, get_size):
        get_size.return_value = 0
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 3
            },
            "system": {
                "root.dir": "in-memory"
            },
            "reporting": {
                "datastore.host": ""
            },
            "build": {
                "maven.bin": "/usr/local/mvn"
            },
            "benchmarks": {
                "metrics.stats.disk.device": "/dev/hdd1"
            }
        }

        config_file.store(sample_config)
        config.migrate(config_file, 3, 4, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("4", config_file.config["meta"]["config.version"])
        # Did not delete the section...
        self.assertTrue("build" in config_file.config)
        # ... but the key
        self.assertFalse("maven.bin" in config_file.config["build"])
        self.assertTrue("benchmarks" in config_file.config)
        self.assertFalse("metrics.stats.disk.device" in config_file.config["benchmarks"])
        self.assertEqual("in-memory", config_file.config["reporting"]["datastore.type"])
Esempio n. 2
0
    def test_migrate_from_11_to_12_with_custom_src_config(
            self, path_rename, path_exists):
        path_exists.return_value = False

        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 11
            },
            "node": {
                "root.dir": io.normalize_path("~/.rally/benchmarks")
            },
            "source": {
                "local.src.dir":
                io.normalize_path("~/Projects/elasticsearch/master/es")
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 11, 12, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("12", config_file.config["meta"]["config.version"])
        self.assertEqual(io.normalize_path("~/Projects/elasticsearch/master"),
                         config_file.config["node"]["src.root.dir"])
        self.assertEqual(
            "es", config_file.config["source"]["elasticsearch.src.subdir"])
        # did all the migrations but nothing moved
        path_rename.assert_not_called()
Esempio n. 3
0
    def test_migrate_from_0_to_latest(self, sleep, get_size):
        get_size.return_value = 0
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "system": {
                "root.dir": "in-memory"
            },
            "provisioning": {

            },
            "build": {
                "maven.bin": "/usr/local/mvn"
            },
            "benchmarks": {
                "metrics.stats.disk.device": "/dev/hdd1"
            },
            "reporting": {
                "report.base.dir": "/tests/rally/reporting",
                "output.html.report.filename": "index.html"
            },
            "runtime": {
                "java8.home": "/opt/jdk/8",
            }
        }

        config_file.store(sample_config)
        config.migrate(config_file, 0, config.Config.CURRENT_CONFIG_VERSION, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual(str(config.Config.CURRENT_CONFIG_VERSION), config_file.config["meta"]["config.version"])
Esempio n. 4
0
    def test_migrate_from_9_to_10(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 9
            },
            "system": {
                "root.dir": "~/.rally/benchmarks",
                "environment.name": "local"
            },
            "benchmarks": {
                "local.dataset.cache": "${system:root.dir}/data",
                "some.other.cache": "/data"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 9, 10, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("10", config_file.config["meta"]["config.version"])
        self.assertTrue("distributions" in config_file.config)
        self.assertEqual("https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-{{VERSION}}.tar.gz",
                         config_file.config["distributions"]["release.1.url"])
        self.assertEqual("https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/"
                         "{{VERSION}}/elasticsearch-{{VERSION}}.tar.gz",
                         config_file.config["distributions"]["release.2.url"])
        self.assertEqual("https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{{VERSION}}.tar.gz",
                         config_file.config["distributions"]["release.url"])
        self.assertEqual("true",
                         config_file.config["distributions"]["release.cache"])
Esempio n. 5
0
    def test_does_not_migrate_outdated_config(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "system": {
                "root.dir": "in-memory"
            },
            "provisioning": {

            },
            "build": {
                "maven.bin": "/usr/local/mvn"
            },
            "benchmarks": {
                "metrics.stats.disk.device": "/dev/hdd1"
            },
            "reporting": {
                "report.base.dir": "/tests/rally/reporting",
                "output.html.report.filename": "index.html"
            },
            "runtime": {
                "java8.home": "/opt/jdk/8",
            }
        }

        config_file.store(sample_config)
        with self.assertRaisesRegex(config.ConfigError, "The config file.*is too old. Please delete it and reconfigure Rally from scratch"):
            config.migrate(config_file, config.Config.EARLIEST_SUPPORTED_VERSION - 1, config.Config.CURRENT_CONFIG_VERSION, out=null_output)
Esempio n. 6
0
    def test_migrate_from_earliest_supported_to_latest(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": config.Config.EARLIEST_SUPPORTED_VERSION
            },
            "system": {
                "root.dir": "in-memory"
            },
            "provisioning": {

            },
            "build": {
                "maven.bin": "/usr/local/mvn"
            },
            "benchmarks": {
                "metrics.stats.disk.device": "/dev/hdd1"
            },
            "reporting": {
                "report.base.dir": "/tests/rally/reporting",
                "output.html.report.filename": "index.html"
            },
            "runtime": {
                "java8.home": "/opt/jdk/8",
            },
            "distributions": {
                "release.url": "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{{VERSION}}.tar.gz"
            }
        }

        config_file.store(sample_config)
        config.migrate(config_file, config.Config.EARLIEST_SUPPORTED_VERSION, config.Config.CURRENT_CONFIG_VERSION, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual(str(config.Config.CURRENT_CONFIG_VERSION), config_file.config["meta"]["config.version"])
Esempio n. 7
0
    def test_migrate_from_7_to_8(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 7
            },
            "system": {
                "root.dir": "~/.rally/benchmarks",
                "environment.name": "local"
            },
            "benchmarks": {
                "local.dataset.cache": "${system:root.dir}/data",
                "some.other.cache": "/data"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 7, 8, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("8", config_file.config["meta"]["config.version"])
        self.assertTrue("root.dir" not in config_file.config["system"])
        self.assertEqual("~/.rally/benchmarks", config_file.config["node"]["root.dir"])
        self.assertEqual("local", config_file.config["system"]["environment.name"])
        self.assertEqual("${node:root.dir}/data", config_file.config["benchmarks"]["local.dataset.cache"])
        self.assertEqual("/data", config_file.config["benchmarks"]["some.other.cache"])
Esempio n. 8
0
    def test_migrate_from_13_to_14_with_gradle_and_jdk8_ask_user_enter_valid(self, major_version, is_early_access_release, guess_java_home,
                                                                             path_exists):
        guess_java_home.return_value = None
        is_early_access_release.return_value = False
        major_version.side_effect = [8, 10]
        path_exists.return_value = True

        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 13
            },
            "build": {
                "gradle.bin": "/usr/local/bin/gradle"
            },
            "runtime": {
                "java.home": "/usr/lib/java8"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 13, 14, out=null_output, i=MockInput(inputs=["/usr/lib/java10"]))
        self.assertTrue(config_file.backup_created)
        self.assertEqual("14", config_file.config["meta"]["config.version"])
        self.assertEqual("/usr/lib/java8", config_file.config["runtime"]["java.home"])
        self.assertEqual("/usr/lib/java10", config_file.config["runtime"]["java10.home"])
Esempio n. 9
0
    def test_migrate_from_11_to_12_with_default_src_config_repo_checked_out(self, path_rename, path_exists):
        path_exists.return_value = True

        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 11
            },
            "node": {
                "root.dir": io.normalize_path("~/.rally/benchmarks")
            },
            "source": {
                "local.src.dir": io.normalize_path("~/.rally/benchmarks/src")
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 11, 12, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("12", config_file.config["meta"]["config.version"])
        self.assertEqual(io.normalize_path("~/.rally/benchmarks/src"), config_file.config["node"]["src.root.dir"])
        self.assertEqual("elasticsearch", config_file.config["source"]["elasticsearch.src.subdir"])

        path_rename.assert_has_calls(
            [
                mock.call(io.normalize_path("~/.rally/benchmarks/src"), io.normalize_path("~/.rally/benchmarks/tmp_src_mig")),
                mock.call(io.normalize_path("~/.rally/benchmarks/tmp_src_mig"),
                          io.normalize_path("~/.rally/benchmarks/src/elasticsearch")),
             ]
        )
Esempio n. 10
0
    def test_migrate_from_12_to_13_with_gradle_and_jdk8_ask_user_and_skip(
            self, major_version, is_early_access_release, guess_java_home):
        guess_java_home.return_value = None
        is_early_access_release.return_value = False
        major_version.return_value = 8

        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 12
            },
            "build": {
                "gradle.bin": "/usr/local/bin/gradle"
            },
            "runtime": {
                "java.home": "/usr/lib/java8"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file,
                       12,
                       13,
                       out=null_output,
                       i=MockInput(inputs=[""]))

        self.assertTrue(config_file.backup_created)
        self.assertEqual("13", config_file.config["meta"]["config.version"])
        self.assertEqual("/usr/lib/java8",
                         config_file.config["runtime"]["java.home"])
        self.assertTrue("java9.home" not in config_file.config["runtime"])
Esempio n. 11
0
    def test_migrate_from_2_to_3(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 2
            },
            "system": {
                "root.dir": "in-memory"
            },
            "reporting": {
                "report.base.dir": "/tests/rally/reporting",
                "output.html.report.filename": "index.html"
            },
        }

        config_file.store(sample_config)
        config.migrate(config_file, 2, 3, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("3", config_file.config["meta"]["config.version"])
        # Did not delete the section...
        self.assertTrue("reporting" in config_file.config)
        # ... but the key
        self.assertFalse("report.base.dir" in config_file.config["reporting"])
        self.assertFalse(
            "output.html.report.filename" in config_file.config["reporting"])
Esempio n. 12
0
    def test_migrate_from_3_to_4(self, sleep, get_size):
        get_size.return_value = 0
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 3
            },
            "system": {
                "root.dir": "in-memory"
            },
            "reporting": {
                "datastore.host": ""
            },
            "build": {
                "maven.bin": "/usr/local/mvn"
            },
            "benchmarks": {
                "metrics.stats.disk.device": "/dev/hdd1"
            }
        }

        config_file.store(sample_config)
        config.migrate(config_file, 3, 4, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("4", config_file.config["meta"]["config.version"])
        # Did not delete the section...
        self.assertTrue("build" in config_file.config)
        # ... but the key
        self.assertFalse("maven.bin" in config_file.config["build"])
        self.assertTrue("benchmarks" in config_file.config)
        self.assertFalse(
            "metrics.stats.disk.device" in config_file.config["benchmarks"])
        self.assertEqual("in-memory",
                         config_file.config["reporting"]["datastore.type"])
Esempio n. 13
0
    def test_migrate_from_0_to_latest(self, sleep, get_size):
        get_size.return_value = 0
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "system": {
                "root.dir": "in-memory"
            },
            "provisioning": {},
            "build": {
                "maven.bin": "/usr/local/mvn"
            },
            "benchmarks": {
                "metrics.stats.disk.device": "/dev/hdd1"
            },
            "reporting": {
                "report.base.dir": "/tests/rally/reporting",
                "output.html.report.filename": "index.html"
            },
            "runtime": {
                "java8.home": "/opt/jdk/8",
            }
        }

        config_file.store(sample_config)
        config.migrate(config_file,
                       0,
                       config.Config.CURRENT_CONFIG_VERSION,
                       out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual(str(config.Config.CURRENT_CONFIG_VERSION),
                         config_file.config["meta"]["config.version"])
Esempio n. 14
0
    def test_migrate_from_7_to_8(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 7
            },
            "system": {
                "root.dir": "~/.rally/benchmarks",
                "environment.name": "local"
            },
            "benchmarks": {
                "local.dataset.cache": "${system:root.dir}/data",
                "some.other.cache": "/data"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 7, 8, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("8", config_file.config["meta"]["config.version"])
        self.assertTrue("root.dir" not in config_file.config["system"])
        self.assertEqual("~/.rally/benchmarks",
                         config_file.config["node"]["root.dir"])
        self.assertEqual("local",
                         config_file.config["system"]["environment.name"])
        self.assertEqual(
            "${node:root.dir}/data",
            config_file.config["benchmarks"]["local.dataset.cache"])
        self.assertEqual("/data",
                         config_file.config["benchmarks"]["some.other.cache"])
Esempio n. 15
0
    def test_migrate_from_2_to_3(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 2
            },
            "system": {
                "root.dir": "in-memory"
            },
            "reporting": {
                "report.base.dir": "/tests/rally/reporting",
                "output.html.report.filename": "index.html"
            },
        }

        config_file.store(sample_config)
        config.migrate(config_file, 2, 3, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("3", config_file.config["meta"]["config.version"])
        # Did not delete the section...
        self.assertTrue("reporting" in config_file.config)
        # ... but the key
        self.assertFalse("report.base.dir" in config_file.config["reporting"])
        self.assertFalse("output.html.report.filename" in config_file.config["reporting"])
Esempio n. 16
0
    def test_migrate_from_11_to_12_with_default_src_config_repo_checked_out(
            self, path_rename, path_exists):
        path_exists.return_value = True

        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 11
            },
            "node": {
                "root.dir": io.normalize_path("~/.rally/benchmarks")
            },
            "source": {
                "local.src.dir": io.normalize_path("~/.rally/benchmarks/src")
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 11, 12, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("12", config_file.config["meta"]["config.version"])
        self.assertEqual(io.normalize_path("~/.rally/benchmarks/src"),
                         config_file.config["node"]["src.root.dir"])
        self.assertEqual(
            "elasticsearch",
            config_file.config["source"]["elasticsearch.src.subdir"])

        path_rename.assert_has_calls([
            mock.call(io.normalize_path("~/.rally/benchmarks/src"),
                      io.normalize_path("~/.rally/benchmarks/tmp_src_mig")),
            mock.call(
                io.normalize_path("~/.rally/benchmarks/tmp_src_mig"),
                io.normalize_path("~/.rally/benchmarks/src/elasticsearch")),
        ])
Esempio n. 17
0
    def test_migrate_from_9_to_10(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 9
            },
            "system": {
                "root.dir": "~/.rally/benchmarks",
                "environment.name": "local"
            },
            "benchmarks": {
                "local.dataset.cache": "${system:root.dir}/data",
                "some.other.cache": "/data"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 9, 10, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("10", config_file.config["meta"]["config.version"])
        self.assertTrue("distributions" in config_file.config)
        self.assertEqual(
            "https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-{{VERSION}}.tar.gz",
            config_file.config["distributions"]["release.1.url"])
        self.assertEqual(
            "https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/"
            "{{VERSION}}/elasticsearch-{{VERSION}}.tar.gz",
            config_file.config["distributions"]["release.2.url"])
        self.assertEqual(
            "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{{VERSION}}.tar.gz",
            config_file.config["distributions"]["release.url"])
        self.assertEqual("true",
                         config_file.config["distributions"]["release.cache"])
Esempio n. 18
0
    def test_migrate_from_12_to_13_with_gradle_and_jdk8_autodetect_jdk9(
            self, is_early_access_release, guess_java_home):
        guess_java_home.return_value = "/usr/lib/java9"
        is_early_access_release.return_value = False

        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 12
            },
            "build": {
                "gradle.bin": "/usr/local/bin/gradle"
            },
            "runtime": {
                "java.home": "/usr/lib/java8"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 12, 13, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("13", config_file.config["meta"]["config.version"])
        self.assertEqual("/usr/lib/java8",
                         config_file.config["runtime"]["java.home"])
        self.assertEqual("/usr/lib/java9",
                         config_file.config["runtime"]["java9.home"])
Esempio n. 19
0
    def test_migrate_from_16_to_17(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 16
            },
            "node": {
                "root.dir": "/home/user/.rally/benchmarks"
            },
            "runtime": {
                "java.home": "/usr/local/javas/10"
            },
            "benchmarks": {
                "local.dataset.cache": "${node:root.dir}/data"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 16, 17, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("17", config_file.config["meta"]["config.version"])
        self.assertNotIn("runtime", config_file.config)
        self.assertEqual(
            "/home/user/.rally/benchmarks/data",
            config_file.config["benchmarks"]["local.dataset.cache"])
Esempio n. 20
0
    def test_migrate_from_13_to_14_with_gradle_and_jdk10(
            self, major_version, is_early_access_release, guess_java_home):
        guess_java_home.return_value = None
        is_early_access_release.return_value = False
        major_version.return_value = 10

        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 13
            },
            "build": {
                "gradle.bin": "/usr/local/bin/gradle"
            },
            "runtime": {
                "java.home": "/usr/lib/java10"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 13, 14, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("14", config_file.config["meta"]["config.version"])
        self.assertEqual("/usr/lib/java10",
                         config_file.config["runtime"]["java.home"])
        self.assertEqual("/usr/lib/java10",
                         config_file.config["runtime"]["java10.home"])
Esempio n. 21
0
    def test_migrate_from_14_to_15_without_gradle(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {"meta": {"config.version": 14}}
        config_file.store(sample_config)
        config.migrate(config_file, 14, 15, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("15", config_file.config["meta"]["config.version"])
Esempio n. 22
0
    def test_migrate_from_4_to_5(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {"meta": {"config.version": 4}}
        config_file.store(sample_config)
        config.migrate(config_file, 4, 5, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("5", config_file.config["meta"]["config.version"])
        self.assertTrue("tracks" in config_file.config)
        self.assertEqual("https://github.com/elastic/rally-tracks",
                         config_file.config["tracks"]["default.url"])
Esempio n. 23
0
    def test_migrate_from_5_to_6(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {"meta": {"config.version": 5}}
        config_file.store(sample_config)
        config.migrate(config_file, 5, 6, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("6", config_file.config["meta"]["config.version"])
        self.assertTrue("defaults" in config_file.config)
        self.assertEqual(
            "False",
            config_file.config["defaults"]["preserve_benchmark_candidate"])
Esempio n. 24
0
    def test_migrate_from_5_to_6(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 5
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 5, 6, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("6", config_file.config["meta"]["config.version"])
        self.assertTrue("defaults" in config_file.config)
        self.assertEqual("False", config_file.config["defaults"]["preserve_benchmark_candidate"])
Esempio n. 25
0
    def test_migrate_from_4_to_5(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 4
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 4, 5, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("5", config_file.config["meta"]["config.version"])
        self.assertTrue("tracks" in config_file.config)
        self.assertEqual("https://github.com/elastic/rally-tracks", config_file.config["tracks"]["default.url"])
Esempio n. 26
0
    def test_migrate_from_14_to_15_with_source_plugin_definition(
            self, major_version, is_early_access_release, guess_java_home):
        guess_java_home.return_value = None
        is_early_access_release.return_value = False
        major_version.return_value = 10

        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 14
            },
            "build": {
                "gradle.bin": "/usr/local/bin/gradle"
            },
            "runtime": {
                "java.home": "/usr/lib/java10",
                "java10.home": "/usr/lib/java10"
            },
            "source": {
                "plugin.x-pack.remote.repo.url":
                "[email protected]:elastic/x-pack-elasticsearch.git",
                "plugin.x-pack.src.subdir":
                "elasticsearch-extra/x-pack-elasticsearch",
                "plugin.x-pack.build.task":
                ":x-pack-elasticsearch:plugin:assemble",
                "plugin.x-pack.build.artifact.subdir":
                "plugin/build/distributions"
            }
        }
        config_file.store(sample_config)
        string_buffer = StringIO()
        config.migrate(config_file, 14, 15, out=string_buffer.write)
        string_buffer.seek(0)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("15", config_file.config["meta"]["config.version"])
        self.assertNotIn("build", config_file.config)
        self.assertEqual(
            "\n"
            "WARNING:"
            "  The build.task property for plugins has been obsoleted in favor of the full build.command."
            "  You will need to edit the plugin [{}] section in {} and change from:"
            "  [{} = {}] to [{} = <the full command>]."
            "  Please refer to the documentation for more details:"
            "  {}.\n".format(
                "x-pack", "in-memory", "plugin.x-pack.build.task",
                ":x-pack-elasticsearch:plugin:assemble",
                "plugin.x-pack.build.command",
                "https://esrally.readthedocs.io/en/latest/elasticsearch_plugins.html#running-a-benchmark-with-plugins"
                ""), string_buffer.read())
Esempio n. 27
0
    def test_migrate_from_11_to_12_without_src_config(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 11
            },
            "node": {
                "root.dir": "~/.rally/benchmarks"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 11, 12, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("12", config_file.config["meta"]["config.version"])
        self.assertFalse("src.root.dir" in config_file.config["node"])
Esempio n. 28
0
    def test_migrate_from_11_to_12_without_src_config(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 11
            },
            "node": {
                "root.dir": "~/.rally/benchmarks"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 11, 12, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("12", config_file.config["meta"]["config.version"])
        self.assertFalse("src.root.dir" in config_file.config["node"])
Esempio n. 29
0
    def test_migrate_from_15_to_16(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 15
            },
            "distributions": {
                "release.url": "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{{VERSION}}.tar.gz"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 15, 16, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("16", config_file.config["meta"]["config.version"])
        # does not remove section
        self.assertIn("distributions", config_file.config)
        self.assertNotIn("release.url", config_file.config["distributions"])
Esempio n. 30
0
    def test_migrate_from_10_to_11(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 10
            },
            "runtime": {
                "java8.home": "/opt/jdk/8",
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 10, 11, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("11", config_file.config["meta"]["config.version"])
        self.assertTrue("runtime" in config_file.config)
        self.assertFalse("java8.home" in config_file.config["runtime"])
        self.assertEqual("/opt/jdk/8", config_file.config["runtime"]["java.home"])
Esempio n. 31
0
    def test_migrate_from_10_to_11(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 10
            },
            "runtime": {
                "java8.home": "/opt/jdk/8",
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 10, 11, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("11", config_file.config["meta"]["config.version"])
        self.assertTrue("runtime" in config_file.config)
        self.assertFalse("java8.home" in config_file.config["runtime"])
        self.assertEqual("/opt/jdk/8",
                         config_file.config["runtime"]["java.home"])
Esempio n. 32
0
    def test_migrate_from_14_to_15_with_gradle(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 14
            },
            "build": {
                "gradle.bin": "/usr/local/bin/gradle"
            },
            "runtime": {
                "java.home": "/usr/lib/java8",
                "java10.home": "/usr/lib/java10"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 14, 15, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("15", config_file.config["meta"]["config.version"])
        self.assertNotIn("build", config_file.config)
Esempio n. 33
0
    def test_migrate_from_6_to_7(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 6
            },
            "system": {
                "log.root.dir": "logs"
            },
            "provisioning": {
                "local.install.dir": "install"
            },
        }
        config_file.store(sample_config)
        config.migrate(config_file, 6, 7, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("7", config_file.config["meta"]["config.version"])
        self.assertTrue("provisioning" not in config_file.config)
        self.assertTrue("log.root.dir" not in config_file.config["system"])
Esempio n. 34
0
    def test_migrate_from_11_to_12_with_partial_src_config(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 11
            },
            "node": {
                "root.dir": "~/.rally/benchmarks"
            },
            "source": {
                # a source config section without any keys should be treated like a missing source config section
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 11, 12, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("12", config_file.config["meta"]["config.version"])
        self.assertFalse("src.root.dir" in config_file.config["node"])
        self.assertFalse("elasticsearch.src.subdir" in config_file.config["source"])
Esempio n. 35
0
    def test_migrate_from_6_to_7(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 6
            },
            "system": {
                "log.root.dir": "logs"
            },
            "provisioning": {
                "local.install.dir": "install"
            },
        }
        config_file.store(sample_config)
        config.migrate(config_file, 6, 7, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("7", config_file.config["meta"]["config.version"])
        self.assertTrue("provisioning" not in config_file.config)
        self.assertTrue("log.root.dir" not in config_file.config["system"])
Esempio n. 36
0
    def test_migrate_from_11_to_12_with_partial_src_config(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 11
            },
            "node": {
                "root.dir": "~/.rally/benchmarks"
            },
            "source": {
                # a source config section without any keys should be treated like a missing source config section
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 11, 12, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("12", config_file.config["meta"]["config.version"])
        self.assertFalse("src.root.dir" in config_file.config["node"])
        self.assertFalse(
            "elasticsearch.src.subdir" in config_file.config["source"])
Esempio n. 37
0
    def test_migrate_from_8_to_9(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 8
            },
            "system": {
                "root.dir": "~/.rally/benchmarks",
                "environment.name": "local"
            },
            "benchmarks": {
                "local.dataset.cache": "${system:root.dir}/data",
                "some.other.cache": "/data"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 8, 9, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("9", config_file.config["meta"]["config.version"])
        self.assertTrue("teams" in config_file.config)
        self.assertEqual("https://github.com/elastic/rally-teams", config_file.config["teams"]["default.url"])
Esempio n. 38
0
    def test_migrate_from_8_to_9(self):
        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 8
            },
            "system": {
                "root.dir": "~/.rally/benchmarks",
                "environment.name": "local"
            },
            "benchmarks": {
                "local.dataset.cache": "${system:root.dir}/data",
                "some.other.cache": "/data"
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 8, 9, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("9", config_file.config["meta"]["config.version"])
        self.assertTrue("teams" in config_file.config)
        self.assertEqual("https://github.com/elastic/rally-teams", config_file.config["teams"]["default.url"])
Esempio n. 39
0
    def test_migrate_from_11_to_12_with_custom_src_config(self, path_rename, path_exists):
        path_exists.return_value = False

        config_file = InMemoryConfigStore("test")
        sample_config = {
            "meta": {
                "config.version": 11
            },
            "node": {
                "root.dir": io.normalize_path("~/.rally/benchmarks")
            },
            "source": {
                "local.src.dir": io.normalize_path("~/Projects/elasticsearch/master/es")
            }
        }
        config_file.store(sample_config)
        config.migrate(config_file, 11, 12, out=null_output)

        self.assertTrue(config_file.backup_created)
        self.assertEqual("12", config_file.config["meta"]["config.version"])
        self.assertEqual(io.normalize_path("~/Projects/elasticsearch/master"), config_file.config["node"]["src.root.dir"])
        self.assertEqual("es", config_file.config["source"]["elasticsearch.src.subdir"])
        # did all the migrations but nothing moved
        path_rename.assert_not_called()