diff --git a/app/views/service-instances.html b/app/views/service-instances.html
new file mode 100644
index 0000000000..1b5790fe01
--- /dev/null
+++ b/app/views/service-instances.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name |
+ Status |
+ Created |
+ Bindings |
+
+
+
+
+ {{emptyMessage}} |
+
+
+
+
+ {{serviceInstance | serviceInstanceDisplayName:serviceClasses}} |
+
+
+
+
+ {{serviceInstance | serviceInstanceStatus | sentenceCase}}
+
+ |
+
+ ago
+ |
+
+
+
+
+ {{application.metadata.name}}
+
+
+ {{firstBinding.spec.secretName}}
+
+
+
+
+
+
+ No bindings
+
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/scripts/scripts.js b/dist/scripts/scripts.js
index 6193424407..3445d4aa89 100644
--- a/dist/scripts/scripts.js
+++ b/dist/scripts/scripts.js
@@ -1,9 +1,9 @@
"use strict";
-function OverviewController(e, t, n, a, r, o, i, s, c, l, u, d, m, p, f, g, h, v, y, b, C, S, w, k, j) {
+function OverviewController(e, t, n, a, r, o, i, s, c, l, u, d, p, m, f, g, h, v, y, b, C, S, w, k, j) {
var P = this, R = t("isIE")() || t("isEdge")();
e.projectName = n.project, P.catalogLandingPageEnabled = !c.DISABLE_SERVICE_CATALOG_LANDING_PAGE;
-var T, I, E = t("annotation"), N = t("buildConfigForBuild"), D = t("deploymentIsInProgress"), A = t("imageObjectRef"), B = t("isJenkinsPipelineStrategy"), L = t("isNewerResource"), U = t("label"), O = t("podTemplate"), F = {}, x = {}, M = {}, V = P.state = {
+var I, T, E = t("annotation"), N = t("buildConfigForBuild"), D = t("deploymentIsInProgress"), A = t("imageObjectRef"), B = t("isJenkinsPipelineStrategy"), L = t("isNewerResource"), U = t("label"), O = t("podTemplate"), F = {}, x = {}, M = {}, V = P.state = {
alerts: {},
builds: {},
clusterQuotas: {},
@@ -24,9 +24,9 @@ bindingsByApplicationUID: {},
applicationsByBinding: {},
showMetrics: !1
};
-P.state.breakpoint = m.getBreakpoint();
+P.state.breakpoint = p.getBreakpoint();
var q = _.throttle(function() {
-var t = m.getBreakpoint();
+var t = p.getBreakpoint();
P.state.breakpoint !== t && e.$evalAsync(function() {
P.state.breakpoint = t;
});
@@ -155,13 +155,13 @@ V.notificationsByObjectUID[n] = t || {};
}, de = function(e) {
var t = H(e);
return t ? _.get(V, [ "notificationsByObjectUID", t ], {}) : {};
-}, me = function(e) {
+}, pe = function(e) {
if (H(e)) {
var t = le(e), a = k.getPodAlerts(t, n.project);
ue(e, a);
}
-}, pe = function(e) {
-_.each(e, me);
+}, me = function(e) {
+_.each(e, pe);
}, fe = function(e) {
var t = z(e);
return t ? M[t] : null;
@@ -195,7 +195,7 @@ _.assign(t, n);
}, Ce = function() {
_.each(P.deployments, be);
}, Se = function() {
-pe(P.replicationControllers), pe(P.replicaSets), pe(P.statefulSets), pe(P.monopods);
+me(P.replicationControllers), me(P.replicaSets), me(P.statefulSets), me(P.monopods);
}, _e = _.debounce(function() {
e.$evalAsync(function() {
Se(), ve(), Ce();
@@ -210,15 +210,15 @@ return "Succeeded" !== e.status.phase && "Failed" !== e.status.phase && (!U(e, "
V.podsByOwnerUID = C.groupByOwnerUID(P.pods), P.monopods = _.filter(V.podsByOwnerUID[""], je);
}, Re = function(e) {
return !!_.get(e, "status.replicas") || (!E(e, "deploymentConfig") || D(e));
-}, Te = function(e) {
+}, Ie = function(e) {
return E(e, "deploymentConfig");
-}, Ie = function() {
+}, Te = function() {
if (P.deploymentConfigs && P.replicationControllers) {
var e = [];
P.replicationControllersByDeploymentConfig = {}, P.currentByDeploymentConfig = {}, M = {};
var t = {}, n = {};
_.each(P.replicationControllers, function(a) {
-var r = Te(a) || "";
+var r = Ie(a) || "";
(!r || !P.deploymentConfigs[r] && _.get(a, "status.replicas")) && e.push(a);
var o = M[r];
o && !L(a, o) || (M[r] = a);
@@ -236,9 +236,9 @@ if (_.get(e, "status.replicas")) return !0;
var n = u.getRevision(e);
return !n || !!t && u.getRevision(t) === n;
}, Ne = function() {
-P.replicaSets && T && (P.replicaSetsByDeploymentUID = b.groupByControllerUID(P.replicaSets), P.currentByDeploymentUID = {}, _.each(P.replicaSetsByDeploymentUID, function(e, t) {
+P.replicaSets && I && (P.replicaSetsByDeploymentUID = b.groupByControllerUID(P.replicaSets), P.currentByDeploymentUID = {}, _.each(P.replicaSetsByDeploymentUID, function(e, t) {
if (t) {
-var n = T[t], a = _.filter(e, function(e) {
+var n = I[t], a = _.filter(e, function(e) {
return Ee(e, n);
}), r = u.sortByRevision(a);
P.replicaSetsByDeploymentUID[t] = r, P.currentByDeploymentUID[t] = _.head(r);
@@ -376,31 +376,31 @@ V.bindableServiceInstances = w.filterBindableServiceInstances(V.serviceInstances
S.get(n.project).then(_.spread(function(n, a) {
V.project = e.project = n, V.context = a;
var r = function() {
-P.pods && p.fetchReferencedImageStreamImages(P.pods, V.imagesByDockerReference, V.imageStreamImageRefByDockerReference, a);
+P.pods && m.fetchReferencedImageStreamImages(P.pods, V.imagesByDockerReference, V.imageStreamImageRefByDockerReference, a);
};
Ye.push(l.watch("pods", a, function(e) {
-P.pods = e.by("metadata.name"), Pe(), r(), _e(), $e(P.monopods), pe(P.monopods), we(P.monopods), ie(), h.log("pods (subscribe)", P.pods);
+P.pods = e.by("metadata.name"), Pe(), r(), _e(), $e(P.monopods), me(P.monopods), we(P.monopods), ie(), h.log("pods (subscribe)", P.pods);
})), Ye.push(l.watch("replicationcontrollers", a, function(e) {
-P.replicationControllers = e.by("metadata.name"), Ie(), $e(P.vanillaReplicationControllers), $e(P.monopods), pe(P.vanillaReplicationControllers), we(P.vanillaReplicationControllers), Qe(), ie(), h.log("replicationcontrollers (subscribe)", P.replicationControllers);
+P.replicationControllers = e.by("metadata.name"), Te(), $e(P.vanillaReplicationControllers), $e(P.monopods), me(P.vanillaReplicationControllers), we(P.vanillaReplicationControllers), Qe(), ie(), h.log("replicationcontrollers (subscribe)", P.replicationControllers);
})), Ye.push(l.watch("deploymentconfigs", a, function(e) {
-P.deploymentConfigs = e.by("metadata.name"), Ie(), $e(P.deploymentConfigs), $e(P.vanillaReplicationControllers), we(P.deploymentConfigs), Ce(), He(), Ge(), Qe(), ie(), h.log("deploymentconfigs (subscribe)", P.deploymentConfigs);
+P.deploymentConfigs = e.by("metadata.name"), Te(), $e(P.deploymentConfigs), $e(P.vanillaReplicationControllers), we(P.deploymentConfigs), Ce(), He(), Ge(), Qe(), ie(), h.log("deploymentconfigs (subscribe)", P.deploymentConfigs);
})), Ye.push(l.watch({
group: "extensions",
resource: "replicasets"
}, a, function(e) {
-P.replicaSets = e.by("metadata.name"), Ne(), $e(P.vanillaReplicaSets), $e(P.monopods), pe(P.vanillaReplicaSets), we(P.vanillaReplicaSets), Qe(), ie(), h.log("replicasets (subscribe)", P.replicaSets);
+P.replicaSets = e.by("metadata.name"), Ne(), $e(P.vanillaReplicaSets), $e(P.monopods), me(P.vanillaReplicaSets), we(P.vanillaReplicaSets), Qe(), ie(), h.log("replicasets (subscribe)", P.replicaSets);
})), Ye.push(l.watch({
group: "apps",
resource: "deployments"
}, a, function(e) {
-T = e.by("metadata.uid"), P.deployments = _.sortBy(T, "metadata.name"), Ne(), $e(P.deployments), $e(P.vanillaReplicaSets), we(P.deployments), Qe(), ie(), h.log("deployments (subscribe)", P.deploymentsByUID);
+I = e.by("metadata.uid"), P.deployments = _.sortBy(I, "metadata.name"), Ne(), $e(P.deployments), $e(P.vanillaReplicaSets), we(P.deployments), Qe(), ie(), h.log("deployments (subscribe)", P.deploymentsByUID);
})), Ye.push(l.watch("builds", a, function(e) {
V.builds = e.by("metadata.name"), Ke(), h.log("builds (subscribe)", V.builds);
})), Ye.push(l.watch({
group: "apps",
resource: "statefulsets"
}, a, function(e) {
-P.statefulSets = e.by("metadata.name"), $e(P.statefulSets), $e(P.monopods), pe(P.statefulSets), we(P.statefulSets), Qe(), ie(), h.log("statefulsets (subscribe)", P.statefulSets);
+P.statefulSets = e.by("metadata.name"), $e(P.statefulSets), $e(P.monopods), me(P.statefulSets), we(P.statefulSets), Qe(), ie(), h.log("statefulsets (subscribe)", P.statefulSets);
}, {
poll: R,
pollInterval: 6e4
@@ -429,7 +429,7 @@ P.horizontalPodAutoscalers = e.by("metadata.name"), Le(), h.log("autoscalers (su
poll: R,
pollInterval: 6e4
})), Ye.push(l.watch("imagestreams", a, function(e) {
-I = e.by("metadata.name"), p.buildDockerRefMapForImageStreams(I, V.imageStreamImageRefByDockerReference), r(), h.log("imagestreams (subscribe)", I);
+T = e.by("metadata.name"), m.buildDockerRefMapForImageStreams(T, V.imageStreamImageRefByDockerReference), r(), h.log("imagestreams (subscribe)", T);
}, {
poll: R,
pollInterval: 6e4
@@ -496,7 +496,7 @@ l.unwatchAll(Ye), $(window).off(".overview");
function ResourceServiceBindings(e, t, n, a) {
var r = this, o = e("enableTechPreviewFeature");
-r.bindings = [], r.bindableServiceInstances = [], r.serviceClasses = [], r.serviceInstances = [], r.showBindings = a.SERVICE_CATALOG_ENABLED && o("pod_presets");
+r.bindings = [], r.bindableServiceInstances = [], r.serviceClasses = [], r.serviceInstances = [], r.showBindings = a.SERVICE_CATALOG_ENABLED && ("ServiceInstance" === _.get(r, "apiObject.kind") || o("pod_presets"));
var i = e("isIE")() || e("isEdge")(), s = [], c = e("canI"), l = function() {
r.apiObject && r.bindings && (r.bindings = n.getBindingsForResource(r.bindings, r.apiObject));
}, u = function() {
@@ -771,6 +771,15 @@ prefixes: [ "/browse/services/" ]
label: "Routes",
href: "/browse/routes",
prefixes: [ "/browse/routes/", "/create-route", "/edit/routes/" ]
+}, {
+label: "Provisioned Services",
+href: "/browse/service-instances",
+prefixes: [ "/browse/service-instances/" ],
+canI: {
+resource: "serviceinstances",
+group: "servicecatalog.k8s.io",
+verb: "list"
+}
} ]
} ]
}, {
@@ -1117,6 +1126,14 @@ reloadOnSearch: !1
templateUrl: "views/browse/service.html",
controller: "ServiceController",
reloadOnSearch: !1
+}).when("/project/:project/browse/service-instances", {
+templateUrl: "views/service-instances.html",
+controller: "ServiceInstancesController",
+reloadOnSearch: !1
+}).when("/project/:project/browse/service-instances/:instance", {
+templateUrl: "views/browse/service-instance.html",
+controller: "ServiceInstanceController",
+reloadOnSearch: !1
}).when("/project/:project/browse/storage", {
templateUrl: "views/storage.html",
controller: "StorageController",
@@ -1651,8 +1668,12 @@ c.segment("images").segmentCoded(s);
break;
case "ImageStreamTag":
-var m = s.indexOf(":");
-c.segment("images").segmentCoded(s.substring(0, m)).segmentCoded(s.substring(m + 1));
+var p = s.indexOf(":");
+c.segment("images").segmentCoded(s.substring(0, p)).segmentCoded(s.substring(p + 1));
+break;
+
+case "ServiceInstance":
+c.segment("service-instances").segmentCoded(s);
break;
case "StatefulSet":
@@ -1668,15 +1689,15 @@ c.segment(i.kindToResource(t)).segmentCoded(s);
break;
default:
-var p;
-if (e.metadata) p = i.objectToResourceGroupVersion(e); else if (_.get(r, "apiVersion")) {
+var m;
+if (e.metadata) m = i.objectToResourceGroupVersion(e); else if (_.get(r, "apiVersion")) {
var f = i.kindToResource(t), g = i.parseGroupVersion(r.apiVersion);
-g.resource = f, p = i.toResourceGroupVersion(g);
-} else p = i.toResourceGroupVersion(i.kindToResource(t));
-if (!i.apiInfo(p)) return null;
+g.resource = f, m = i.toResourceGroupVersion(g);
+} else m = i.toResourceGroupVersion(i.kindToResource(t));
+if (!i.apiInfo(m)) return null;
c.segment("other").search({
kind: t,
-group: p.group
+group: m.group
});
}
return _.get(r, "tab") && c.setSearch("tab", r.tab), c.toString();
@@ -1712,6 +1733,7 @@ replicationcontrollers: "deployments",
routes: "routes",
secrets: "secrets",
services: "services",
+serviceinstances: "service-instances",
persistentvolumeclaims: "storage",
statefulsets: "stateful-sets"
};
@@ -1820,10 +1842,10 @@ return e.find("base").attr("href") || "/";
var o = e("annotation"), i = e("buildConfigForBuild"), s = e("getErrorDetails"), c = e("isIncompleteBuild"), l = e("isJenkinsPipelineStrategy"), u = e("isNewerResource"), d = function(e) {
var t = o(e, "buildNumber") || parseInt(e.metadata.name.match(/(\d+)$/), 10);
return isNaN(t) ? null : t;
-}, m = function(e, t) {
+}, p = function(e, t) {
var n = d(e);
return t && n ? t + " #" + n : e.metadata.name;
-}, p = function(e) {
+}, m = function(e) {
return "true" === o(e, "openshift.io/build-config.paused");
}, f = function(e) {
return e.status.startTimestamp || e.metadata.creationTimestamp;
@@ -1850,7 +1872,7 @@ name: e.metadata.name
namespace: e.metadata.namespace
};
return n.create("buildconfigs/instantiate", e.metadata.name, i, c).then(function(t) {
-var n, i, s = m(t, e.metadata.name), c = _.get(e, "spec.runPolicy");
+var n, i, s = p(t, e.metadata.name), c = _.get(e, "spec.runPolicy");
"Serial" === c || "SerialLatestOnly" === c ? (n = _.capitalize(o) + " " + s + " successfully queued.", i = "Builds for " + e.metadata.name + " are configured to run one at a time.") : n = _.capitalize(o) + " " + s + " successfully created.", r.addNotification({
type: "success",
message: n,
@@ -1869,7 +1891,7 @@ details: s(e)
});
},
cancelBuild: function(e, a) {
-var o = l(e) ? "pipeline" : "build", i = m(e, a), c = {
+var o = l(e) ? "pipeline" : "build", i = p(e, a), c = {
namespace: e.metadata.namespace
}, u = angular.copy(e);
return u.status.cancelled = !0, n.update("builds", u.metadata.name, u, c).then(function() {
@@ -1886,7 +1908,7 @@ details: s(e)
};
},
cloneBuild: function(e, o) {
-var i = l(e) ? "pipeline" : "build", c = m(e, o), u = {
+var i = l(e) ? "pipeline" : "build", c = p(e, o), u = {
kind: "BuildRequest",
apiVersion: "v1",
metadata: {
@@ -1896,7 +1918,7 @@ name: e.metadata.name
namespace: e.metadata.namespace
};
return n.create("builds/clone", e.metadata.name, u, d).then(function(e) {
-var t = m(e, o);
+var t = p(e, o);
r.addNotification({
type: "success",
message: _.capitalize(i) + " " + c + " is being rebuilt as " + t + ".",
@@ -1913,9 +1935,9 @@ details: s(e)
}), t.reject();
});
},
-isPaused: p,
+isPaused: m,
canBuild: function(e) {
-return !!e && !e.metadata.deletionTimestamp && !p(e);
+return !!e && !e.metadata.deletionTimestamp && !m(e);
},
usesDeploymentConfigs: function(e) {
var t = o(e, "pipeline.alpha.openshift.io/uses");
@@ -1944,7 +1966,7 @@ t && !t(e) || u(e, n[a]) && (n[a] = e);
}), n;
},
getBuildNumber: d,
-getBuildDisplayName: m,
+getBuildDisplayName: p,
getStartTimestsamp: f,
getDuration: function(e) {
var t = _.get(e, "status.duration");
@@ -2042,8 +2064,8 @@ details: a("getErrorDetails")(e)
});
});
});
-var u = a("annotationName")("deploymentStatus"), d = a("annotationName")("deploymentStatusReason"), m = a("annotationName")("deploymentCancelled");
-i.metadata.annotations[u] = "New", delete i.metadata.annotations[d], delete i.metadata.annotations[m], n.update("replicationcontrollers", c, i, r).then(function() {
+var u = a("annotationName")("deploymentStatus"), d = a("annotationName")("deploymentStatusReason"), p = a("annotationName")("deploymentCancelled");
+i.metadata.annotations[u] = "New", delete i.metadata.annotations[d], delete i.metadata.annotations[p], n.update("replicationcontrollers", c, i, r).then(function() {
t.addNotification({
type: "success",
message: "Retrying deployment " + c + " of " + l + "."
@@ -2056,7 +2078,7 @@ details: a("getErrorDetails")(e)
});
});
}, i.prototype.rollbackToDeployment = function(r, o, i, c, l) {
-var u = r.metadata.name, d = s(r, "deploymentConfig"), m = {
+var u = r.metadata.name, d = s(r, "deploymentConfig"), p = {
apiVersion: "apps.openshift.io/v1",
kind: "DeploymentConfigRollback",
name: d,
@@ -2073,7 +2095,7 @@ includeTriggers: c
n.create({
group: "apps.openshift.io",
resource: "deploymentconfigs/rollback"
-}, d, m, l).then(function(r) {
+}, d, p, l).then(function(r) {
var o = e.objectToResourceGroupVersion(r);
n.update(o, d, r, l).then(function(e) {
t.addNotification({
@@ -2452,14 +2474,14 @@ return e ? e + "/m/stats/query" : e;
function l(e) {
return o().then(function(t) {
var n;
-return n = "counter" === e.type ? t + f : t + p, URI.expand(n, {
+return n = "counter" === e.type ? t + f : t + m, URI.expand(n, {
podUID: e.pod.metadata.uid,
containerName: e.containerName,
metric: e.metric
}).toString();
});
}
-var u, d, m, p = "/gauges/{containerName}%2F{podUID}%2F{metric}/data", f = "/counters/{containerName}%2F{podUID}%2F{metric}/data", g = function(e) {
+var u, d, p, m = "/gauges/{containerName}%2F{podUID}%2F{metric}/data", f = "/counters/{containerName}%2F{podUID}%2F{metric}/data", g = function(e) {
var t = e.split("/");
return {
podUID: t[1],
@@ -2485,10 +2507,10 @@ return _.each(e.data.counter, n), _.each(e.data.gauge, n), t;
return {
isAvailable: function(e) {
return o().then(function(n) {
-return !!n && (!e || !!d || !m && t.get(n).then(function() {
+return !!n && (!e || !!d || !p && t.get(n).then(function() {
return d = !0, !0;
}, function(e) {
-return m = !0, a.$broadcast("metrics-connection-failed", {
+return p = !0, a.$broadcast("metrics-connection-failed", {
url: n,
response: e
}), !1;
@@ -2814,8 +2836,8 @@ e.maxLimitRequestRatio && (a = e.maxLimitRequestRatio[t]) && (!s.maxLimitRequest
}
});
});
-var l, u, d, m;
-return s.min && (l = c(t, a)) && (u = r(s.min), d = Math.ceil(u[0] / (l / 100)), m = u[1] || "", s.min = "" + d + m), s;
+var l, u, d, p;
+return s.min && (l = c(t, a)) && (u = r(s.min), d = Math.ceil(u[0] / (l / 100)), p = u[1] || "", s.min = "" + d + p), s;
};
return {
getEffectiveLimitRange: d,
@@ -2824,13 +2846,13 @@ isRequestCalculated: l,
isLimitCalculated: u,
validatePodLimits: function(t, r, o, i) {
if (!o || !o.length) return [];
-var s = d(t, r, "Pod", i), c = d(t, r, "Container", i), m = 0, p = 0, f = s.min && n(s.min), g = s.max && n(s.max), h = [], v = e("computeResourceLabel")(r, !0);
+var s = d(t, r, "Pod", i), c = d(t, r, "Container", i), p = 0, m = 0, f = s.min && n(s.min), g = s.max && n(s.max), h = [], v = e("computeResourceLabel")(r, !0);
return angular.forEach(o, function(e) {
var t = e.resources || {}, a = t.requests && t.requests[r] || c.defaultRequest;
-a && (m += n(a));
+a && (p += n(a));
var o = t.limits && t.limits[r] || c.defaultLimit;
-o && (p += n(o));
-}), l(r, i) || (f && m < f && h.push(v + " request total for all containers is less than pod minimum (" + a(s.min, r) + ")."), g && m > g && h.push(v + " request total for all containers is greater than pod maximum (" + a(s.max, r) + ").")), u(r, i) || (f && p < f && h.push(v + " limit total for all containers is less than pod minimum (" + a(s.min, r) + ")."), g && p > g && h.push(v + " limit total for all containers is greater than pod maximum (" + a(s.max, r) + ").")), h;
+o && (m += n(o));
+}), l(r, i) || (f && p < f && h.push(v + " request total for all containers is less than pod minimum (" + a(s.min, r) + ")."), g && p > g && h.push(v + " request total for all containers is greater than pod maximum (" + a(s.max, r) + ").")), u(r, i) || (f && m < f && h.push(v + " limit total for all containers is less than pod minimum (" + a(s.min, r) + ")."), g && m > g && h.push(v + " limit total for all containers is greater than pod maximum (" + a(s.max, r) + ").")), h;
}
};
} ]), angular.module("openshiftConsole").factory("RoutesService", [ "$filter", function(e) {
@@ -2936,9 +2958,9 @@ return !!n.getEffectiveLimitRange(a, e, "Container", r)[t];
return l(e, "defaultRequest", t, n);
}, d = function(e, t, n) {
return l(e, "defaultLimit", t, n);
-}, m = function(e, t, a) {
+}, p = function(e, t, a) {
return !(!s("cpu", e) && !u("cpu", t, a)) || (!(!c("cpu", e) && !d("cpu", t, e)) || !!n.isLimitCalculated("cpu", a) && (c("memory", e) || d("memory", t, a)));
-}, p = e("humanizeKind"), f = e("hasDeploymentConfig");
+}, m = e("humanizeKind"), f = e("hasDeploymentConfig");
return {
convertRequestPercentToLimit: function(e, t) {
var n = o(t);
@@ -2954,7 +2976,7 @@ if (!e) return e;
var a = e / (n / 100);
return Math.round(a);
},
-hasCPURequest: m,
+hasCPURequest: p,
filterHPA: function(e, t, n) {
return _.filter(e, function(e) {
return e.spec.scaleTargetRef.kind === t && e.spec.scaleTargetRef.name === n;
@@ -2968,7 +2990,7 @@ message: "Metrics might not be configured by your cluster administrator. Metrics
reason: "MetricsNotAvailable"
});
var s, c, l = _.get(e, "spec.template.spec.containers", []);
-return m(l, o, i) || (s = p(e.kind), n.isRequestCalculated("cpu", i) ? (c = "This " + s + " does not have any containers with a CPU limit set. Autoscaling will not work without a CPU limit.", n.isLimitCalculated("cpu", i) && (c += " The CPU limit will be automatically calculated from the container memory limit.")) : c = "This " + s + " does not have any containers with a CPU request set. Autoscaling will not work without a CPU request.", a.push({
+return p(l, o, i) || (s = m(e.kind), n.isRequestCalculated("cpu", i) ? (c = "This " + s + " does not have any containers with a CPU limit set. Autoscaling will not work without a CPU limit.", n.isLimitCalculated("cpu", i) && (c += " The CPU limit will be automatically calculated from the container memory limit.")) : c = "This " + s + " does not have any containers with a CPU request set. Autoscaling will not work without a CPU request.", a.push({
message: c,
reason: "NoCPURequest"
})), _.size(r) > 1 && a.push({
@@ -3317,8 +3339,8 @@ resources: {}
status: {}
};
n.push(d);
-var m;
-return _.isEmpty(e.ports) || (m = {
+var p;
+return _.isEmpty(e.ports) || (p = {
kind: "Service",
apiVersion: "v1",
metadata: {
@@ -3334,7 +3356,7 @@ ports: _.map(e.ports, function(e) {
return t.getServicePort(e);
})
}
-}, n.push(m)), n;
+}, n.push(p)), n;
},
getEnvironment: function(e) {
return _.map(_.get(e, "image.dockerImageMetadata.Config.Env"), function(e) {
@@ -3439,11 +3461,11 @@ return !0;
});
}, u = function(e, t) {
return e ? "Pod" === e.kind ? l(e, t) : _.has(e, "spec.template") ? l(e.spec.template, t) : t : t;
-}, d = t("humanizeQuotaResource"), m = t("humanizeKind"), p = function(e, t, n) {
+}, d = t("humanizeQuotaResource"), p = t("humanizeKind"), m = function(e, t, n) {
var a = e.status.total || e.status;
if (i(a.hard[n]) <= i(a.used[n])) {
var r, o;
-return r = "Pod" === t.kind ? "You will not be able to create the " + m(t.kind) + " '" + t.metadata.name + "'." : "You can still create " + m(t.kind) + " '" + t.metadata.name + "' but no pods will be created until resources are freed.", o = "pods" === n ? "You are at your quota for pods." : "You are at your quota for " + d(n) + " on pods.", {
+return r = "Pod" === t.kind ? "You will not be able to create the " + p(t.kind) + " '" + t.metadata.name + "'." : "You can still create " + p(t.kind) + " '" + t.metadata.name + "' but no pods will be created until resources are freed.", o = "pods" === n ? "You are at your quota for pods." : "You are at your quota for " + d(n) + " on pods.", {
type: "Pod" === t.kind ? "error" : "warning",
message: o,
details: r,
@@ -3471,7 +3493,7 @@ var t = _.get(e, o);
t && (s += i(t));
}), i(r.hard[a]) < i(r.used[a]) + s) {
var c;
-return c = "Pod" === t.kind ? "You may not be able to create the " + m(t.kind) + " '" + t.metadata.name + "'." : "You can still create " + m(t.kind) + " '" + t.metadata.name + "' but you may not have pods created until resources are freed.", {
+return c = "Pod" === t.kind ? "You may not be able to create the " + p(t.kind) + " '" + t.metadata.name + "'." : "You can still create " + p(t.kind) + " '" + t.metadata.name + "' but you may not have pods created until resources are freed.", {
type: "warning",
message: "You are close to your quota for " + d(a) + " on pods.",
details: c,
@@ -3487,7 +3509,7 @@ var n = [], a = "Pod" === e.kind ? e : _.get(e, "spec.template");
return a ? (_.each([ "cpu", "memory", "requests.cpu", "requests.memory", "limits.cpu", "limits.memory", "pods" ], function(r) {
var i = t.status.total || t.status;
if (("Pod" !== e.kind || "pods" !== r) && !o(i.hard[r])) {
-var s = p(t, e, r);
+var s = m(t, e, r);
if (s) n.push(s); else if ("pods" !== r) {
var c = g(t, e, a, r);
c && n.push(c);
@@ -3499,14 +3521,14 @@ var r = [];
return t && n ? (_.each(t, function(t) {
var s = u(t, n), c = u(t, a), l = e.objectToResourceGroupVersion(t);
if (l) {
-var d = e.kindToResource(t.kind, !0), p = m(t.kind), f = "";
+var d = e.kindToResource(t.kind, !0), m = p(t.kind), f = "";
l.group && (f = l.group + "/"), f += l.resource;
var g = function(e) {
var n = e.status.total || e.status;
!o(n.hard[f]) && i(n.hard[f]) <= i(n.used[f]) && r.push({
type: "error",
-message: "You are at your quota of " + n.hard[f] + " " + ("1" === n.hard[f] ? p : d) + " in this project.",
-details: "You will not be able to create the " + p + " '" + t.metadata.name + "'.",
+message: "You are at your quota of " + n.hard[f] + " " + ("1" === n.hard[f] ? m : d) + " in this project.",
+details: "You will not be able to create the " + m + " '" + t.metadata.name + "'.",
links: [ {
href: "project/" + e.metadata.namespace + "/quota",
label: "View Quota",
@@ -3592,26 +3614,26 @@ details: "The following resource versions are not supported by the server: " + d
});
}
if (s.length) {
-var m = _.uniq(_.map(s, function(e) {
+var p = _.uniq(_.map(s, function(e) {
return a(e.kind);
}));
o.push({
type: "warning",
message: "This will create resources outside of the project, which might impact all users of the cluster.",
-details: "Typically only cluster administrators can create these resources. The cluster-level resources being created are: " + m.join(", ")
+details: "Typically only cluster administrators can create these resources. The cluster-level resources being created are: " + p.join(", ")
});
}
if (c.length) {
-var p = [];
+var m = [];
_.each(c, function(e) {
_.each(e.subjects, function(e) {
var t = a(e.kind) + " ";
-"ServiceAccount" === e.kind && (t += (e.namespace || r) + "/"), t += e.name, p.push(t);
+"ServiceAccount" === e.kind && (t += (e.namespace || r) + "/"), t += e.name, m.push(t);
});
-}), p = _.uniq(p), o.push({
+}), m = _.uniq(m), o.push({
type: "warning",
message: "This will grant permissions to your project.",
-details: "Permissions are being granted to: " + p.join(", ")
+details: "Permissions are being granted to: " + m.join(", ")
});
}
if (l.length && o.push({
@@ -4226,7 +4248,55 @@ controller: !0
});
}
};
-}), angular.module("openshiftConsole").controller("LandingPageController", [ "$scope", "$rootScope", "AuthService", "Catalog", "Constants", "DataService", "Navigate", "NotificationsService", "RecentlyViewedServiceItems", "GuidedTourService", "HTMLService", "$timeout", "$q", "$routeParams", "$location", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p, f) {
+}), angular.module("openshiftConsole").factory("ServiceInstancesService", [ "$filter", "$uibModal", "DataService", "NotificationsService", function(e, t, n, a) {
+return {
+deprovision: function(r) {
+var o = e("getErrorDetails"), i = {
+alerts: {
+deprovision: {
+type: "error",
+message: "Service '" + r.spec.serviceClassName + "' will be deleted and no longer available."
+}
+},
+detailsMarkup: "Delete Service?",
+okButtonText: "Delete",
+okButtonClass: "btn-danger",
+cancelButtonText: "Cancel"
+};
+return t.open({
+animation: !0,
+templateUrl: "views/modals/confirm.html",
+controller: "ConfirmModalController",
+resolve: {
+modalConfig: function() {
+return i;
+}
+}
+}).result.then(function() {
+return a.hideNotification("deprovision-service-error"), n.delete({
+group: "servicecatalog.k8s.io",
+resource: "serviceinstances"
+}, r.metadata.name, {
+namespace: r.metadata.namespace
+}, {
+propagationPolicy: null
+}).then(function() {
+a.addNotification({
+type: "success",
+message: "Successfully deleted provisioned service " + r.metadata.name + "."
+});
+}, function(e) {
+a.addNotification({
+id: "deprovision-service-error",
+type: "error",
+message: "An error occurred while deleting provisioned service " + r.metadata.name + ".",
+details: o(e)
+});
+});
+});
+}
+};
+} ]), angular.module("openshiftConsole").controller("LandingPageController", [ "$scope", "$rootScope", "AuthService", "Catalog", "Constants", "DataService", "Navigate", "NotificationsService", "RecentlyViewedServiceItems", "GuidedTourService", "HTMLService", "$timeout", "$q", "$routeParams", "$location", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m, f) {
function g() {
var n = f.search().serviceClass;
if (n) {
@@ -4239,7 +4309,7 @@ name: n
});
if (a) return void e.$broadcast("open-overlay-panel", a);
}
-if (v) if (p.startTour) d(function() {
+if (v) if (m.startTour) d(function() {
f.replace(), f.search("startTour", null), e.startGuidedTour();
}, 500); else if (_.get(h, "auto_launch")) {
var r = "openshift/viewedHomePage/" + t.user.metadata.name;
@@ -4262,7 +4332,7 @@ return "PartialObjectMetadata" === e.kind;
}, C = function(e) {
return b(e) ? o.get("templates", e.metadata.name, {
namespace: e.metadata.namespace
-}) : m.when(e);
+}) : p.when(e);
};
e.templateSelected = function(t) {
C(t).then(function(t) {
@@ -4314,12 +4384,12 @@ return _.get(t, [ e.metadata.uid, "cleared" ]);
}
};
} ]), angular.module("openshiftConsole").controller("ProjectsController", [ "$scope", "$filter", "$location", "$route", "$timeout", "AuthService", "DataService", "KeywordService", "Navigate", "Logger", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l, u) {
-var d, m, p = [], f = [], g = !1;
+var d, p, m = [], f = [], g = !1;
e.alerts = e.alerts || {}, e.loading = !0, e.showGetStarted = !1, e.canCreate = void 0, e.search = {
text: ""
}, e.limitListTo = 250;
var h, v = [ "metadata.name", 'metadata.annotations["openshift.io/display-name"]', 'metadata.annotations["openshift.io/description"]', 'metadata.annotations["openshift.io/requester"]' ], y = function() {
-e.projects = s.filterForKeywords(m, v, f);
+e.projects = s.filterForKeywords(p, v, f);
}, b = t("displayName"), C = function() {
var t = _.get(e, "sortConfig.currentField.id");
h !== t && (e.sortConfig.isAscending = "metadata.creationTimestamp" !== t);
@@ -4328,15 +4398,15 @@ return b(e).toLowerCase();
}, a = e.sortConfig.isAscending ? "asc" : "desc";
switch (t) {
case 'metadata.annotations["openshift.io/display-name"]':
-m = _.orderBy(d, [ n, "metadata.name" ], [ a ]);
+p = _.orderBy(d, [ n, "metadata.name" ], [ a ]);
break;
case 'metadata.annotations["openshift.io/requester"]':
-m = _.orderBy(d, [ t, n ], [ a, "asc" ]);
+p = _.orderBy(d, [ t, n ], [ a, "asc" ]);
break;
default:
-m = _.orderBy(d, [ t ], [ a ]);
+p = _.orderBy(d, [ t ], [ a ]);
}
h = t;
}, S = function() {
@@ -4387,7 +4457,7 @@ c.toProjectOverview(e);
e.keywords = f = s.generateKeywords(t), e.$applyAsync(y);
}, 350)), o.withUser().then(function() {
u.list().then(function(t) {
-e.isProjectListIncomplete = u.isProjectListIncomplete(), w(t), !e.isProjectListIncomplete && _.size(d) <= 250 && (p.push(u.watch(e, w)), g = !0);
+e.isProjectListIncomplete = u.isProjectListIncomplete(), w(t), !e.isProjectListIncomplete && _.size(d) <= 250 && (m.push(u.watch(e, w)), g = !0);
}, function() {
e.isProjectListIncomplete = !0, e.loading = !1, d = [], S();
});
@@ -4407,7 +4477,7 @@ e.message && r.push(e.message);
}), _.isEmpty(r) || (e.newProjectMessage = r.join("\n"));
}
}), e.$on("$destroy", function() {
-i.unwatchAll(p);
+i.unwatchAll(m);
});
} ]), angular.module("openshiftConsole").controller("PodsController", [ "$routeParams", "$scope", "DataService", "ProjectsService", "$filter", "LabelFilter", "Logger", function(e, t, n, a, r, o, i) {
t.projectName = e.project, t.pods = {}, t.unfilteredPods = {}, t.labelSuggestions = {}, t.alerts = t.alerts || {}, t.emptyMessage = "Loading...";
@@ -4429,7 +4499,7 @@ t.pods = e.select(t.unfilteredPods), r();
n.unwatchAll(s);
});
}));
-} ]), angular.module("openshiftConsole").controller("PodController", [ "$scope", "$filter", "$routeParams", "$timeout", "$uibModal", "Logger", "DataService", "FullscreenService", "ImageStreamResolver", "MetricsService", "OwnerReferencesService", "PodsService", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l, u, d, m) {
+} ]), angular.module("openshiftConsole").controller("PodController", [ "$scope", "$filter", "$routeParams", "$timeout", "$uibModal", "Logger", "DataService", "FullscreenService", "ImageStreamResolver", "MetricsService", "OwnerReferencesService", "PodsService", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l, u, d, p) {
e.projectName = n.project, e.pod = null, e.imageStreams = {}, e.imagesByDockerReference = {}, e.imageStreamImageRefByDockerReference = {}, e.builds = {}, e.alerts = {}, e.terminalDisconnectAlert = {}, e.renderOptions = e.renderOptions || {}, e.renderOptions.hideFilterWidget = !0, e.logOptions = {}, e.terminalTabWasSelected = !1, e.breadcrumbs = [ {
title: "Pods",
link: "project/" + n.project + "/browse/pods"
@@ -4439,7 +4509,7 @@ title: n.pod
type: "warning",
message: "This terminal has been disconnected. If you reconnect, your terminal history will be lost."
}, e.noContainersYet = !0, e.selectedTab = {};
-var p = [], f = null;
+var m = [], f = null;
l.isAvailable().then(function(t) {
e.metricsAvailable = t;
});
@@ -4531,13 +4601,13 @@ type: "warning",
message: "This pod has been deleted."
});
};
-m.get(n.project).then(_.spread(function(a, l) {
+p.get(n.project).then(_.spread(function(a, l) {
f = l, e.project = a, e.projectContext = l, i.get("pods", n.pod, l, {
errorNotification: !1
}).then(function(t) {
j(t);
var a = {};
-a[t.metadata.name] = t, e.logOptions.container = n.container || t.spec.containers[0].name, e.containerTerminals = C(), S(t), c.fetchReferencedImageStreamImages(a, e.imagesByDockerReference, e.imageStreamImageRefByDockerReference, f), p.push(i.watchObject("pods", n.pod, l, function(t, n) {
+a[t.metadata.name] = t, e.logOptions.container = n.container || t.spec.containers[0].name, e.containerTerminals = C(), S(t), c.fetchReferencedImageStreamImages(a, e.imagesByDockerReference, e.imageStreamImageRefByDockerReference, f), m.push(i.watchObject("pods", n.pod, l, function(t, n) {
j(t, n), w(e.containerTerminals), S(t);
}));
}, function(n) {
@@ -4546,12 +4616,12 @@ type: "error",
message: "The pod details could not be loaded.",
details: t("getErrorDetails")(n)
};
-}), e.$watch("logOptions.container", g), p.push(i.watch("imagestreams", l, function(t) {
+}), e.$watch("logOptions.container", g), m.push(i.watch("imagestreams", l, function(t) {
e.imageStreams = t.by("metadata.name"), c.buildDockerRefMapForImageStreams(e.imageStreams, e.imageStreamImageRefByDockerReference), c.fetchReferencedImageStreamImages(e.pods, e.imagesByDockerReference, e.imageStreamImageRefByDockerReference, l), o.log("imagestreams (subscribe)", e.imageStreams);
-})), p.push(i.watch("builds", l, function(t) {
+})), m.push(i.watch("builds", l, function(t) {
e.builds = t.by("metadata.name"), o.log("builds (subscribe)", e.builds);
}));
-var u, m = function() {
+var u, p = function() {
var n = e.debugPod;
u && (i.unwatch(u), u = null), $(window).off("beforeunload.debugPod"), n && (i.delete("pods", n.metadata.name, l, {
gracePeriodSeconds: 0
@@ -4593,7 +4663,7 @@ return _.get(e, [ "imagesByDockerReference", o.image ]);
}
},
backdrop: "static"
-}).result.then(m);
+}).result.then(p);
}, function(a) {
e.alerts["debug-container-error"] = {
type: "error",
@@ -4610,7 +4680,7 @@ return e && e.forEach(function(e) {
e.state && e.state.running && t++;
}), t;
}, e.$on("$destroy", function() {
-i.unwatchAll(p), m(), $(window).off("resize.terminalsize");
+i.unwatchAll(m), p(), $(window).off("resize.terminalsize");
});
}));
} ]), angular.module("openshiftConsole").controller("OverviewController", [ "$scope", "$filter", "$routeParams", "AlertMessageService", "APIService", "AppsService", "BuildsService", "CatalogService", "Constants", "DataService", "DeploymentsService", "HPAService", "HTMLService", "ImageStreamResolver", "KeywordService", "LabelFilter", "Logger", "MetricsService", "Navigate", "OwnerReferencesService", "PodsService", "ProjectsService", "BindingService", "ResourceAlertsService", "RoutesService", OverviewController ]), angular.module("openshiftConsole").controller("QuotaController", [ "$filter", "$routeParams", "$scope", "DataService", "ProjectsService", "Logger", function(e, t, n, a, r, o) {
@@ -4665,7 +4735,7 @@ a[t] = a[t] || {}, a[t].maxLimitRequestRatio = e;
a.unwatchAll(i);
});
}));
-} ]), angular.module("openshiftConsole").controller("MonitoringController", [ "$routeParams", "$location", "$scope", "$filter", "BuildsService", "DataService", "ImageStreamResolver", "KeywordService", "Logger", "MetricsService", "Navigate", "PodsService", "ProjectsService", "$rootScope", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p) {
+} ]), angular.module("openshiftConsole").controller("MonitoringController", [ "$routeParams", "$location", "$scope", "$filter", "BuildsService", "DataService", "ImageStreamResolver", "KeywordService", "Logger", "MetricsService", "Navigate", "PodsService", "ProjectsService", "$rootScope", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m) {
n.projectName = e.project, n.alerts = n.alerts || {}, n.renderOptions = n.renderOptions || {}, n.renderOptions.showEventsSidebar = !0, n.renderOptions.collapseEventsSidebar = "true" === localStorage.getItem("monitoring.eventsidebar.collapsed");
var f = [];
n.kinds = [ {
@@ -4726,9 +4796,9 @@ var t = a("annotation")(e, "deploymentVersion");
t && (n.logOptions.replicationControllers[e.metadata.name].version = t), n.logCanRun.replicationControllers[e.metadata.name] = !_.includes([ "New", "Pending" ], a("deploymentStatus")(e));
}, R = function(e) {
n.logOptions.builds[e.metadata.name] = {}, n.logCanRun.builds[e.metadata.name] = !_.includes([ "New", "Pending", "Error" ], e.status.phase);
-}, T = function() {
-n.filteredStatefulSets = s.filterForKeywords(_.values(n.statefulSets), S, w);
}, I = function() {
+n.filteredStatefulSets = s.filterForKeywords(_.values(n.statefulSets), S, w);
+}, T = function() {
b = _.filter(n.pods, function(e) {
return !n.filters.hideOlderResources || "Succeeded" !== e.status.phase && "Failed" !== e.status.phase;
}), n.filteredPods = s.filterForKeywords(b, S, w);
@@ -4755,50 +4825,50 @@ if (!o || !o.closest("a", t).length) {
var i, s;
switch (r.kind) {
case "Build":
-i = !n.expanded.builds[r.metadata.name], n.expanded.builds[r.metadata.name] = i, s = i ? "event.resource.highlight" : "event.resource.clear-highlight", p.$emit(s, r);
+i = !n.expanded.builds[r.metadata.name], n.expanded.builds[r.metadata.name] = i, s = i ? "event.resource.highlight" : "event.resource.clear-highlight", m.$emit(s, r);
var c = _.get(n.podsByName, a("annotation")(r, "buildPod"));
-c && p.$emit(s, c);
+c && m.$emit(s, c);
break;
case "ReplicationController":
-i = !n.expanded.replicationControllers[r.metadata.name], n.expanded.replicationControllers[r.metadata.name] = i, s = i ? "event.resource.highlight" : "event.resource.clear-highlight", p.$emit(s, r);
+i = !n.expanded.replicationControllers[r.metadata.name], n.expanded.replicationControllers[r.metadata.name] = i, s = i ? "event.resource.highlight" : "event.resource.clear-highlight", m.$emit(s, r);
var l = a("annotation")(r, "deployerPod");
-l && p.$emit(s, {
+l && m.$emit(s, {
kind: "Pod",
metadata: {
name: l
}
}), _.each(n.podsByOwnerUID[r.metadata.uid], function(e) {
-p.$emit(s, e);
+m.$emit(s, e);
});
break;
case "ReplicaSet":
-i = !n.expanded.replicaSets[r.metadata.name], n.expanded.replicaSets[r.metadata.name] = i, s = i ? "event.resource.highlight" : "event.resource.clear-highlight", p.$emit(s, r), _.each(n.podsByOwnerUID[r.metadata.uid], function(e) {
-p.$emit(s, e);
+i = !n.expanded.replicaSets[r.metadata.name], n.expanded.replicaSets[r.metadata.name] = i, s = i ? "event.resource.highlight" : "event.resource.clear-highlight", m.$emit(s, r), _.each(n.podsByOwnerUID[r.metadata.uid], function(e) {
+m.$emit(s, e);
});
break;
case "Pod":
-i = !n.expanded.pods[r.metadata.name], n.expanded.pods[r.metadata.name] = i, s = i ? "event.resource.highlight" : "event.resource.clear-highlight", p.$emit(s, r);
+i = !n.expanded.pods[r.metadata.name], n.expanded.pods[r.metadata.name] = i, s = i ? "event.resource.highlight" : "event.resource.clear-highlight", m.$emit(s, r);
break;
case "StatefulSet":
-i = !n.expanded.statefulSets[r.metadata.name], n.expanded.statefulSets[r.metadata.name] = i, s = i ? "event.resource.highlight" : "event.resource.clear-highlight", p.$emit(s, r);
+i = !n.expanded.statefulSets[r.metadata.name], n.expanded.statefulSets[r.metadata.name] = i, s = i ? "event.resource.highlight" : "event.resource.clear-highlight", m.$emit(s, r);
}
}
}, n.viewPodsForSet = function(e) {
var t = _.get(n, [ "podsByOwnerUID", e.metadata.uid ], []);
_.isEmpty(t) || u.toPodsForDeployment(e, t);
-}, m.get(e.project).then(_.spread(function(e, a) {
+}, p.get(e.project).then(_.spread(function(e, a) {
n.project = e, n.projectContext = a, o.watch("pods", a, function(e) {
-n.podsByName = e.by("metadata.name"), n.pods = C(n.podsByName, !0), n.podsByOwnerUID = d.groupByOwnerUID(n.pods), n.podsLoaded = !0, _.each(n.pods, j), I(), c.log("pods", n.pods);
+n.podsByName = e.by("metadata.name"), n.pods = C(n.podsByName, !0), n.podsByOwnerUID = d.groupByOwnerUID(n.pods), n.podsLoaded = !0, _.each(n.pods, j), T(), c.log("pods", n.pods);
}), o.watch({
resource: "statefulsets",
group: "apps",
version: "v1beta1"
}, a, function(e) {
-n.statefulSets = e.by("metadata.name"), n.statefulSetsLoaded = !0, T(), c.log("statefulSets", n.statefulSets);
+n.statefulSets = e.by("metadata.name"), n.statefulSetsLoaded = !0, I(), c.log("statefulSets", n.statefulSets);
}), o.watch("replicationcontrollers", a, function(e) {
n.replicationControllers = C(e.by("metadata.name"), !0), n.replicationControllersLoaded = !0, _.each(n.replicationControllers, P), U(), c.log("replicationcontrollers", n.replicationControllers);
}), o.watch("builds", a, function(e) {
@@ -4811,7 +4881,7 @@ n.replicaSets = C(e.by("metadata.name"), !0), n.replicaSetsLoaded = !0, O(), c.l
}), n.$on("$destroy", function() {
o.unwatchAll(f);
}), n.$watch("filters.hideOlderResources", function() {
-I(), A(), U(), O(), T();
+T(), A(), U(), O(), I();
var e = t.search();
e.hideOlderResources = n.filters.hideOlderResources ? "true" : "false", t.replace().search(e);
}), n.$watch("kindSelector.selected.kind", function() {
@@ -4822,10 +4892,10 @@ n.filterKeywords = w = s.generateKeywords(n.filters.text), n.$apply(k);
}, 50, {
maxWait: 250
})), n.$watch("renderOptions.collapseEventsSidebar", function(e, t) {
-e !== t && (localStorage.setItem("monitoring.eventsidebar.collapsed", n.renderOptions.collapseEventsSidebar ? "true" : "false"), p.$emit("metrics.charts.resize"));
+e !== t && (localStorage.setItem("monitoring.eventsidebar.collapsed", n.renderOptions.collapseEventsSidebar ? "true" : "false"), m.$emit("metrics.charts.resize"));
});
}));
-} ]), angular.module("openshiftConsole").controller("MembershipController", [ "$filter", "$location", "$routeParams", "$scope", "$timeout", "$uibModal", "AuthService", "AuthorizationService", "DataService", "ProjectsService", "MembershipService", "NotificationsService", "RoleBindingsService", "RolesService", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p) {
+} ]), angular.module("openshiftConsole").controller("MembershipController", [ "$filter", "$location", "$routeParams", "$scope", "$timeout", "$uibModal", "AuthService", "AuthorizationService", "DataService", "ProjectsService", "MembershipService", "NotificationsService", "RoleBindingsService", "RolesService", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m) {
var f, g = n.project, h = e("humanizeKind"), v = e("annotation"), y = e("canI"), b = [], C = {
notice: {
yourLastRole: _.template('Removing the role "<%= roleName %>" may completely remove your ability to see this project.')
@@ -4882,7 +4952,7 @@ subjectKindsForUI: u.mapRolebindingsForUI(e.by("metadata.name"), b)
e && (a.roleBindings[e.metadata.name] = e, a.subjectKindsForUI = u.mapRolebindingsForUI(a.roleBindings, b)), w();
});
}, P = function(t, n) {
-a.disableAddForm = !0, m.create(t, n, g, f).then(function() {
+a.disableAddForm = !0, p.create(t, n, g, f).then(function() {
j(), S("success", C.update.subject.success({
roleName: t.metadata.name,
subjectName: n.name
@@ -4896,7 +4966,7 @@ httpErr: e("getErrorDetails")(a)
}));
});
}, R = function(t, n, r) {
-a.disableAddForm = !0, m.addSubject(t, n, r, f).then(function() {
+a.disableAddForm = !0, p.addSubject(t, n, r, f).then(function() {
j(), S("success", C.update.subject.success({
roleName: t.roleRef.name,
subjectName: n.name
@@ -4909,14 +4979,14 @@ subjectName: n.name
httpErr: e("getErrorDetails")(a)
}));
});
-}, T = {};
-n.tab && (T[n.tab] = !0);
-var I = u.getSubjectKinds();
+}, I = {};
+n.tab && (I[n.tab] = !0);
+var T = u.getSubjectKinds();
angular.extend(a, {
-selectedTab: T,
+selectedTab: I,
projectName: g,
forms: {},
-subjectKinds: I,
+subjectKinds: T,
newBinding: {
role: "",
kind: n.tab || "User",
@@ -4992,7 +5062,7 @@ e && !_.includes(a.projects, e) ? a.projects = [ e ].concat(t) : a.projects = t;
}), l.get(n.project).then(_.spread(function(n, r) {
f = r, j(), k(f), angular.extend(a, {
project: n,
-subjectKinds: I,
+subjectKinds: T,
canUpdateRolebindings: y("rolebindings", "update", g),
confirmRemove: function(n, r, i) {
var c = null, l = E(n, r, i, a.user.metadata.name);
@@ -5006,7 +5076,7 @@ return l;
}
}
}).result.then(function() {
-m.removeSubject(n, i, a.roleBindings, f).then(function(e) {
+p.removeSubject(n, i, a.roleBindings, f).then(function(e) {
c ? t.url("./") : (s.getProjectRules(g, !0).then(function() {
j(e[0]);
var t = y("rolebindings", "update", g);
@@ -5046,7 +5116,7 @@ roleName: n.metadata.name,
subjectName: e
})) : i ? R(i, o, r) : P(n, o);
}
-}), p.listAllRoles(f, {
+}), m.listAllRoles(f, {
errorNotification: !1
}).then(function(e) {
b = u.mapRolesForUI(_.head(e).by("metadata.name"), _.last(e).by("metadata.name"));
@@ -5083,12 +5153,12 @@ if (l(e)) return !1;
var t = r.getLabelSelector();
return !!t.isEmpty() || t.matches(e);
}
-function m() {
+function p() {
t.latestByConfig = s.latestBuildByConfig(t.builds, c), t.buildsNoConfig = _.pickBy(t.builds, d), angular.forEach(t.buildConfigs, function(e, n) {
t.latestByConfig[n] = t.latestByConfig[n] || null;
});
}
-function p() {
+function m() {
var e = _.omitBy(t.latestByConfig, _.isNull);
!r.getLabelSelector().isEmpty() && _.isEmpty(t.buildConfigs) && _.isEmpty(e) ? t.alerts.builds = {
type: "warning",
@@ -5098,12 +5168,12 @@ details: "The active filters are hiding all builds."
t.project = e;
var f = a("isJenkinsPipelineStrategy");
u.push(n.watch("builds", i, function(e) {
-t.builds = _.omitBy(e.by("metadata.name"), f), t.emptyMessage = "No builds to show", m(), r.addLabelSuggestionsFromResources(t.builds, t.labelSuggestions), o.log("builds (subscribe)", t.builds);
+t.builds = _.omitBy(e.by("metadata.name"), f), t.emptyMessage = "No builds to show", p(), r.addLabelSuggestionsFromResources(t.builds, t.labelSuggestions), o.log("builds (subscribe)", t.builds);
})), u.push(n.watch("buildconfigs", i, function(e) {
-t.unfilteredBuildConfigs = _.omitBy(e.by("metadata.name"), f), r.addLabelSuggestionsFromResources(t.unfilteredBuildConfigs, t.labelSuggestions), r.setLabelSuggestions(t.labelSuggestions), t.buildConfigs = r.getLabelSelector().select(t.unfilteredBuildConfigs), m(), p(), o.log("buildconfigs (subscribe)", t.buildConfigs);
+t.unfilteredBuildConfigs = _.omitBy(e.by("metadata.name"), f), r.addLabelSuggestionsFromResources(t.unfilteredBuildConfigs, t.labelSuggestions), r.setLabelSuggestions(t.labelSuggestions), t.buildConfigs = r.getLabelSelector().select(t.unfilteredBuildConfigs), p(), m(), o.log("buildconfigs (subscribe)", t.buildConfigs);
})), r.onActiveFiltersChanged(function(e) {
t.$apply(function() {
-t.buildConfigs = e.select(t.unfilteredBuildConfigs), m(), p();
+t.buildConfigs = e.select(t.unfilteredBuildConfigs), p(), m();
});
}), t.$on("$destroy", function() {
n.unwatchAll(u);
@@ -5114,7 +5184,7 @@ n.projectName = t.project, n.alerts = n.alerts || {}, n.buildConfigs = {};
var l = [];
c.get(t.project).then(_.spread(function(t, s) {
n.project = t;
-var c = {}, u = e("buildConfigForBuild"), d = e("isIncompleteBuild"), m = e("isJenkinsPipelineStrategy"), p = e("isNewerResource"), f = function(e, t) {
+var c = {}, u = e("buildConfigForBuild"), d = e("isIncompleteBuild"), p = e("isJenkinsPipelineStrategy"), m = e("isNewerResource"), f = function(e, t) {
if (!d(t)) {
n.statsByConfig[e] || (n.statsByConfig[e] = {
count: 0,
@@ -5126,9 +5196,9 @@ a.count++, a.totalDuration += o.getDuration(t), a.avgDuration = _.round(a.totalD
}, g = function() {
var e = {}, t = {};
n.statsByConfig = {}, _.each(c, function(a) {
-if (m(a)) {
+if (p(a)) {
var r = u(a) || "";
-n.buildConfigs[r] || (n.buildConfigs[r] = null), d(a) ? _.set(e, [ r, a.metadata.name ], a) : p(a, t[r]) && (t[r] = a), f(r, a);
+n.buildConfigs[r] || (n.buildConfigs[r] = null), d(a) ? _.set(e, [ r, a.metadata.name ], a) : m(a, t[r]) && (t[r] = a), f(r, a);
}
}), _.each(t, function(t, n) {
_.set(e, [ n, t.metadata.name ], t);
@@ -5139,7 +5209,7 @@ n.buildsLoaded = !0, c = e.by("metadata.name"), g();
}));
var h = !1;
l.push(i.watch("buildconfigs", s, function(e) {
-if (n.buildConfigsLoaded = !0, n.buildConfigs = _.pickBy(e.by("metadata.name"), m), _.isEmpty(n.buildConfigs) && !h && (h = !0, a.SAMPLE_PIPELINE_TEMPLATE)) {
+if (n.buildConfigsLoaded = !0, n.buildConfigs = _.pickBy(e.by("metadata.name"), p), _.isEmpty(n.buildConfigs) && !h && (h = !0, a.SAMPLE_PIPELINE_TEMPLATE)) {
var t = a.SAMPLE_PIPELINE_TEMPLATE.name, o = a.SAMPLE_PIPELINE_TEMPLATE.namespace;
i.get("templates", t, {
namespace: o
@@ -5169,13 +5239,13 @@ title: n.buildconfig
var t = e.getSession();
t.setOption("tabSize", 2), t.setOption("useSoftTabs", !0), e.$blockScrolling = 1 / 0;
};
-var m, p = t("buildConfigForBuild"), f = t("buildStrategy"), g = [], h = function(t) {
+var p, m = t("buildConfigForBuild"), f = t("buildStrategy"), g = [], h = function(t) {
e.updatedBuildConfig = angular.copy(t), e.envVars = f(e.updatedBuildConfig).env || [];
};
e.compareTriggers = function(e, t) {
return _.isNumber(e.value) ? -1 : "ConfigChange" === e.value ? -1 : "ConfigChange" === t.value ? 1 : "ImageChange" === e.value ? -1 : "ImageChange" === t.value ? 1 : e.value.localeCompare(t.value);
}, e.saveEnvVars = function() {
-l.hideNotification("save-bc-env-error"), e.envVars = _.filter(e.envVars, "name"), f(e.updatedBuildConfig).env = d.compactEntries(angular.copy(e.envVars)), i.update("buildconfigs", n.buildconfig, e.updatedBuildConfig, m).then(function() {
+l.hideNotification("save-bc-env-error"), e.envVars = _.filter(e.envVars, "name"), f(e.updatedBuildConfig).env = d.compactEntries(angular.copy(e.envVars)), i.update("buildconfigs", n.buildconfig, e.updatedBuildConfig, p).then(function() {
l.addNotification({
type: "success",
message: "Environment variables for build config " + e.buildConfigName + " were successfully updated."
@@ -5225,7 +5295,7 @@ type: "warning",
details: "The active filters are hiding all builds."
};
}
-e.project = a, m = o, i.get("buildconfigs", n.buildconfig, o, {
+e.project = a, p = o, i.get("buildconfigs", n.buildconfig, o, {
errorNotification: !1
}).then(function(e) {
y(e), g.push(i.watchObject("buildconfigs", n.buildconfig, o, y));
@@ -5237,7 +5307,7 @@ details: 404 === n.status ? "Any remaining build history for this build will be
};
}), g.push(i.watch("builds", o, function(t, a, o) {
if (e.emptyMessage = "No builds to show", a) {
-if (p(o) === n.buildconfig) {
+if (m(o) === n.buildconfig) {
var i = o.metadata.name;
switch (a) {
case "ADDED":
@@ -5292,15 +5362,15 @@ title: n.build
});
var c, l = t("annotation"), u = [], d = function(t) {
e.logCanRun = !_.includes([ "New", "Pending", "Error" ], t.status.phase);
-}, m = function() {
+}, p = function() {
e.buildConfig ? e.canBuild = a.canBuild(e.buildConfig) : e.canBuild = !1;
};
s.get(n.project).then(_.spread(function(i, s) {
e.project = i, e.projectContext = s, e.logOptions = {};
-var p = function() {
+var m = function() {
e.eventObjects = c ? [ e.build, c ] : [ e.build ];
}, f = function(t, n) {
-e.loaded = !0, e.build = t, d(t), p();
+e.loaded = !0, e.build = t, d(t), m();
var a = l(t, "buildNumber");
a && (e.breadcrumbs[2].title = "#" + a), "DELETED" === n && (e.alerts.deleted = {
type: "warning",
@@ -5310,13 +5380,13 @@ var o;
c || (o = l(t, "buildPod")) && r.get("pods", o, s, {
errorNotification: !1
}).then(function(e) {
-c = e, p();
+c = e, m();
});
}, g = function(t, n) {
"DELETED" === n && (e.alerts.deleted = {
type: "warning",
message: "Build configuration " + e.buildConfigName + " has been deleted."
-}, e.buildConfigDeleted = !0), e.buildConfig = t, e.buildConfigPaused = a.isPaused(e.buildConfig), m();
+}, e.buildConfigDeleted = !0), e.buildConfig = t, e.buildConfigPaused = a.isPaused(e.buildConfig), p();
};
r.get("builds", n.build, s, {
errorNotification: !1
@@ -5460,11 +5530,11 @@ return t && (n += "/" + t.name), n;
};
} ]), angular.module("openshiftConsole").controller("DeploymentsController", [ "$scope", "$filter", "$routeParams", "DataService", "DeploymentsService", "LabelFilter", "Logger", "OwnerReferencesService", "ProjectsService", function(e, t, n, a, r, o, i, s, c) {
e.projectName = n.project, e.replicationControllers = {}, e.unfilteredDeploymentConfigs = {}, e.unfilteredDeployments = {}, e.replicationControllersByDC = {}, e.labelSuggestions = {}, e.alerts = e.alerts || {}, e.emptyMessage = "Loading...", e.expandedDeploymentConfigRow = {}, e.unfilteredReplicaSets = {}, e.unfilteredReplicationControllers = {};
-var l, u, d = t("annotation"), m = function() {
+var l, u, d = t("annotation"), p = function() {
l && u && (e.replicaSetsByDeploymentUID = s.groupByControllerUID(l), e.unfilteredReplicaSets = _.get(e, [ "replicaSetsByDeploymentUID", "" ], {}), o.addLabelSuggestionsFromResources(e.unfilteredReplicaSets, e.labelSuggestions), o.setLabelSuggestions(e.labelSuggestions), e.replicaSets = o.getLabelSelector().select(e.unfilteredReplicaSets), e.latestReplicaSetByDeploymentUID = {}, _.each(e.replicaSetsByDeploymentUID, function(t, n) {
n && (e.latestReplicaSetByDeploymentUID[n] = r.getActiveReplicaSet(t, u[n]));
}));
-}, p = [];
+}, m = [];
c.get(n.project).then(_.spread(function(n, s) {
function c() {
o.getLabelSelector().isEmpty() ? delete e.alerts.deployments : _.isEmpty(e.unfilteredDeploymentConfigs) && _.isEmpty(e.unfilteredReplicationControllers) && _.isEmpty(e.unfilteredDeployments) && _.isEmpty(e.unfilteredReplicaSets) ? delete e.alerts.deployments : _.isEmpty(e.deploymentConfigs) && _.isEmpty(e.replicationControllersByDC[""]) && _.isEmpty(e.deployments) && _.isEmpty(e.replicaSets) ? e.alerts.deployments = {
@@ -5472,30 +5542,30 @@ type: "warning",
details: "The active filters are hiding all deployments."
} : delete e.alerts.deployments;
}
-e.project = n, p.push(a.watch("replicationcontrollers", s, function(n, a, s) {
+e.project = n, m.push(a.watch("replicationcontrollers", s, function(n, a, s) {
e.replicationControllers = n.by("metadata.name");
var l, u;
if (s && (l = d(s, "deploymentConfig"), u = s.metadata.name), e.replicationControllersByDC = r.associateDeploymentsToDeploymentConfig(e.replicationControllers, e.deploymentConfigs, !0), e.replicationControllersByDC[""] && (e.unfilteredReplicationControllers = e.replicationControllersByDC[""], o.addLabelSuggestionsFromResources(e.unfilteredReplicationControllers, e.labelSuggestions), o.setLabelSuggestions(e.labelSuggestions), e.replicationControllersByDC[""] = o.getLabelSelector().select(e.replicationControllersByDC[""])), c(), a) {
if ("ADDED" === a || "MODIFIED" === a && [ "New", "Pending", "Running" ].indexOf(t("deploymentStatus")(s)) > -1) e.deploymentConfigDeploymentsInProgress[l] = e.deploymentConfigDeploymentsInProgress[l] || {}, e.deploymentConfigDeploymentsInProgress[l][u] = s; else if ("MODIFIED" === a) {
-var m = t("deploymentStatus")(s);
-"Complete" !== m && "Failed" !== m || delete e.deploymentConfigDeploymentsInProgress[l][u];
+var p = t("deploymentStatus")(s);
+"Complete" !== p && "Failed" !== p || delete e.deploymentConfigDeploymentsInProgress[l][u];
}
} else e.deploymentConfigDeploymentsInProgress = r.associateRunningDeploymentToDeploymentConfig(e.replicationControllersByDC);
s ? "DELETED" !== a && (s.causes = t("deploymentCauses")(s)) : angular.forEach(e.replicationControllers, function(e) {
e.causes = t("deploymentCauses")(e);
}), i.log("replicationControllers (subscribe)", e.replicationControllers);
-})), p.push(a.watch({
+})), m.push(a.watch({
group: "extensions",
resource: "replicasets"
}, s, function(t) {
-l = t.by("metadata.name"), m(), i.log("replicasets (subscribe)", e.replicaSets);
-})), p.push(a.watch("deploymentconfigs", s, function(t) {
+l = t.by("metadata.name"), p(), i.log("replicasets (subscribe)", e.replicaSets);
+})), m.push(a.watch("deploymentconfigs", s, function(t) {
e.unfilteredDeploymentConfigs = t.by("metadata.name"), o.addLabelSuggestionsFromResources(e.unfilteredDeploymentConfigs, e.labelSuggestions), o.setLabelSuggestions(e.labelSuggestions), e.deploymentConfigs = o.getLabelSelector().select(e.unfilteredDeploymentConfigs), e.emptyMessage = "No deployment configurations to show", e.replicationControllersByDC = r.associateDeploymentsToDeploymentConfig(e.replicationControllers, e.deploymentConfigs, !0), e.replicationControllersByDC[""] && (e.unfilteredReplicationControllers = e.replicationControllersByDC[""], e.replicationControllersByDC[""] = o.getLabelSelector().select(e.replicationControllersByDC[""])), c(), i.log("deploymentconfigs (subscribe)", e.deploymentConfigs);
-})), p.push(a.watch({
+})), m.push(a.watch({
group: "apps",
resource: "deployments"
}, s, function(t) {
-u = e.unfilteredDeployments = t.by("metadata.uid"), o.addLabelSuggestionsFromResources(e.unfilteredDeployments, e.labelSuggestions), o.setLabelSuggestions(e.labelSuggestions), e.deployments = o.getLabelSelector().select(e.unfilteredDeployments), m(), i.log("deployments (subscribe)", e.unfilteredDeployments);
+u = e.unfilteredDeployments = t.by("metadata.uid"), o.addLabelSuggestionsFromResources(e.unfilteredDeployments, e.labelSuggestions), o.setLabelSuggestions(e.labelSuggestions), e.deployments = o.getLabelSelector().select(e.unfilteredDeployments), p(), i.log("deployments (subscribe)", e.unfilteredDeployments);
})), e.showEmptyMessage = function() {
return 0 === t("hashSize")(e.replicationControllersByDC) || !(1 !== t("hashSize")(e.replicationControllersByDC) || !e.replicationControllersByDC[""]);
}, o.onActiveFiltersChanged(function(t) {
@@ -5503,10 +5573,10 @@ e.$apply(function() {
e.deploymentConfigs = t.select(e.unfilteredDeploymentConfigs), e.replicationControllersByDC = r.associateDeploymentsToDeploymentConfig(e.replicationControllers, e.deploymentConfigs, !0), e.replicationControllersByDC[""] && (e.unfilteredReplicationControllers = e.replicationControllersByDC[""], e.replicationControllersByDC[""] = o.getLabelSelector().select(e.replicationControllersByDC[""])), e.deployments = t.select(e.unfilteredDeployments), e.replicaSets = t.select(e.unfilteredReplicaSets), c();
});
}), e.$on("$destroy", function() {
-a.unwatchAll(p);
+a.unwatchAll(m);
});
}));
-} ]), angular.module("openshiftConsole").controller("DeploymentController", [ "$scope", "$filter", "$routeParams", "DataService", "DeploymentsService", "HPAService", "ImageStreamResolver", "LabelFilter", "Logger", "ModalsService", "Navigate", "OwnerReferencesService", "ProjectsService", "StorageService", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p) {
+} ]), angular.module("openshiftConsole").controller("DeploymentController", [ "$scope", "$filter", "$routeParams", "DataService", "DeploymentsService", "HPAService", "ImageStreamResolver", "LabelFilter", "Logger", "ModalsService", "Navigate", "OwnerReferencesService", "ProjectsService", "StorageService", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m) {
var f = {};
e.projectName = n.project, e.name = n.deployment, e.replicaSetsForDeployment = {}, e.unfilteredReplicaSetsForDeployment = {}, e.labelSuggestions = {}, e.emptyMessage = "Loading...", e.forms = {}, e.alerts = {}, e.imagesByDockerReference = {}, e.breadcrumbs = [ {
title: "Deployments",
@@ -5515,14 +5585,14 @@ link: "project/" + n.project + "/browse/deployments"
title: n.deployment
} ], e.healthCheckURL = u.healthCheckURL(n.project, "Deployment", n.deployment, "apps");
var g = [];
-m.get(n.project).then(_.spread(function(u, m) {
+p.get(n.project).then(_.spread(function(u, p) {
function h() {
s.getLabelSelector().isEmpty() || !_.isEmpty(e.replicaSetsForDeployment) || _.isEmpty(e.unfilteredReplicaSetsForDeployment) ? delete e.alerts["filter-hiding-all"] : e.alerts["filter-hiding-all"] = {
type: "warning",
details: "The active filters are hiding all rollout history."
};
}
-e.project = u, e.projectContext = m;
+e.project = u, e.projectContext = p;
var v = {}, y = function() {
o.getHPAWarnings(e.deployment, e.autoscalers, v, u).then(function(t) {
e.hpaWarnings = t;
@@ -5531,21 +5601,21 @@ e.hpaWarnings = t;
a.get({
group: "apps",
resource: "deployments"
-}, n.deployment, m, {
+}, n.deployment, p, {
errorNotification: !1
}).then(function(t) {
e.loaded = !0, e.deployment = t, y(), g.push(a.watchObject({
group: "apps",
resource: "deployments"
-}, n.deployment, m, function(t, n) {
+}, n.deployment, p, function(t, n) {
"DELETED" === n && (e.alerts.deleted = {
type: "warning",
message: "This deployment has been deleted."
-}), e.deployment = t, e.updatingPausedState = !1, y(), i.fetchReferencedImageStreamImages([ t.spec.template ], e.imagesByDockerReference, f, m);
+}), e.deployment = t, e.updatingPausedState = !1, y(), i.fetchReferencedImageStreamImages([ t.spec.template ], e.imagesByDockerReference, f, p);
})), g.push(a.watch({
group: "extensions",
resource: "replicasets"
-}, m, function(n) {
+}, p, function(n) {
e.emptyMessage = "No deployments to show";
var a = n.by("metadata.name");
a = d.filterForController(a, t), e.inProgressDeployment = _.chain(a).filter("status.replicas").length > 1, e.unfilteredReplicaSetsForDeployment = r.sortByRevision(a), e.replicaSetsForDeployment = s.getLabelSelector().select(e.unfilteredReplicaSetsForDeployment), h(), s.addLabelSuggestionsFromResources(e.unfilteredReplicaSetsForDeployment, e.labelSuggestions), s.setLabelSuggestions(e.labelSuggestions);
@@ -5556,18 +5626,18 @@ type: "error",
message: 404 === n.status ? "This deployment can not be found, it may have been deleted." : "The deployment details could not be loaded.",
details: t("getErrorDetails")(n)
};
-}), a.list("limitranges", m).then(function(e) {
+}), a.list("limitranges", p).then(function(e) {
v = e.by("metadata.name"), y();
-}), g.push(a.watch("imagestreams", m, function(t) {
+}), g.push(a.watch("imagestreams", p, function(t) {
var n = t.by("metadata.name");
-i.buildDockerRefMapForImageStreams(n, f), e.deployment && i.fetchReferencedImageStreamImages([ e.deployment.spec.template ], e.imagesByDockerReference, f, m), c.log("imagestreams (subscribe)", e.imageStreams);
+i.buildDockerRefMapForImageStreams(n, f), e.deployment && i.fetchReferencedImageStreamImages([ e.deployment.spec.template ], e.imagesByDockerReference, f, p), c.log("imagestreams (subscribe)", e.imageStreams);
})), g.push(a.watch({
group: "autoscaling",
resource: "horizontalpodautoscalers",
version: "v1"
-}, m, function(t) {
+}, p, function(t) {
e.autoscalers = o.filterHPA(t.by("metadata.name"), "Deployment", n.deployment), y();
-})), g.push(a.watch("builds", m, function(t) {
+})), g.push(a.watch("builds", p, function(t) {
e.builds = t.by("metadata.name"), c.log("builds (subscribe)", e.builds);
})), s.onActiveFiltersChanged(function(t) {
e.$evalAsync(function() {
@@ -5582,7 +5652,7 @@ details: t("getErrorDetails")(n)
};
});
}, e.setPaused = function(n) {
-e.updatingPausedState = !0, r.setPaused(e.deployment, n, m).then(_.noop, function(a) {
+e.updatingPausedState = !0, r.setPaused(e.deployment, n, p).then(_.noop, function(a) {
e.updatingPausedState = !1, e.alerts = e.alerts || {}, e.alerts.scale = {
type: "error",
message: "An error occurred " + (n ? "pausing" : "resuming") + " the deployment.",
@@ -5599,13 +5669,13 @@ okButtonText: "Remove",
okButtonClass: "btn-danger",
cancelButtonText: "Cancel"
}).then(function() {
-p.removeVolume(e.deployment, t, m);
+m.removeVolume(e.deployment, t, p);
});
}, e.$on("$destroy", function() {
a.unwatchAll(g);
});
}));
-} ]), angular.module("openshiftConsole").controller("DeploymentConfigController", [ "$scope", "$filter", "$routeParams", "BreadcrumbsService", "DataService", "DeploymentsService", "HPAService", "ImageStreamResolver", "ModalsService", "Navigate", "NotificationsService", "Logger", "ProjectsService", "StorageService", "LabelFilter", "labelNameFilter", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p, f, g) {
+} ]), angular.module("openshiftConsole").controller("DeploymentConfigController", [ "$scope", "$filter", "$routeParams", "BreadcrumbsService", "DataService", "DeploymentsService", "HPAService", "ImageStreamResolver", "ModalsService", "Navigate", "NotificationsService", "Logger", "ProjectsService", "StorageService", "LabelFilter", "labelNameFilter", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m, f, g) {
var h = {};
e.projectName = n.project, e.deploymentConfigName = n.deploymentconfig, e.deploymentConfig = null, e.deployments = {}, e.unfilteredDeployments = {}, e.imagesByDockerReference = {}, e.builds = {}, e.labelSuggestions = {}, e.forms = {}, e.alerts = {}, e.breadcrumbs = a.getBreadcrumbs({
name: n.deploymentconfig,
@@ -5613,7 +5683,7 @@ kind: "DeploymentConfig",
namespace: n.project
}), e.emptyMessage = "Loading...", e.healthCheckURL = l.healthCheckURL(n.project, "DeploymentConfig", n.deploymentconfig);
var v = t("mostRecent"), y = t("orderObjectsByDate"), b = [];
-m.get(n.project).then(_.spread(function(a, l) {
+p.get(n.project).then(_.spread(function(a, l) {
function u() {
f.getLabelSelector().isEmpty() || !$.isEmptyObject(e.deployments) || $.isEmptyObject(e.unfilteredDeployments) ? delete e.alerts.deployments : e.alerts.deployments = {
type: "warning",
@@ -5621,8 +5691,8 @@ details: "The active filters are hiding all deployments."
};
}
e.project = a, e.projectContext = l;
-var m = {}, C = function() {
-i.getHPAWarnings(e.deploymentConfig, e.autoscalers, m, a).then(function(t) {
+var p = {}, C = function() {
+i.getHPAWarnings(e.deploymentConfig, e.autoscalers, p, a).then(function(t) {
e.hpaWarnings = t;
});
};
@@ -5670,7 +5740,7 @@ labelSelector: g("deploymentConfig") + "=" + e.deploymentConfigName
}
}
})), r.list("limitranges", l).then(function(e) {
-m = e.by("metadata.name"), C();
+p = e.by("metadata.name"), C();
}), b.push(r.watch("imagestreams", l, function(t) {
var n = t.by("metadata.name");
s.buildDockerRefMapForImageStreams(n, h), e.deploymentConfig && s.fetchReferencedImageStreamImages([ e.deploymentConfig.spec.template ], e.imagesByDockerReference, h, l), d.log("imagestreams (subscribe)", e.imageStreams);
@@ -5724,24 +5794,24 @@ okButtonText: "Remove",
okButtonClass: "btn-danger",
cancelButtonText: "Cancel"
}).then(function() {
-p.removeVolume(e.deploymentConfig, t, l);
+m.removeVolume(e.deploymentConfig, t, l);
});
}, e.$on("$destroy", function() {
r.unwatchAll(b);
});
}));
-} ]), angular.module("openshiftConsole").controller("ReplicaSetController", [ "$scope", "$filter", "$routeParams", "AuthorizationService", "BreadcrumbsService", "DataService", "DeploymentsService", "HPAService", "ImageStreamResolver", "Logger", "MetricsService", "ModalsService", "Navigate", "OwnerReferencesService", "PodsService", "ProjectsService", "StorageService", "keyValueEditorUtils", "kind", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p, f, g, h, v, y) {
+} ]), angular.module("openshiftConsole").controller("ReplicaSetController", [ "$scope", "$filter", "$routeParams", "AuthorizationService", "BreadcrumbsService", "DataService", "DeploymentsService", "HPAService", "ImageStreamResolver", "Logger", "MetricsService", "ModalsService", "Navigate", "OwnerReferencesService", "PodsService", "ProjectsService", "StorageService", "keyValueEditorUtils", "kind", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m, f, g, h, v, y) {
var b = !1, C = t("annotation"), S = t("humanizeKind")(y), w = t("hasDeployment");
switch (y) {
case "ReplicaSet":
e.resource = {
group: "extensions",
resource: "replicasets"
-}, e.healthCheckURL = m.healthCheckURL(n.project, "ReplicaSet", n.replicaSet, "extensions");
+}, e.healthCheckURL = p.healthCheckURL(n.project, "ReplicaSet", n.replicaSet, "extensions");
break;
case "ReplicationController":
-e.resource = "replicationcontrollers", e.healthCheckURL = m.healthCheckURL(n.project, "ReplicationController", n.replicaSet);
+e.resource = "replicationcontrollers", e.healthCheckURL = p.healthCheckURL(n.project, "ReplicationController", n.replicaSet);
}
var k = {};
e.projectName = n.project, e.kind = y, e.replicaSet = null, e.deploymentConfig = null, e.deploymentConfigMissing = !1, e.imagesByDockerReference = {}, e.builds = {}, e.alerts = {}, e.renderOptions = e.renderOptions || {}, e.renderOptions.hideFilterWidget = !0, e.forms = {}, e.logOptions = {};
@@ -5751,10 +5821,10 @@ e.metricsAvailable = t;
});
var P = t("deploymentStatus"), R = function(t) {
e.logCanRun = !_.includes([ "New", "Pending" ], P(t));
-}, T = t("isIE")() || t("isEdge")();
+}, I = t("isIE")() || t("isEdge")();
g.get(n.project).then(_.spread(function(u, g) {
e.project = u, e.projectContext = g;
-var v = {}, I = function() {
+var v = {}, T = function() {
if (e.hpaForRS = s.filterHPA(v, y, n.replicaSet), e.deploymentConfigName && e.isActive) {
var t = s.filterHPA(v, "DeploymentConfig", e.deploymentConfigName);
e.autoscalers = e.hpaForRS.concat(t);
@@ -5767,7 +5837,7 @@ j.push(o.watch(e.resource, g, function(t) {
var n, a = [];
angular.forEach(t.by("metadata.name"), function(t) {
(C(t, "deploymentConfig") || "") === e.deploymentConfigName && a.push(t);
-}), n = i.getActiveDeployment(a), e.isActive = n && n.metadata.uid === e.replicaSet.metadata.uid, I();
+}), n = i.getActiveDeployment(a), e.isActive = n && n.metadata.uid === e.replicaSet.metadata.uid, T();
}));
}, N = function() {
s.getHPAWarnings(e.replicaSet, e.autoscalers, e.limitRanges, u).then(function(t) {
@@ -5778,7 +5848,7 @@ var r = C(a, "deploymentConfig");
if (r) {
b = !0, e.deploymentConfigName = r;
var i = C(a, "deploymentVersion");
-i && (e.logOptions.version = i), e.healthCheckURL = m.healthCheckURL(n.project, "DeploymentConfig", r), o.get("deploymentconfigs", r, g, {
+i && (e.logOptions.version = i), e.healthCheckURL = p.healthCheckURL(n.project, "DeploymentConfig", r), o.get("deploymentconfigs", r, g, {
errorNotification: !1
}).then(function(t) {
e.deploymentConfig = t;
@@ -5795,37 +5865,37 @@ e.isActive = i.isActiveReplicaSet(e.replicaSet, e.deployment);
}, A = function(t) {
return _.some(t, function(t) {
if (_.get(t, "status.replicas") && _.get(t, "metadata.uid") !== _.get(e.replicaSet, "metadata.uid")) {
-var n = p.getControllerReferences(t);
+var n = m.getControllerReferences(t);
return _.some(n, {
uid: e.deployment.metadata.uid
});
}
});
}, B = !1, L = function() {
-var t = p.getControllerReferences(e.replicaSet), a = _.find(t, {
+var t = m.getControllerReferences(e.replicaSet), a = _.find(t, {
kind: "Deployment"
});
a && o.get({
group: "apps",
resource: "deployments"
}, a.name, g).then(function(t) {
-e.deployment = t, e.healthCheckURL = m.healthCheckURL(n.project, "Deployment", t.metadata.name, "apps"), j.push(o.watchObject({
+e.deployment = t, e.healthCheckURL = p.healthCheckURL(n.project, "Deployment", t.metadata.name, "apps"), j.push(o.watchObject({
group: "apps",
resource: "deployments"
}, t.metadata.name, g, function(t, a) {
if ("DELETED" === a) return e.alerts["deployment-deleted"] = {
type: "warning",
message: "The deployment controlling this replica set has been deleted."
-}, e.healthCheckURL = m.healthCheckURL(n.project, "ReplicaSet", n.replicaSet, "extensions"), e.deploymentMissing = !0, void delete e.deployment;
+}, e.healthCheckURL = p.healthCheckURL(n.project, "ReplicaSet", n.replicaSet, "extensions"), e.deploymentMissing = !0, void delete e.deployment;
e.deployment = t, e.breadcrumbs = r.getBreadcrumbs({
object: e.replicaSet,
displayName: "#" + i.getRevision(e.replicaSet),
parent: {
title: e.deployment.metadata.name,
-link: m.resourceURL(e.deployment)
+link: p.resourceURL(e.deployment)
},
humanizedKind: "Deployments"
-}), $(), I();
+}), $(), T();
})), j.push(o.watch({
group: "extensions",
resource: "replicasets"
@@ -5888,9 +5958,9 @@ group: "autoscaling",
resource: "horizontalpodautoscalers",
version: "v1"
}, g, function(e) {
-v = e.by("metadata.name"), I(), N();
+v = e.by("metadata.name"), T(), N();
}, {
-poll: T,
+poll: I,
pollInterval: 6e4
})), o.list("limitranges", g).then(function(t) {
e.limitRanges = t.by("metadata.name"), N();
@@ -6104,6 +6174,94 @@ e.routesForService = {}, angular.forEach(n.by("metadata.name"), function(n) {
n.unwatchAll(i);
});
}));
+} ]), angular.module("openshiftConsole").controller("ServiceInstancesController", [ "$scope", "$filter", "$routeParams", "APIService", "BindingService", "Constants", "DataService", "LabelFilter", "Logger", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l) {
+e.alerts = {}, e.bindingsByInstanceRef = {}, e.emptyMessage = "Loading...", e.labelSuggestions = {}, e.projectName = n.project, e.serviceClasses = {}, e.serviceInstances = {}, e.unfilteredServiceInstances = {};
+var u = [], d = function() {
+e.serviceInstances = s.getLabelSelector().select(e.unfilteredServiceInstances);
+}, p = function() {
+e.unfilteredServiceInstances = r.sortServiceInstances(e.unfilteredServiceInstances, e.serviceClasses);
+};
+l.get(n.project).then(_.spread(function(t, n) {
+function a() {
+s.getLabelSelector().isEmpty() || !_.isEmpty(e.serviceInstances) || _.isEmpty(e.unfilteredServiceInstances) ? delete e.alerts["all-instances-filtered"] : e.alerts["all-instances-filtered"] = {
+type: "warning",
+details: "The active filters are hiding all provisioned services."
+};
+}
+e.project = t, e.projectContext = n, u.push(i.watch({
+group: "servicecatalog.k8s.io",
+resource: "serviceinstancecredentials"
+}, n, function(t) {
+var n = t.by("metadata.name");
+e.bindingsByInstanceRef = _.groupBy(n, "spec.instanceRef.name");
+})), u.push(i.watch({
+group: "servicecatalog.k8s.io",
+resource: "serviceinstances"
+}, n, function(t) {
+e.emptyMessage = "No provisioned services to show", e.unfilteredServiceInstances = t.by("metadata.name"), p(), d(), a(), s.addLabelSuggestionsFromResources(e.unfilteredServiceInstances, e.labelSuggestions), s.setLabelSuggestions(e.labelSuggestions), c.log("provisioned services (subscribe)", e.unfilteredServiceInstances);
+})), i.list({
+group: "servicecatalog.k8s.io",
+resource: "serviceclasses"
+}, n, function(t) {
+e.serviceClasses = t.by("metadata.name"), p(), d();
+}), s.onActiveFiltersChanged(function(t) {
+e.$evalAsync(function() {
+e.serviceInstances = t.select(e.unfilteredServiceInstances), a();
+});
+}), e.$on("$destroy", function() {
+i.unwatchAll(u);
+});
+}));
+} ]), angular.module("openshiftConsole").controller("ServiceInstanceController", [ "$scope", "$filter", "$routeParams", "DataService", "ProjectsService", "ServiceInstancesService", function(e, t, n, a, r, o) {
+e.alerts = {}, e.projectName = n.project, e.serviceInstance = null, e.serviceClass = null, e.serviceClasses = null, e.breadcrumbs = [ {
+title: "Provisioned Services",
+link: "project/" + n.project + "/browse/service-instances"
+} ], e.deprovision = function() {
+o.deprovision(e.serviceInstance);
+};
+var i = [], s = function() {
+e.serviceInstance && e.serviceClasses && e.breadcrumbs.push({
+title: t("serviceInstanceDisplayName")(e.serviceInstance, e.serviceClasses)
+});
+}, c = function() {
+if (e.serviceInstance && e.serviceClasses) {
+var t = _.get(e.serviceInstance.spec, "serviceClassName");
+e.serviceClass = _.get(e.serviceClasses, [ t ]), e.plan = _.find(_.get(e.serviceClass, "plans"), {
+name: e.serviceInstance.spec.planName
+});
+}
+}, l = function(t, n) {
+e.loaded = !0, e.serviceInstance = t, "DELETED" === n && (e.alerts.deleted = {
+type: "warning",
+message: "This provisioned service has been deleted."
+}), c();
+};
+r.get(n.project).then(_.spread(function(r, o) {
+e.project = r, e.projectContext = o, a.get({
+group: "servicecatalog.k8s.io",
+resource: "serviceinstances"
+}, n.instance, o, {
+errorNotification: !1
+}).then(function(e) {
+l(e), s(), i.push(a.watchObject({
+group: "servicecatalog.k8s.io",
+resource: "serviceinstances"
+}, n.instance, o, l));
+}, function(n) {
+e.loaded = !0, e.alerts.load = {
+type: "error",
+message: "The service details could not be loaded.",
+details: t("getErrorDetails")(n)
+};
+}), a.list({
+group: "servicecatalog.k8s.io",
+resource: "serviceclasses"
+}, o, function(t) {
+e.serviceClasses = t.by("metadata.name"), c(), s();
+}), e.$on("$destroy", function() {
+a.unwatchAll(i);
+});
+}));
} ]), angular.module("openshiftConsole").controller("SecretsController", [ "$routeParams", "$scope", "DataService", "ProjectsService", function(e, t, n, a) {
t.projectName = e.project, t.secretsByType = {}, t.alerts = t.alerts || {}, a.get(e.project).then(_.spread(function(e, a) {
t.project = e, t.context = a, n.list("secrets", a).then(function(e) {
@@ -6393,7 +6551,7 @@ default:
return !0;
}
});
-var m = function(e) {
+var p = function(e) {
if (e) {
var t = l.kindToResourceGroupVersion(e), n = l.apiInfo(t);
return !n || !n.verbs || _.includes(n.verbs, "list");
@@ -6407,9 +6565,9 @@ kind: t,
group: _.get(n, "kindSelector.selected.group", "")
}).toString() : "";
};
-var p;
+var m;
n.isDuplicateKind = function(e) {
-return p || (p = _.countBy(n.kinds, "kind")), p[e] > 1;
+return m || (m = _.countBy(n.kinds, "kind")), m[e] > 1;
};
var f = function(e, t) {
return _.some(n.kinds, function(n) {
@@ -6422,7 +6580,7 @@ var t = {
resource: l.kindToResource(e.kind),
group: e.group || ""
};
-return !!m(e) && (!!a.checkResource(t.resource) && a.canI(t, "list", n.projectName));
+return !!p(e) && (!!a.checkResource(t.resource) && a.canI(t, "list", n.projectName));
}), n.project = t, n.context = r, n.kindSelector.disabled = !1, e.kind && f(e.kind, e.group) && (_.set(n, "kindSelector.selected.kind", e.kind), _.set(n, "kindSelector.selected.group", e.group || ""));
})), n.loadKind = d, n.$watch("kindSelector.selected", function() {
n.alerts = {}, d();
@@ -6463,10 +6621,10 @@ details: r("getErrorDetails")(t)
n.unwatchAll(o);
});
}));
-} ]), angular.module("openshiftConsole").controller("SetLimitsController", [ "$filter", "$location", "$parse", "$routeParams", "$scope", "APIService", "AuthorizationService", "BreadcrumbsService", "DataService", "LimitRangesService", "Navigate", "NotificationsService", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l, u, d, m) {
+} ]), angular.module("openshiftConsole").controller("SetLimitsController", [ "$filter", "$location", "$parse", "$routeParams", "$scope", "APIService", "AuthorizationService", "BreadcrumbsService", "DataService", "LimitRangesService", "Navigate", "NotificationsService", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l, u, d, p) {
if (a.kind && a.name) {
-var p = [ "Deployment", "DeploymentConfig", "ReplicaSet", "ReplicationController" ];
-if (_.includes(p, a.kind)) {
+var m = [ "Deployment", "DeploymentConfig", "ReplicaSet", "ReplicationController" ];
+if (_.includes(m, a.kind)) {
var f = e("humanizeKind"), g = f(a.kind, !0) + " " + a.name;
r.name = a.name, "ReplicationController" !== a.kind && "ReplicaSet" !== a.kind || (r.showPodWarning = !0), r.renderOptions = {
hideFilterWidget: !0
@@ -6488,7 +6646,7 @@ t.url(r.resourceURL);
}, b = function() {
d.hideNotification("set-compute-limits-error");
};
-r.cancel = y, r.$on("$destroy", b), m.get(a.project).then(_.spread(function(e, t) {
+r.cancel = y, r.$on("$destroy", b), p.get(a.project).then(_.spread(function(e, t) {
var n = {
resource: o.kindToResource(a.kind),
group: a.group
@@ -6513,17 +6671,17 @@ r.disableInputs = !1, v(g + " could not be updated.", h(e));
}, function(e) {
v(g + " could not be loaded.", h(e));
});
-var m = function() {
+var p = function() {
r.hideCPU || (r.cpuProblems = l.validatePodLimits(r.limitRanges, "cpu", r.containers, e)), r.memoryProblems = l.validatePodLimits(r.limitRanges, "memory", r.containers, e);
};
c.list("limitranges", t).then(function(e) {
-r.limitRanges = e.by("metadata.name"), _.isEmpty(r.limitRanges) || r.$watch("containers", m, !0);
+r.limitRanges = e.by("metadata.name"), _.isEmpty(r.limitRanges) || r.$watch("containers", p, !0);
});
} else u.toErrorPage("You do not have authority to update " + f(a.kind) + " " + a.name + ".", "access_denied");
}));
} else u.toErrorPage("Health checks are not supported for kind " + a.kind + ".");
} else u.toErrorPage("Kind or name parameter missing.");
-} ]), angular.module("openshiftConsole").controller("EditBuildConfigController", [ "$scope", "$filter", "$location", "$routeParams", "$window", "ApplicationGenerator", "AuthorizationService", "DataService", "Navigate", "NotificationsService", "ProjectsService", "SOURCE_URL_PATTERN", "SecretsService", "keyValueEditorUtils", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p) {
+} ]), angular.module("openshiftConsole").controller("EditBuildConfigController", [ "$scope", "$filter", "$location", "$routeParams", "$window", "ApplicationGenerator", "AuthorizationService", "DataService", "Navigate", "NotificationsService", "ProjectsService", "SOURCE_URL_PATTERN", "SecretsService", "keyValueEditorUtils", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m) {
e.projectName = a.project, e.buildConfig = null, e.alerts = {}, e.sourceURLPattern = d, e.options = {}, e.jenkinsfileOptions = {
type: "path"
}, e.selectTypes = {
@@ -6659,8 +6817,8 @@ e.$on("$destroy", b), u.get(a.project).then(_.spread(function(n, r) {
e.project = n, e.context = r, i.canI("buildconfigs", "update", a.project) ? s.get("buildconfigs", a.buildconfig, r, {
errorNotification: !1
}).then(function(t) {
-e.buildConfig = t, f(), e.updatedBuildConfig = angular.copy(e.buildConfig), e.buildStrategy = v(e.updatedBuildConfig), e.strategyType = e.buildConfig.spec.strategy.type, e.envVars = e.buildStrategy.env || [], e.triggers = C(e.triggers, e.buildConfig.spec.triggers), e.sources = T(e.sources, e.buildConfig.spec.source), _.has(t, "spec.strategy.jenkinsPipelineStrategy.jenkinsfile") && (e.jenkinsfileOptions.type = "inline"), s.list("secrets", r).then(function(t) {
-var n = m.groupSecretsByType(t), a = _.mapValues(n, function(e) {
+e.buildConfig = t, f(), e.updatedBuildConfig = angular.copy(e.buildConfig), e.buildStrategy = v(e.updatedBuildConfig), e.strategyType = e.buildConfig.spec.strategy.type, e.envVars = e.buildStrategy.env || [], e.triggers = C(e.triggers, e.buildConfig.spec.triggers), e.sources = I(e.sources, e.buildConfig.spec.source), _.has(t, "spec.strategy.jenkinsPipelineStrategy.jenkinsfile") && (e.jenkinsfileOptions.type = "inline"), s.list("secrets", r).then(function(t) {
+var n = p.groupSecretsByType(t), a = _.mapValues(n, function(e) {
return _.map(e, "metadata.name");
});
e.secrets.secretsByType = _.each(a, function(e) {
@@ -6779,7 +6937,7 @@ var t = e.getSession();
t.setOption("tabSize", 2), t.setOption("useSoftTabs", !0), e.$blockScrolling = 1 / 0;
};
var S = function(e) {
-return _.map(p.compactEntries(e), function(e) {
+return _.map(m.compactEntries(e), function(e) {
return {
sourcePath: e.name,
destinationDir: e.value
@@ -6852,7 +7010,7 @@ var a = "Custom" === e.strategyType ? "secretSource" : "secret", r = _.filter(n,
return e[a].name;
});
_.isEmpty(r) ? delete t.secrets : t.secrets = r;
-}, T = function(e, t) {
+}, I = function(e, t) {
return "None" === t.type ? e : (e.none = !1, angular.forEach(t, function(t, n) {
e[n] = !0;
}), e);
@@ -6880,7 +7038,7 @@ break;
case "JenkinsPipeline":
"path" === e.jenkinsfileOptions.type ? delete e.updatedBuildConfig.spec.strategy.jenkinsPipelineStrategy.jenkinsfile : delete e.updatedBuildConfig.spec.strategy.jenkinsPipelineStrategy.jenkinsfilePath;
}
-switch (e.sources.images && !_.isEmpty(e.sourceImages) && (e.updatedBuildConfig.spec.source.images[0].paths = S(e.imageSourcePaths), e.updatedBuildConfig.spec.source.images[0].from = w(e.imageOptions.fromSource)), "None" === e.imageOptions.from.type ? delete v(e.updatedBuildConfig).from : v(e.updatedBuildConfig).from = w(e.imageOptions.from), "None" === e.imageOptions.to.type ? delete e.updatedBuildConfig.spec.output.to : e.updatedBuildConfig.spec.output.to = w(e.imageOptions.to), v(e.updatedBuildConfig).env = p.compactEntries(e.envVars), P(e.updatedBuildConfig.spec.source, _.head(e.secrets.picked.gitSecret), "sourceSecret"), P(v(e.updatedBuildConfig), _.head(e.secrets.picked.pullSecret), "pullSecret"), P(e.updatedBuildConfig.spec.output, _.head(e.secrets.picked.pushSecret), "pushSecret"), e.strategyType) {
+switch (e.sources.images && !_.isEmpty(e.sourceImages) && (e.updatedBuildConfig.spec.source.images[0].paths = S(e.imageSourcePaths), e.updatedBuildConfig.spec.source.images[0].from = w(e.imageOptions.fromSource)), "None" === e.imageOptions.from.type ? delete v(e.updatedBuildConfig).from : v(e.updatedBuildConfig).from = w(e.imageOptions.from), "None" === e.imageOptions.to.type ? delete e.updatedBuildConfig.spec.output.to : e.updatedBuildConfig.spec.output.to = w(e.imageOptions.to), v(e.updatedBuildConfig).env = m.compactEntries(e.envVars), P(e.updatedBuildConfig.spec.source, _.head(e.secrets.picked.gitSecret), "sourceSecret"), P(v(e.updatedBuildConfig), _.head(e.secrets.picked.pullSecret), "pullSecret"), P(e.updatedBuildConfig.spec.output, _.head(e.secrets.picked.pushSecret), "pushSecret"), e.strategyType) {
case "Source":
case "Docker":
R(e.updatedBuildConfig.spec.source, e.secrets.picked.sourceSecrets);
@@ -6917,10 +7075,10 @@ var u = function(e) {
return _.get(e, "metadata.resourceVersion");
}, d = function() {
s.hideNotification("edit-config-map-error");
-}, m = function() {
+}, p = function() {
a.history.back();
};
-n.cancel = m, c.get(t.project).then(_.spread(function(a, c) {
+n.cancel = p, c.get(t.project).then(_.spread(function(a, c) {
r.get("configmaps", t.configMap, c, {
errorNotification: !1
}).then(function(e) {
@@ -6939,7 +7097,7 @@ n.forms.editConfigMapForm.$valid && (d(), n.disableInputs = !0, r.update("config
s.addNotification({
type: "success",
message: "Config map " + n.configMap.metadata.name + " successfully updated."
-}), m();
+}), p();
}, function(t) {
n.disableInputs = !1, s.addNotification({
id: "edit-config-map-error",
@@ -6952,7 +7110,7 @@ details: e("getErrorDetails")(t)
r.unwatchAll(l), d();
});
}));
-} ]), angular.module("openshiftConsole").controller("EditDeploymentConfigController", [ "$scope", "$filter", "$location", "$routeParams", "$uibModal", "$window", "AuthorizationService", "BreadcrumbsService", "DataService", "EnvironmentService", "Navigate", "NotificationsService", "ProjectsService", "SecretsService", "keyValueEditorUtils", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p, f) {
+} ]), angular.module("openshiftConsole").controller("EditDeploymentConfigController", [ "$scope", "$filter", "$location", "$routeParams", "$uibModal", "$window", "AuthorizationService", "BreadcrumbsService", "DataService", "EnvironmentService", "Navigate", "NotificationsService", "ProjectsService", "SecretsService", "keyValueEditorUtils", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m, f) {
e.projectName = a.project, e.deploymentConfig = null, e.alerts = {}, e.view = {
advancedStrategyOptions: !1,
advancedImageOptions: !1
@@ -6985,7 +7143,7 @@ default:
return void Logger.error("Unknown deployment strategy type: " + e);
}
};
-m.get(a.project).then(_.spread(function(n, r) {
+p.get(a.project).then(_.spread(function(n, r) {
e.project = n, e.context = r, i.canI("deploymentconfigs", "update", a.project) ? c.get("deploymentconfigs", a.deploymentconfig, r, {
errorNotification: !1
}).then(function(t) {
@@ -7044,7 +7202,7 @@ b = g(t.by("metadata.name")), e.availableConfigMaps = b, e.valueFromObjects = b.
errorNotification: !1
}).then(function(t) {
C = g(t.by("metadata.name")), e.availableSecrets = C, e.valueFromObjects = C.concat(b);
-var n = p.groupSecretsByType(t), a = _.mapValues(n, function(e) {
+var n = m.groupSecretsByType(t), a = _.mapValues(n, function(e) {
return _.map(e, "metadata.name");
});
e.secretsByType = _.each(a, function(e) {
@@ -7163,7 +7321,7 @@ o.history.back();
}, e.$on("$destroy", function() {
c.unwatchAll(y), R();
});
-} ]), angular.module("openshiftConsole").controller("EditAutoscalerController", [ "$scope", "$filter", "$routeParams", "$window", "APIService", "AuthorizationService", "BreadcrumbsService", "DataService", "HPAService", "MetricsService", "Navigate", "NotificationsService", "ProjectsService", "keyValueEditorUtils", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p) {
+} ]), angular.module("openshiftConsole").controller("EditAutoscalerController", [ "$scope", "$filter", "$routeParams", "$window", "APIService", "AuthorizationService", "BreadcrumbsService", "DataService", "HPAService", "MetricsService", "Navigate", "NotificationsService", "ProjectsService", "keyValueEditorUtils", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m) {
if (n.kind && n.name) {
var f = [ "Deployment", "DeploymentConfig", "HorizontalPodAutoscaler", "ReplicaSet", "ReplicationController" ];
if (_.includes(f, n.kind)) {
@@ -7179,21 +7337,21 @@ e.cancel = h;
var v = function() {
d.hideNotification("edit-hpa-error");
};
-e.$on("$destroy", v), m.get(n.project).then(_.spread(function(t, a) {
+e.$on("$destroy", v), p.get(n.project).then(_.spread(function(t, a) {
e.project = t;
var l = "HorizontalPodAutoscaler" === n.kind ? "update" : "create";
if (o.canI({
resource: "horizontalpodautoscalers",
group: "autoscaling"
}, l, n.project)) {
-var m = function() {
+var p = function() {
e.disableInputs = !0, v();
var t = {
apiVersion: "autoscaling/v1",
kind: "HorizontalPodAutoscaler",
metadata: {
name: e.autoscaling.name,
-labels: p.mapEntries(p.compactEntries(e.labels))
+labels: m.mapEntries(m.compactEntries(e.labels))
},
spec: {
scaleTargetRef: {
@@ -7224,7 +7382,7 @@ details: g(t)
});
});
}, f = function(t) {
-e.disableInputs = !0, (t = angular.copy(t)).metadata.labels = p.mapEntries(p.compactEntries(e.labels)), t.spec.minReplicas = e.autoscaling.minReplicas, t.spec.maxReplicas = e.autoscaling.maxReplicas, t.spec.targetCPUUtilizationPercentage = e.autoscaling.targetCPU || e.autoscaling.defaultTargetCPU || null, s.update({
+e.disableInputs = !0, (t = angular.copy(t)).metadata.labels = m.mapEntries(m.compactEntries(e.labels)), t.spec.minReplicas = e.autoscaling.minReplicas, t.spec.maxReplicas = e.autoscaling.maxReplicas, t.spec.targetCPUUtilizationPercentage = e.autoscaling.targetCPU || e.autoscaling.defaultTargetCPU || null, s.update({
resource: "horizontalpodautoscalers",
group: "autoscaling"
}, t.metadata.name, t, a).then(function(e) {
@@ -7271,7 +7429,7 @@ e.breadcrumbs = i.getBreadcrumbs({
object: r,
project: t,
subpage: "Autoscale"
-}), e.save = m;
+}), e.save = p;
var o = {}, l = function() {
var n = _.get(r, "spec.template.spec.containers", []);
e.showCPURequestWarning = !c.hasCPURequest(n, o, t);
@@ -7295,7 +7453,7 @@ kind: n.kind,
namespace: n.project,
subpage: "Edit Health Checks"
}), a.previousProbes = {};
-var m = e("getErrorDetails"), p = e("upperFirst"), f = function(e, t) {
+var p = e("getErrorDetails"), m = e("upperFirst"), f = function(e, t) {
l.addNotification({
id: "add-health-check-error",
type: "error",
@@ -7328,14 +7486,14 @@ _.set(a.previousProbes, [ e.name, t ], e[t]), delete e[t], a.form.$setDirty();
a.disableInputs = !0, h(), s.update(i.kindToResource(n.kind), a.name, r, u).then(function() {
l.addNotification({
type: "success",
-message: p(d) + " was updated."
+message: m(d) + " was updated."
}), g();
}, function(e) {
-a.disableInputs = !1, f(p(d) + " could not be updated.", m(e));
+a.disableInputs = !1, f(m(d) + " could not be updated.", p(e));
});
};
}, function(e) {
-f(p(d) + " could not be loaded.", m(e));
+f(m(d) + " could not be loaded.", p(e));
}) : c.toErrorPage("You do not have authority to update " + d + ".", "access_denied");
}));
} else c.toErrorPage("Health checks are not supported for kind " + n.kind + ".");
@@ -7361,33 +7519,33 @@ t.path(a.routeURL);
};
a.cancel = d, c.get(n.project).then(_.spread(function(t, c) {
if (a.project = t, r.canI("routes", "update", n.project)) {
-var m, p = e("orderByDisplayName"), f = function() {
+var p, m = e("orderByDisplayName"), f = function() {
i.toErrorPage('Editing routes with non-service targets is unsupported. You can edit the route with the "Edit YAML" action instead.');
};
o.get("routes", a.routeName, c).then(function(e) {
if ("Service" === e.spec.to.kind) {
-m = angular.copy(e);
-var t = _.get(m, "spec.host");
-"Subdomain" === _.get(m, "spec.wildcardPolicy") && (t = "*." + l.getSubdomain(m)), a.routing = {
+p = angular.copy(e);
+var t = _.get(p, "spec.host");
+"Subdomain" === _.get(p, "spec.wildcardPolicy") && (t = "*." + l.getSubdomain(p)), a.routing = {
host: t,
-wildcardPolicy: _.get(m, "spec.wildcardPolicy"),
-path: _.get(m, "spec.path"),
-targetPort: _.get(m, "spec.port.targetPort"),
-tls: angular.copy(_.get(m, "spec.tls"))
+wildcardPolicy: _.get(p, "spec.wildcardPolicy"),
+path: _.get(p, "spec.path"),
+targetPort: _.get(p, "spec.port.targetPort"),
+tls: angular.copy(_.get(p, "spec.tls"))
}, o.list("services", c).then(function(e) {
a.loading = !1;
var t = e.by("metadata.name");
-a.routing.to = m.spec.to, a.routing.alternateServices = [], _.each(_.get(m, "spec.alternateBackends"), function(e) {
+a.routing.to = p.spec.to, a.routing.alternateServices = [], _.each(_.get(p, "spec.alternateBackends"), function(e) {
if ("Service" !== e.kind) return f(), !1;
a.routing.alternateServices.push(e);
-}), a.services = p(t);
+}), a.services = m(t);
});
} else f();
}, function() {
i.toErrorPage("Could not load route " + a.routeName + ".");
});
var g = function() {
-var e = angular.copy(m), t = _.get(a, "routing.to.name");
+var e = angular.copy(p), t = _.get(a, "routing.to.name");
_.set(e, "spec.to.name", t);
var n = _.get(a, "routing.to.weight");
isNaN(n) || _.set(e, "spec.to.weight", n), e.spec.path = a.routing.path;
@@ -7425,14 +7583,14 @@ details: e("getErrorDetails")(t)
}));
} ]), angular.module("openshiftConsole").controller("EditYAMLController", [ "$scope", "$filter", "$location", "$routeParams", "$window", "APIService", "AuthorizationService", "BreadcrumbsService", "DataService", "Navigate", "NotificationsService", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l, u, d) {
if (a.kind && a.name) {
-var m = t("humanizeKind");
+var p = t("humanizeKind");
e.alerts = {}, e.name = a.name, e.resourceURL = l.resourceURL(e.name, a.kind, a.project), e.breadcrumbs = [ {
title: a.name,
link: a.returnURL
}, {
title: "Edit YAML"
} ];
-var p = function() {
+var m = function() {
e.modified = !1, a.returnURL ? n.url(a.returnURL) : r.history.back();
};
e.$watch("updated.resource", function(t, n) {
@@ -7462,13 +7620,13 @@ namespace: i.metadata.namespace
var r = _.get(n, "metadata.resourceVersion");
if (_.get(t, "metadata.resourceVersion") === r) return e.alerts["no-changes-applied"] = {
type: "warning",
-message: "No changes were applied to " + m(a.kind) + " " + a.name + ".",
+message: "No changes were applied to " + p(a.kind) + " " + a.name + ".",
details: "Make sure any new fields you may have added are supported API fields."
}, void (e.updatingNow = !1);
u.addNotification({
type: "success",
-message: m(a.kind, !0) + " " + a.name + " was successfully updated."
-}), p();
+message: p(a.kind, !0) + " " + a.name + " was successfully updated."
+}), m();
}, function(n) {
e.updatingNow = !1, e.error = {
message: t("getErrorDetails")(n)
@@ -7484,17 +7642,17 @@ message: o.invalidObjectKindOrVersion(n)
message: "Cannot change resource kind (original: " + i.kind + ", modified: " + (n.kind || "
") + ")."
};
}, e.cancel = function() {
-p();
+m();
}, f.push(c.watchObject(s, e.name, r, function(t, n) {
e.resourceChanged = l(t) !== l(i), e.resourceDeleted = "DELETED" === n;
}, {
errorNotification: !1
}));
}, function(e) {
-l.toErrorPage("Could not load " + m(a.kind) + " '" + a.name + "'. " + t("getErrorDetails")(e));
+l.toErrorPage("Could not load " + p(a.kind) + " '" + a.name + "'. " + t("getErrorDetails")(e));
}), e.$on("$destroy", function() {
c.unwatchAll(f);
-})) : l.toErrorPage("You do not have authority to update " + m(a.kind) + " " + a.name + ".", "access_denied");
+})) : l.toErrorPage("You do not have authority to update " + p(a.kind) + " " + a.name + ".", "access_denied");
}));
} else l.toErrorPage("Kind or name parameter missing.");
} ]), angular.module("openshiftConsole").controller("BrowseCategoryController", [ "$scope", "$filter", "$location", "$q", "$routeParams", "$uibModal", "Constants", "DataService", "LabelFilter", "Navigate", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l, u) {
@@ -7514,10 +7672,10 @@ label: ""
}
return !1;
}), a;
-}, m = i.CATALOG_CATEGORIES, p = "none" === r.category ? "" : r.category;
-if (e.category = d(m, p), e.category) {
+}, p = i.CATALOG_CATEGORIES, m = "none" === r.category ? "" : r.category;
+if (e.category = d(p, m), e.category) {
var f, g;
-!r.subcategory || (f = e.category, p = "none" === r.subcategory ? "" : r.subcategory, g = _.get(e.category, "subcategories", []), e.category = d(g, p), e.category) ? (e.alerts = e.alerts || {}, e.breadcrumbs = [ {
+!r.subcategory || (f = e.category, m = "none" === r.subcategory ? "" : r.subcategory, g = _.get(e.category, "subcategories", []), e.category = d(g, m), e.category) ? (e.alerts = e.alerts || {}, e.breadcrumbs = [ {
title: "Add to Project",
link: "project/" + e.projectName + "/create"
}, {
@@ -7548,7 +7706,7 @@ e.projectTemplates = t.by("metadata.name");
}));
}))) : l.toErrorPage("Catalog category " + r.category + "/" + r.subcategory + " not found.");
} else l.toErrorPage("Catalog category " + r.category + " not found.");
-} ]), angular.module("openshiftConsole").controller("CreateFromImageController", [ "$scope", "$filter", "$parse", "$q", "$routeParams", "$uibModal", "APIService", "ApplicationGenerator", "DataService", "HPAService", "ImagesService", "LimitRangesService", "Logger", "MetricsService", "Navigate", "NotificationsService", "ProjectsService", "QuotaService", "SOURCE_URL_PATTERN", "SecretsService", "TaskList", "failureObjectNameFilter", "keyValueEditorUtils", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p, f, g, h, v, y, b, C, S, w) {
+} ]), angular.module("openshiftConsole").controller("CreateFromImageController", [ "$scope", "$filter", "$parse", "$q", "$routeParams", "$uibModal", "APIService", "ApplicationGenerator", "DataService", "HPAService", "ImagesService", "LimitRangesService", "Logger", "MetricsService", "Navigate", "NotificationsService", "ProjectsService", "QuotaService", "SOURCE_URL_PATTERN", "SecretsService", "TaskList", "failureObjectNameFilter", "keyValueEditorUtils", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m, f, g, h, v, y, b, C, S, w) {
var k = t("displayName"), j = t("humanize");
e.projectName = r.project, e.sourceURLPattern = y;
var P = r.imageStream;
@@ -7563,10 +7721,10 @@ link: "project/" + e.projectName + "/create?tab=fromCatalog"
}, {
title: R
} ];
-var T = {
+var I = {
name: "app",
value: ""
-}, I = t("orderByDisplayName"), E = t("getErrorDetails"), N = {}, D = function() {
+}, T = t("orderByDisplayName"), E = t("getErrorDetails"), N = {}, D = function() {
g.hideNotification("create-builder-list-config-maps-error"), g.hideNotification("create-builder-list-secrets-error"), _.each(N, function(e) {
!e.id || "error" !== e.type && "warning" !== e.type || g.hideNotification(e.id);
});
@@ -7583,11 +7741,11 @@ var h, y, S = function() {
e.scaling.autoscale ? e.showCPURequestWarning = !l.hasCPURequest([ e.container ], e.limitRanges, t) : e.showCPURequestWarning = !1;
};
c.list("resourcequotas", n).then(function(e) {
-h = e.by("metadata.name"), m.log("quotas", h);
+h = e.by("metadata.name"), p.log("quotas", h);
}), c.list("appliedclusterresourcequotas", n).then(function(e) {
-y = e.by("metadata.name"), m.log("cluster quotas", y);
+y = e.by("metadata.name"), p.log("cluster quotas", y);
}), e.$watch("scaling.autoscale", S), e.$watch("container", S, !0), e.$watch("name", function(e, t) {
-T.value && T.value !== t || (T.value = e);
+I.value && I.value !== t || (I.value = e);
}), function(a) {
a.name = r.name, a.imageName = P, a.imageTag = r.imageTag, a.namespace = r.namespace, a.buildConfig = {
buildOnSourceChange: !0,
@@ -7607,7 +7765,7 @@ deployOnConfigChange: !0
}, a.DCEnvVarsFromImage, a.DCEnvVarsFromUser = [], a.routing = {
include: !0,
portOptions: []
-}, a.labelArray = [ T ], a.annotations = {}, a.scaling = {
+}, a.labelArray = [ I ], a.annotations = {}, a.scaling = {
replicas: 1,
autoscale: !1,
autoscaleOptions: [ {
@@ -7624,14 +7782,14 @@ var e;
(a.image || a.image.metadata || a.image.metadata.annotations) && (e = a.image.metadata.annotations, a.buildConfig.sourceUrl = e.sampleRepo || "", a.buildConfig.gitRef = e.sampleRef || "", a.buildConfig.contextDir = e.sampleContextDir || "", (e.sampleRef || e.sampleContextDir) && (a.advancedSourceOptions = !0));
}, a.usingSampleRepo = function() {
return a.buildConfig.sourceUrl === _.get(a, "image.metadata.annotations.sampleRepo");
-}, p.isAvailable().then(function(t) {
+}, m.isAvailable().then(function(t) {
e.metricsWarning = !t;
});
var o = [], i = [];
e.valueFromObjects = [], c.list("configmaps", n, null, {
errorNotification: !1
}).then(function(t) {
-o = I(t.by("metadata.name")), e.valueFromObjects = o.concat(i);
+o = T(t.by("metadata.name")), e.valueFromObjects = o.concat(i);
}, function(e) {
403 !== e.code && g.addNotification({
id: "create-builder-list-config-maps-error",
@@ -7642,7 +7800,7 @@ details: E(e)
}), c.list("secrets", n, null, {
errorNotification: !1
}).then(function(t) {
-i = I(t.by("metadata.name")), e.valueFromObjects = i.concat(o);
+i = T(t.by("metadata.name")), e.valueFromObjects = i.concat(o);
var n = b.groupSecretsByType(t), a = _.mapValues(n, function(e) {
return _.map(e, "metadata.name");
});
@@ -7743,7 +7901,7 @@ return k(this.project) || this.projectName;
e.disableInputs = !0, D(), e.buildConfig.envVars = w.compactEntries(e.buildConfigEnvVars), e.deploymentConfig.envVars = w.compactEntries(e.DCEnvVarsFromUser), e.labels = w.mapEntries(w.compactEntries(e.labelArray));
var t = s.generate(e);
$ = [], angular.forEach(t, function(e) {
-null !== e && (m.debug("Generated resource definition:", e), $.push(e));
+null !== e && (p.debug("Generated resource definition:", e), $.push(e));
});
var a = s.ifResourcesDontExist($, e.projectName), r = v.getLatestQuotaAlerts($, n), o = function(t) {
return e.nameTaken = t.nameTaken, r;
@@ -7754,7 +7912,7 @@ a.then(o, o).then(L, L);
f.toProjectOverview(e.projectName);
};
} else f.toErrorPage("Cannot create from source: a base image tag was not specified"); else f.toErrorPage("Cannot create from source: a base image was not specified");
-} ]), angular.module("openshiftConsole").controller("NextStepsController", [ "$scope", "$http", "$routeParams", "DataService", "$q", "$location", "TaskList", "$parse", "Navigate", "Logger", "$filter", "imageObjectRefFilter", "failureObjectNameFilter", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p) {
+} ]), angular.module("openshiftConsole").controller("NextStepsController", [ "$scope", "$http", "$routeParams", "DataService", "$q", "$location", "TaskList", "$parse", "Navigate", "Logger", "$filter", "imageObjectRefFilter", "failureObjectNameFilter", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m) {
u("displayName");
var f = [];
e.alerts = [], e.loginBaseUrl = a.openshiftAPIBaseUrl(), e.buildConfigs = {}, e.projectName = n.project, e.fromSampleRepo = n.fromSample, e.breadcrumbs = [ {
@@ -7764,7 +7922,7 @@ link: "project/" + e.projectName + "/create"
title: n.breadcrumbTitle || n.name
}, {
title: "Next Steps"
-} ], p.get(n.project).then(_.spread(function(t, r) {
+} ], m.get(n.project).then(_.spread(function(t, r) {
e.project = t, f.push(a.watch("buildconfigs", r, function(t) {
e.buildConfigs = t.by("metadata.name"), e.createdBuildConfig = e.buildConfigs[n.name], l.log("buildconfigs (subscribe)", e.buildConfigs);
})), e.$on("$destroy", function() {
@@ -7784,7 +7942,7 @@ function d(e) {
for (var t = [], n = w.exec(e); n; ) t.push(n[1]), n = w.exec(e);
return t;
}
-function m() {
+function p() {
var e = g();
r.templateImages = _.map(k, function(t) {
return _.isEmpty(t.usesParameters) ? t : {
@@ -7795,7 +7953,7 @@ usesParameters: t.usesParameters
};
});
}
-function p(e) {
+function m(e) {
var t = [], n = y(e);
return n && angular.forEach(n, function(n) {
var a = n.image, r = u(e, n);
@@ -7815,7 +7973,7 @@ usesParameters: d(a)
var r = S(C(e), v);
r && (n[r] = !0);
}
-"DeploymentConfig" === e.kind && (t = t.concat(p(e)));
+"DeploymentConfig" === e.kind && (t = t.concat(m(e)));
}), t.forEach(function(e) {
n[e] || k.push({
name: e,
@@ -7863,7 +8021,7 @@ return !_.isEmpty(e.usesParameters);
}) ? (r.parameterDisplayNames = {}, _.each(t.parameters, function(e) {
r.parameterDisplayNames[e.name] = e.displayName || e.name;
}), r.$watch("template.parameters", _.debounce(function() {
-r.$apply(m);
+r.$apply(p);
}, 50, {
maxWait: 250
}), !0)) : r.templateImages = k;
@@ -8030,11 +8188,11 @@ type: "error",
message: "The templateParamsMap is not valid JSON. " + t
};
}
-}, m = window.OPENSHIFT_CONSTANTS.CREATE_FROM_URL_WHITELIST, p = [ "namespace", "name", "imageStream", "imageTag", "sourceURI", "sourceRef", "contextDir", "template", "templateParamsMap" ], f = _.pickBy(t, function(e, t) {
-return _.includes(p, t) && _.isString(e);
+}, p = window.OPENSHIFT_CONSTANTS.CREATE_FROM_URL_WHITELIST, m = [ "namespace", "name", "imageStream", "imageTag", "sourceURI", "sourceRef", "contextDir", "template", "templateParamsMap" ], f = _.pickBy(t, function(e, t) {
+return _.includes(m, t) && _.isString(e);
});
f.namespace = f.namespace || "openshift";
-_.includes(m, f.namespace) ? f.imageStream && f.template ? e.alerts.invalidResource = {
+_.includes(p, f.namespace) ? f.imageStream && f.template ? e.alerts.invalidResource = {
type: "error",
message: "Image streams and templates cannot be combined."
} : f.imageStream || f.template ? f.name && !function(e) {
@@ -8148,12 +8306,12 @@ var d = function() {
c.hideNotification("create-route-error");
};
n.$on("$destroy", d);
-var m = function() {
+var p = function() {
a.history.back();
};
-n.cancel = m, l.get(t.project).then(_.spread(function(a, l) {
+n.cancel = p, l.get(t.project).then(_.spread(function(a, l) {
if (n.project = a, o.canI("routes", "create", t.project)) {
-var p, f = e("orderByDisplayName");
+var m, f = e("orderByDisplayName");
n.routing.to = {
kind: "Service",
name: n.serviceName,
@@ -8161,7 +8319,7 @@ weight: 1
};
var g, h = function() {
var e = g, t = _.get(n, "routing.to.name");
-g = _.get(p, [ t, "metadata", "labels" ], {});
+g = _.get(m, [ t, "metadata", "labels" ], {});
var a = u.mapEntries(u.compactEntries(n.labels)), r = _.assign(a, g);
e && (r = _.omitBy(r, function(t, n) {
return e[n] && !g[n];
@@ -8173,7 +8331,7 @@ value: e
});
};
i.list("services", l).then(function(e) {
-p = e.by("metadata.name"), n.services = f(p), n.$watch("routing.to.name", h);
+m = e.by("metadata.name"), n.services = f(m), n.$watch("routing.to.name", h);
}), n.createRoute = function() {
if (n.createRouteForm.$valid) {
d(), n.disableInputs = !0;
@@ -8188,7 +8346,7 @@ weight: e.weight
c.addNotification({
type: "success",
message: "Route " + o.metadata.name + " was successfully created."
-}), m();
+}), p();
}, function(t) {
n.disableInputs = !1, c.addNotification({
type: "error",
@@ -8201,7 +8359,7 @@ details: e("getErrorDetails")(t)
};
} else s.toErrorPage("You do not have authority to create routes in project " + t.project + ".", "access_denied");
}));
-} ]), angular.module("openshiftConsole").controller("AttachPVCController", [ "$filter", "$routeParams", "$scope", "$window", "APIService", "AuthorizationService", "BreadcrumbsService", "DataService", "QuotaService", "Navigate", "NotificationsService", "ProjectsService", "StorageService", "RELATIVE_PATH_PATTERN", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p) {
+} ]), angular.module("openshiftConsole").controller("AttachPVCController", [ "$filter", "$routeParams", "$scope", "$window", "APIService", "AuthorizationService", "BreadcrumbsService", "DataService", "QuotaService", "Navigate", "NotificationsService", "ProjectsService", "StorageService", "RELATIVE_PATH_PATTERN", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m) {
if (t.kind && t.name) {
var f = [ "Deployment", "DeploymentConfig", "ReplicaSet", "ReplicationController" ], g = e("humanizeKind");
if (_.includes(f, t.kind)) {
@@ -8209,7 +8367,7 @@ var h = {
resource: r.kindToResource(t.kind),
group: t.group
};
-n.projectName = t.project, n.kind = t.kind, n.name = t.name, n.RELATIVE_PATH_PATTERN = p, n.outOfClaims = !1, n.attach = {
+n.projectName = t.project, n.kind = t.kind, n.name = t.name, n.RELATIVE_PATH_PATTERN = m, n.outOfClaims = !1, n.attach = {
persistentVolumeClaim: null,
volumeName: null,
mountPath: null,
@@ -8222,7 +8380,7 @@ namespace: t.project,
subpage: "Add Storage"
}), d.get(t.project).then(_.spread(function(r, d) {
if (n.project = r, o.canI(h, "update", t.project)) {
-var p = e("orderByDisplayName"), f = e("getErrorDetails"), v = e("generateName"), y = function(e, t) {
+var m = e("orderByDisplayName"), f = e("getErrorDetails"), v = e("generateName"), y = function(e, t) {
n.disableInputs = !0, u.addNotification({
id: "attach-pvc-error",
type: "error",
@@ -8241,7 +8399,7 @@ var S = function(e) {
return n.attach.allContainers || n.attach.containers[e.name];
}, w = function() {
var e = _.get(n, "attach.resource.spec.template");
-n.existingMountPaths = m.getMountPaths(e, S);
+n.existingMountPaths = p.getMountPaths(e, S);
};
n.$watchGroup([ "attach.resource", "attach.allContainers" ], w), n.$watch("attach.containers", w, !0);
s.get(h, t.name, d).then(function(e) {
@@ -8251,11 +8409,11 @@ project: r,
subpage: "Add Storage"
});
var t = _.get(e, "spec.template");
-n.existingVolumeNames = m.getVolumeNames(t);
+n.existingVolumeNames = p.getVolumeNames(t);
}, function(e) {
y(t.name + " could not be loaded.", f(e));
}), s.list("persistentvolumeclaims", d).then(function(e) {
-n.pvcs = p(e.by("metadata.name")), _.isEmpty(n.pvcs) || n.attach.persistentVolumeClaim || (n.attach.persistentVolumeClaim = _.head(n.pvcs));
+n.pvcs = m(e.by("metadata.name")), _.isEmpty(n.pvcs) || n.attach.persistentVolumeClaim || (n.attach.persistentVolumeClaim = _.head(n.pvcs));
}), s.list("resourcequotas", {
namespace: n.projectName
}, function(e) {
@@ -8270,12 +8428,12 @@ n.attach.volumeName || (n.attach.volumeName = v("volume-"));
var e = n.attach.resource, a = _.get(e, "spec.template"), r = n.attach.persistentVolumeClaim, o = n.attach.volumeName, i = n.attach.mountPath, c = n.attach.subPath, l = n.attach.readOnly;
i && angular.forEach(a.spec.containers, function(e) {
if (S(e)) {
-var t = m.createVolumeMount(o, i, c, l);
+var t = p.createVolumeMount(o, i, c, l);
e.volumeMounts || (e.volumeMounts = []), e.volumeMounts.push(t);
}
});
-var p = m.createVolume(o, r);
-a.spec.volumes || (a.spec.volumes = []), a.spec.volumes.push(p), s.update(h, e.metadata.name, n.attach.resource, d).then(function() {
+var m = p.createVolume(o, r);
+a.spec.volumes || (a.spec.volumes = []), a.spec.volumes.push(m), s.update(h, e.metadata.name, n.attach.resource, d).then(function() {
var e;
i || (e = "No mount path was provided. The volume reference was added to the configuration, but it will not be mounted into running pods."), u.addNotification({
type: "success",
@@ -8291,7 +8449,7 @@ y("An error occurred attaching the persistent volume claim to the " + g(t.kind)
}));
} else l.toErrorPage("Storage is not supported for kind " + g(t.kind) + ".");
} else l.toErrorPage("Kind or name parameter missing.");
-} ]), angular.module("openshiftConsole").controller("AddConfigVolumeController", [ "$filter", "$location", "$routeParams", "$scope", "$window", "APIService", "AuthorizationService", "BreadcrumbsService", "DataService", "Navigate", "NotificationsService", "ProjectsService", "StorageService", "RELATIVE_PATH_PATTERN", function(e, t, n, a, r, o, i, s, c, l, u, d, m, p) {
+} ]), angular.module("openshiftConsole").controller("AddConfigVolumeController", [ "$filter", "$location", "$routeParams", "$scope", "$window", "APIService", "AuthorizationService", "BreadcrumbsService", "DataService", "Navigate", "NotificationsService", "ProjectsService", "StorageService", "RELATIVE_PATH_PATTERN", function(e, t, n, a, r, o, i, s, c, l, u, d, p, m) {
if (n.kind && n.name) {
var f = [ "Deployment", "DeploymentConfig", "ReplicaSet", "ReplicationController" ];
if (_.includes(f, n.kind)) {
@@ -8302,7 +8460,7 @@ group: n.group
a.projectName = n.project, a.kind = n.kind, a.name = n.name, a.attach = {
allContainers: !0,
pickKeys: !1
-}, a.forms = {}, a.RELATIVE_PATH_PATTERN = p, a.breadcrumbs = s.getBreadcrumbs({
+}, a.forms = {}, a.RELATIVE_PATH_PATTERN = m, a.breadcrumbs = s.getBreadcrumbs({
name: n.name,
kind: n.kind,
namespace: n.project,
@@ -8337,7 +8495,7 @@ a.attach.items.push({}), v();
a.attach.items.splice(e, 1), v();
}, d.get(n.project).then(_.spread(function(t, r) {
if (a.project = t, i.canI(g, "update", n.project)) {
-var o = e("orderByDisplayName"), d = e("getErrorDetails"), p = e("generateName");
+var o = e("orderByDisplayName"), d = e("getErrorDetails"), m = e("generateName");
c.get(g, n.name, r, {
errorNotification: !1
}).then(function(e) {
@@ -8365,7 +8523,7 @@ var f = function(e) {
return a.attach.allContainers || a.attach.containers[e.name];
}, v = function() {
var e = _.get(a, "targetObject.spec.template");
-a.existingMountPaths = m.getMountPaths(e, f);
+a.existingMountPaths = p.getMountPaths(e, f);
};
a.$watchGroup([ "targetObject", "attach.allContainers" ], v), a.$watch("attach.containers", v, !0);
a.$watch("attach.items", function() {
@@ -8373,28 +8531,28 @@ var e = _.map(a.attach.items, "path");
a.itemPaths = _.compact(e);
}, !0), a.addVolume = function() {
if (!a.forms.addConfigVolumeForm.$invalid) {
-var t = a.targetObject, o = _.get(a, "attach.source"), i = _.get(t, "spec.template"), s = p("volume-"), l = {
+var t = a.targetObject, o = _.get(a, "attach.source"), i = _.get(t, "spec.template"), s = m("volume-"), l = {
name: s,
mountPath: _.get(a, "attach.mountPath")
};
"Secret" === o.kind && (l.readOnly = !0), _.each(i.spec.containers, function(e) {
f(e) && (e.volumeMounts = e.volumeMounts || [], e.volumeMounts.push(l));
});
-var m, h = {
+var p, h = {
name: s
};
-switch (a.attach.pickKeys && (m = a.attach.items), o.kind) {
+switch (a.attach.pickKeys && (p = a.attach.items), o.kind) {
case "ConfigMap":
h.configMap = {
name: o.metadata.name,
-items: m
+items: p
};
break;
case "Secret":
h.secret = {
secretName: o.metadata.name,
-items: m
+items: p
};
}
i.spec.volumes = i.spec.volumes || [], i.spec.volumes.push(h), a.disableInputs = !0, C();
@@ -8502,10 +8660,10 @@ var d = function() {
c.hideNotification("create-pvc-error");
};
n.$on("$destroy", d);
-var m = function() {
+var p = function() {
a.history.back();
};
-n.cancel = m, l.get(t.project).then(_.spread(function(a, r) {
+n.cancel = p, l.get(t.project).then(_.spread(function(a, r) {
function l() {
var e = {
kind: "PersistentVolumeClaim",
@@ -8537,7 +8695,7 @@ i.create("persistentvolumeclaims", null, t, r).then(function(e) {
c.addNotification({
type: "success",
message: "Persistent volume claim " + e.metadata.name + " successfully created."
-}), m();
+}), p();
}, function(t) {
n.disableInputs = !1, c.addNotification({
id: "create-pvc-error",
@@ -8785,7 +8943,7 @@ deleteImmediately: !1
};
var d = function(e) {
a.stayOnCurrentPage && a.alerts ? a.alerts[e.name] = e.data : c.addNotification(e.data);
-}, m = function(e) {
+}, p = function(e) {
return i.delete({
resource: "horizontalpodautoscalers",
group: "autoscaling"
@@ -8805,7 +8963,7 @@ message: "Horizontal pod autoscaler " + e.metadata.name + " could not be deleted
}
}), l.error("HPA " + e.metadata.name + " could not be deleted.", t);
});
-}, p = function() {
+}, m = function() {
if (!a.stayOnCurrentPage) if (a.redirectUrl) t.url(a.redirectUrl); else if ("Project" === a.kind) if ("/" !== t.path()) {
var e = URI("/");
t.url(e);
@@ -8828,7 +8986,7 @@ group: a.group
c.addNotification({
type: "success",
message: s + " was marked for deletion."
-}), a.success && a.success(), a.options.deleteHPAs && _.each(a.hpaList, m), p();
+}), a.success && a.success(), a.options.deleteHPAs && _.each(a.hpaList, p), m();
}).catch(function(e) {
d({
name: t,
@@ -8915,15 +9073,15 @@ var t = _.get(e, "sortConfig.currentField.id", "lastTimestamp");
l !== t && (l = t, e.sortConfig.isAscending = !u[l]);
var n = e.sortConfig.isAscending ? "asc" : "desc";
c = _.orderBy(e.events, [ t ], [ n ]);
-}, m = [], p = function() {
-e.filterExpressions = m = a.generateKeywords(_.get(e, "filter.text"));
+}, p = [], m = function() {
+e.filterExpressions = p = a.generateKeywords(_.get(e, "filter.text"));
}, f = [ "reason", "message", "type" ];
e.resourceKind && e.resourceName || f.splice(0, 0, "involvedObject.name", "involvedObject.kind");
var g = function() {
-e.filteredEvents = a.filterForKeywords(c, f, m);
+e.filteredEvents = a.filterForKeywords(c, f, p);
};
e.$watch("filter.text", _.debounce(function() {
-p(), e.$evalAsync(g);
+m(), e.$evalAsync(g);
}, 50, {
maxWait: 250
}));
@@ -9045,7 +9203,7 @@ t.unwatchAll(r);
});
} ]
};
-} ]), angular.module("openshiftConsole").directive("fromFile", [ "$filter", "$location", "$q", "$uibModal", "APIService", "CachedTemplateService", "DataService", "Navigate", "NotificationsService", "QuotaService", "SecurityCheckService", "TaskList", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l, u, d, m) {
+} ]), angular.module("openshiftConsole").directive("fromFile", [ "$filter", "$location", "$q", "$uibModal", "APIService", "CachedTemplateService", "DataService", "Navigate", "NotificationsService", "QuotaService", "SecurityCheckService", "TaskList", "ProjectsService", function(e, t, n, a, r, o, i, s, c, l, u, d, p) {
return {
restrict: "E",
scope: {
@@ -9053,18 +9211,18 @@ project: "=",
isDialog: "="
},
templateUrl: "views/directives/from-file.html",
-controller: [ "$scope", function(p) {
+controller: [ "$scope", function(m) {
function f(e) {
-return !!e.kind || (p.error = {
+return !!e.kind || (m.error = {
message: "Resource is missing kind field."
}, !1);
}
function g(e) {
-return !!p.isList || (e.metadata ? e.metadata.name ? !e.metadata.namespace || e.metadata.namespace === p.input.selectedProject.metadata.name || (p.error = {
+return !!m.isList || (e.metadata ? e.metadata.name ? !e.metadata.namespace || e.metadata.namespace === m.input.selectedProject.metadata.name || (m.error = {
message: e.kind + " " + e.metadata.name + " can't be created in project " + e.metadata.namespace + ". Can't create resource in different projects."
-}, !1) : (p.error = {
+}, !1) : (m.error = {
message: "Resource name is missing in metadata field."
-}, !1) : (p.error = {
+}, !1) : (m.error = {
message: "Resource is missing metadata field."
}, !1));
}
@@ -9073,9 +9231,9 @@ a.open({
animation: !0,
templateUrl: "views/modals/process-or-save-template.html",
controller: "ProcessOrSaveTemplateModalController",
-scope: p
+scope: m
}).result.then(function() {
-p.templateOptions.add ? y() : (o.setTemplate(p.resourceList[0]), b());
+m.templateOptions.add ? y() : (o.setTemplate(m.resourceList[0]), b());
});
}
function v() {
@@ -9083,52 +9241,52 @@ a.open({
animation: !0,
templateUrl: "views/modals/confirm-replace.html",
controller: "ConfirmReplaceModalController",
-scope: p
+scope: m
}).result.then(function() {
-l.getLatestQuotaAlerts(p.createResources, {
-namespace: p.input.selectedProject.metadata.name
+l.getLatestQuotaAlerts(m.createResources, {
+namespace: m.input.selectedProject.metadata.name
}).then(N);
});
}
function y() {
-var e = p.createResources.length, t = p.updateResources.length;
-if (p.resourceKind.endsWith("List")) {
+var e = m.createResources.length, t = m.updateResources.length;
+if (m.resourceKind.endsWith("List")) {
var a = [];
t > 0 && a.push(k()), e > 0 && a.push(w()), n.all(a).then(b);
} else S();
}
function b() {
var e, n;
-E(), "Template" === p.resourceKind && p.templateOptions.process && !p.errorOccurred ? p.isDialog ? p.$emit("fileImportedFromYAMLOrJSON", {
-project: p.input.selectedProject,
-template: p.resource
-}) : (n = p.templateOptions.add || p.updateResources.length > 0 ? p.input.selectedProject.metadata.name : "", e = s.createFromTemplateURL(p.resource, p.input.selectedProject.metadata.name, {
+E(), "Template" === m.resourceKind && m.templateOptions.process && !m.errorOccurred ? m.isDialog ? m.$emit("fileImportedFromYAMLOrJSON", {
+project: m.input.selectedProject,
+template: m.resource
+}) : (n = m.templateOptions.add || m.updateResources.length > 0 ? m.input.selectedProject.metadata.name : "", e = s.createFromTemplateURL(m.resource, m.input.selectedProject.metadata.name, {
namespace: n
-}), t.url(e)) : p.isDialog ? p.$emit("fileImportedFromYAMLOrJSON", {
-project: p.input.selectedProject
-}) : (e = s.projectOverviewURL(p.input.selectedProject.metadata.name), t.url(e));
+}), t.url(e)) : m.isDialog ? m.$emit("fileImportedFromYAMLOrJSON", {
+project: m.input.selectedProject
+}) : (e = s.projectOverviewURL(m.input.selectedProject.metadata.name), t.url(e));
}
function C(e) {
var t = r.objectToResourceGroupVersion(e);
return t ? r.apiInfo(t) ? i.get(t, e.metadata.name, {
-namespace: p.input.selectedProject.metadata.name
+namespace: m.input.selectedProject.metadata.name
}, {
errorNotification: !1
}).then(function(t) {
var n = angular.copy(e), a = angular.copy(t.metadata);
-a.annotations = e.metadata.annotations, a.labels = e.metadata.labels, n.metadata = a, p.updateResources.push(n);
+a.annotations = e.metadata.annotations, a.labels = e.metadata.labels, n.metadata = a, m.updateResources.push(n);
}, function() {
-p.createResources.push(e);
-}) : (p.errorOccurred = !0, void (p.error = {
+m.createResources.push(e);
+}) : (m.errorOccurred = !0, void (m.error = {
message: r.unsupportedObjectKindOrVersion(e)
-})) : (p.errorOccurred = !0, void (p.error = {
+})) : (m.errorOccurred = !0, void (m.error = {
message: r.invalidObjectKindOrVersion(e)
}));
}
function S() {
var t;
-_.isEmpty(p.createResources) ? (t = _.head(p.updateResources), i.update(r.kindToResource(t.kind), t.metadata.name, t, {
-namespace: p.input.selectedProject.metadata.name
+_.isEmpty(m.createResources) ? (t = _.head(m.updateResources), i.update(r.kindToResource(t.kind), t.metadata.name, t, {
+namespace: m.input.selectedProject.metadata.name
}).then(function() {
var e = P(t.kind);
c.addNotification({
@@ -9142,8 +9300,8 @@ type: "error",
message: "Unable to update the " + P(t.kind) + " '" + t.metadata.name + "'.",
details: e("getErrorDetails")(n)
});
-})) : (t = _.head(p.createResources), i.create(r.kindToResource(t.kind), null, t, {
-namespace: p.input.selectedProject.metadata.name
+})) : (t = _.head(m.createResources), i.create(r.kindToResource(t.kind), null, t, {
+namespace: m.input.selectedProject.metadata.name
}).then(function() {
var e = P(t.kind);
c.addNotification({
@@ -9161,17 +9319,17 @@ details: e("getErrorDetails")(n)
}
function w() {
var e = {
-started: "Creating resources in project " + $(p.input.selectedProject),
-success: "Creating resources in project " + $(p.input.selectedProject),
-failure: "Failed to create some resources in project " + $(p.input.selectedProject)
+started: "Creating resources in project " + $(m.input.selectedProject),
+success: "Creating resources in project " + $(m.input.selectedProject),
+failure: "Failed to create some resources in project " + $(m.input.selectedProject)
}, t = {};
-d.add(e, t, p.input.selectedProject.metadata.name, function() {
+d.add(e, t, m.input.selectedProject.metadata.name, function() {
var e = n.defer();
-return i.batch(p.createResources, {
-namespace: p.input.selectedProject.metadata.name
+return i.batch(m.createResources, {
+namespace: m.input.selectedProject.metadata.name
}, "create").then(function(t) {
var n = [], a = !1;
-if (t.failure.length > 0) a = !0, p.errorOccurred = !0, t.failure.forEach(function(e) {
+if (t.failure.length > 0) a = !0, m.errorOccurred = !0, t.failure.forEach(function(e) {
n.push({
type: "error",
message: "Cannot create " + P(e.object.kind) + ' "' + e.object.metadata.name + '". ',
@@ -9184,7 +9342,7 @@ message: "Created " + P(e.kind) + ' "' + e.metadata.name + '" successfully. '
});
}); else {
var r;
-r = p.isList ? "All items in list were created successfully." : P(p.resourceKind) + " " + p.resourceName + " was successfully created.", n.push({
+r = m.isList ? "All items in list were created successfully." : P(m.resourceKind) + " " + m.resourceName + " was successfully created.", n.push({
type: "success",
message: r
});
@@ -9198,17 +9356,17 @@ hasErrors: a
}
function k() {
var e = {
-started: "Updating resources in project " + $(p.input.selectedProject),
-success: "Updated resources in project " + $(p.input.selectedProject),
-failure: "Failed to update some resources in project " + $(p.input.selectedProject)
+started: "Updating resources in project " + $(m.input.selectedProject),
+success: "Updated resources in project " + $(m.input.selectedProject),
+failure: "Failed to update some resources in project " + $(m.input.selectedProject)
}, t = {};
-d.add(e, t, p.input.selectedProject.metadata.name, function() {
+d.add(e, t, m.input.selectedProject.metadata.name, function() {
var e = n.defer();
-return i.batch(p.updateResources, {
-namespace: p.input.selectedProject.metadata.name
+return i.batch(m.updateResources, {
+namespace: m.input.selectedProject.metadata.name
}, "update").then(function(t) {
var n = [], a = !1;
-if (t.failure.length > 0) a = !0, p.errorOccurred = !0, t.failure.forEach(function(e) {
+if (t.failure.length > 0) a = !0, m.errorOccurred = !0, t.failure.forEach(function(e) {
n.push({
type: "error",
message: "Cannot update " + P(e.object.kind) + ' "' + e.object.metadata.name + '". ',
@@ -9221,7 +9379,7 @@ message: "Updated " + P(e.kind) + ' "' + e.metadata.name + '" successfully. '
});
}); else {
var r;
-r = p.isList ? "All items in list were updated successfully." : P(p.resourceKind) + " " + p.resourceName + " was successfully updated.", n.push({
+r = m.isList ? "All items in list were updated successfully." : P(m.resourceKind) + " " + m.resourceName + " was successfully updated.", n.push({
type: "success",
message: r
});
@@ -9243,12 +9401,12 @@ alerts: n
});
}
var j, P = e("humanizeKind"), R = e("getErrorDetails");
-d.clear(), p.input = {
-selectedProject: p.project
-}, p.aceLoaded = function(e) {
+d.clear(), m.input = {
+selectedProject: m.project
+}, m.aceLoaded = function(e) {
(j = e.getSession()).setOption("tabSize", 2), j.setOption("useSoftTabs", !0), e.setDragDelay = 0, e.$blockScrolling = 1 / 0;
};
-var T = function(e) {
+var I = function(e) {
a.open({
animation: !0,
templateUrl: "views/modals/confirm.html",
@@ -9265,38 +9423,38 @@ cancelButtonText: "Cancel"
}
}
}).result.then(y);
-}, I = {}, E = function() {
-c.hideNotification("from-file-error"), _.each(I, function(e) {
+}, T = {}, E = function() {
+c.hideNotification("from-file-error"), _.each(T, function(e) {
!e.id || "error" !== e.type && "warning" !== e.type || c.hideNotification(e.id);
});
}, N = function(e) {
-E(), I = u.getSecurityAlerts(p.createResources, p.input.selectedProject.metadata.name);
+E(), T = u.getSecurityAlerts(m.createResources, m.input.selectedProject.metadata.name);
var t = e.quotaAlerts || [];
-I = I.concat(t), _.filter(I, {
+T = T.concat(t), _.filter(T, {
type: "error"
-}).length ? (_.each(I, function(e) {
+}).length ? (_.each(T, function(e) {
e.id = _.uniqueId("from-file-alert-"), c.addNotification(e);
-}), p.disableInputs = !1) : I.length ? (T(I), p.disableInputs = !1) : y();
+}), m.disableInputs = !1) : T.length ? (I(T), m.disableInputs = !1) : y();
}, D = function() {
-if (_.has(p.input.selectedProject, "metadata.uid")) return n.when(p.input.selectedProject);
-var t = p.input.selectedProject.metadata.name, a = p.input.selectedProject.metadata.annotations["new-display-name"], r = e("description")(p.input.selectedProject);
-return m.create(t, a, r);
+if (_.has(m.input.selectedProject, "metadata.uid")) return n.when(m.input.selectedProject);
+var t = m.input.selectedProject.metadata.name, a = m.input.selectedProject.metadata.annotations["new-display-name"], r = e("description")(m.input.selectedProject);
+return p.create(t, a, r);
};
-p.create = function() {
-if (delete p.error, f(p.resource) && (p.resourceKind = p.resource.kind, p.resourceKind.endsWith("List") ? p.isList = !0 : p.isList = !1, g(p.resource))) {
-p.isList ? (p.resourceList = p.resource.items, p.resourceName = "") : (p.resourceList = [ p.resource ], p.resourceName = p.resource.metadata.name, "Template" === p.resourceKind && (p.templateOptions = {
+m.create = function() {
+if (delete m.error, f(m.resource) && (m.resourceKind = m.resource.kind, m.resourceKind.endsWith("List") ? m.isList = !0 : m.isList = !1, g(m.resource))) {
+m.isList ? (m.resourceList = m.resource.items, m.resourceName = "") : (m.resourceList = [ m.resource ], m.resourceName = m.resource.metadata.name, "Template" === m.resourceKind && (m.templateOptions = {
process: !0,
add: !1
-})), p.updateResources = [], p.createResources = [];
+})), m.updateResources = [], m.createResources = [];
var e = [];
-p.errorOccurred = !1, _.forEach(p.resourceList, function(t) {
-if (!g(t)) return p.errorOccurred = !0, !1;
+m.errorOccurred = !1, _.forEach(m.resourceList, function(t) {
+if (!g(t)) return m.errorOccurred = !0, !1;
e.push(C(t));
}), D().then(function(t) {
-p.input.selectedProject = t, n.all(e).then(function() {
-p.errorOccurred || (1 === p.createResources.length && "Template" === p.resourceList[0].kind ? h() : _.isEmpty(p.updateResources) ? l.getLatestQuotaAlerts(p.createResources, {
-namespace: p.input.selectedProject.metadata.name
-}).then(N) : (p.updateTemplate = 1 === p.updateResources.length && "Template" === p.updateResources[0].kind, p.updateTemplate ? h() : v()));
+m.input.selectedProject = t, n.all(e).then(function() {
+m.errorOccurred || (1 === m.createResources.length && "Template" === m.resourceList[0].kind ? h() : _.isEmpty(m.updateResources) ? l.getLatestQuotaAlerts(m.createResources, {
+namespace: m.input.selectedProject.metadata.name
+}).then(N) : (m.updateTemplate = 1 === m.updateResources.length && "Template" === m.updateResources[0].kind, m.updateTemplate ? h() : v()));
});
}, function(e) {
c.addNotification({
@@ -9307,11 +9465,11 @@ details: R(e)
});
});
}
-}, p.cancel = function() {
-E(), s.toProjectOverview(p.input.selectedProject.metadata.name);
+}, m.cancel = function() {
+E(), s.toProjectOverview(m.input.selectedProject.metadata.name);
};
var $ = e("displayName");
-p.$on("importFileFromYAMLOrJSON", p.create), p.$on("$destroy", E);
+m.$on("importFileFromYAMLOrJSON", m.create), m.$on("$destroy", E);
} ]
};
} ]), angular.module("openshiftConsole").directive("oscFileInput", [ "Logger", function(e) {
@@ -9547,14 +9705,14 @@ n += _.get(e, "weight", 0);
var r = e / n * 100;
return t ? d3.round(r, 1) + "%" : r;
};
-var m = !1;
+var p = !1;
a.$watch("route.alternateServices.length", function(e) {
if (0 === e && _.has(a, "route.to.weight") && delete a.route.to.weight, 1 === e) {
if (0 === a.route.to.weight && 0 === a.route.alternateServices[0].weight) return void (a.controls.hideSlider = !0);
-m = !0, a.controls.rangeSlider = a.weightAsPercentage(a.route.to.weight);
+p = !0, a.controls.rangeSlider = a.weightAsPercentage(a.route.to.weight);
}
}), a.$watch("controls.rangeSlider", function(e, t) {
-m ? m = !1 : e !== t && (e = parseInt(e, 10), _.set(a, "route.to.weight", e), _.set(a, "route.alternateServices[0].weight", 100 - e));
+p ? p = !1 : e !== t && (e = parseInt(e, 10), _.set(a, "route.to.weight", e), _.set(a, "route.alternateServices[0].weight", 100 - e));
});
}
};
@@ -10058,7 +10216,7 @@ return !!t && (l.activeSecondary = t, !0);
});
};
d(), l.$on("$routeChangeSuccess", d);
-var m = function() {
+var p = function() {
_.each(l.navItems, function(e) {
e.isHover = !1;
});
@@ -10072,7 +10230,7 @@ group: e.canI.group
}, e.canI.verb, l.projectName));
}, l.itemClicked = function(e) {
if (e.href) return l.nav.showMobileNav = !1, void (l.sidebar.secondaryOpen = !1);
-m(), e.isHover = !0, e.mobileSecondary = l.isMobile, l.sidebar.showMobileSecondary = l.isMobile, l.sidebar.secondaryOpen = !0;
+p(), e.isHover = !0, e.mobileSecondary = l.isMobile, l.sidebar.showMobileSecondary = l.isMobile, l.sidebar.secondaryOpen = !0;
}, l.onMouseEnter = function(e) {
_.isEmpty(e.secondaryNavSections) || (e.mouseLeaveTimeout && (n.cancel(e.mouseLeaveTimeout), e.mouseLeaveTimeout = null), e.mouseEnterTimeout = n(function() {
e.isHover = !0, e.mouseEnterTimeout = null, l.sidebar.secondaryOpen = !0;
@@ -10084,16 +10242,16 @@ return e.isHover && !_.isEmpty(e.secondaryNavSections);
});
}, 500));
}, l.closeNav = function() {
-m(), l.nav.showMobileNav = !1, l.sidebar.secondaryOpen = !1;
+p(), l.nav.showMobileNav = !1, l.sidebar.secondaryOpen = !1;
}, l.collapseMobileSecondary = function(e, t) {
e.mobileSecondary = !1, t.stopPropagation();
};
-var p = function() {
+var m = function() {
return s.isWindowBelowBreakpoint(s.WINDOW_SIZE_SM);
};
-l.isMobile = p();
+l.isMobile = m();
var f = _.throttle(function() {
-var e = p();
+var e = m();
e !== l.isMobile && l.$evalAsync(function() {
l.isMobile = e, e || (_.set(a, "nav.showMobileNav", !1), _.each(l.navItems, function(e) {
e.mobileSecondary = !1;
@@ -10106,11 +10264,11 @@ $(window).off(".verticalnav");
} ]
};
} ]).directive("oscHeader", [ "$filter", "$location", "$rootScope", "$routeParams", "$timeout", "AuthorizationService", "Constants", "ProjectsService", "projectOverviewURLFilter", function(e, t, n, a, r, o, i, s, c) {
-var l = {}, u = [], d = e("displayName"), m = e("uniqueDisplayName");
+var l = {}, u = [], d = e("displayName"), p = e("uniqueDisplayName");
return {
restrict: "EA",
templateUrl: "views/directives/header/header.html",
-link: function(r, p) {
+link: function(r, m) {
r.currentProject = l[a.project];
var f = function(e, t) {
var a;
@@ -10138,12 +10296,12 @@ _.set(r, "ordering.panelName", "");
}, r.showOrderingPanel = function(e) {
_.set(r, "ordering.panelName", e);
}, r.catalogLandingPageEnabled = !i.DISABLE_SERVICE_CATALOG_LANDING_PAGE;
-var v = p.find(".selectpicker"), y = [], b = function() {
+var v = m.find(".selectpicker"), y = [], b = function() {
var t = r.currentProjectName;
if (t) {
var n = function(e, n) {
var a = $("