Merge pull request #3155 from westlywright/cluster.templates.bugs

Cluster Templates Enforcement Bug
This commit is contained in:
Westly Wright 2019-07-23 16:08:10 -07:00 committed by GitHub
commit da30faa77f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 53 additions and 26 deletions

View File

@ -5,7 +5,7 @@
</section> </section>
<CruCluster <CruCluster
@applyClusterTemplate={{not (is-empty model.clusterTemplateRevisionId)}} @applyClusterTemplate={{not (is-empty clusterTemplateRevision)}}
@clusterTemplateRevisionId={{mut clusterTemplateRevision}} @clusterTemplateRevisionId={{mut clusterTemplateRevision}}
@model={{model}} @model={{model}}
@initialProvider={{cluster.provider}} @initialProvider={{cluster.provider}}

View File

@ -45,7 +45,7 @@ const ClusterTemplate = Resource.extend({
actions: { actions: {
newRevision() { newRevision() {
this.router.transitionTo('global-admin.cluster-templates.new-revision', this.id); this.router.transitionTo('global-admin.cluster-templates.new-revision', this.id, { queryParams: { revision: this.defaultRevisionId } });
}, },
edit() { edit() {

View File

@ -12,6 +12,9 @@ export default Route.extend({
clusterTemplateService: service('clusterTemplates'), clusterTemplateService: service('clusterTemplates'),
beforeModel(transition) { beforeModel(transition) {
let { me: { hasAdmin: globalAdmin = false } } = this.access;
if (!globalAdmin) {
const { clusterTemplates } = this.modelFor('clusters.new'); const { clusterTemplates } = this.modelFor('clusters.new');
let { clusterTemplateEnforcement = false } = this.settings; let { clusterTemplateEnforcement = false } = this.settings;
@ -27,6 +30,7 @@ export default Route.extend({
return this.replaceWith(this.routeName, transition.to.params.provider, { queryParams: { clusterTemplateRevision: clusterTemplates.firstObject.defaultRevisionId } }); return this.replaceWith(this.routeName, transition.to.params.provider, { queryParams: { clusterTemplateRevision: clusterTemplates.firstObject.defaultRevisionId } });
} }
} }
}
return; return;
}, },

View File

@ -1,5 +1,5 @@
<CruCluster <CruCluster
@applyClusterTemplate={{not (is-empty model.clusterTemplateRevision)}} @applyClusterTemplate={{not (is-empty clusterTemplateRevision)}}
@model={{model}} @model={{model}}
@provider={{model.provider}} @provider={{model.provider}}
@mode="new" @mode="new"

View File

@ -130,16 +130,7 @@ export default InputTextFile.extend(ManageLabels, ClusterDriver, {
init() { init() {
this._super(); this._super();
this.initNodeCounts(); var initNonTemplateCluster = () => {
if (!this.useClusterTemplate && this.clusterTemplateRevisionId) {
setProperties(this, {
useClusterTemplate: true,
forceExpandOnInit: true,
})
}
if (!this.applyClusterTemplate) {
if ( get(this, 'isNew') ) { if ( get(this, 'isNew') ) {
this.createRkeConfigWithDefaults(); this.createRkeConfigWithDefaults();
} else { } else {
@ -153,6 +144,23 @@ export default InputTextFile.extend(ManageLabels, ClusterDriver, {
}); });
} }
this.initNodeCounts();
if (!this.useClusterTemplate && this.clusterTemplateRevisionId) {
setProperties(this, {
useClusterTemplate: true,
forceExpandOnInit: true,
})
}
if (this.applyClusterTemplate) {
if (!this.useClusterTemplate) {
initNonTemplateCluster();
}
} else {
initNonTemplateCluster();
}
if ( get(this, 'isEdit') && get(this, 'primaryResource.isWindows') ) { if ( get(this, 'isEdit') && get(this, 'primaryResource.isWindows') ) {
set(this, 'windowsSupport', true) set(this, 'windowsSupport', true)
} }
@ -341,7 +349,9 @@ export default InputTextFile.extend(ManageLabels, ClusterDriver, {
enforcementChanged: on('init', observer('settings.clusterTemplateEnforcement', function() { enforcementChanged: on('init', observer('settings.clusterTemplateEnforcement', function() {
let { me: { hasAdmin: globalAdmin = null } } = this.access; let { me: { hasAdmin: globalAdmin = null } } = this.access;
let { clusterTemplateEnforcement = false } = this.settings; let { clusterTemplateEnforcement = false } = this.settings;
let useClusterTemplate = false;
// what happens for globalAdmin?
if (!globalAdmin) { if (!globalAdmin) {
// setting is string value // setting is string value
if (clusterTemplateEnforcement === 'true') { if (clusterTemplateEnforcement === 'true') {
@ -350,7 +360,19 @@ export default InputTextFile.extend(ManageLabels, ClusterDriver, {
clusterTemplateEnforcement = false; clusterTemplateEnforcement = false;
} }
set(this, 'useClusterTemplate', this.clusterTemplateRevisionId ? true : false); if (this.applyClusterTemplate) {
if (clusterTemplateEnforcement) {
useClusterTemplate = true;
} else if (this.clusterTemplateRevisionId) {
useClusterTemplate = true;
}
} else {
if (this.clusterTemplateRevisionId) {
useClusterTemplate = true;
}
}
set(this, 'useClusterTemplate', useClusterTemplate);
set(this, 'clusterTemplatesEnforced', clusterTemplateEnforcement); set(this, 'clusterTemplatesEnforced', clusterTemplateEnforcement);
} }
})), })),

View File

@ -47,7 +47,7 @@
</section> </section>
{{/unless}} {{/unless}}
{{#if (or (not clusterTemplatesEnforced) (and clusterTemplatesEnforced clusterTemplateRevisionId))}} {{#if (or clusterTemplateCreate (or (not clusterTemplatesEnforced) (and clusterTemplatesEnforced clusterTemplateRevisionId)))}}
{{#if (and (not applyClusterTemplate) (not clusterTemplateCreate))}} {{#if (and (not applyClusterTemplate) (not clusterTemplateCreate))}}
<section class="has-tabs p-0 pull-left"> <section class="has-tabs p-0 pull-left">

View File

@ -75,6 +75,7 @@
nodeWhich="custom" nodeWhich="custom"
clusterTemplateCreate=true clusterTemplateCreate=true
clusterTemplateQuestions=clusterTemplateRevision.questions clusterTemplateQuestions=clusterTemplateRevision.questions
clusterTemplateRevisionId=clusterTemplateRevisionId
addQuestion=(action "addQuestion") addQuestion=(action "addQuestion")
removeQuestion=(action "removeQuestion") removeQuestion=(action "removeQuestion")
model=(hash model=(hash