Browse code

bump(github.com/openshift/origin-web-console): 8fd9c66ca45a40d134a941448b1718d80b998f3a

OpenShift Bot authored on 2016/12/08 00:16:36
Showing 1 changed files
... ...
@@ -1254,11 +1254,11 @@ managing_secrets:"dev_guide/service_accounts.html#managing-allowed-secrets",
1254 1254
 creating_secrets:"dev_guide/secrets.html#creating-and-using-secrets",
1255 1255
 storage_classes:"install_config/persistent_storage/dynamically_provisioning_pvs.html",
1256 1256
 selector_label:"install_config/persistent_storage/selector_label_binding.html",
1257
-rolling_strategy:"dev_guide/deployments.html#rolling-strategy",
1258
-recreate_strategy:"dev_guide/deployments.html#recreate-strategy",
1259
-custom_strategy:"dev_guide/deployments.html#custom-strategy",
1260
-lifecycle_hooks:"dev_guide/deployments.html#lifecycle-hooks",
1261
-new_pod_exec:"dev_guide/deployments.html#pod-based-lifecycle-hook",
1257
+rolling_strategy:"dev_guide/deployments/deployment_strategies.html#rolling-strategy",
1258
+recreate_strategy:"dev_guide/deployments/deployment_strategies.html#recreate-strategy",
1259
+custom_strategy:"dev_guide/deployments/deployment_strategies.html#custom-strategy",
1260
+lifecycle_hooks:"dev_guide/deployments/deployment_strategies.html#lifecycle-hooks",
1261
+new_pod_exec:"dev_guide/deployments/deployment_strategies.html#pod-based-lifecycle-hook",
1262 1262
 authorization:"architecture/additional_concepts/authorization.html",
1263 1263
 roles:"architecture/additional_concepts/authorization.html#roles",
1264 1264
 service_accounts:"dev_guide/service_accounts.html",
... ...
@@ -7062,7 +7062,7 @@ a.hpaWarnings = b;
7062 7062
 });
7063 7063
 };
7064 7064
 f.get("deploymentconfigs", c.deploymentconfig, e).then(function(d) {
7065
-a.loaded = !0, a.deploymentConfig = d, u(), s(d), a.saveEnvVars = function() {
7065
+a.loaded = !0, a.deploymentConfig = d, a.strategyParams = b("deploymentStrategyParams")(d), u(), s(d), a.saveEnvVars = function() {
7066 7066
 _.each(a.updatedDeploymentConfig.spec.template.spec.containers, function(a) {
7067 7067
 a.env = q.compactEntries(angular.copy(a.env));
7068 7068
 }), f.update("deploymentconfigs", c.deploymentconfig, angular.copy(a.updatedDeploymentConfig), e).then(function() {
... ...
@@ -11784,7 +11784,7 @@ value:d
11784 11784
 });
11785 11785
 } ]
11786 11786
 };
11787
-}), angular.module("openshiftConsole").directive("lifecycleHook", function() {
11787
+}), angular.module("openshiftConsole").directive("editLifecycleHook", function() {
11788 11788
 return {
11789 11789
 restrict:"E",
11790 11790
 scope:{
... ...
@@ -11794,7 +11794,7 @@ availableVolumes:"=",
11794 11794
 availableContainers:"=",
11795 11795
 namespace:"="
11796 11796
 },
11797
-templateUrl:"views/directives/lifecycle-hook.html",
11797
+templateUrl:"views/directives/edit-lifecycle-hook.html",
11798 11798
 controller:[ "$scope", function(a) {
11799 11799
 a.view = {
11800 11800
 isDisabled:!1
... ...
@@ -11842,7 +11842,21 @@ _.has(a.istagHook, [ "tagObject", "tag" ]) && (_.set(a.hookParams, "tagImages[0]
11842 11842
 });
11843 11843
 } ]
11844 11844
 };
11845
-}), angular.module("openshiftConsole").directive("actionChip", function() {
11845
+}).directive("lifecycleHook", [ "$filter", function(a) {
11846
+return {
11847
+restrict:"E",
11848
+scope:{
11849
+deploymentConfig:"=",
11850
+type:"@"
11851
+},
11852
+templateUrl:"views/directives/lifecycle-hook.html",
11853
+link:function(b) {
11854
+b.$watch("deploymentConfig", function(c) {
11855
+b.strategyParams = a("deploymentStrategyParams")(c);
11856
+});
11857
+}
11858
+};
11859
+} ]), angular.module("openshiftConsole").directive("actionChip", function() {
11846 11860
 return {
11847 11861
 restrict:"E",
11848 11862
 scope:{
... ...
@@ -14896,6 +14910,23 @@ return !!a && _.indexOf([ "ABORTED", "FAILED", "SUCCESS" ], a.status) !== -1;
14896 14896
 return function(a) {
14897 14897
 return !!a && "PAUSED_PENDING_INPUT" === a.status;
14898 14898
 };
14899
+}).filter("deploymentStrategyParams", function() {
14900
+return function(a) {
14901
+var b = _.get(a, "spec.strategy.type");
14902
+switch (b) {
14903
+case "Recreate":
14904
+return _.get(a, "spec.strategy.recreateParams", {});
14905
+
14906
+case "Rolling":
14907
+return _.get(a, "spec.strategy.rollingParams", {});
14908
+
14909
+case "Custom":
14910
+return _.get(a, "spec.strategy.customParams", {});
14911
+
14912
+default:
14913
+return null;
14914
+}
14915
+};
14899 14916
 }).filter("humanizeKind", [ "startCaseFilter", function(a) {
14900 14917
 return function(a, b) {
14901 14918
 if (!a) return a;
... ...
@@ -18217,21 +18248,19 @@ var _scriptsTemplatesJs = []byte(`angular.module('openshiftConsoleTemplates', []
18217 18217
     "<replicas spec=\"deploymentConfig.spec.replicas\" disable-scaling=\"autoscalers.length || deploymentInProgress\" scale-fn=\"scale(replicas)\" deployment=\"deploymentConfig\"></replicas>\n" +
18218 18218
     "<span ng-if=\"autoscalers.length\">(autoscaled)</span>\n" +
18219 18219
     "</dd>\n" +
18220
-    "<div ng-if=\"deploymentConfig.spec.strategy.type\">\n" +
18221
-    "<dt>Strategy:</dt>\n" +
18222
-    "<dd>{{deploymentConfig.spec.strategy.type}}</dd>\n" +
18223
-    "</div>\n" +
18224
-    "<div ng-if=\"deploymentConfig.spec.strategy.rollingParams\">\n" +
18225
-    "<dt>Update Period:</dt>\n" +
18226
-    "<dd>{{deploymentConfig.spec.strategy.rollingParams.updatePeriodSeconds}} sec</dd>\n" +
18227
-    "<dt>Interval:</dt>\n" +
18228
-    "<dd>{{deploymentConfig.spec.strategy.rollingParams.intervalSeconds}} sec</dd>\n" +
18220
+    "<dt ng-if-start=\"deploymentConfig.spec.strategy.type\">Strategy:</dt>\n" +
18221
+    "<dd ng-if-end>{{deploymentConfig.spec.strategy.type}}</dd>\n" +
18222
+    "<div ng-if=\"deploymentConfig.spec.strategy.rollingParams || deploymentConfig.spec.strategy.recreateParams\">\n" +
18229 18223
     "<dt>Timeout:</dt>\n" +
18230
-    "<dd>{{deploymentConfig.spec.strategy.rollingParams.timeoutSeconds}} sec</dd>\n" +
18224
+    "<dd>{{strategyParams.timeoutSeconds}} sec</dd>\n" +
18225
+    "<dt ng-if-start=\"deploymentConfig.spec.strategy.rollingParams\">Update Period:</dt>\n" +
18226
+    "<dd>{{strategyParams.updatePeriodSeconds}} sec</dd>\n" +
18227
+    "<dt>Interval:</dt>\n" +
18228
+    "<dd>{{strategyParams.intervalSeconds}} sec</dd>\n" +
18231 18229
     "<dt>Max Unavailable:</dt>\n" +
18232
-    "<dd>{{deploymentConfig.spec.strategy.rollingParams.maxUnavailable}}</dd>\n" +
18230
+    "<dd>{{strategyParams.maxUnavailable}}</dd>\n" +
18233 18231
     "<dt>Max Surge:</dt>\n" +
18234
-    "<dd>{{deploymentConfig.spec.strategy.rollingParams.maxSurge}}</dd>\n" +
18232
+    "<dd ng-if-end>{{strategyParams.maxSurge}}</dd>\n" +
18235 18233
     "</div>\n" +
18236 18234
     "\n" +
18237 18235
     "</dl>\n" +
... ...
@@ -18272,6 +18301,26 @@ var _scriptsTemplatesJs = []byte(`angular.module('openshiftConsoleTemplates', []
18272 18272
     "<hpa hpa=\"hpa\" project=\"project\" show-scale-target=\"false\" alerts=\"alerts\"></hpa>\n" +
18273 18273
     "</div>\n" +
18274 18274
     "</div>\n" +
18275
+    "<div class=\"col-lg-6\" ng-if=\"deploymentConfig.spec.strategy.type !== 'Custom'\">\n" +
18276
+    "<h3>\n" +
18277
+    "Hooks\n" +
18278
+    "<span class=\"learn-more-inline\">\n" +
18279
+    "<a ng-href=\"{{'lifecycle_hooks' | helpLink}}\" target=\"_blank\">Learn More&nbsp;<i class=\"fa fa-external-link\" aria-hidden=\"true\"></i></a>\n" +
18280
+    "</span>\n" +
18281
+    "</h3>\n" +
18282
+    "<div ng-if=\"strategyParams.pre\">\n" +
18283
+    "<lifecycle-hook deployment-config=\"deploymentConfig\" type=\"pre\"></lifecycle-hook>\n" +
18284
+    "</div>\n" +
18285
+    "<div ng-if=\"strategyParams.mid\">\n" +
18286
+    "<lifecycle-hook deployment-config=\"deploymentConfig\" type=\"mid\"></lifecycle-hook>\n" +
18287
+    "</div>\n" +
18288
+    "<div ng-if=\"strategyParams.post\">\n" +
18289
+    "<lifecycle-hook deployment-config=\"deploymentConfig\" type=\"post\"></lifecycle-hook>\n" +
18290
+    "</div>\n" +
18291
+    "<div ng-if=\"!strategyParams.pre && !strategyParams.mid && !strategyParams.post\">\n" +
18292
+    "none\n" +
18293
+    "</div>\n" +
18294
+    "</div>\n" +
18275 18295
     "<div class=\"col-lg-6\">\n" +
18276 18296
     "<h3>Triggers</h3>\n" +
18277 18297
     "<dl class=\"dl-horizontal left\">\n" +
... ...
@@ -21308,7 +21357,7 @@ var _scriptsTemplatesJs = []byte(`angular.module('openshiftConsoleTemplates', []
21308 21308
     "GET {{probe.httpGet.path || '/'}} on port {{probe.httpGet.port || 'unknown'}}\n" +
21309 21309
     "</span>\n" +
21310 21310
     "<span ng-if=\"probe.exec.command\">\n" +
21311
-    "<code class=\"probe-command\">\n" +
21311
+    "<code class=\"command\">\n" +
21312 21312
     "<span ng-repeat=\"arg in probe.exec.command\">\n" +
21313 21313
     "<truncate-long-text content=\"arg\" limit=\"80\" newline-limit=\"1\" expandable=\"false\" use-word-boundary=\"false\">\n" +
21314 21314
     "</truncate-long-text>\n" +
... ...
@@ -22019,6 +22068,120 @@ var _scriptsTemplatesJs = []byte(`angular.module('openshiftConsoleTemplates', []
22019 22019
   );
22020 22020
 
22021 22021
 
22022
+  $templateCache.put('views/directives/edit-lifecycle-hook.html',
22023
+    "<ng-form name=\"editForm\">\n" +
22024
+    "<div ng-switch=\"type\">\n" +
22025
+    "<div class=\"help-block\" ng-switch-when=\"pre\">Pre hooks execute before the deployment begins.</div>\n" +
22026
+    "<div class=\"help-block\" ng-switch-when=\"mid\">Mid hooks execute after the previous deployment is scaled down to zero and before the first pod of the new deployment is created.</div>\n" +
22027
+    "<div class=\"help-block\" ng-switch-when=\"post\">Post hooks execute after the deployment strategy completes.</div>\n" +
22028
+    "</div>\n" +
22029
+    "<div class=\"gutter-top\" ng-if=\"hookParams\">\n" +
22030
+    "<fieldset ng-disabled=\"view.isDisabled\">\n" +
22031
+    "<div class=\"form-group\">\n" +
22032
+    "<label for=\"actionType\" class=\"required\">Lifecycle Action</label><br/>\n" +
22033
+    "<div class=\"radio\">\n" +
22034
+    "<label class=\"radio-inline\">\n" +
22035
+    "<input type=\"radio\" name=\"{{type}}-action-newpod\" ng-model=\"action.type\" value=\"execNewPod\" aria-describedby=\"action-help\">\n" +
22036
+    "Run a specific command in a new pod\n" +
22037
+    "</label>\n" +
22038
+    "<label class=\"radio-inline\">\n" +
22039
+    "<input type=\"radio\" name=\"{{type}}-action-images\" ng-model=\"action.type\" value=\"tagImages\" aria-describedby=\"action-help\">\n" +
22040
+    "Tag image if the deployment succeeds\n" +
22041
+    "</label>\n" +
22042
+    "</div>\n" +
22043
+    "<div id=\"action-help\" class=\"help-block\">\n" +
22044
+    "<span ng-if=\"action.type === 'execNewPod'\">Runs a command in a new pod using the container from the deployment template. You can add additional environment variables and volumes.</span>\n" +
22045
+    "<span ng-if=\"action.type === 'tagImages'\">Tags the current image as an image stream tag if the deployment succeeds.</span>\n" +
22046
+    "<a href=\"{{'new_pod_exec' | helpLink}}\" aria-hidden=\"true\" target=\"_blank\"><span class=\"learn-more-inline\">Learn More&nbsp;<i class=\"fa fa-external-link\"></i></span></a>\n" +
22047
+    "</div>\n" +
22048
+    "</div>\n" +
22049
+    "<div ng-if=\"action.type === 'execNewPod'\">\n" +
22050
+    "<div class=\"form-group\">\n" +
22051
+    "<label class=\"required\">Container Name</label>\n" +
22052
+    "<ui-select ng-model=\"hookParams.execNewPod.containerName\" required>\n" +
22053
+    "<ui-select-match>{{$select.selected}}</ui-select-match>\n" +
22054
+    "<ui-select-choices repeat=\"container in (availableContainers | filter : $select.search)\" ng-disabled=\"view.isDisabled\">\n" +
22055
+    "<div ng-bind-html=\"container | highlight : $select.search\"></div>\n" +
22056
+    "</ui-select-choices>\n" +
22057
+    "</ui-select>\n" +
22058
+    "</div>\n" +
22059
+    "<div class=\"form-group\">\n" +
22060
+    "<label class=\"required\">Command</label>\n" +
22061
+    "<edit-command args=\"hookParams.execNewPod.command\" is-required=\"true\"></edit-command>\n" +
22062
+    "</div>\n" +
22063
+    "<div class=\"form-group\">\n" +
22064
+    "<label>Environment Variables</label>\n" +
22065
+    "<key-value-editor entries=\"hookParams.execNewPod.env\" key-validator=\"[a-zA-Z_][a-zA-Z0-9_]*\" key-validator-error-tooltip=\"A valid environment variable name is an alphanumeric (a-z and 0-9) string beginning with a letter that may contain underscores.\" add-row-link=\"Add environment variable\"></key-value-editor>\n" +
22066
+    "<div class=\"help-block\">\n" +
22067
+    "Environment variables to supply to the hook pod's container.\n" +
22068
+    "</div>\n" +
22069
+    "</div>\n" +
22070
+    "<div class=\"form-group\">\n" +
22071
+    "<label>Volumes</label>\n" +
22072
+    "<ui-select multiple=\"multiple\" placeholder=\"Select volume\" ng-model=\"hookParams.execNewPod.volumes\" ng-disabled=\"view.isDisabled\">\n" +
22073
+    "<ui-select-match>{{$item}}</ui-select-match>\n" +
22074
+    "<ui-select-choices repeat=\"volume in availableVolumes | filter : $select.search\">\n" +
22075
+    "<div ng-bind-html=\"volume | highlight : $select.search\"></div>\n" +
22076
+    "</ui-select-choices>\n" +
22077
+    "</ui-select>\n" +
22078
+    "<div class=\"help-block\">\n" +
22079
+    "List of named volumes to copy to the hook pod.\n" +
22080
+    "</div>\n" +
22081
+    "</div>\n" +
22082
+    "</div>\n" +
22083
+    "<div ng-if=\"action.type === 'tagImages'\">\n" +
22084
+    "<div ng-repeat=\"tagImage in hookParams.tagImages\">\n" +
22085
+    "<div ng-if=\"hookParams.tagImages.length === 1\">\n" +
22086
+    "<div class=\"form-group\">\n" +
22087
+    "<label class=\"required\">Container Name</label>\n" +
22088
+    "<ui-select ng-model=\"tagImage.containerName\" ng-disabled=\"view.isDisabled\" required>\n" +
22089
+    "<ui-select-match>{{$select.selected}}</ui-select-match>\n" +
22090
+    "<ui-select-choices repeat=\"container in (availableContainers | filter : $select.search)\">\n" +
22091
+    "<div ng-bind-html=\"container | highlight : $select.search\"></div>\n" +
22092
+    "</ui-select-choices>\n" +
22093
+    "</ui-select>\n" +
22094
+    "<div class=\"help-block\">\n" +
22095
+    "Use the image for this container as the source of the tag.\n" +
22096
+    "</div>\n" +
22097
+    "</div>\n" +
22098
+    "<div class=\"form-group\">\n" +
22099
+    "<label class=\"required\">Tag As</label>\n" +
22100
+    "<istag-select model=\"istagHook\" allow-custom-tag=\"true\" select-disabled=\"view.isDisabled\"></istag-select>\n" +
22101
+    "</div>\n" +
22102
+    "</div>\n" +
22103
+    "<div class=\"read-only-tag-image\" ng-if=\"hookParams.tagImages.length > 1\">\n" +
22104
+    "<p class=\"read-only-info\" ng-if=\"$first\">\n" +
22105
+    "<span class=\"pficon pficon-info\" aria-hidden=\"true\"></span>\n" +
22106
+    "More than one image tag is defined. To change image tags, use the YAML editor.\n" +
22107
+    "</p>\n" +
22108
+    "{{tagImage.containerName}}&nbsp;&rarr;&nbsp;{{tagImage.to.namespace || namespace}}/{{tagImage.to.name}}\n" +
22109
+    "</div>\n" +
22110
+    "</div>\n" +
22111
+    "</div>\n" +
22112
+    "<div class=\"form-group failure-policy\">\n" +
22113
+    "<label class=\"required picker-label\">Failure Policy</label>\n" +
22114
+    "<ui-select ng-model=\"hookParams.failurePolicy\" search-enabled=\"false\" ng-disabled=\"view.isDisabled\">\n" +
22115
+    "<ui-select-match>{{$select.selected}}</ui-select-match>\n" +
22116
+    "<ui-select-choices repeat=\"failurePolicyTypes in lifecycleHookFailurePolicyTypes\">\n" +
22117
+    "{{failurePolicyTypes}}\n" +
22118
+    "</ui-select-choices>\n" +
22119
+    "</ui-select>\n" +
22120
+    "<div ng-switch=\"hookParams.failurePolicy\">\n" +
22121
+    "<div class=\"help-block\" ng-switch-when=\"Retry\">Retry the hook until it succeeds.</div>\n" +
22122
+    "<div class=\"help-block\" ng-switch-when=\"Abort\">Fail the deployment if the hook fails.</div>\n" +
22123
+    "<div class=\"help-block\" ng-switch-when=\"Ignore\">Ignore hook failures and continue the deployment.</div>\n" +
22124
+    "</div>\n" +
22125
+    "</div>\n" +
22126
+    "</fieldset>\n" +
22127
+    "</div>\n" +
22128
+    "<span>\n" +
22129
+    "<a href=\"\" role=\"button\" ng-if=\"!hookParams\" ng-click=\"addHook()\">Add {{type}} lifecycle hook</a>\n" +
22130
+    "<a href=\"\" role=\"button\" ng-if=\"hookParams\" ng-click=\"removeHook()\">Remove {{type}} lifecycle hook</a>\n" +
22131
+    "</span>\n" +
22132
+    "</ng-form>"
22133
+  );
22134
+
22135
+
22022 22136
   $templateCache.put('views/directives/edit-webhook-triggers.html',
22023 22137
     "<h5>{{type}} webhooks\n" +
22024 22138
     "<span class=\"help action-inline\">\n" +
... ...
@@ -22512,116 +22675,62 @@ var _scriptsTemplatesJs = []byte(`angular.module('openshiftConsoleTemplates', []
22512 22512
 
22513 22513
 
22514 22514
   $templateCache.put('views/directives/lifecycle-hook.html',
22515
-    "<ng-form name=\"editForm\">\n" +
22516
-    "<div ng-switch=\"type\">\n" +
22517
-    "<div class=\"help-block\" ng-switch-when=\"pre\">Pre hooks execute before the deployment begins.</div>\n" +
22518
-    "<div class=\"help-block\" ng-switch-when=\"mid\">Mid hooks execute after the previous deployment is scaled down to zero and before the first pod of the new deployment is created.</div>\n" +
22519
-    "<div class=\"help-block\" ng-switch-when=\"post\">Post hooks execute after the deployment strategy completes.</div>\n" +
22520
-    "</div>\n" +
22521
-    "<div class=\"gutter-top\" ng-if=\"hookParams\">\n" +
22522
-    "<fieldset ng-disabled=\"view.isDisabled\">\n" +
22523
-    "<div class=\"form-group\">\n" +
22524
-    "<label for=\"actionType\" class=\"required\">Lifecycle Action</label><br/>\n" +
22525
-    "<div class=\"radio\">\n" +
22526
-    "<label class=\"radio-inline\">\n" +
22527
-    "<input type=\"radio\" name=\"{{type}}-action-newpod\" ng-model=\"action.type\" value=\"execNewPod\" aria-describedby=\"action-help\">\n" +
22528
-    "Run a specific command in a new pod\n" +
22529
-    "</label>\n" +
22530
-    "<label class=\"radio-inline\">\n" +
22531
-    "<input type=\"radio\" name=\"{{type}}-action-images\" ng-model=\"action.type\" value=\"tagImages\" aria-describedby=\"action-help\">\n" +
22532
-    "Tag image if the deployment succeeds\n" +
22533
-    "</label>\n" +
22534
-    "</div>\n" +
22535
-    "<div id=\"action-help\" class=\"help-block\">\n" +
22536
-    "<span ng-if=\"action.type === 'execNewPod'\">Runs a command in a new pod using the container from the deployment template. You can add additional environment variables and volumes.</span>\n" +
22537
-    "<span ng-if=\"action.type === 'tagImages'\">Tags the current image as an image stream tag if the deployment succeeds.</span>\n" +
22538
-    "<a href=\"{{'new_pod_exec' | helpLink}}\" aria-hidden=\"true\" target=\"_blank\"><span class=\"learn-more-inline\">Learn More&nbsp;<i class=\"fa fa-external-link\" aria-hidden=\"true\"></i></span></a>\n" +
22539
-    "</div>\n" +
22540
-    "</div>\n" +
22541
-    "<div ng-if=\"action.type === 'execNewPod'\">\n" +
22542
-    "<div class=\"form-group\">\n" +
22543
-    "<label class=\"required\">Container Name</label>\n" +
22544
-    "<ui-select ng-model=\"hookParams.execNewPod.containerName\" required>\n" +
22545
-    "<ui-select-match>{{$select.selected}}</ui-select-match>\n" +
22546
-    "<ui-select-choices repeat=\"container in (availableContainers | filter : $select.search)\" ng-disabled=\"view.isDisabled\">\n" +
22547
-    "<div ng-bind-html=\"container | highlight : $select.search\"></div>\n" +
22548
-    "</ui-select-choices>\n" +
22549
-    "</ui-select>\n" +
22550
-    "</div>\n" +
22551
-    "<div class=\"form-group\">\n" +
22552
-    "<label class=\"required\">Command</label>\n" +
22553
-    "<edit-command args=\"hookParams.execNewPod.command\" is-required=\"true\"></edit-command>\n" +
22554
-    "</div>\n" +
22555
-    "<div class=\"form-group\">\n" +
22556
-    "<label>Environment Variables</label>\n" +
22557
-    "<key-value-editor entries=\"hookParams.execNewPod.env\" key-validator=\"[a-zA-Z_][a-zA-Z0-9_]*\" key-validator-error-tooltip=\"A valid environment variable name is an alphanumeric (a-z and 0-9) string beginning with a letter that may contain underscores.\" add-row-link=\"Add Environment Variable\"></key-value-editor>\n" +
22558
-    "<div class=\"help-block\">\n" +
22559
-    "Environment variables to supply to the hook pod's container.\n" +
22560
-    "</div>\n" +
22561
-    "</div>\n" +
22562
-    "<div class=\"form-group\">\n" +
22563
-    "<label>Volumes</label>\n" +
22564
-    "<ui-select multiple=\"multiple\" placeholder=\"Select volume\" ng-model=\"hookParams.execNewPod.volumes\" ng-disabled=\"view.isDisabled\">\n" +
22565
-    "<ui-select-match>{{$item}}</ui-select-match>\n" +
22566
-    "<ui-select-choices repeat=\"volume in availableVolumes | filter : $select.search\">\n" +
22567
-    "<div ng-bind-html=\"volume | highlight : $select.search\"></div>\n" +
22568
-    "</ui-select-choices>\n" +
22569
-    "</ui-select>\n" +
22570
-    "<div class=\"help-block\">\n" +
22571
-    "List of named volumes to copy to the hook pod.\n" +
22572
-    "</div>\n" +
22573
-    "</div>\n" +
22574
-    "</div>\n" +
22575
-    "<div ng-if=\"action.type === 'tagImages'\">\n" +
22576
-    "<div ng-repeat=\"tagImage in hookParams.tagImages\">\n" +
22577
-    "<div ng-if=\"hookParams.tagImages.length === 1\">\n" +
22578
-    "<div class=\"form-group\">\n" +
22579
-    "<label class=\"required\">Container Name</label>\n" +
22580
-    "<ui-select ng-model=\"tagImage.containerName\" ng-disabled=\"view.isDisabled\" required>\n" +
22581
-    "<ui-select-match>{{$select.selected}}</ui-select-match>\n" +
22582
-    "<ui-select-choices repeat=\"container in (availableContainers | filter : $select.search)\">\n" +
22583
-    "<div ng-bind-html=\"container | highlight : $select.search\"></div>\n" +
22584
-    "</ui-select-choices>\n" +
22585
-    "</ui-select>\n" +
22586
-    "<div class=\"help-block\">\n" +
22587
-    "Use the image for this container as the source of the tag.\n" +
22588
-    "</div>\n" +
22589
-    "</div>\n" +
22590
-    "<div class=\"form-group\">\n" +
22591
-    "<label class=\"required\">Tag As</label>\n" +
22592
-    "<istag-select model=\"istagHook\" allow-custom-tag=\"true\" select-disabled=\"view.isDisabled\"></istag-select>\n" +
22593
-    "</div>\n" +
22594
-    "</div>\n" +
22595
-    "<div class=\"read-only-tag-image\" ng-if=\"hookParams.tagImages.length > 1\">\n" +
22596
-    "<p class=\"read-only-info\" ng-if=\"$first\">\n" +
22597
-    "<span class=\"pficon pficon-info\" aria-hidden=\"true\"></span>\n" +
22598
-    "More than one image tag is defined. To change image tags, use the YAML editor.\n" +
22599
-    "</p>\n" +
22600
-    "{{tagImage.containerName}}&nbsp;&rarr;&nbsp;{{tagImage.to.namespace || namespace}}/{{tagImage.to.name}}\n" +
22601
-    "</div>\n" +
22515
+    "<h4>\n" +
22516
+    "{{type | upperFirst}} Hook\n" +
22517
+    "<span ng-switch=\"type\">\n" +
22518
+    "<small ng-switch-when=\"pre\">&ndash; runs before the deployment begins</small>\n" +
22519
+    "<small ng-switch-when=\"mid\">&ndash; runs after the previous deployment is scaled down to zero and before the first pod of the new deployment is created</small>\n" +
22520
+    "<small ng-switch-when=\"post\">&ndash; runs after the deployment strategy completes</small>\n" +
22521
+    "</span>\n" +
22522
+    "</h4>\n" +
22523
+    "<dl class=\"dl-horizontal left\">\n" +
22524
+    "<dt>Action:</dt>\n" +
22525
+    "<dd>{{strategyParams[type].execNewPod ? \"Run a command\" : \"Tag the image\"}}</dd>\n" +
22526
+    "<dt>Failure Policy:</dt>\n" +
22527
+    "<dd>{{strategyParams[type].failurePolicy}}\n" +
22528
+    "<span class=\"help action-inline\">\n" +
22529
+    "<a href ng-switch=\"strategyParams[type].failurePolicy\">\n" +
22530
+    "<i ng-switch-when=\"Ignore\" class=\"pficon pficon-help\" data-toggle=\"tooltip\" aria-hidden=\"true\" data-original-title=\"Continue with deployment on failure\"></i>\n" +
22531
+    "<i ng-switch-when=\"Abort\" class=\"pficon pficon-help\" data-toggle=\"tooltip\" aria-hidden=\"true\" data-original-title=\"Abort deployment on failure\"></i>\n" +
22532
+    "<i ng-switch-when=\"Retry\" class=\"pficon pficon-help\" data-toggle=\"tooltip\" aria-hidden=\"true\" data-original-title=\"Retry the hook until it succeeds\"></i>\n" +
22533
+    "</a>\n" +
22534
+    "</span>\n" +
22535
+    "</dd>\n" +
22536
+    "<div ng-if=\"strategyParams[type].execNewPod\">\n" +
22537
+    "<h5 class=\"container-name\">Container {{strategyParams[type].execNewPod.containerName}}</h5>\n" +
22538
+    "<dl class=\"dl-horizontal left\">\n" +
22539
+    "<dt>Command:</dt>\n" +
22540
+    "<dd>\n" +
22541
+    "<code class=\"command\">\n" +
22542
+    "<span ng-repeat=\"arg in strategyParams[type].execNewPod.command\">\n" +
22543
+    "<truncate-long-text content=\"arg\" limit=\"80\" newline-limit=\"1\" expandable=\"false\" use-word-boundary=\"false\"></truncate-long-text>\n" +
22544
+    "</span>\n" +
22545
+    "</code>\n" +
22546
+    "</dd>\n" +
22547
+    "<dt ng-if-start=\"strategyParams[type].execNewPod.env\">Environment Variables:</dt>\n" +
22548
+    "<dd ng-if-end>\n" +
22549
+    "<div ng-repeat=\"env in strategyParams[type].execNewPod.env\">\n" +
22550
+    "<div class=\"truncate\" ng-attr-title=\"{{env.value}}\">{{env.name}}={{env.value}}</div>\n" +
22602 22551
     "</div>\n" +
22552
+    "</dd>\n" +
22553
+    "<dt ng-if-start=\"strategyParams[type].execNewPod.volumes\">Volumes:</dt>\n" +
22554
+    "<dd ng-if-end>\n" +
22555
+    "<div ng-repeat=\"volume in strategyParams[type].execNewPod.volumes\">\n" +
22556
+    "{{volume}}\n" +
22603 22557
     "</div>\n" +
22604
-    "<div class=\"form-group failure-policy\">\n" +
22605
-    "<label class=\"required picker-label\">Failure Policy</label>\n" +
22606
-    "<ui-select ng-model=\"hookParams.failurePolicy\" search-enabled=\"false\" ng-disabled=\"view.isDisabled\">\n" +
22607
-    "<ui-select-match>{{$select.selected}}</ui-select-match>\n" +
22608
-    "<ui-select-choices repeat=\"failurePolicyTypes in lifecycleHookFailurePolicyTypes\">\n" +
22609
-    "{{failurePolicyTypes}}\n" +
22610
-    "</ui-select-choices>\n" +
22611
-    "</ui-select>\n" +
22612
-    "<div ng-switch=\"hookParams.failurePolicy\">\n" +
22613
-    "<div class=\"help-block\" ng-switch-when=\"Retry\">Retry the hook until it succeeds.</div>\n" +
22614
-    "<div class=\"help-block\" ng-switch-when=\"Abort\">Fail the deployment if the hook fails.</div>\n" +
22615
-    "<div class=\"help-block\" ng-switch-when=\"Ignore\">Ignore hook failures and continue the deployment.</div>\n" +
22558
+    "</dd>\n" +
22559
+    "</dl>\n" +
22616 22560
     "</div>\n" +
22561
+    "<div ng-if=\"strategyParams[type].tagImages\">\n" +
22562
+    "<div ng-repeat=\"tagImage in strategyParams[type].tagImages\">\n" +
22563
+    "<h5 class=\"container-name\">Container {{tagImage.containerName}}</h5>\n" +
22564
+    "<dl class=\"dl-horizontal left\">\n" +
22565
+    "<div>Tag image as <a ng-if=\"!tagImage.to.namespace || tagImage.to.namespace === deploymentConfig.metadata.namespace\" ng-href=\"{{tagImage.to.name | navigateResourceURL : 'ImageStreamTag' : deploymentConfig.metadata.namespace}}\">{{tagImage.to | imageObjectRef : deploymentConfig.metadata.namespace}}</a>\n" +
22566
+    "<span ng-if=\"tagImage.to.namespace && tagImage.to.namespace !== deploymentConfig.metadata.namespace\">{{tagImage.to | imageObjectRef : deploymentConfig.metadata.namespace}}</span></div>\n" +
22567
+    "</dl>\n" +
22617 22568
     "</div>\n" +
22618
-    "</fieldset>\n" +
22619 22569
     "</div>\n" +
22620
-    "<span>\n" +
22621
-    "<a href=\"\" role=\"button\" ng-if=\"!hookParams\" ng-click=\"addHook()\">Add {{type}} lifecycle hook</a>\n" +
22622
-    "<a href=\"\" role=\"button\" ng-if=\"hookParams\" ng-click=\"removeHook()\">Remove {{type}} lifecycle hook</a>\n" +
22623
-    "</span>\n" +
22624
-    "</ng-form>"
22570
+    "</dl>"
22625 22571
   );
22626 22572
 
22627 22573
 
... ...
@@ -24439,18 +24548,18 @@ var _scriptsTemplatesJs = []byte(`angular.module('openshiftConsoleTemplates', []
24439 24439
     "<div class=\"lifecycle-hooks\">\n" +
24440 24440
     "<div class=\"lifecycle-hook\" id=\"pre-lifecycle-hook\">\n" +
24441 24441
     "<h3>Pre Lifecycle Hook</h3>\n" +
24442
-    "<lifecycle-hook model=\"strategyData[strategyParamsPropertyName].pre\" type=\"pre\" available-volumes=\"volumeNames\" available-containers=\"containerNames\" namespace=\"projectName\">\n" +
24443
-    "</lifecycle-hook>\n" +
24442
+    "<edit-lifecycle-hook model=\"strategyData[strategyParamsPropertyName].pre\" type=\"pre\" available-volumes=\"volumeNames\" available-containers=\"containerNames\" namespace=\"projectName\">\n" +
24443
+    "</edit-lifecycle-hook>\n" +
24444 24444
     "</div>\n" +
24445 24445
     "<div ng-if=\"strategyData.type !== 'Rolling'\" class=\"lifecycle-hook\" id=\"mid-lifecycle-hook\">\n" +
24446 24446
     "<h3>Mid Lifecycle Hook</h3>\n" +
24447
-    "<lifecycle-hook model=\"strategyData[strategyParamsPropertyName].mid\" type=\"mid\" available-volumes=\"volumeNames\" available-containers=\"containerNames\" namespace=\"projectName\">\n" +
24448
-    "</lifecycle-hook>\n" +
24447
+    "<edit-lifecycle-hook model=\"strategyData[strategyParamsPropertyName].mid\" type=\"mid\" available-volumes=\"volumeNames\" available-containers=\"containerNames\" namespace=\"projectName\">\n" +
24448
+    "</edit-lifecycle-hook>\n" +
24449 24449
     "</div>\n" +
24450 24450
     "<div class=\"lifecycle-hook\" id=\"post-lifecycle-hook\">\n" +
24451 24451
     "<h3>Post Lifecycle Hook</h3>\n" +
24452
-    "<lifecycle-hook model=\"strategyData[strategyParamsPropertyName].post\" type=\"post\" available-volumes=\"volumeNames\" available-containers=\"containerNames\" namespace=\"projectName\">\n" +
24453
-    "</lifecycle-hook>\n" +
24452
+    "<edit-lifecycle-hook model=\"strategyData[strategyParamsPropertyName].post\" type=\"post\" available-volumes=\"volumeNames\" available-containers=\"containerNames\" namespace=\"projectName\">\n" +
24453
+    "</edit-lifecycle-hook>\n" +
24454 24454
     "</div>\n" +
24455 24455
     "</div>\n" +
24456 24456
     "</div>\n" +
... ...
@@ -112261,7 +112370,7 @@ to{opacity:0}
112261 112261
 .pod-template-block .pod-template .pod-template-build{word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;min-width:0}
112262 112262
 .pod-template-block .pod-template .pod-template-key{font-weight:700}
112263 112263
 .breadcrumb strong,.components .pod-template-block .pod-template .pod-template-key,.overview .pod-template-block .pod-template .pod-template-key{font-weight:600}
112264
-code.probe-command{display:inline-block;line-height:1.3;margin-right:2px}
112264
+code.command{display:inline-block;line-height:1.3;margin-right:2px}
112265 112265
 .hash{font-size:12px}
112266 112266
 .pod-template-column{min-width:0}
112267 112267
 .pod-template-container{margin:0 0 20px}