Skip to content

Commit

Permalink
make pods and containers reflect filters
Browse files Browse the repository at this point in the history
  • Loading branch information
matt-deboer committed Oct 31, 2017
1 parent be101d3 commit 43e3b97
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 11 deletions.
52 changes: 41 additions & 11 deletions pkg/ui/src/components/cluster/NodesTab.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ const mapStateToProps = function(store) {
metricsRevision: store.metrics.revision,
resources: store.resources.resources,
kinds: store.apimodels.kinds,
podsByNode: store.resources.podsByNode,
settingsRevision: store.usersettings.revision,
}
}

Expand Down Expand Up @@ -382,6 +384,8 @@ class NodesTab extends React.Component {
|| this.props.nodeMetrics !== nextProps.nodeMetrics
|| this.props.resourceRevision !== nextProps.resourceRevision
|| this.props.metricsRevision !== nextProps.metricsRevision
|| this.props.podsByNode !== nextProps.podsByNode
|| this.props.settingsRevision !== nextProps.settingsRevision
}

handleActionsRequestClose = () => {
Expand Down Expand Up @@ -447,7 +451,8 @@ class NodesTab extends React.Component {
}

renderCell = (column, row) => {
let { nodeMetrics } = this.props
let { nodeMetrics, podsByNode } = this.props
let nodeName = row.metadata.name
let value = ''
let metrics = null
let that = this
Expand Down Expand Up @@ -511,13 +516,25 @@ class NodesTab extends React.Component {
}
return value.toFixed(1) + ' Gi'
case 'pods':
if (nodeMetrics && row.metadata.name in nodeMetrics) {
value = nodeMetrics[row.metadata.name].pods.usage
value = 0
if (podsByNode && nodeName in podsByNode) {
for (let podKey in podsByNode[nodeName]) {
let pod = podsByNode[nodeName][podKey]
if (!pod.isFiltered) {
value++
}
}
}
return value
case 'containers':
if (nodeMetrics && row.metadata.name in nodeMetrics) {
value = nodeMetrics[row.metadata.name].containers.usage
value = 0
if (podsByNode && nodeName in podsByNode) {
for (let podKey in podsByNode[nodeName]) {
let pod = podsByNode[nodeName][podKey]
if (!pod.isFiltered) {
value += pod.spec.containers.length
}
}
}
return value
// case 'actions':
Expand All @@ -533,7 +550,8 @@ class NodesTab extends React.Component {
}

getCellValue = (column, row) => {
let { nodeMetrics } = this.props
let { nodeMetrics, podsByNode } = this.props
let nodeName = row.metadata.name
let value = -1
switch(column) {
case 'id':
Expand Down Expand Up @@ -571,13 +589,25 @@ class NodesTab extends React.Component {
}
return value
case 'pods':
if (nodeMetrics && row.metadata.name in nodeMetrics) {
value = nodeMetrics[row.metadata.name].pods.usage
value = 0
if (podsByNode && nodeName in podsByNode) {
for (let podKey in podsByNode[nodeName]) {
let pod = podsByNode[nodeName][podKey]
if (!pod.isFiltered) {
value++
}
}
}
return value
case 'containers':
if (nodeMetrics && row.metadata.name in nodeMetrics) {
value = nodeMetrics[row.metadata.name].containers.usage
value = 0
if (podsByNode && nodeName in podsByNode) {
for (let podKey in podsByNode[nodeName]) {
let pod = podsByNode[nodeName][podKey]
if (!pod.isFiltered) {
value += pod.spec.containers.length
}
}
}
return value
case 'kind':
Expand Down Expand Up @@ -643,7 +673,7 @@ class NodesTab extends React.Component {
iconStyle={{fill: 'rgba(255,255,255,0.9)'}}
iconInactiveStyle={{fill: 'rgba(255,255,255,0.5)'}}
width={'calc(100vw - 50px)'}
revision={props.resourceRevision + props.metricsRevision + props.filterNames.length}
revision={props.resourceRevision + props.metricsRevision + props.filterNames.length + props.settingsRevision}
wrapperStyle={{marginLeft: - 15, marginRight: -15, overflowX: 'hidden', overflowY: 'auto'}}
headerStyle={{backgroundColor: 'rgb(66, 77, 99)', color: 'white'}}
/>
Expand Down
2 changes: 2 additions & 0 deletions pkg/ui/src/state/reducers/usersettings.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ const initialState = (savedState || {
// a map[string]=> bool of namespaces currently selected
// an empty map should be treated as ALL instead of NONE
selectedKinds: {},
revision: 0,
})

export default (state = initialState, action) => {
Expand All @@ -30,6 +31,7 @@ function doSelect(state, namespaces, kinds, save) {
let newState = {
selectedNamespaces: namespaces || state.selectedNamespaces,
selectedKinds: kinds || state.selectedKinds,
revision: state.revision+1,
}

if (save) {
Expand Down

0 comments on commit 43e3b97

Please sign in to comment.