Skip to content

Commit

Permalink
[7.17] [Fleet] Fix missing package-level vars in GCP policy editor (#…
Browse files Browse the repository at this point in the history
…132068) (#136289)

* [Fleet] Fix missing package-level vars in GCP policy editor (#132068)

* Fix missing package-level vars in GCP policy editor

Display package-level variables even if they aren't defined on the
existing package policy during an upgrade, honoring default values for
all variables if they exist.

Fixes #131251

* Fix not persisting default values for new variables

* Fix tests

* Address PR feedback + update tests

(cherry picked from commit 5fff510)

# Conflicts:
#	x-pack/plugins/fleet/common/services/validate_package_policy.test.ts
#	x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/step_define_package_policy.test.tsx

* Remove incorrect test

* Remove define package policy tests from 7.17.x

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
  • Loading branch information
kpollich and kibanamachine authored Jul 14, 2022
1 parent 28c0afc commit bbb1021
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,7 @@ describe('Fleet - validatePackagePolicy()', () => {
],
},
],
vars: {},
};

const invalidPackagePolicy: NewPackagePolicy = {
Expand Down Expand Up @@ -332,6 +333,7 @@ describe('Fleet - validatePackagePolicy()', () => {
],
},
],
vars: {},
};

const noErrorsValidationResults = {
Expand Down Expand Up @@ -370,6 +372,7 @@ describe('Fleet - validatePackagePolicy()', () => {
vars: { 'var-name': null },
},
},
vars: {},
};

it('returns no errors for valid package policy', () => {
Expand Down Expand Up @@ -416,6 +419,7 @@ describe('Fleet - validatePackagePolicy()', () => {
streams: { 'with-no-stream-vars-bar': {} },
},
},
vars: {},
});
});

Expand Down Expand Up @@ -487,6 +491,7 @@ describe('Fleet - validatePackagePolicy()', () => {
streams: { 'with-no-stream-vars-bar': {} },
},
},
vars: {},
});
});

Expand All @@ -505,6 +510,7 @@ describe('Fleet - validatePackagePolicy()', () => {
description: null,
namespace: null,
inputs: null,
vars: {},
});
expect(
validatePackagePolicy(
Expand All @@ -520,6 +526,7 @@ describe('Fleet - validatePackagePolicy()', () => {
description: null,
namespace: null,
inputs: null,
vars: {},
});
});

Expand All @@ -538,6 +545,7 @@ describe('Fleet - validatePackagePolicy()', () => {
description: null,
namespace: null,
inputs: null,
vars: {},
});
expect(
validatePackagePolicy(
Expand All @@ -553,6 +561,7 @@ describe('Fleet - validatePackagePolicy()', () => {
description: null,
namespace: null,
inputs: null,
vars: {},
});
});

Expand Down Expand Up @@ -678,6 +687,7 @@ describe('Fleet - validatePackagePolicy()', () => {
},
},
},
vars: {},
name: null,
namespace: null,
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export const validatePackagePolicy = (
description: null,
namespace: null,
inputs: {},
vars: {},
};
const namespaceValidation = isValidNamespace(packagePolicy.namespace);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,28 @@ export const StepDefinePackagePolicy: React.FunctionComponent<{

// Update package policy's package and agent policy info
useEffect(() => {
if (isUpdate || isLoadingPackagePolicies) {
if (isLoadingPackagePolicies) {
return;
}

if (isUpdate) {
// If we're upgrading, we need to make sure we catch an addition of package-level
// vars when they were previously no package-level vars defined
if (!packagePolicy.vars && packageInfo.vars) {
updatePackagePolicy(
packageToPackagePolicy(
packageInfo,
agentPolicy?.id || '',
packagePolicy.output_id,
packagePolicy.namespace,
packagePolicy.name,
packagePolicy.description,
integrationToEnable
)
);
}
}

const pkg = packagePolicy.package;
const currentPkgKey = pkg ? pkgKeyFromPackageInfo(pkg) : '';
const pkgKey = pkgKeyFromPackageInfo(packageInfo);
Expand Down Expand Up @@ -224,6 +243,7 @@ export const StepDefinePackagePolicy: React.FunctionComponent<{
const { name: varName, type: varType } = varDef;
if (!packagePolicy.vars || !packagePolicy.vars[varName]) return null;
const value = packagePolicy.vars[varName].value;

return (
<EuiFlexItem key={varName}>
<PackagePolicyInputVarField
Expand Down

0 comments on commit bbb1021

Please sign in to comment.