Skip to content

Commit

Permalink
Revert "Option to run kibana from build for CI" (elastic#19224)
Browse files Browse the repository at this point in the history
* Revert "[DOCS] Removes redundant index.asciidoc files (elastic#19192)"

This reverts commit d11b5aa.

* Revert "[typescript] add typescript support for the server and browser (elastic#19104)"

This reverts commit c611206.

* Revert "Option to run kibana from build for CI (elastic#19125)"

This reverts commit 5969860.
  • Loading branch information
archanid authored and archanid committed May 18, 2018
1 parent 7913f07 commit 05640a3
Show file tree
Hide file tree
Showing 11 changed files with 62 additions and 122 deletions.
10 changes: 2 additions & 8 deletions packages/kbn-test/src/functional_tests/cli/run_tests_cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand All @@ -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);
Expand All @@ -52,7 +50,6 @@ function processArgs(defaultConfigPaths) {
log,
help: options.help,
bail: options.bail,
installDir: options['kibana-install-dir'],
rest: options._,
};
}
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand All @@ -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);
Expand Down Expand Up @@ -50,7 +50,6 @@ function processArgv(defaultConfigPath) {
return {
config,
log,
installDir: options.kibanaInstallDir,
help: options.help,
rest: options._,
};
Expand All @@ -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:
Expand Down
32 changes: 6 additions & 26 deletions packages/kbn-test/src/functional_tests/lib/run_kibana_server.js
Original file line number Diff line number Diff line change
@@ -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];
}
31 changes: 11 additions & 20 deletions packages/kbn-test/src/functional_tests/tasks.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
6 changes: 1 addition & 5 deletions src/functional_test_runner/lib/config/schema.js
Original file line number Diff line number Diff line change
Expand Up @@ -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(),
Expand Down
15 changes: 6 additions & 9 deletions test/api_integration/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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',
],
};
}
33 changes: 14 additions & 19 deletions test/common/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
11 changes: 4 additions & 7 deletions test/functional/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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: {
Expand Down
2 changes: 1 addition & 1 deletion x-pack/test/api_integration/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,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'),
};
}
21 changes: 9 additions & 12 deletions x-pack/test/functional/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
15 changes: 6 additions & 9 deletions x-pack/test/saml_api_integration/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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\"]',
],
};
}

0 comments on commit 05640a3

Please sign in to comment.