def test_get_conf_empty_is_default(self, get_conf_from_file_mock, write_mock): env.roledefs['coordinator'] = 'j' env.roledefs['workers'] = ['K', 'L'] get_conf_from_file_mock.return_value = {} self.assertEqual(coordinator.Coordinator().get_conf(), coordinator.Coordinator().build_all_defaults())
def test_defaults_coord_is_worker(self): env.roledefs['coordinator'] = ['a'] env.roledefs['worker'] = ['a', 'b', 'c'] actual_default = coordinator.Coordinator().build_all_defaults() expected = { 'node.properties': { 'node.environment': 'presto', 'node.data-dir': '/var/lib/presto/data', 'node.launcher-log-file': '/var/log/presto/launcher.log', 'node.server-log-file': '/var/log/presto/server.log', 'catalog.config-dir': '/etc/presto/catalog', 'plugin.dir': '/usr/lib/presto/lib/plugin' }, 'jvm.config': [ '-server', '-Xmx16G', '-XX:-UseBiasedLocking', '-XX:+UseG1GC', '-XX:G1HeapRegionSize=32M', '-XX:+ExplicitGCInvokesConcurrent', '-XX:+HeapDumpOnOutOfMemoryError', '-XX:+UseGCOverheadLimit', '-XX:OnOutOfMemoryError=kill -9 %p', '-XX:ReservedCodeCacheSize=512M', '-DHADOOP_USER_NAME=hive' ], 'config.properties': { 'coordinator': 'true', 'discovery-server.enabled': 'true', 'discovery.uri': 'http://a:8080', 'http-server.http.port': '8080', 'node-scheduler.include-coordinator': 'true', 'query.max-memory': '50GB', 'query.max-memory-per-node': '8GB' } } self.assertEqual(actual_default, expected)
def test_get_conf(self, get_conf_from_file_mock, write_mock): env.roledefs['coordinator'] = 'j' env.roledefs['workers'] = ['K', 'L'] file_conf = { 'node.properties': { 'my-property': 'value', 'node.environment': 'test' } } get_conf_from_file_mock.return_value = file_conf expected = { 'node.properties': { 'my-property': 'value', 'node.environment': 'test' }, 'jvm.config': [ '-server', '-Xmx16G', '-XX:-UseBiasedLocking', '-XX:+UseG1GC', '-XX:G1HeapRegionSize=32M', '-XX:+ExplicitGCInvokesConcurrent', '-XX:+HeapDumpOnOutOfMemoryError', '-XX:+UseGCOverheadLimit', '-XX:OnOutOfMemoryError=kill -9 %p', '-XX:ReservedCodeCacheSize=512M', '-DHADOOP_USER_NAME=hive' ], 'config.properties': { 'coordinator': 'true', 'discovery-server.enabled': 'true', 'discovery.uri': 'http://j:8080', 'http-server.http.port': '8080', 'node-scheduler.include-coordinator': 'false', 'query.max-memory': '50GB', 'query.max-memory-per-node': '8GB' } } self.assertEqual(coordinator.Coordinator().get_conf(), expected)
def test_build_all_defaults(self): env.roledefs['coordinator'] = 'a' env.roledefs['workers'] = ['b', 'c'] actual_default = coordinator.Coordinator().build_all_defaults() expected = { 'node.properties': { 'node.environment': 'presto', 'node.data-dir': '/var/lib/presto/data', 'node.launcher-log-file': '/var/log/presto/launcher.log', 'node.server-log-file': '/var/log/presto/server.log', 'catalog.config-dir': '/etc/presto/catalog' }, 'jvm.config': [ '-server', '-Xmx16G', '-XX:-UseBiasedLocking', '-XX:+UseG1GC', '-XX:G1HeapRegionSize=32M', '-XX:+ExplicitGCInvokesConcurrent', '-XX:+ExitOnOutOfMemoryError', '-XX:+UseGCOverheadLimit', '-XX:+HeapDumpOnOutOfMemoryError', '-XX:ReservedCodeCacheSize=512M', '-Djdk.attach.allowAttachSelf=true', '-Djdk.nio.maxCachedBufferSize=2000000', '-DHADOOP_USER_NAME=hive', '-Dpresto-temporarily-allow-java8=true' ], 'config.properties': { 'coordinator': 'true', 'discovery-server.enabled': 'true', 'discovery.uri': 'http://a:8080', 'http-server.http.port': '8080', 'node-scheduler.include-coordinator': 'false', 'query.max-memory': '50GB', 'query.max-memory-per-node': '8GB' } } self.assertEqual(actual_default, expected)
def test_validate_default(self): env.roledefs['coordinator'] = 'localhost' env.roledefs['workers'] = ['localhost'] conf = coordinator.Coordinator().build_all_defaults() self.assertEqual(conf, coordinator.Coordinator.validate(conf))