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
}
});
-