From 0d06a3e90bad8b47ae01854ef8ac78f6b766088c Mon Sep 17 00:00:00 2001 From: Westly Wright Date: Wed, 3 Feb 2021 10:19:00 -0700 Subject: [PATCH] display prefix of node name (drop domain) rancher/rancher#27873 --- app/models/node.js | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/app/models/node.js b/app/models/node.js index 190a03596..e12d8bb92 100644 --- a/app/models/node.js +++ b/app/models/node.js @@ -98,16 +98,7 @@ var Node = Resource.extend(Grafana, StateCounts, ResourceUsage, { name = get(this, 'nodeName'); if ( name ) { if ( name.match(/[a-z]/i) ) { - name = name.replace(/\..*$/, ''); - - const nodesWithSamePrefix = (this.nodes || []).filter((node) => (node.nodeName || '').startsWith(`${ name }.`)); - - if ( nodesWithSamePrefix.length > 1 ) { - name = this.nodeName.slice(this.nodeName.lastIndexOf('.') + 1, this.nodeName.length) - if ( name.match(/^\d+$/) ) { - name = this.nodeName; - } - } + name = this.parseNodeName(name); } return name; @@ -209,6 +200,25 @@ var Node = Resource.extend(Grafana, StateCounts, ResourceUsage, { return out; }), + parseNodeName(nameIn) { + const suffix = nameIn.split('.').slice(1).join('.'); + const nodesWithSameSuffix = (this.nodes || []).filter((node) => (node.nodeName || '').endsWith(suffix)); + + if (nodesWithSameSuffix.length === 1) { + return this.nodeName; + } else if (nodesWithSameSuffix.length > 1) { + const neu = nameIn.replace(/\..*$/, ''); + + if ( neu.match(/^\d+$/) ) { + return this.nodeName; + } else { + return neu; + } + } + + return nameIn; + }, + engineIcon: computed('info.os.dockerVersion', function() { if ( (get(this, 'info.os.dockerVersion') || '').startsWith(CONTAINERD) ) { return 'icon-container-d';