Skip to content

Commit 8c4f4fb

Browse files
Fixed add on values being reset on cluster edit (#17528)
Co-authored-by: Evgeniya Vashkevich <evgeniya.vashkevich@suse.com>
1 parent 8f4dad8 commit 8c4f4fb

3 files changed

Lines changed: 40 additions & 1 deletion

File tree

cypress/e2e/po/edit/provisioning.cattle.io.cluster/edit/cluster-edit-rke2-custom.po.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import ClusterManagerCreateImportPagePo from '@/cypress/e2e/po/edit/provisioning.cattle.io.cluster/cluster-create-import.po';
2+
import TabbedPo from '@/cypress/e2e/po/components/tabbed.po';
3+
import AddonConfigPo from '@/cypress/e2e/po/components/addon-config.po';
24

35
/**
46
* Edit page for an RKE2 custom cluster
@@ -15,4 +17,12 @@ export default class ClusterManagerEditRke2CustomPagePo extends ClusterManagerCr
1517
constructor(clusterId = '_', clusterName: string) {
1618
super(ClusterManagerEditRke2CustomPagePo.createPath(clusterId, clusterName));
1719
}
20+
21+
clusterConfigurationTabs(): TabbedPo {
22+
return new TabbedPo();
23+
}
24+
25+
calicoAddonConfig(): AddonConfigPo {
26+
return new AddonConfigPo();
27+
}
1828
}

cypress/e2e/tests/pages/manager/cluster-manager.spec.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,35 @@ describe('Cluster Manager', { testIsolation: 'off', tags: ['@manager', '@adminUs
326326
expect(obj.kind).to.equal('Cluster');
327327
});
328328
});
329+
it('preserves custom addon config values after saving cluster config', () => {
330+
const customAddonConfig = `goodvalue: yay\nnested:\n enabled: true`;
331+
const updatedDescription = `${ rke2CustomName }-addon-persist-check`;
332+
333+
clusterList.goTo();
334+
clusterList.list().actionMenu(rke2CustomName).getMenuItem('Edit Config').click();
335+
336+
editCreatedClusterPage().waitForPage('mode=edit', 'basic');
337+
editCreatedClusterPage().clusterConfigurationTabs().clickTabWithSelector('#rke2-calico');
338+
editCreatedClusterPage().calicoAddonConfig().yamlEditor().input()
339+
.set(customAddonConfig);
340+
editCreatedClusterPage().save();
341+
342+
clusterList.waitForPage();
343+
clusterList.list().actionMenu(rke2CustomName).getMenuItem('Edit Config').click();
344+
345+
editCreatedClusterPage().waitForPage('mode=edit', 'basic');
346+
editCreatedClusterPage().nameNsDescription().description().set(updatedDescription);
347+
editCreatedClusterPage().save();
348+
349+
clusterList.waitForPage();
350+
clusterList.list().actionMenu(rke2CustomName).getMenuItem('Edit Config').click();
351+
352+
editCreatedClusterPage().waitForPage('mode=edit', 'basic');
353+
editCreatedClusterPage().clusterConfigurationTabs().clickTabWithSelector('#rke2-calico');
354+
editCreatedClusterPage().calicoAddonConfig().yamlEditor().input()
355+
.value()
356+
.should('equal', customAddonConfig);
357+
});
329358

330359
it('can delete cluster', () => {
331360
clusterList.goTo();

shell/edit/provisioning.cattle.io.cluster/rke2.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ export default {
174174
Object.entries(this.chartValues).forEach(([name, value]) => {
175175
const key = this.chartVersionKey(name);
176176

177-
this.set(this.userChartValues, key, value);
177+
this.userChartValues[key] = value;
178178
});
179179
this.setAgentConfiguration();
180180
},

0 commit comments

Comments
 (0)