summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <jonbratseth@yahoo.com>2017-09-15 14:56:34 +0200
committerGitHub <noreply@github.com>2017-09-15 14:56:34 +0200
commit2901e8453fe26a6e9fc2cdf892d01a533139e231 (patch)
treecc48b82ff8045e301321bd4feae804cdc867ea07
parentf2f64822f2c030db1bb40b80c4c5f1feee11d2df (diff)
parentac3dd5003cf5cb07c5f4fc784ca1cd31585d796e (diff)
Merge pull request #3422 from vespa-engine/jvenstad/warn-about-invalid-jira-components
Warn about invalid components
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentIssueReporter.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentIssueReporter.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentIssueReporter.java
index 90544a8ac30..11d259962d2 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentIssueReporter.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentIssueReporter.java
@@ -74,22 +74,29 @@ public class DeploymentIssueReporter extends Maintainer {
else
controller().applications().setJiraIssueId(application.id(), Optional.empty());
- // TODO: Do this when version.confidence is BROKEN instead?
+ // TODO: Do this when version.confidence is BROKEN instead? Or, exclude above those upgrading to BROKEN version?
if (failingApplications.size() > 0.2 * applications.size()) {
fileOrUpdate(manyFailingDeploymentsIssueFrom(failingApplications)); // Problems with Vespa is the most likely cause when so many deployments fail.
}
else {
for (Application application : failingApplications) {
Issue deploymentIssue = deploymentIssueFrom(application);
+ Tenant applicationTenant = null;
Classification applicationOwner = null;
try {
- applicationOwner = jiraClassificationOf(ownerOf(application));
+ applicationTenant= ownerOf(application);
+ applicationOwner = jiraClassificationOf(applicationTenant);
fileFor(application, deploymentIssue.with(applicationOwner));
}
catch (RuntimeException e) { // Catch errors due to inconsistent or missing data in Sherpa, OpsDB, JIRA, and send to ourselves.
Pattern componentError = Pattern.compile(".*Component name '.*' is not valid.*", Pattern.DOTALL);
if (componentError.matcher(e.getMessage()).matches()) // Several properties seem to list invalid components, in which case we simply ignore this.
- fileFor(application, deploymentIssue.with(applicationOwner.withComponent(null)));
+ fileFor(application,
+ deploymentIssue
+ .with(applicationOwner.withComponent(null))
+ .append("\n\nNote: The 'Queue Component' field in [opsdb|https://opsdb.ops.yahoo.com/properties.php?id=" +
+ applicationTenant.getPropertyId().get() +
+ "&action=view] for your property was rejected by JIRA. Please check your spelling."));
else
fileFor(application, deploymentIssue.append(e.getMessage() + "\n\nAddressee:\n" + applicationOwner));
}