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>
|
||||
|
||||
<CruCluster
|
||||
@applyClusterTemplate={{not (is-empty model.clusterTemplateRevisionId)}}
|
||||
@applyClusterTemplate={{not (is-empty clusterTemplateRevision)}}
|
||||
@clusterTemplateRevisionId={{mut clusterTemplateRevision}}
|
||||
@model={{model}}
|
||||
@initialProvider={{cluster.provider}}
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ const ClusterTemplate = Resource.extend({
|
|||
|
||||
actions: {
|
||||
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() {
|
||||
|
|
|
|||
|
|
@ -12,19 +12,23 @@ export default Route.extend({
|
|||
clusterTemplateService: service('clusterTemplates'),
|
||||
|
||||
beforeModel(transition) {
|
||||
const { clusterTemplates } = this.modelFor('clusters.new');
|
||||
let { clusterTemplateEnforcement = false } = this.settings;
|
||||
let { me: { hasAdmin: globalAdmin = false } } = this.access;
|
||||
|
||||
// setting is string value
|
||||
if (clusterTemplateEnforcement === 'true') {
|
||||
clusterTemplateEnforcement = true;
|
||||
} else {
|
||||
clusterTemplateEnforcement = false;
|
||||
}
|
||||
if (!globalAdmin) {
|
||||
const { clusterTemplates } = this.modelFor('clusters.new');
|
||||
let { clusterTemplateEnforcement = false } = this.settings;
|
||||
|
||||
if (clusterTemplateEnforcement) {
|
||||
if (clusterTemplates.length === 1 && isEmpty(transition.queryParams.clusterTemplateRevision)) {
|
||||
return this.replaceWith(this.routeName, transition.to.params.provider, { queryParams: { clusterTemplateRevision: clusterTemplates.firstObject.defaultRevisionId } });
|
||||
// setting is string value
|
||||
if (clusterTemplateEnforcement === 'true') {
|
||||
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
|
||||
@applyClusterTemplate={{not (is-empty model.clusterTemplateRevision)}}
|
||||
@applyClusterTemplate={{not (is-empty clusterTemplateRevision)}}
|
||||
@model={{model}}
|
||||
@provider={{model.provider}}
|
||||
@mode="new"
|
||||
|
|
|
|||
|
|
@ -130,16 +130,7 @@ export default InputTextFile.extend(ManageLabels, ClusterDriver, {
|
|||
init() {
|
||||
this._super();
|
||||
|
||||
this.initNodeCounts();
|
||||
|
||||
if (!this.useClusterTemplate && this.clusterTemplateRevisionId) {
|
||||
setProperties(this, {
|
||||
useClusterTemplate: true,
|
||||
forceExpandOnInit: true,
|
||||
})
|
||||
}
|
||||
|
||||
if (!this.applyClusterTemplate) {
|
||||
var initNonTemplateCluster = () => {
|
||||
if ( get(this, 'isNew') ) {
|
||||
this.createRkeConfigWithDefaults();
|
||||
} 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') ) {
|
||||
set(this, 'windowsSupport', true)
|
||||
}
|
||||
|
|
@ -341,7 +349,9 @@ export default InputTextFile.extend(ManageLabels, ClusterDriver, {
|
|||
enforcementChanged: on('init', observer('settings.clusterTemplateEnforcement', function() {
|
||||
let { me: { hasAdmin: globalAdmin = null } } = this.access;
|
||||
let { clusterTemplateEnforcement = false } = this.settings;
|
||||
let useClusterTemplate = false;
|
||||
|
||||
// what happens for globalAdmin?
|
||||
if (!globalAdmin) {
|
||||
// setting is string value
|
||||
if (clusterTemplateEnforcement === 'true') {
|
||||
|
|
@ -350,7 +360,19 @@ export default InputTextFile.extend(ManageLabels, ClusterDriver, {
|
|||
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);
|
||||
}
|
||||
})),
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
</section>
|
||||
{{/unless}}
|
||||
|
||||
{{#if (or (not clusterTemplatesEnforced) (and clusterTemplatesEnforced clusterTemplateRevisionId))}}
|
||||
{{#if (or clusterTemplateCreate (or (not clusterTemplatesEnforced) (and clusterTemplatesEnforced clusterTemplateRevisionId)))}}
|
||||
|
||||
{{#if (and (not applyClusterTemplate) (not clusterTemplateCreate))}}
|
||||
<section class="has-tabs p-0 pull-left">
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@
|
|||
nodeWhich="custom"
|
||||
clusterTemplateCreate=true
|
||||
clusterTemplateQuestions=clusterTemplateRevision.questions
|
||||
clusterTemplateRevisionId=clusterTemplateRevisionId
|
||||
addQuestion=(action "addQuestion")
|
||||
removeQuestion=(action "removeQuestion")
|
||||
model=(hash
|
||||
|
|
|
|||
Loading…
Reference in New Issue