From ef6ac0189a2a13bbde1a39d5021cf1cac9ff68fe Mon Sep 17 00:00:00 2001 From: n313893254 Date: Thu, 22 Aug 2019 13:45:31 +0800 Subject: [PATCH] Fix [Windows] Unable to set windows node advanced options https://github.com/rancher/rancher/issues/22059 --- .../cluster-driver/driver-rke/component.js | 52 +++++-------------- .../cluster-driver/driver-rke/template.hbs | 18 +++---- 2 files changed, 22 insertions(+), 48 deletions(-) diff --git a/lib/shared/addon/components/cluster-driver/driver-rke/component.js b/lib/shared/addon/components/cluster-driver/driver-rke/component.js index 114e40552..f308cef41 100644 --- a/lib/shared/addon/components/cluster-driver/driver-rke/component.js +++ b/lib/shared/addon/components/cluster-driver/driver-rke/component.js @@ -677,12 +677,18 @@ export default InputTextFile.extend(ManageLabels, ClusterDriver, { return; } - const address = get(this, 'address'); - const nodeName = get(this, 'nodeName'); - const internalAddress = get(this, 'internalAddress'); - const roles = ['etcd', 'controlplane', 'worker']; - const labels = get(this, 'labels') || {}; - const taints = get(this, 'taints') || []; + const address = get(this, 'address'); + const nodeName = get(this, 'nodeName'); + const internalAddress = get(this, 'internalAddress'); + const roles = ['etcd', 'controlplane', 'worker']; + const labels = get(this, 'labels') || {}; + const taints = get(this, 'taints') || []; + const windowsSelected = !get(this, 'isLinux') + const windowsCmdPostfix = ' | iex}"'; + + if (windowsSelected) { + out = (get(this, 'token.windowsNodeCommand') || '').replace('--isolation hyperv ', '').replace(windowsCmdPostfix, '') + } if ( nodeName ) { out += ` --node-name ${ nodeName.toLowerCase() }`; @@ -712,40 +718,8 @@ export default InputTextFile.extend(ManageLabels, ClusterDriver, { out += ` --taints ${ get(taint, 'key') }=${ get(taint, 'value') }:${ get(taint, 'effect') }`; }); - const windowsSelected = !get(this, 'isLinux') - if (windowsSelected) { - out = get(this, 'token.windowsNodeCommand') || '' - out = out.replace('--isolation hyperv ', '') - let addressCmd = '' - - if ( nodeName ) { - addressCmd += ` -nodeName ${ nodeName.toLowerCase() }`; - } - - if (address) { - addressCmd += ` -address ${ address }` - } - - if (internalAddress) { - addressCmd += ` -internalAddress ${ internalAddress }` - } - - const labelKeys = Object.keys(labels); - - if ( get(labelKeys, 'length') > 0 ) { - addressCmd += ` -label `; - const labelArray = []; - - labelKeys.forEach((key) => { - labelArray.push(`${ key }=${ labels[key] }`); - }); - addressCmd += `${ labelArray.join(',') }`; - } - - if (addressCmd) { - out = out.replace(`; if($?)`, `${ addressCmd }; if($?)`) - } + out += windowsCmdPostfix } return out; diff --git a/lib/shared/addon/components/cluster-driver/driver-rke/template.hbs b/lib/shared/addon/components/cluster-driver/driver-rke/template.hbs index d92c8dfa4..c1eab7726 100644 --- a/lib/shared/addon/components/cluster-driver/driver-rke/template.hbs +++ b/lib/shared/addon/components/cluster-driver/driver-rke/template.hbs @@ -1171,15 +1171,15 @@ {{/form-user-labels}} - {{#unless cluster.windowsPreferedCluster}} -
- {{t "clusterNew.rke.taints.title"}} -

- {{t "clusterNew.rke.taints.detail"}} -

- {{node-taints setTaints=(action "setTaints")}} -
- {{/unless}} +
+ {{t "clusterNew.rke.taints.title"}} +

+ {{t "clusterNew.rke.taints.detail"}} +

+ {{node-taints + setTaints=(action "setTaints") + }} +