mirror of https://github.com/rancher/ui.git
Merge pull request #3155 from westlywright/cluster.templates.bugs
Cluster Templates Enforcement Bug
This commit is contained in:
commit
da30faa77f
|
|
@ -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}}
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -12,19 +12,23 @@ export default Route.extend({
|
||||||
clusterTemplateService: service('clusterTemplates'),
|
clusterTemplateService: service('clusterTemplates'),
|
||||||
|
|
||||||
beforeModel(transition) {
|
beforeModel(transition) {
|
||||||
const { clusterTemplates } = this.modelFor('clusters.new');
|
let { me: { hasAdmin: globalAdmin = false } } = this.access;
|
||||||
let { clusterTemplateEnforcement = false } = this.settings;
|
|
||||||
|
|
||||||
// setting is string value
|
if (!globalAdmin) {
|
||||||
if (clusterTemplateEnforcement === 'true') {
|
const { clusterTemplates } = this.modelFor('clusters.new');
|
||||||
clusterTemplateEnforcement = true;
|
let { clusterTemplateEnforcement = false } = this.settings;
|
||||||
} else {
|
|
||||||
clusterTemplateEnforcement = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (clusterTemplateEnforcement) {
|
// setting is string value
|
||||||
if (clusterTemplates.length === 1 && isEmpty(transition.queryParams.clusterTemplateRevision)) {
|
if (clusterTemplateEnforcement === 'true') {
|
||||||
return this.replaceWith(this.routeName, transition.to.params.provider, { queryParams: { clusterTemplateRevision: clusterTemplates.firstObject.defaultRevisionId } });
|
clusterTemplateEnforcement = true;
|
||||||
|
} else {
|
||||||
|
clusterTemplateEnforcement = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clusterTemplateEnforcement) {
|
||||||
|
if (clusterTemplates.length === 1 && isEmpty(transition.queryParams.clusterTemplateRevision)) {
|
||||||
|
return this.replaceWith(this.routeName, transition.to.params.provider, { queryParams: { clusterTemplateRevision: clusterTemplates.firstObject.defaultRevisionId } });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
})),
|
})),
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue