From eaa4960981b19ff718f094a023c4ba50cce7b2d6 Mon Sep 17 00:00:00 2001 From: archana Date: Fri, 18 May 2018 14:09:38 -0500 Subject: [PATCH] Revert "Option to run kibana from build for CI" (#19224) * Revert "[DOCS] Removes redundant index.asciidoc files (#19192)" This reverts commit d11b5aae9a463426a83ca3b79892b7ddf3275246. * Revert "[typescript] add typescript support for the server and browser (#19104)" This reverts commit c6112067fcb53a3bd01c32362a1d701904a2e1f1. * Revert "Option to run kibana from build for CI (#19125)" This reverts commit 596986030348ec7705bc5fbb3d090297bf154899. --- .../src/functional_tests/cli/run_tests_cli.js | 10 ++---- .../functional_tests/cli/start_servers_cli.js | 8 ++--- .../functional_tests/lib/run_kibana_server.js | 32 ++++-------------- .../kbn-test/src/functional_tests/tasks.js | 31 +++++++---------- .../lib/config/schema.js | 6 +--- test/api_integration/config.js | 15 ++++----- test/common/config.js | 33 ++++++++----------- test/functional/config.js | 11 +++---- x-pack/test/api_integration/config.js | 2 +- x-pack/test/functional/config.js | 21 +++++------- x-pack/test/saml_api_integration/config.js | 15 ++++----- 11 files changed, 62 insertions(+), 122 deletions(-) diff --git a/packages/kbn-test/src/functional_tests/cli/run_tests_cli.js b/packages/kbn-test/src/functional_tests/cli/run_tests_cli.js index 2348ce7c9b6f..e77b07a5a1b6 100644 --- a/packages/kbn-test/src/functional_tests/cli/run_tests_cli.js +++ b/packages/kbn-test/src/functional_tests/cli/run_tests_cli.js @@ -12,9 +12,7 @@ import { runTests } from '../../'; * if no config option is passed */ export async function runTestsCli(defaultConfigPaths) { - const { configs, help, bail, log, installDir } = processArgs( - defaultConfigPaths - ); + const { configs, help, bail, log } = processArgs(defaultConfigPaths); if (help) return displayHelp(); @@ -26,7 +24,7 @@ export async function runTestsCli(defaultConfigPaths) { } try { - await runTests(configs, { bail, log, installDir }); + await runTests(configs, { bail, log }); } catch (err) { log.error('FATAL ERROR'); log.error(err); @@ -52,7 +50,6 @@ function processArgs(defaultConfigPaths) { log, help: options.help, bail: options.bail, - installDir: options['kibana-install-dir'], rest: options._, }; } @@ -67,9 +64,6 @@ function displayHelp() { --config Option to pass in a config Can pass in multiple configs with --config file1 --config file2 --config file3 - --kibana-install-dir - Run Kibana from an existing install directory - Default: run from source --bail Stop the test run at the first failure --help Display this menu and exit diff --git a/packages/kbn-test/src/functional_tests/cli/start_servers_cli.js b/packages/kbn-test/src/functional_tests/cli/start_servers_cli.js index 9927f3a5c217..b1621a095807 100644 --- a/packages/kbn-test/src/functional_tests/cli/start_servers_cli.js +++ b/packages/kbn-test/src/functional_tests/cli/start_servers_cli.js @@ -9,7 +9,7 @@ import { startServers } from '../../'; * @param {string} configPath path to config */ export async function startServersCli(defaultConfigPath) { - const { config, log, help, installDir } = processArgv(defaultConfigPath); + const { config, log, help } = processArgv(defaultConfigPath); if (help) return displayHelp(); @@ -21,7 +21,7 @@ export async function startServersCli(defaultConfigPath) { } try { - await startServers(config, { log, installDir }); + await startServers(config, { log }); } catch (err) { log.error('FATAL ERROR'); log.error(err); @@ -50,7 +50,6 @@ function processArgv(defaultConfigPath) { return { config, log, - installDir: options.kibanaInstallDir, help: options.help, rest: options._, }; @@ -64,9 +63,6 @@ function displayHelp() { Usage: node scripts/functional_tests_server [options] --config Option to pass in a config - --kibana-install-dir - Run Kibana from an existing install directory - Default: run from source --help Display this menu and exit Log level options: diff --git a/packages/kbn-test/src/functional_tests/lib/run_kibana_server.js b/packages/kbn-test/src/functional_tests/lib/run_kibana_server.js index 5f79f8860593..5b747bf9d8be 100644 --- a/packages/kbn-test/src/functional_tests/lib/run_kibana_server.js +++ b/packages/kbn-test/src/functional_tests/lib/run_kibana_server.js @@ -1,37 +1,17 @@ -import { resolve } from 'path'; import { KIBANA_ROOT, KIBANA_EXEC, KIBANA_EXEC_PATH } from './paths'; -export async function runKibanaServer({ procs, config, options }) { - const { installDir } = options; +export async function runKibanaServer({ procs, config }) { + const cliArgs = config.get('kibanaServerArgs') || []; + // start the kibana server and wait for it to log "Server running" before resolving await procs.run('kibana', { - cmd: getKibanaCmd(installDir), - args: getCliArgs(config, installDir), + cmd: KIBANA_EXEC, + args: [KIBANA_EXEC_PATH, ...cliArgs], env: { FORCE_COLOR: 1, ...process.env, }, - cwd: installDir || KIBANA_ROOT, + cwd: KIBANA_ROOT, wait: /Server running/, }); } - -function getKibanaCmd(installDir) { - if (installDir) { - return process.platform.startsWith('win') - ? resolve(installDir, 'bin/kibana.bat') - : resolve(installDir, 'bin/kibana'); - } - - return KIBANA_EXEC; -} - -function getCliArgs(config, installDir) { - const buildArgs = config.get('kbnTestServer.buildArgs') || []; - const sourceArgs = config.get('kbnTestServer.sourceArgs') || []; - const serverArgs = config.get('kbnTestServer.serverArgs') || []; - - return installDir - ? [...serverArgs, ...buildArgs] - : [KIBANA_EXEC_PATH, ...serverArgs, ...sourceArgs]; -} diff --git a/packages/kbn-test/src/functional_tests/tasks.js b/packages/kbn-test/src/functional_tests/tasks.js index 9ac7c835e500..9d83734ee482 100644 --- a/packages/kbn-test/src/functional_tests/tasks.js +++ b/packages/kbn-test/src/functional_tests/tasks.js @@ -22,36 +22,29 @@ in another terminal session by running this command from this directory: /** * Run servers and tests for each config - * @param {string[]} configPaths Array of paths to configs - * @param {object} options Optional - * @param {Log} options.log Optional logger - * @param {string} options.installDir Optional installation dir - * from which to run Kibana - * @param {boolean} options.bail Whether to exit test run at the first failure + * @param {string[]} configPaths Array of paths to configs + * @param {boolean} bail Whether to exit test run at the first failure + * @param {Log} log Optional logger */ -export async function runTests(configPaths, options) { +export async function runTests(configPaths, { bail, log }) { for (const configPath of configPaths) { - await runSingleConfig(resolve(process.cwd(), configPath), options); + await runSingleConfig(resolve(process.cwd(), configPath), { bail, log }); } } /** * Start only servers using single config - * @param {string} configPath Path to a config file - * @param {object} options Optional - * @param {Log} options.log Optional logger - * @param {string} options.installDir Optional installation dir - * from which to run Kibana + * @param {string} configPath Path to a config file + * @param {Log} log Optional logger */ -export async function startServers(configPath, options) { - const { log } = options; +export async function startServers(configPath, { log }) { configPath = resolve(process.cwd(), configPath); await withProcRunner(log, async procs => { const config = await readConfigFile(log, configPath); const es = await runElasticsearch({ config, log }); - await runKibanaServer({ procs, config, options }); + await runKibanaServer({ procs, config, log }); // wait for 5 seconds of silence before logging the // success message so that it doesn't get buried @@ -74,14 +67,12 @@ async function silence(milliseconds, { log }) { /* * Start servers and run tests for single config */ -async function runSingleConfig(configPath, options) { - const { bail, log } = options; - +async function runSingleConfig(configPath, { bail, log }) { await withProcRunner(log, async procs => { const config = await readConfigFile(log, configPath); const es = await runElasticsearch({ config, log }); - await runKibanaServer({ procs, config, options }); + await runKibanaServer({ procs, config }); // Note: When solving how to incorporate functional_test_runner // clean this up diff --git a/src/functional_test_runner/lib/config/schema.js b/src/functional_test_runner/lib/config/schema.js index 7dbc878dadd2..4938f71b5407 100644 --- a/src/functional_test_runner/lib/config/schema.js +++ b/src/functional_test_runner/lib/config/schema.js @@ -94,11 +94,7 @@ export const schema = Joi.object().keys({ serverArgs: Joi.array(), }).default(), - kbnTestServer: Joi.object().keys({ - buildArgs: Joi.array(), - sourceArgs: Joi.array(), - serverArgs: Joi.array(), - }).default(), + kibanaServerArgs: Joi.array(), // env allows generic data, but should be removed env: Joi.object().default(), diff --git a/test/api_integration/config.js b/test/api_integration/config.js index f0ae52539a16..80f480ea9c81 100644 --- a/test/api_integration/config.js +++ b/test/api_integration/config.js @@ -26,14 +26,11 @@ export default async function ({ readConfigFile }) { }, env: commonConfig.get('env'), esTestCluster: commonConfig.get('esTestCluster'), - kbnTestServer: { - ...functionalConfig.get('kbnTestServer'), - serverArgs: [ - ...functionalConfig.get('kbnTestServer.serverArgs'), - '--optimize.enabled=false', - '--elasticsearch.healthCheck.delay=3600000', - '--server.xsrf.disableProtection=true', - ], - }, + kibanaServerArgs: [ + ...functionalConfig.get('kibanaServerArgs'), + '--optimize.enabled=false', + '--elasticsearch.healthCheck.delay=3600000', + '--server.xsrf.disableProtection=true', + ], }; } diff --git a/test/common/config.js b/test/common/config.js index cbae6662aa30..d10681e24435 100644 --- a/test/common/config.js +++ b/test/common/config.js @@ -23,25 +23,20 @@ export default function () { ], }, - kbnTestServer: { - buildArgs: [ '--optimize.useBundleCache=true' ], - sourceArgs: [ - '--no-base-path', - `--optimize.bundleDir=${OPTIMIZE_BUNDLE_DIR}`, - ], - serverArgs: [ - '--env=development', - '--logging.json=false', - `--server.port=${kbnTestConfig.getPort()}`, - `--optimize.watchPort=${kbnTestConfig.getPort()}`, - '--optimize.watchPrebuild=true', - '--status.allowAnonymous=true', - '--optimize.enabled=true', - `--elasticsearch.url=${formatUrl(servers.elasticsearch)}`, - `--elasticsearch.username=${servers.elasticsearch.username}`, - `--elasticsearch.password=${servers.elasticsearch.password}`, - ], - }, + kibanaServerArgs: [ + '--env=development', + '--logging.json=false', + '--no-base-path', + `--server.port=${kbnTestConfig.getPort()}`, + `--optimize.watchPort=${kbnTestConfig.getPort()}`, + '--optimize.watchPrebuild=true', + '--status.allowAnonymous=true', + '--optimize.enabled=true', + `--optimize.bundleDir=${OPTIMIZE_BUNDLE_DIR}`, + `--elasticsearch.url=${formatUrl(servers.elasticsearch)}`, + `--elasticsearch.username=${servers.elasticsearch.username}`, + `--elasticsearch.password=${servers.elasticsearch.password}`, + ], services: { kibanaServer: KibanaServerProvider, diff --git a/test/functional/config.js b/test/functional/config.js index af695a6e5dfb..4412e3b8cf74 100644 --- a/test/functional/config.js +++ b/test/functional/config.js @@ -87,13 +87,10 @@ export default async function ({ readConfigFile }) { esTestCluster: commonConfig.get('esTestCluster'), - kbnTestServer: { - ...commonConfig.get('kbnTestServer'), - serverArgs: [ - ...commonConfig.get('kbnTestServer.serverArgs'), - '--oss', - ], - }, + kibanaServerArgs: [ + ...commonConfig.get('kibanaServerArgs'), + '--oss', + ], apps: { status_page: { diff --git a/x-pack/test/api_integration/config.js b/x-pack/test/api_integration/config.js index b0073e6ae12b..f5b3225b7517 100644 --- a/x-pack/test/api_integration/config.js +++ b/x-pack/test/api_integration/config.js @@ -27,7 +27,7 @@ export default async function ({ readConfigFile }) { reportName: 'X-Pack API Integration Tests', }, env: xPackFunctionalTestsConfig.get('env'), - kbnTestServer: xPackFunctionalTestsConfig.get('kbnTestServer'), + kibanaServerArgs: xPackFunctionalTestsConfig.get('kibanaServerArgs'), esTestCluster: xPackFunctionalTestsConfig.get('esTestCluster'), }; } diff --git a/x-pack/test/functional/config.js b/x-pack/test/functional/config.js index 267d33b5d986..75a18126f1cc 100644 --- a/x-pack/test/functional/config.js +++ b/x-pack/test/functional/config.js @@ -157,18 +157,15 @@ export default async function ({ readConfigFile }) { ], }, - kbnTestServer: { - ...kibanaCommonConfig.get('kbnTestServer'), - serverArgs: [ - ...kibanaCommonConfig.get('kbnTestServer.serverArgs'), - `--server.uuid=${env.kibana.server.uuid}`, - `--server.port=${servers.kibana.port}`, - `--elasticsearch.url=${formatUrl(servers.elasticsearch)}`, - '--xpack.monitoring.kibana.collection.enabled=false', - '--xpack.xpack_main.telemetry.enabled=false', - '--xpack.security.encryptionKey="wuGNaIhoMpk5sO4UBxgr3NyW1sFcLgIf"', // server restarts should not invalidate active sessions - ], - }, + kibanaServerArgs: [ + ...kibanaCommonConfig.get('kibanaServerArgs'), + `--server.uuid=${env.kibana.server.uuid}`, + `--server.port=${servers.kibana.port}`, + `--elasticsearch.url=${formatUrl(servers.elasticsearch)}`, + '--xpack.monitoring.kibana.collection.enabled=false', + '--xpack.xpack_main.telemetry.enabled=false', + '--xpack.security.encryptionKey="wuGNaIhoMpk5sO4UBxgr3NyW1sFcLgIf"', // server restarts should not invalidate active sessions + ], // the apps section defines the urls that // `PageObjects.common.navigateTo(appKey)` will use. diff --git a/x-pack/test/saml_api_integration/config.js b/x-pack/test/saml_api_integration/config.js index a278c28ace2b..c5b7abcf4479 100644 --- a/x-pack/test/saml_api_integration/config.js +++ b/x-pack/test/saml_api_integration/config.js @@ -42,14 +42,11 @@ export default async function ({ readConfigFile }) { ], }, - kbnTestServer: { - ...xPackAPITestsConfig.get('kbnTestServer'), - serverArgs: [ - ...xPackAPITestsConfig.get('kbnTestServer.serverArgs'), - '--optimize.enabled=false', - '--server.xsrf.whitelist=[\"/api/security/v1/saml\"]', - '--xpack.security.authProviders=[\"saml\"]', - ], - }, + kibanaServerArgs: [ + ...xPackAPITestsConfig.get('kibanaServerArgs'), + '--optimize.enabled=false', + '--server.xsrf.whitelist=[\"/api/security/v1/saml\"]', + '--xpack.security.authProviders=[\"saml\"]', + ], }; }