mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
[Fleet] improvements to install packages script run by daily job (#148517)
## Summary Related to https://github.com/elastic/ingest-dev/issues/1487 Improvements to the script run by the [daily job](https://buildkite.com/elastic/kibana-fleet-packages) - logging time it took to install packages - ordering install time in descending order - added prerelease flag - delete each package after install Sample run locally: ``` │ info ✅ dga@0.0.3 took 19.224s │ info ✅ endpoint@8.7.0-next took 12.971s │ info ✅ apm@8.7.0-preview-1672912576 took 10.047s │ info ✅ aws@1.28.3 took 9.959s │ info ✅ slack@0.2.1 took 9.063s │ info ✅ journald@0.0.4 took 8.945s │ info ✅ panw@3.4.2 took 8.569s │ info ✅ auth0@1.3.1 took 7.578s │ info ✅ auditd_manager@1.5.0 took 7.541s │ info ✅ logstash@2.1.1-preview1 took 7.252s │ info ✅ etcd@0.2.0 took 7.223s │ info ✅ oracle_weblogic@0.3.0 took 7.128s │ info ✅ oracle@1.9.2 took 7.11s │ info ✅ barracuda@0.12.1 took 6.907s │ info ✅ azure_billing@1.1.1 took 6.843s │ info ✅ checkpoint@1.10.0 took 6.469s │ info ✅ auditd@3.4.2 took 6.194s │ info ✅ proofpoint_tap@1.3.1 took 6.118s │ info ✅ zeek@2.6.1 took 5.998s │ info ✅ synthetics@0.11.5 took 5.936s │ info ✅ elasticsearch@1.1.0-preview1 took 5.884s │ info ✅ memcached@0.2.0 took 5.747s │ info ✅ salesforce@0.2.0 took 5.585s │ info ✅ sonicwall_firewall@1.2.0 took 5.46s │ info ✅ gcp@2.15.1 took 5.16s │ info ✅ cisco_aironet@0.2.0 took 5.124s │ info ✅ containerd@0.2.1 took 5.121s │ info ✅ azure@1.5.5 took 5.115s │ info ✅ crowdstrike@1.8.2 took 5.113s │ info ✅ ibmmq@0.2.0 took 5.089s │ info ✅ postgresql@1.5.0 took 5.082s │ info ✅ proofpoint@0.9.1 took 5.082s │ info ✅ netskope@1.5.0 took 5.05s │ info ✅ cisco_asa@2.11.0 took 4.996s │ info ✅ darktrace@0.2.0 took 4.856s │ info ✅ box_events@0.3.0 took 4.801s │ info ✅ cassandra@1.3.0 took 4.699s │ info ✅ citrix_adc@0.5.0 took 4.626s │ info ✅ system@1.20.4 took 4.507s │ info ✅ aws_logs@0.3.2 took 4.473s │ info ✅ atlassian_confluence@1.6.1 took 4.456s │ info ✅ cisco_ftd@2.7.0 took 4.431s │ info ✅ istio@0.2.2 took 4.217s │ info ✅ prometheus@1.0.1 took 4.189s │ info ✅ snyk@1.5.0 took 4.18s │ info ✅ cisco_meraki@1.4.1 took 4.174s │ info ✅ nginx@1.6.0 took 4.157s │ info ✅ infoblox_nios@1.5.0 took 4.155s │ info ✅ o365@1.9.2 took 4.151s │ info ✅ osquery@1.6.1 took 4.133s │ info ✅ vsphere@1.2.1 took 4.129s │ info ✅ cyberark_pta@0.3.0 took 4.127s │ info ✅ security_detection_engine@8.4.1 took 4.126s │ info ✅ ti_cif3@0.3.1 took 4.124s │ info ✅ nats@1.3.0 took 4.119s │ info ✅ santa@3.4.1 took 4.117s │ info ✅ citrix_waf@1.2.0 took 4.116s │ info ✅ fortinet_fortigate@1.5.0 took 4.115s │ info ✅ websphere_application_server@0.2.0 took 4.115s │ info ✅ hid_bravura_monitor@1.3.2 took 4.113s │ info ✅ windows@1.15.2 took 4.113s │ info ✅ microsoft_sqlserver@1.11.1 took 4.11s │ info ✅ sysmon_linux@0.1.0 took 4.11s │ info ✅ problemchild@0.0.4 took 4.109s │ info ✅ nagios_xi@0.2.0 took 4.108s │ info ✅ pfsense@1.5.0 took 4.108s │ info ✅ osquery_manager@1.5.1 took 4.107s │ info ✅ spring_boot@0.6.1 took 4.107s │ info ✅ suricata@2.5.3 took 4.107s │ info ✅ influxdb@0.1.0 took 4.106s │ info ✅ zookeeper@1.4.0 took 4.106s │ info ✅ redisenterprise@0.2.0 took 4.104s │ info ✅ apache@1.7.0 took 4.103s │ info ✅ cloudflare@2.3.1 took 4.101s │ info ✅ nginx_ingress_controller@1.6.0 took 4.101s │ info ✅ elastic_package_registry@0.0.6 took 4.1s │ info ✅ activemq@0.5.0 took 4.098s │ info ✅ couchbase@0.12.1 took 4.097s │ info ✅ hadoop@0.3.0 took 4.096s │ info ✅ redis@1.4.0 took 4.096s │ info ✅ github@1.6.0 took 4.095s │ info ✅ hashicorp_vault@1.8.0 took 4.095s │ info ✅ iptables@1.3.0 took 4.095s │ info ✅ cyberarkpas@2.8.0 took 4.094s │ info ✅ lmd@0.0.1 took 4.094s │ info ✅ zscaler_zpa@1.4.1 took 4.094s │ info ✅ microsoft_defender_endpoint@2.6.0 took 4.093s │ info ✅ google_workspace@2.1.0 took 4.092s │ info ✅ mongodb@1.5.2 took 4.092s │ info ✅ ded@0.0.2 took 4.091s │ info ✅ network_traffic@1.8.0 took 4.091s │ info ✅ cisco_duo@1.7.0 took 4.09s │ info ✅ cloud_security_posture@1.2.2 took 4.09s │ info ✅ cisco_secure_email_gateway@1.4.0 took 4.088s │ info ✅ docker@2.4.0 took 4.088s │ info ✅ linux@0.6.8 took 4.087s │ info ✅ azure_metrics@1.0.13 took 4.086s │ info ✅ tenable_sc@1.6.2 took 4.086s │ info ✅ cloudflare_logpush@0.4.0 took 4.084s │ info ✅ m365_defender@1.4.3 took 4.083s │ info ✅ iis@1.3.0 took 4.082s │ info ✅ fortinet@1.9.0 took 4.054s │ info ✅ lastpass@0.2.4 took 4.048s │ info ✅ squid@0.11.2 took 4.043s │ info ✅ ti_cybersixgill@1.8.1 took 4.027s │ info ✅ udp@1.5.0 took 3.996s │ info ✅ kafka_log@1.0.0 took 3.968s │ info ✅ cockroachdb@1.0.0 took 3.89s │ info ✅ atlassian_bitbucket@1.5.1 took 3.884s │ info ✅ http_endpoint@1.5.0 took 3.862s │ info ✅ 1password@1.7.1 took 3.824s │ info ✅ ping_one@0.2.0 took 3.623s │ info ✅ atlassian_jira@1.6.1 took 3.438s │ info ✅ zscaler_zia@2.6.1 took 3.37s │ info ✅ traefik@1.5.0 took 3.176s │ info ✅ modsecurity@1.4.1 took 3.175s │ info ✅ couchdb@0.2.0 took 3.158s │ info ✅ ti_otx@1.6.1 took 3.146s │ info ✅ ti_threatq@1.7.1 took 3.142s │ info ✅ f5_bigip@0.1.0 took 3.125s │ info ✅ cisco_ise@1.5.0 took 3.119s │ info ✅ microsoft_exchange_online_message_trace@0.1.0 took 3.119s │ info ✅ jamf_compliance_reporter@0.4.0 took 3.118s │ info ✅ infoblox_bloxone_ddi@0.2.2 took 3.116s │ info ✅ symantec_endpoint@2.2.0 took 3.112s │ info ✅ php_fpm@0.2.1 took 3.111s │ info ✅ okta@1.13.0 took 3.108s │ info ✅ mysql@1.4.0 took 3.105s │ info ✅ log@1.1.0 took 3.103s │ info ✅ ti_util@1.1.0 took 3.103s │ info ✅ coredns@0.1.0 took 3.102s │ info ✅ lyve_cloud@1.0.0 took 3.1s │ info ✅ qnap_nas@1.6.0 took 3.098s │ info ✅ apache_spark@0.3.0 took 3.094s │ info ✅ ti_anomali@1.8.0 took 3.092s │ info ✅ haproxy@1.4.0 took 3.091s │ info ✅ kubernetes@1.29.2 took 3.091s │ info ✅ trend_micro_vision_one@0.2.2 took 3.091s │ info ✅ stan@1.3.0 took 3.089s │ info ✅ akamai@2.3.0 took 3.088s │ info ✅ netflow@2.3.2 took 3.088s │ info ✅ ti_misp@1.8.0 took 3.088s │ info ✅ azure_application_insights@1.0.4 took 3.087s │ info ✅ mimecast@1.4.2 took 3.085s │ info ✅ carbon_black_cloud@1.5.0 took 3.084s │ info ✅ cef@2.5.0 took 3.084s │ info ✅ ti_abusech@1.8.0 took 3.083s │ info ✅ kafka@1.3.1 took 3.082s │ info ✅ elastic_agent@1.4.0 took 3.081s │ info ✅ radware@0.10.2 took 3.08s │ info ✅ sentinel_one@1.4.0 took 3.079s │ info ✅ awsfargate@0.2.0 took 3.078s │ info ✅ cisco_nexus@0.8.0 took 3.075s │ info ✅ sophos@2.6.0 took 3.075s │ info ✅ rabbitmq@1.4.0 took 3.072s │ info ✅ fortinet_fortimanager@1.2.0 took 3.071s │ info ✅ f5@0.12.1 took 3.069s │ info ✅ fortinet_forticlient@1.2.0 took 3.064s │ info ✅ sonicwall@0.8.2 took 3.064s │ info ✅ juniper@1.2.0 took 3.062s │ info ✅ juniper_srx@1.7.0 took 3.062s │ info ✅ juniper_netscreen@0.5.1 took 3.059s │ info ✅ infoblox@0.8.1 took 3.057s │ info ✅ juniper_junos@0.5.1 took 3.056s │ info ✅ fortinet_fortimail@1.2.0 took 3.052s │ info ✅ barracuda_cloudgen_firewall@0.2.0 took 2.142s │ info ✅ cisco_ios@1.11.0 took 2.108s │ info ✅ fireeye@1.8.0 took 2.108s │ info ✅ bluecoat@0.11.1 took 2.079s │ info ✅ fortinet_fortiedr@1.3.0 took 2.074s │ info ✅ gcp_metrics@0.0.1 took 2.074s │ info ✅ cylance@0.11.1 took 2.068s │ info ✅ pulse_connect_secure@1.4.0 took 2.064s │ info ✅ cisco_umbrella@1.5.0 took 2.062s │ info ✅ platform_observability@0.0.1 took 2.061s │ info ✅ beat@0.0.1 took 2.06s │ info ✅ snort@1.3.0 took 2.06s │ info ✅ tcp@1.5.0 took 2.06s │ info ✅ zoom@1.6.0 took 2.06s │ info ✅ mattermost@1.5.0 took 2.058s │ info ✅ panw_cortex_xdr@1.5.2 took 2.058s │ info ✅ carbonblack_edr@1.6.0 took 2.057s │ info ✅ httpjson@1.6.1 took 2.057s │ info ✅ ti_recordedfuture@1.4.1 took 2.057s │ info ✅ jolokia@0.0.3 took 2.056s │ info ✅ microsoft_dhcp@1.9.0 took 2.055s │ info ✅ netscout@0.11.2 took 2.055s │ info ✅ fleet_server@1.2.0 took 2.054s │ info ✅ airflow@0.0.1 took 2.053s │ info ✅ imperva@0.11.2 took 2.052s │ info ✅ tomcat@1.7.1 took 2.051s │ info ✅ cisco_secure_endpoint@2.7.1 took 2.05s │ info ✅ gcp_pubsub@1.3.0 took 2.05s │ info ✅ kibana@2.1.0-preview1 took 2.05s │ info ✅ cloud_defend@0.1.0 took 2.049s │ info ✅ fim@1.3.0 took 2.049s │ info ✅ keycloak@1.6.0 took 2.049s │ info ✅ mysql_enterprise@1.3.0 took 2.049s │ info ✅ zerofox@1.6.0 took 2.049s │ info ✅ winlog@1.9.0 took 2.048s └- ✖ fail: Fleet packages test install all fleet packages should work and install all packages │ Error: Some package install failed: zscaler@0.1.2 │ at Context.<anonymous> (install_all.ts:79:15) │ at runMicrotasks (<anonymous>) │ at processTicksAndRejections (node:internal/process/task_queues:96:5) │ at Object.apply (wrap_function.js:73:16) │ │ └-> "after all" hook: afterTestSuite.trigger for "should work and install all packages" └-> "after all" hook: afterTestSuite.trigger in "Fleet packages test" 0 passing (23.0m) 1 failing ``` The `zscaler` issue seems to be a real issue with the package: ``` │ body: { │ statusCode: 400, │ error: 'Bad Request', │ message: 'Invalid top-level package manifest: one or more fields missing of name, version, description, title, format_version, owner' │ }, ``` Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
ba06f68752
commit
ee0856d75b
1 changed files with 36 additions and 6 deletions
|
@ -22,12 +22,30 @@ export default function (providerContext: FtrProviderContext) {
|
|||
function installPackage(
|
||||
name: string,
|
||||
version: string
|
||||
): Promise<{ name: string; success: boolean; error?: any }> {
|
||||
): Promise<{ name: string; version: string; success: boolean; error?: any; took?: number }> {
|
||||
const start = Date.now();
|
||||
return supertest
|
||||
.post(`/api/fleet/epm/packages/${name}/${version}`)
|
||||
.set('kbn-xsrf', 'xxx')
|
||||
.send({ force: true })
|
||||
.expect(200)
|
||||
.then(() => {
|
||||
const end = Date.now();
|
||||
return { name, version, success: true, took: (end - start) / 1000 };
|
||||
})
|
||||
.catch((error) => {
|
||||
return { name, version, success: false, error };
|
||||
});
|
||||
}
|
||||
|
||||
async function deletePackage(
|
||||
name: string,
|
||||
version: string
|
||||
): Promise<{ name: string; success: boolean; error?: any }> {
|
||||
return supertest
|
||||
.delete(`/api/fleet/epm/packages/${name}/${version}`)
|
||||
.set('kbn-xsrf', 'xxx')
|
||||
.expect(200)
|
||||
.then(() => {
|
||||
return { name, success: true };
|
||||
})
|
||||
|
@ -41,22 +59,34 @@ export default function (providerContext: FtrProviderContext) {
|
|||
it('should work and install all packages', async () => {
|
||||
const {
|
||||
body: { items: packages },
|
||||
} = await supertest.get('/api/fleet/epm/packages').expect(200);
|
||||
} = await supertest.get('/api/fleet/epm/packages?prerelease=true').expect(200);
|
||||
const allResults = [];
|
||||
for (const pkg of packages) {
|
||||
const pkgName = `${pkg.name}@${pkg.version}`;
|
||||
// skip deprecated failing package https://github.com/elastic/integrations/issues/4947
|
||||
if (pkg.name === 'zscaler') continue;
|
||||
const res = await installPackage(pkg.name, pkg.version);
|
||||
allResults.push(res);
|
||||
if (res.success) {
|
||||
await deletePackage(pkg.name, pkg.version);
|
||||
}
|
||||
}
|
||||
const succeededInstall = allResults
|
||||
.filter((res) => res.success === true)
|
||||
.sort((a, b) => (b.took ?? 0) - (a.took ?? 0));
|
||||
succeededInstall.forEach((res) => {
|
||||
const pkgName = `${res.name}@${res.version}`;
|
||||
if (!res.success) {
|
||||
logger.info(`❌ ${pkgName} failed: ${res?.error?.message}`);
|
||||
} else {
|
||||
logger.info(`✅ ${pkgName}`);
|
||||
logger.info(`✅ ${pkgName} took ${res.took}s`);
|
||||
}
|
||||
}
|
||||
});
|
||||
const failedInstall = allResults.filter((res) => res.success === false);
|
||||
if (failedInstall.length) {
|
||||
throw new Error(
|
||||
`Some package installe failed: ${failedInstall.map((res) => res.name).join(', ')}`
|
||||
`Some package install failed: ${failedInstall
|
||||
.map((res) => `${res.name}@${res.version}`)
|
||||
.join(', ')}`
|
||||
);
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue