[8.8] [ML] Fix not blocking forced downgrades/installation if cannot delete indices (#159814) (#160089)

Co-authored-by: Quynh Nguyen (Quinn) <43350163+qn895@users.noreply.github.com>
fix",":ml","Team:Fleet","v8.9.0","v8.8.2"],"number":159814,"url":"https://github.com/elastic/kibana/pull/159814","mergeCommit":{"message":"[ML]
This commit is contained in:
Kibana Machine 2023-06-22 12:27:30 -04:00 committed by GitHub
parent 5df083d62f
commit 3a08f5a8fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 72 deletions

View file

@ -168,14 +168,6 @@ describe('test transform install with legacy schema', () => {
esReferences: previousInstallation.installed_es,
});
expect(esClient.transform.getTransform.mock.calls).toEqual([
[
{
transform_id: 'endpoint.metadata_current-default-0.15.0-dev.0',
},
{ ignore: [404] },
],
]);
expect(esClient.transform.stopTransform.mock.calls).toEqual([
[
{
@ -190,16 +182,7 @@ describe('test transform install with legacy schema', () => {
{
transform_id: 'endpoint.metadata_current-default-0.15.0-dev.0',
force: true,
},
{ ignore: [404] },
],
]);
expect(esClient.transport.request.mock.calls).toEqual([
[
{
method: 'DELETE',
path: '/index',
delete_dest_index: true,
},
{ ignore: [404] },
],
@ -464,15 +447,6 @@ describe('test transform install with legacy schema', () => {
esReferences: previousInstallation.installed_es,
});
expect(esClient.transform.getTransform.mock.calls).toEqual([
[
{
transform_id: 'endpoint.metadata-current-default-0.15.0-dev.0',
},
{ ignore: [404] },
],
]);
expect(esClient.transform.stopTransform.mock.calls).toEqual([
[
{
@ -488,16 +462,7 @@ describe('test transform install with legacy schema', () => {
{
transform_id: 'endpoint.metadata-current-default-0.15.0-dev.0',
force: true,
},
{ ignore: [404] },
],
]);
expect(esClient.transport.request.mock.calls).toEqual([
[
{
method: 'DELETE',
path: '/index',
delete_dest_index: true,
},
{ ignore: [404] },
],

View file

@ -34,34 +34,17 @@ export const deleteTransforms = async (
}
await Promise.all(
transformIds.map(async (transformId) => {
// get the index the transform
const transformResponse = await esClient.transform.getTransform(
{ transform_id: transformId },
{ ignore: [404] }
);
await stopTransforms([transformId], esClient);
await esClient.transform.deleteTransform(
{ force: true, transform_id: transformId },
{
force: true,
transform_id: transformId,
// @ts-expect-error ES type needs to be updated
delete_dest_index: deleteDestinationIndices,
},
{ ...(secondaryAuth ? secondaryAuth : {}), ignore: [404] }
);
logger.info(`Deleted: ${transformId}`);
if (deleteDestinationIndices && transformResponse?.transforms) {
// expect this to be 1
for (const transform of transformResponse.transforms) {
await esClient.transport.request(
{
method: 'DELETE',
path: `/${transform?.dest?.index}`,
},
{
ignore: [404],
}
);
}
} else {
logger.warn(`cannot find transform for ${transformId}`);
}
})
);
};

View file

@ -272,6 +272,7 @@ _meta:
{
transform_id: 'logs-endpoint.metadata_current-default-0.1.0',
force: true,
delete_dest_index: false,
},
{ ignore: [404] },
],
@ -547,17 +548,7 @@ _meta:
{
transform_id: 'endpoint.metadata_current-default-0.1.0',
force: true,
},
{ ignore: [404] },
],
]);
// Destination index from previous version using legacy schema should be deleted
expect(esClient.transport.request.mock.calls).toEqual([
[
{
method: 'DELETE',
path: '/mock-old-destination-index',
delete_dest_index: true,
},
{ ignore: [404] },
],
@ -828,6 +819,7 @@ _meta:
{
transform_id: 'logs-endpoint.metadata_current-default-0.1.0',
force: true,
delete_dest_index: false,
},
{ ignore: [404] },
],
@ -1131,7 +1123,11 @@ _meta:
expect(esClient.transform.deleteTransform.mock.calls).toEqual([
[
{ force: true, transform_id: 'logs-endpoint.metadata_current-default-0.2.0' },
{
force: true,
transform_id: 'logs-endpoint.metadata_current-default-0.2.0',
delete_dest_index: false,
},
{ ignore: [404] },
],
]);