From 59edbebf398f53e60a4555b560e533f389efcbe8 Mon Sep 17 00:00:00 2001 From: Samuel Padgett Date: Mon, 6 Nov 2017 08:30:46 -0500 Subject: [PATCH] Fix problems with env valueFrom for DC hooks * Avoid adding an `undefined` element to value from array depending on the order that config maps and secrets load * Fix typo passing config maps to edit-lifecycle hooks * Show valueFrom values for hooks when viewing the deployment config Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1509842 Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1509819 --- .../controllers/edit/deploymentConfig.js | 2 +- app/scripts/directives/lifecycleHook.js | 4 +- app/views/directives/lifecycle-hook.html | 33 +++++++++++++- app/views/edit/deployment-config.html | 45 ++++++++++--------- dist/scripts/scripts.js | 5 ++- dist/scripts/templates.js | 31 +++++++++++-- 6 files changed, 89 insertions(+), 31 deletions(-) diff --git a/app/scripts/controllers/edit/deploymentConfig.js b/app/scripts/controllers/edit/deploymentConfig.js index f64baf556f..3e10d8c2bf 100644 --- a/app/scripts/controllers/edit/deploymentConfig.js +++ b/app/scripts/controllers/edit/deploymentConfig.js @@ -165,7 +165,7 @@ angular.module('openshiftConsole') DataService.list("secrets", context, null, { errorNotification: false }).then(function(secretData) { secretDataOrdered = orderByDisplayName(secretData.by("metadata.name")); $scope.availableSecrets = secretDataOrdered; - $scope.valueFromObjects = secretDataOrdered.concat(configMapDataOrdered); + $scope.valueFromObjects = configMapDataOrdered.concat(secretDataOrdered); var secretsByType = SecretsService.groupSecretsByType(secretData); var secretNamesByType =_.mapValues(secretsByType, function(secretData) {return _.map(secretData, 'metadata.name');}); // Add empty option to the image/source secrets diff --git a/app/scripts/directives/lifecycleHook.js b/app/scripts/directives/lifecycleHook.js index 6a0bb1064d..37e3d20b0e 100644 --- a/app/scripts/directives/lifecycleHook.js +++ b/app/scripts/directives/lifecycleHook.js @@ -123,7 +123,9 @@ angular.module("openshiftConsole") $scope.valueFromObjects = []; $scope.$watchGroup(['availableSecrets', 'availableConfigMaps'], function() { - $scope.valueFromObjects = ($scope.availableSecrets || []).concat($scope.availableConfigMaps); + var configMaps = $scope.availableConfigMaps || []; + var secrets = $scope.availableSecrets || []; + $scope.valueFromObjects = configMaps.concat(secrets); }); $scope.$watch("istagHook.tagObject.tag", function() { diff --git a/app/views/directives/lifecycle-hook.html b/app/views/directives/lifecycle-hook.html index 087b1bec22..3d1f9559a3 100644 --- a/app/views/directives/lifecycle-hook.html +++ b/app/views/directives/lifecycle-hook.html @@ -33,7 +33,36 @@
Container {{strategyParams[type].execNewPod.container
Environment Variables:
-
{{env.name}}={{env.value}}
+
+ {{env.name}} set to key + + {{env.valueFrom.configMapKeyRef.key}} in config map + + {{env.valueFrom.configMapKeyRef.name}} + + + {{env.valueFrom.configMapKeyRef.name}} + + + + {{env.valueFrom.secretKeyRef.key}} in secret + + {{env.valueFrom.secretKeyRef.name}} + + + {{env.valueFrom.secretKeyRef.name}} + + +
+
+ {{env.name}}={{env.value}} +
Volumes:
@@ -53,4 +82,4 @@
Container {{tagImage.containerName}}
- \ No newline at end of file + diff --git a/app/views/edit/deployment-config.html b/app/views/edit/deployment-config.html index 4246e11737..805adf23ab 100644 --- a/app/views/edit/deployment-config.html +++ b/app/views/edit/deployment-config.html @@ -229,37 +229,40 @@

Deployment Strategy

Pre Lifecycle Hook

- +

Mid Lifecycle Hook

- +

Post Lifecycle Hook

- +
diff --git a/dist/scripts/scripts.js b/dist/scripts/scripts.js index 21a7580b76..8bba2db505 100644 --- a/dist/scripts/scripts.js +++ b/dist/scripts/scripts.js @@ -7395,7 +7395,7 @@ b = g(t.by("metadata.name")), e.availableConfigMaps = b, e.valueFromObjects = b. }), c.list("secrets", r, null, { errorNotification: !1 }).then(function(t) { -C = g(t.by("metadata.name")), e.availableSecrets = C, e.valueFromObjects = C.concat(b); +C = g(t.by("metadata.name")), e.availableSecrets = C, e.valueFromObjects = b.concat(C); var n = p.groupSecretsByType(t), a = _.mapValues(n, function(e) { return _.map(e, "metadata.name"); }); @@ -11040,7 +11040,8 @@ e.removedHookParams = e.hookParams, delete e.hookParams, e.editForm.$setDirty(); e.$watchGroup([ "hookParams", "action.type" ], function() { e.hookParams && ("execNewPod" === e.action.type ? (e.hookParams.tagImages && (e.removedHookParams.tagImages = e.hookParams.tagImages, delete e.hookParams.tagImages), r()) : "tagImages" === e.action.type && (e.hookParams.execNewPod && (e.removedHookParams.execNewPod = e.hookParams.execNewPod, delete e.hookParams.execNewPod), r())); }), e.valueFromObjects = [], e.$watchGroup([ "availableSecrets", "availableConfigMaps" ], function() { -e.valueFromObjects = (e.availableSecrets || []).concat(e.availableConfigMaps); +var t = e.availableConfigMaps || [], n = e.availableSecrets || []; +e.valueFromObjects = t.concat(n); }), e.$watch("istagHook.tagObject.tag", function() { _.has(e.istagHook, [ "tagObject", "tag" ]) && (_.set(e.hookParams, "tagImages[0].to.kind", "ImageStreamTag"), _.set(e.hookParams, "tagImages[0].to.namespace", e.istagHook.namespace), _.set(e.hookParams, "tagImages[0].to.name", e.istagHook.imageStream + ":" + e.istagHook.tagObject.tag)); }); diff --git a/dist/scripts/templates.js b/dist/scripts/templates.js index 100f845b05..0557b68477 100644 --- a/dist/scripts/templates.js +++ b/dist/scripts/templates.js @@ -7622,7 +7622,30 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( "
Environment Variables:
\n" + "
\n" + "
\n" + - "
{{env.name}}={{env.value}}
\n" + + "
\n" + + "{{env.name}} set to key\n" + + "\n" + + "{{env.valueFrom.configMapKeyRef.key}} in config map\n" + + "\n" + + "{{env.valueFrom.configMapKeyRef.name}}\n" + + "\n" + + "\n" + + "{{env.valueFrom.configMapKeyRef.name}}\n" + + "\n" + + "\n" + + "\n" + + "{{env.valueFrom.secretKeyRef.key}} in secret\n" + + "\n" + + "{{env.valueFrom.secretKeyRef.name}}\n" + + "\n" + + "\n" + + "{{env.valueFrom.secretKeyRef.name}}\n" + + "\n" + + "\n" + + "
\n" + + "
\n" + + "{{env.name}}={{env.value}}\n" + + "
\n" + "
\n" + "
\n" + "
Volumes:
\n" + @@ -10127,17 +10150,17 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function( "
\n" + "
\n" + "

Pre Lifecycle Hook

\n" + - "\n" + + "\n" + "\n" + "
\n" + "
\n" + "

Mid Lifecycle Hook

\n" + - "\n" + + "\n" + "\n" + "
\n" + "
\n" + "

Post Lifecycle Hook

\n" + - "\n" + + "\n" + "\n" + "
\n" + "
\n" +