diff --git a/app/scripts/modules/amazon/src/pipeline/stages/cloneServerGroup/awsCloneServerGroupStage.js b/app/scripts/modules/amazon/src/pipeline/stages/cloneServerGroup/awsCloneServerGroupStage.js index f9fa3bb2982..43dc58cf176 100644 --- a/app/scripts/modules/amazon/src/pipeline/stages/cloneServerGroup/awsCloneServerGroupStage.js +++ b/app/scripts/modules/amazon/src/pipeline/stages/cloneServerGroup/awsCloneServerGroupStage.js @@ -8,14 +8,12 @@ import { ACCOUNT_SERVICE, LIST_EXTRACTOR_SERVICE, StageConstants } from '@spinna module.exports = angular.module('spinnaker.amazon.pipeline.stage.cloneServerGroupStage', [ ACCOUNT_SERVICE, LIST_EXTRACTOR_SERVICE, - require('./cloneServerGroupExecutionDetails.controller.js').name, ]) .config(function(pipelineConfigProvider) { pipelineConfigProvider.registerStage({ provides: 'cloneServerGroup', cloudProvider: 'aws', templateUrl: require('./cloneServerGroupStage.html'), - executionDetailsUrl: require('./cloneServerGroupExecutionDetails.html'), executionStepLabelUrl: require('./cloneServerGroupStepLabel.html'), accountExtractor: (stage) => stage.context.credentials, validators: [ diff --git a/app/scripts/modules/amazon/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js b/app/scripts/modules/amazon/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js deleted file mode 100644 index adbe9d2f5c8..00000000000 --- a/app/scripts/modules/amazon/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js +++ /dev/null @@ -1,63 +0,0 @@ -'use strict'; - -const angular = require('angular'); -import _ from 'lodash'; - -import { CLUSTER_FILTER_SERVICE, URL_BUILDER_SERVICE } from '@spinnaker/core'; - -module.exports = angular.module('spinnaker.amazon.pipeline.stage.cloneServerGroup.executionDetails.controller', [ - require('@uirouter/angularjs').default, - CLUSTER_FILTER_SERVICE, - URL_BUILDER_SERVICE -]) - .controller('awsCloneServerGroupExecutionDetailsCtrl', function ($scope, $stateParams, executionDetailsSectionService, - urlBuilderService, clusterFilterService) { - - $scope.configSections = ['cloneServerGroupConfig', 'taskStatus']; - - let initialized = () => { - $scope.detailsSection = $stateParams.details; - - let context = $scope.stage.context || {}, - results = []; - - function addDeployedArtifacts(key) { - let deployedArtifacts = _.find(resultObjects, key); - if (deployedArtifacts) { - _.forEach(deployedArtifacts[key], (serverGroupNameAndRegion) => { - if (serverGroupNameAndRegion.includes(':')) { - let [region, serverGroupName] = serverGroupNameAndRegion.split(':'); - let result = { - type: 'serverGroups', - application: context.application, - serverGroup: serverGroupName, - account: context.credentials, - region: region, - provider: 'aws', - project: $stateParams.project, - }; - result.href = urlBuilderService.buildFromMetadata(result); - results.push(result); - } - }); - } - } - - if (context && context['kato.tasks'] && context['kato.tasks'].length) { - var resultObjects = context['kato.tasks'][0].resultObjects; - if (resultObjects && resultObjects.length) { - addDeployedArtifacts('serverGroupNames'); - } - } - $scope.deployed = results; - }; - - this.overrideFiltersForUrl = r => clusterFilterService.overrideFiltersForUrl(r); - - let initialize = () => executionDetailsSectionService.synchronizeSection($scope.configSections, initialized); - - initialize(); - - $scope.$on('$stateChangeSuccess', initialize); - - }); diff --git a/app/scripts/modules/amazon/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html b/app/scripts/modules/amazon/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html deleted file mode 100644 index 35ca425a481..00000000000 --- a/app/scripts/modules/amazon/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html +++ /dev/null @@ -1,41 +0,0 @@ -
- -
-
-
-
-
Account
-
-
Region
-
{{stage.context.region}}
-
Cluster
-
{{stage.context.targetCluster}}
-
Server Group
-
{{stage.context.source.serverGroupName}}
-
Capacity
-
Min: {{stage.context.capacity.min}} / Desired: {{stage.context.capacity.desired}} / Max: {{stage.context.capacity.max}}
-
-
-
- - -
- -
-
- -
-
- -
-
-
diff --git a/app/scripts/modules/cloudfoundry/pipeline/stages/cloneServerGroup/cfCloneServerGroupStage.js b/app/scripts/modules/cloudfoundry/pipeline/stages/cloneServerGroup/cfCloneServerGroupStage.js index b85d08da826..026d88c8f09 100644 --- a/app/scripts/modules/cloudfoundry/pipeline/stages/cloneServerGroup/cfCloneServerGroupStage.js +++ b/app/scripts/modules/cloudfoundry/pipeline/stages/cloneServerGroup/cfCloneServerGroupStage.js @@ -8,14 +8,12 @@ import { ACCOUNT_SERVICE, NAMING_SERVICE, StageConstants } from '@spinnaker/core module.exports = angular.module('spinnaker.cf.pipeline.stage.cloneServerGroupStage', [ ACCOUNT_SERVICE, NAMING_SERVICE, - require('./cloneServerGroupExecutionDetails.controller.js').name, ]) .config(function(pipelineConfigProvider) { pipelineConfigProvider.registerStage({ provides: 'cloneServerGroup', cloudProvider: 'cf', templateUrl: require('./cloneServerGroupStage.html'), - executionDetailsUrl: require('./cloneServerGroupExecutionDetails.html'), executionStepLabelUrl: require('./cloneServerGroupStepLabel.html'), validators: [ { type: 'requiredField', fieldName: 'targetCluster', fieldLabel: 'cluster' }, diff --git a/app/scripts/modules/cloudfoundry/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js b/app/scripts/modules/cloudfoundry/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js deleted file mode 100644 index f59190d94bb..00000000000 --- a/app/scripts/modules/cloudfoundry/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js +++ /dev/null @@ -1,62 +0,0 @@ -'use strict'; - -const angular = require('angular'); -import _ from 'lodash'; - -import { CLUSTER_FILTER_SERVICE, URL_BUILDER_SERVICE } from '@spinnaker/core'; - -module.exports = angular.module('spinnaker.cf.pipeline.stage.cloneServerGroup.executionDetails.controller', [ - require('@uirouter/angularjs').default, - CLUSTER_FILTER_SERVICE, - URL_BUILDER_SERVICE -]) - .controller('cfCloneServerGroupExecutionDetailsCtrl', function ($scope, $stateParams, executionDetailsSectionService, urlBuilderService, clusterFilterService) { - - $scope.configSections = ['cloneServerGroupConfig', 'taskStatus']; - - let initialized = () => { - $scope.detailsSection = $stateParams.details; - - let context = $scope.stage.context || {}, - results = []; - - function addDeployedArtifacts(key) { - let deployedArtifacts = _.find(resultObjects, key); - if (deployedArtifacts) { - _.forEach(deployedArtifacts[key], (serverGroupNameAndRegion) => { - if (serverGroupNameAndRegion.includes(':')) { - let [region, serverGroupName] = serverGroupNameAndRegion.split(':'); - let result = { - type: 'serverGroups', - application: context.application, - serverGroup: serverGroupName, - account: context.credentials, - region: region, - provider: 'cf', - project: $stateParams.project, - }; - result.href = urlBuilderService.buildFromMetadata(result); - results.push(result); - } - }); - } - } - - if (context && context['kato.tasks'] && context['kato.tasks'].length) { - var resultObjects = context['kato.tasks'][0].resultObjects; - if (resultObjects && resultObjects.length) { - addDeployedArtifacts('serverGroupNames'); - } - } - $scope.deployed = results; - }; - - this.overrideFiltersForUrl = r => clusterFilterService.overrideFiltersForUrl(r); - - let initialize = () => executionDetailsSectionService.synchronizeSection($scope.configSections, initialized); - - initialize(); - - $scope.$on('$stateChangeSuccess', initialize); - - }); diff --git a/app/scripts/modules/cloudfoundry/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html b/app/scripts/modules/cloudfoundry/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html deleted file mode 100644 index c60844d8b78..00000000000 --- a/app/scripts/modules/cloudfoundry/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html +++ /dev/null @@ -1,41 +0,0 @@ -
- -
-
-
-
-
Account
-
-
Region
-
{{stage.context.region}}
-
Cluster
-
{{stage.context.targetCluster}}
-
Server Group
-
{{stage.context.source.serverGroupName}}
-
Capacity
-
Min: {{stage.context.capacity.min}} / Desired: {{stage.context.capacity.desired}} / Max: {{stage.context.capacity.max}}
-
-
-
- - -
- -
-
- -
-
- -
-
-
diff --git a/app/scripts/modules/core/src/delivery/details/StageDetails.tsx b/app/scripts/modules/core/src/delivery/details/StageDetails.tsx index 67d76923674..e1482ddc036 100644 --- a/app/scripts/modules/core/src/delivery/details/StageDetails.tsx +++ b/app/scripts/modules/core/src/delivery/details/StageDetails.tsx @@ -18,6 +18,7 @@ export interface IStageDetailsProps { export interface IStageDetailsState { configSections?: string[]; executionDetailsSections?: IExecutionDetailsSection[]; + provider: string; sourceUrl?: string; } @@ -46,7 +47,7 @@ export class StageDetails extends React.Component { const { application, execution, stage } = this.props; - const { executionDetailsSections, sourceUrl, configSections } = this.state; + const { executionDetailsSections, provider, sourceUrl, configSections } = this.state; const { StageDetailsWrapper } = NgReact; - const detailsProps = { application, execution, stage }; + const detailsProps = { application, execution, provider, stage }; return (
diff --git a/app/scripts/modules/core/src/domain/IExecutionStage.ts b/app/scripts/modules/core/src/domain/IExecutionStage.ts index 508566647d5..b599ef7041c 100644 --- a/app/scripts/modules/core/src/domain/IExecutionStage.ts +++ b/app/scripts/modules/core/src/domain/IExecutionStage.ts @@ -39,6 +39,7 @@ export interface IExecutionDetailsComponentProps { application: Application; detailsSections: IExecutionDetailsSection[]; execution: IExecution; + provider: string; stage: IExecutionStage; } diff --git a/app/scripts/modules/core/src/pipeline/config/stages/cloneServerGroup/CloneServerGroupExecutionDetails.tsx b/app/scripts/modules/core/src/pipeline/config/stages/cloneServerGroup/CloneServerGroupExecutionDetails.tsx new file mode 100644 index 00000000000..740d0e301cb --- /dev/null +++ b/app/scripts/modules/core/src/pipeline/config/stages/cloneServerGroup/CloneServerGroupExecutionDetails.tsx @@ -0,0 +1,125 @@ +import * as React from 'react'; +import { find, get } from 'lodash'; + +import { NgReact, ReactInjector } from 'core/reactShims'; +import { StageFailureMessage } from 'core/delivery/details'; +import { ExecutionDetailsSection, IExecutionDetailsSectionProps } from '../core'; + +export interface IDeployResult { + type: string; + application: string; + serverGroup: string; + account: string; + region: string; + provider: string; + project: string; + href?: string; +} + +export interface ICloneServerGroupExecutionDetailsState { + deployResults: IDeployResult[]; +} + +export class CloneServerGroupExecutionDetails extends React.Component { + public static title = 'cloneServerGroupConfig'; + + constructor(props: IExecutionDetailsSectionProps) { + super(props); + this.state = { deployResults: [] } + } + + private addDeployedArtifacts(props: IExecutionDetailsSectionProps): void { + const tasks = get(props, ['stage', 'context', 'kato.tasks'], []); + if (tasks.length === 0) { + return; + } + const resultObjects: { [key: string]: {[key: string]: string[]} } = tasks[0].resultObjects; + if (!resultObjects || Object.keys(resultObjects).length === 0) { + return; + } + + const context = get(props, 'stage.context', {} as any); + // Find the result object that contains the passed in key + let deployResults: IDeployResult[] = []; + const deployedArtifacts = find(resultObjects, 'serverGroupNames'); + if (deployedArtifacts) { + const deployedServerGroups = (deployedArtifacts['serverGroupNames'] || []).filter((a) => a.includes(':')); + deployResults = deployedServerGroups.map((serverGroupNameAndRegion: string) => { + const [region, serverGroupName] = serverGroupNameAndRegion.split(':'); + const result: IDeployResult = { + type: 'serverGroups', + application: context.application, + serverGroup: serverGroupName, + account: context.credentials, + region: region, + provider: 'aws', + project: ReactInjector.$stateParams.project, + }; + result.href = ReactInjector.urlBuilderService.buildFromMetadata(result); + return result; + }); + } + this.setState({ deployResults }); + } + + public componentDidMount(): void { + this.addDeployedArtifacts(this.props); + } + + public componentWillReceiveProps(nextProps: IExecutionDetailsSectionProps) { + if (nextProps.stage !== this.props.stage) { + this.addDeployedArtifacts(nextProps); + } + } + + public render() { + const { AccountTag } = NgReact; + const { deployResults } = this.state; + const { stage, current, name } = this.props; + const specifiedCapacity = !stage.context.useSourceCapacity && stage.context.capacity; + return ( + +
+
+
+
Account
+
+
Region
+
{stage.context.region}
+
Cluster
+
{stage.context.targetCluster}
+
Server Group
+
{stage.context.source.serverGroupName}
+ {specifiedCapacity &&
Capacity
} + {specifiedCapacity &&
Min: {stage.context.capacity.min} / Desired: {stage.context.capacity.desired} / Max: {stage.context.capacity.max}
} +
+
+
+ + + {deployResults.length > 0 && ( +
+
+
+ Deployed: + {(deployResults || []).map((result) => )} +
+
+
+ )} +
+ ) + } +} + +const DeployedServerGroup = (props: { result: IDeployResult }): JSX.Element => { + const deployClicked = (event: React.MouseEvent) => { + event.stopPropagation(); + ReactInjector.clusterFilterService.overrideFiltersForUrl(props.result); + } + return ( + + {props.result.serverGroup} + + ); +} diff --git a/app/scripts/modules/core/src/pipeline/config/stages/cloneServerGroup/cloneServerGroupStage.module.ts b/app/scripts/modules/core/src/pipeline/config/stages/cloneServerGroup/cloneServerGroupStage.module.ts index 2a78ace676d..728c107129a 100644 --- a/app/scripts/modules/core/src/pipeline/config/stages/cloneServerGroup/cloneServerGroupStage.module.ts +++ b/app/scripts/modules/core/src/pipeline/config/stages/cloneServerGroup/cloneServerGroupStage.module.ts @@ -2,6 +2,8 @@ import { module } from 'angular'; import { PIPELINE_CONFIG_PROVIDER, PipelineConfigProvider } from 'core/pipeline/config/pipelineConfigProvider'; import { STAGE_CORE_MODULE } from '../core/stage.core.module'; +import { CloneServerGroupExecutionDetails } from './CloneServerGroupExecutionDetails'; +import { ExecutionDetailsTasks } from '../core'; export const CLONE_SERVER_GROUP_STAGE = 'spinnaker.core.pipeline.stage.cloneServerGroup'; module(CLONE_SERVER_GROUP_STAGE, [ @@ -13,6 +15,7 @@ module(CLONE_SERVER_GROUP_STAGE, [ useBaseProvider: true, key: 'cloneServerGroup', label: 'Clone Server Group', + executionDetailsSections: [CloneServerGroupExecutionDetails, ExecutionDetailsTasks], description: 'Clones a server group', strategy: false, }); diff --git a/app/scripts/modules/core/src/pipeline/config/stages/scaleDownCluster/ScaleDownClusterExecutionDetails.tsx b/app/scripts/modules/core/src/pipeline/config/stages/scaleDownCluster/ScaleDownClusterExecutionDetails.tsx index 65bb8cbc65c..286e2ec8f80 100644 --- a/app/scripts/modules/core/src/pipeline/config/stages/scaleDownCluster/ScaleDownClusterExecutionDetails.tsx +++ b/app/scripts/modules/core/src/pipeline/config/stages/scaleDownCluster/ScaleDownClusterExecutionDetails.tsx @@ -23,7 +23,7 @@ export function ScaleDownClusterExecutionDetails(props: IExecutionDetailsSection
{stage.context.remainingFullSizeServerGroups}
Scale Active?
{String(!!stage.context.allowScaleDownActive)}
- +
diff --git a/app/scripts/modules/core/src/reactShims/react.injector.ts b/app/scripts/modules/core/src/reactShims/react.injector.ts index a0db60603eb..b2c5001d77b 100644 --- a/app/scripts/modules/core/src/reactShims/react.injector.ts +++ b/app/scripts/modules/core/src/reactShims/react.injector.ts @@ -43,6 +43,7 @@ import { StateEvents } from './state.events'; import { TaskExecutor } from '../task/taskExecutor'; import { TaskMonitorBuilder } from '../task/monitor/taskMonitor.builder'; import { TaskReader } from '../task/task.read.service'; +import { UrlBuilderService } from 'core/navigation/urlBuilder.service'; import { VariableInputService } from '../pipeline/config/templates/inputs/variableInput.service'; import { VariableValidatorService } from '../pipeline/config/templates/validators/variableValidator.service'; import { ViewStateCacheService } from '../cache/viewStateCache.service'; @@ -111,6 +112,7 @@ export class CoreReactInject extends ReactInject { public get taskExecutor() { return this.$injector.get('taskExecutor') as TaskExecutor; } public get taskReader() { return this.$injector.get('taskReader') as TaskReader; } public get taskMonitorBuilder() { return this.$injector.get('taskMonitorBuilder') as TaskMonitorBuilder; } + public get urlBuilderService() { return this.$injector.get('urlBuilderService') as UrlBuilderService; } public get variableInputService() { return this.$injector.get('variableInputService') as VariableInputService; } public get variableValidatorService() { return this.$injector.get('variableValidatorService') as VariableValidatorService; } public get viewStateCache() { return this.$injector.get('viewStateCache') as ViewStateCacheService; } diff --git a/app/scripts/modules/google/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js b/app/scripts/modules/google/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js deleted file mode 100644 index 95cbe12d474..00000000000 --- a/app/scripts/modules/google/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js +++ /dev/null @@ -1,62 +0,0 @@ -'use strict'; - -const angular = require('angular'); -import _ from 'lodash'; - -import { CLUSTER_FILTER_SERVICE, URL_BUILDER_SERVICE } from '@spinnaker/core'; - -module.exports = angular.module('spinnaker.gce.pipeline.stage.cloneServerGroup.executionDetails.controller', [ - require('@uirouter/angularjs').default, - CLUSTER_FILTER_SERVICE, - URL_BUILDER_SERVICE, -]) - .controller('gceCloneServerGroupExecutionDetailsCtrl', function ($scope, $stateParams, executionDetailsSectionService, urlBuilderService, clusterFilterService) { - - $scope.configSections = ['cloneServerGroupConfig', 'taskStatus']; - - let initialized = () => { - $scope.detailsSection = $stateParams.details; - - let context = $scope.stage.context || {}, - results = []; - - function addDeployedArtifacts(key) { - let deployedArtifacts = _.find(resultObjects, key); - if (deployedArtifacts) { - _.forEach(deployedArtifacts[key], (serverGroupNameAndRegion) => { - if (serverGroupNameAndRegion.includes(':')) { - let [region, serverGroupName] = serverGroupNameAndRegion.split(':'); - let result = { - type: 'serverGroups', - application: context.application, - serverGroup: serverGroupName, - account: context.credentials, - region: region, - provider: 'gce', - project: $stateParams.project, - }; - result.href = urlBuilderService.buildFromMetadata(result); - results.push(result); - } - }); - } - } - - if (context && context['kato.tasks'] && context['kato.tasks'].length) { - var resultObjects = context['kato.tasks'][0].resultObjects; - if (resultObjects && resultObjects.length) { - addDeployedArtifacts('serverGroupNames'); - } - } - $scope.deployed = results; - }; - - this.overrideFiltersForUrl = r => clusterFilterService.overrideFiltersForUrl(r); - - let initialize = () => executionDetailsSectionService.synchronizeSection($scope.configSections, initialized); - - initialize(); - - $scope.$on('$stateChangeSuccess', initialize); - - }); diff --git a/app/scripts/modules/google/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html b/app/scripts/modules/google/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html deleted file mode 100644 index b94bafe5877..00000000000 --- a/app/scripts/modules/google/src/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html +++ /dev/null @@ -1,41 +0,0 @@ -
- -
-
-
-
-
Account
-
-
Region
-
{{stage.context.region}}
-
Cluster
-
{{stage.context.targetCluster}}
-
Server Group
-
{{stage.context.source.serverGroupName}}
-
Capacity
-
Min: {{stage.context.capacity.min}} / Desired: {{stage.context.capacity.desired}} / Max: {{stage.context.capacity.max}}
-
-
-
- - -
- -
-
- -
-
- -
-
-
diff --git a/app/scripts/modules/google/src/pipeline/stages/cloneServerGroup/gceCloneServerGroupStage.js b/app/scripts/modules/google/src/pipeline/stages/cloneServerGroup/gceCloneServerGroupStage.js index dab71990363..73d83829db3 100644 --- a/app/scripts/modules/google/src/pipeline/stages/cloneServerGroup/gceCloneServerGroupStage.js +++ b/app/scripts/modules/google/src/pipeline/stages/cloneServerGroup/gceCloneServerGroupStage.js @@ -8,14 +8,12 @@ import { ACCOUNT_SERVICE, NAMING_SERVICE, StageConstants } from '@spinnaker/core module.exports = angular.module('spinnaker.gce.pipeline.stage..cloneServerGroupStage', [ ACCOUNT_SERVICE, NAMING_SERVICE, - require('./cloneServerGroupExecutionDetails.controller.js').name, ]) .config(function(pipelineConfigProvider) { pipelineConfigProvider.registerStage({ provides: 'cloneServerGroup', cloudProvider: 'gce', templateUrl: require('./cloneServerGroupStage.html'), - executionDetailsUrl: require('./cloneServerGroupExecutionDetails.html'), executionStepLabelUrl: require('./cloneServerGroupStepLabel.html'), validators: [ { type: 'requiredField', fieldName: 'targetCluster', fieldLabel: 'cluster' }, diff --git a/app/scripts/modules/openstack/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js b/app/scripts/modules/openstack/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js deleted file mode 100644 index 20325e82786..00000000000 --- a/app/scripts/modules/openstack/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.controller.js +++ /dev/null @@ -1,63 +0,0 @@ -'use strict'; - -const angular = require('angular'); -import _ from 'lodash'; - -import { CLUSTER_FILTER_SERVICE, URL_BUILDER_SERVICE } from '@spinnaker/core'; - -module.exports = angular.module('spinnaker.openstack.pipeline.stage.cloneServerGroup.executionDetails.controller', [ - require('@uirouter/angularjs').default, - CLUSTER_FILTER_SERVICE, - URL_BUILDER_SERVICE -]) - .controller('openstackCloneServerGroupExecutionDetailsCtrl', function ($scope, $stateParams, executionDetailsSectionService, - urlBuilderService, clusterFilterService) { - - $scope.configSections = ['cloneServerGroupConfig', 'taskStatus']; - - let initialized = () => { - $scope.detailsSection = $stateParams.details; - - let context = $scope.stage.context || {}, - results = []; - - function addDeployedArtifacts(key) { - let deployedArtifacts = _.find(resultObjects, key); - if (deployedArtifacts) { - _.forEach(deployedArtifacts[key], (serverGroupNameAndRegion) => { - if (serverGroupNameAndRegion.includes(':')) { - let [region, serverGroupName] = serverGroupNameAndRegion.split(':'); - let result = { - type: 'serverGroups', - application: context.application, - serverGroup: serverGroupName, - account: context.credentials, - region: region, - provider: 'openstack', - project: $stateParams.project, - }; - result.href = urlBuilderService.buildFromMetadata(result); - results.push(result); - } - }); - } - } - - if (context && context['kato.tasks'] && context['kato.tasks'].length) { - var resultObjects = context['kato.tasks'][0].resultObjects; - if (resultObjects && resultObjects.length) { - addDeployedArtifacts('serverGroupNames'); - } - } - $scope.deployed = results; - }; - - this.overrideFiltersForUrl = r => clusterFilterService.overrideFiltersForUrl(r); - - let initialize = () => executionDetailsSectionService.synchronizeSection($scope.configSections, initialized); - - initialize(); - - $scope.$on('$stateChangeSuccess', initialize); - - }); diff --git a/app/scripts/modules/openstack/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html b/app/scripts/modules/openstack/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html deleted file mode 100644 index 1952898035a..00000000000 --- a/app/scripts/modules/openstack/pipeline/stages/cloneServerGroup/cloneServerGroupExecutionDetails.html +++ /dev/null @@ -1,41 +0,0 @@ -
- -
-
-
-
-
Account
-
-
Region
-
{{stage.context.region}}
-
Cluster
-
{{stage.context.targetCluster}}
-
Server Group
-
{{stage.context.source.serverGroupName}}
-
Capacity
-
Min: {{stage.context.capacity.min}} / Desired: {{stage.context.capacity.desired}} / Max: {{stage.context.capacity.max}}
-
-
-
- - -
- -
-
- -
-
- -
-
-
diff --git a/app/scripts/modules/openstack/pipeline/stages/cloneServerGroup/openstackCloneServerGroupStage.js b/app/scripts/modules/openstack/pipeline/stages/cloneServerGroup/openstackCloneServerGroupStage.js index 8911fdf4b90..1fe75e691da 100644 --- a/app/scripts/modules/openstack/pipeline/stages/cloneServerGroup/openstackCloneServerGroupStage.js +++ b/app/scripts/modules/openstack/pipeline/stages/cloneServerGroup/openstackCloneServerGroupStage.js @@ -8,14 +8,12 @@ import { ACCOUNT_SERVICE, NAMING_SERVICE, StageConstants } from '@spinnaker/core module.exports = angular.module('spinnaker.openstack.pipeline.stage.cloneServerGroupStage', [ ACCOUNT_SERVICE, NAMING_SERVICE, - require('./cloneServerGroupExecutionDetails.controller.js').name, ]) .config(function(pipelineConfigProvider) { pipelineConfigProvider.registerStage({ provides: 'cloneServerGroup', cloudProvider: 'openstack', templateUrl: require('./cloneServerGroupStage.html'), - executionDetailsUrl: require('./cloneServerGroupExecutionDetails.html'), executionStepLabelUrl: require('./cloneServerGroupStepLabel.html'), validators: [ { type: 'requiredField', fieldName: 'targetCluster', fieldLabel: 'cluster' }, diff --git a/app/scripts/modules/openstack/pipeline/stages/disableAsg/openstackDisableAsgStage.js b/app/scripts/modules/openstack/pipeline/stages/disableAsg/openstackDisableAsgStage.js index d4368ee4e89..d1442bb1fd9 100644 --- a/app/scripts/modules/openstack/pipeline/stages/disableAsg/openstackDisableAsgStage.js +++ b/app/scripts/modules/openstack/pipeline/stages/disableAsg/openstackDisableAsgStage.js @@ -55,4 +55,3 @@ module.exports = angular.module('spinnaker.openstack.pipeline.stage.disableAsgSt } }); -