Skip to content

Commit 3f5e207

Browse files
[Ingest Manager] Fix failing test conflict error (#72149) (#72275)
* save kibana installation references after other updates have completed to avoid conflict error * unskip tests * uncomment out line * add back await to not change things * unskip fleet_unenroll_agent Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
1 parent b022530 commit 3f5e207

File tree

7 files changed

+23
-23
lines changed

7 files changed

+23
-23
lines changed

x-pack/plugins/ingest_manager/server/services/epm/kibana/assets/install.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,14 @@ import {
1111
} from 'src/core/server';
1212
import { PACKAGES_SAVED_OBJECT_TYPE } from '../../../../../common';
1313
import * as Registry from '../../registry';
14-
import { AssetType, KibanaAssetType, AssetReference } from '../../../../types';
14+
import {
15+
AssetType,
16+
KibanaAssetType,
17+
AssetReference,
18+
KibanaAssetReference,
19+
} from '../../../../types';
1520
import { deleteKibanaSavedObjectsAssets } from '../../packages/remove';
1621
import { getInstallationObject, savedObjectTypes } from '../../packages';
17-
import { saveInstalledKibanaRefs } from '../../packages/install';
1822

1923
type SavedObjectToBe = Required<SavedObjectsBulkCreateObject> & { type: AssetType };
2024
export type ArchiveAsset = Pick<
@@ -49,7 +53,7 @@ export async function installKibanaAssets(options: {
4953
pkgName: string;
5054
paths: string[];
5155
isUpdate: boolean;
52-
}): Promise<AssetReference[]> {
56+
}): Promise<KibanaAssetReference[]> {
5357
const { savedObjectsClient, paths, pkgName, isUpdate } = options;
5458

5559
if (isUpdate) {
@@ -65,16 +69,14 @@ export async function installKibanaAssets(options: {
6569

6670
// install the new assets and save installation references
6771
const kibanaAssetTypes = Object.values(KibanaAssetType);
68-
const installationPromises = kibanaAssetTypes.map((assetType) =>
69-
installKibanaSavedObjects({ savedObjectsClient, assetType, paths })
72+
const installedAssets = await Promise.all(
73+
kibanaAssetTypes.map((assetType) =>
74+
installKibanaSavedObjects({ savedObjectsClient, assetType, paths })
75+
)
7076
);
7177
// installKibanaSavedObjects returns AssetReference[], so .map creates AssetReference[][]
7278
// call .flat to flatten into one dimensional array
73-
const newInstalledKibanaAssets = await Promise.all(installationPromises).then((results) =>
74-
results.flat()
75-
);
76-
await saveInstalledKibanaRefs(savedObjectsClient, pkgName, newInstalledKibanaAssets);
77-
return newInstalledKibanaAssets;
79+
return installedAssets.flat();
7880
}
7981
export const deleteKibanaInstalledRefs = async (
8082
savedObjectsClient: SavedObjectsClientContract,

x-pack/plugins/ingest_manager/server/services/epm/packages/install.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,17 +169,20 @@ export async function installPackage(options: {
169169
);
170170
}
171171

172-
// update to newly installed version when all assets are successfully installed
173-
if (isUpdate) await updateVersion(savedObjectsClient, pkgName, pkgVersion);
174172
// get template refs to save
175173
const installedTemplateRefs = installedTemplates.map((template) => ({
176174
id: template.templateName,
177175
type: ElasticsearchAssetType.indexTemplate,
178176
}));
177+
179178
const [installedKibanaAssets] = await Promise.all([
180179
installKibanaAssetsPromise,
181180
installIndexPatternPromise,
182181
]);
182+
183+
await saveInstalledKibanaRefs(savedObjectsClient, pkgName, installedKibanaAssets);
184+
// update to newly installed version when all assets are successfully installed
185+
if (isUpdate) await updateVersion(savedObjectsClient, pkgName, pkgVersion);
183186
return [...installedKibanaAssets, ...installedPipelines, ...installedTemplateRefs];
184187
}
185188
const updateVersion = async (
@@ -230,7 +233,7 @@ export async function createInstallation(options: {
230233
export const saveInstalledKibanaRefs = async (
231234
savedObjectsClient: SavedObjectsClientContract,
232235
pkgName: string,
233-
installedAssets: AssetReference[]
236+
installedAssets: KibanaAssetReference[]
234237
) => {
235238
await savedObjectsClient.update(PACKAGES_SAVED_OBJECT_TYPE, pkgName, {
236239
installed_kibana: installedAssets,

x-pack/test/api_integration/apis/fleet/setup.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ export default function ({ getService }: FtrProviderContext) {
1111
const supertest = getService('supertest');
1212
const es = getService('es');
1313

14-
// FLAKY: https://github.com/elastic/kibana/issues/72053
15-
describe.skip('fleet_setup', () => {
14+
describe('fleet_setup', () => {
1615
beforeEach(async () => {
1716
try {
1817
await es.security.deleteUser({

x-pack/test/api_integration/apis/fleet/unenroll_agent.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ export default function (providerContext: FtrProviderContext) {
1616
const supertest = getService('supertest');
1717
const esClient = getService('es');
1818

19-
// FLAKY: https://github.com/elastic/kibana/issues/64696
20-
describe.skip('fleet_unenroll_agent', () => {
19+
describe('fleet_unenroll_agent', () => {
2120
let accessAPIKeyId: string;
2221
let outputAPIKeyId: string;
2322
before(async () => {

x-pack/test/ingest_manager_api_integration/apis/epm/install.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ export default function ({ getService }: FtrProviderContext) {
2121
const mappingsPackage = 'overrides-0.1.0';
2222
const server = dockerServers.get('registry');
2323

24-
// FLAKY: https://github.com/elastic/kibana/issues/71939
25-
describe.skip('installs packages that include settings and mappings overrides', async () => {
24+
describe('installs packages that include settings and mappings overrides', async () => {
2625
after(async () => {
2726
if (server.enabled) {
2827
// remove the package just in case it being installed will affect other tests

x-pack/test/security_solution_endpoint/apps/endpoint/policy_details.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
1919
const testSubjects = getService('testSubjects');
2020
const policyTestResources = getService('policyTestResources');
2121

22-
// FLAKY: https://github.com/elastic/kibana/issues/72102
23-
describe.skip('When on the Endpoint Policy Details Page', function () {
22+
describe('When on the Endpoint Policy Details Page', function () {
2423
this.tags(['ciGroup7']);
2524

2625
describe('with an invalid policy id', () => {

x-pack/test/security_solution_endpoint/apps/endpoint/policy_list.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
1919
const policyTestResources = getService('policyTestResources');
2020
const RELATIVE_DATE_FORMAT = /\d (?:seconds|minutes) ago/i;
2121

22-
// FLAKY: https://github.com/elastic/kibana/issues/71951
23-
describe.skip('When on the Endpoint Policy List', function () {
22+
describe('When on the Endpoint Policy List', function () {
2423
this.tags(['ciGroup7']);
2524
before(async () => {
2625
await pageObjects.policy.navigateToPolicyList();

0 commit comments

Comments
 (0)