diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2017-09-15 14:51:31 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2017-09-15 14:51:31 +0200 |
commit | ac3dd5003cf5cb07c5f4fc784ca1cd31585d796e (patch) | |
tree | f34e9270f2f7d10f96fa5379c778a4678eaa44f1 | |
parent | 972e3b67a63c23d56ce0a3d35fad3c7f34f63f08 (diff) |
Warn about invalid components
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentIssueReporter.java | 13 |
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)); } |