Add reporting retry, emailing and better logging

This change:
- Adds retries to the staging action
- Emails domain-registry-eng@ upon completion of either action
- Simplifies logging to be more useful

TODO: fix up Module @Inject naming conventions and yearMonth injection

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=173294822
This commit is contained in:
larryruili 2017-10-24 12:29:40 -07:00 committed by jianglai
parent 7bc2d6badd
commit 2f539d6008
18 changed files with 374 additions and 147 deletions

View file

@ -292,7 +292,7 @@ public final class RegistryConfig {
@Provides
@Config("dnsDefaultATtl")
public static Duration provideDnsDefaultATtl() {
return Duration.standardSeconds(180);
return Duration.standardMinutes(3);
}
/**
@ -303,7 +303,7 @@ public final class RegistryConfig {
@Provides
@Config("dnsDefaultNsTtl")
public static Duration provideDnsDefaultNsTtl() {
return Duration.standardSeconds(180);
return Duration.standardMinutes(3);
}
/**
@ -314,7 +314,7 @@ public final class RegistryConfig {
@Provides
@Config("dnsDefaultDsTtl")
public static Duration provideDnsDefaultDsTtl() {
return Duration.standardSeconds(180);
return Duration.standardMinutes(3);
}
/**
@ -497,6 +497,30 @@ public final class RegistryConfig {
return config.icannReporting.icannActivityReportingUploadUrl;
}
/**
* Returns the email address from which we send ICANN reporting email summaries from.
*
* @see google.registry.reporting.ReportingEmailUtils
*/
@Provides
@Config("icannReportingSenderEmailAddress")
public static String provideIcannReportingEmailSenderAddress(
@Config("projectId") String projectId, RegistryConfigSettings config) {
return String.format(
"%s@%s", projectId, config.icannReporting.icannReportingEmailSenderDomain);
}
/**
* Returns the email address from which we send ICANN reporting email summaries to.
*
* @see google.registry.reporting.ReportingEmailUtils
*/
@Provides
@Config("icannReportingRecipientEmailAddress")
public static String provideIcannReportingEmailRecipientAddress(RegistryConfigSettings config) {
return config.icannReporting.icannReportingEmailRecipient;
}
/**
* Returns the Google Cloud Storage bucket for staging escrow deposits pending upload.
*
@ -552,7 +576,7 @@ public final class RegistryConfig {
@Provides
@Config("rdeReportLockTimeout")
public static Duration provideRdeReportLockTimeout() {
return Duration.standardSeconds(60);
return Duration.standardMinutes(1);
}
/**

View file

@ -115,6 +115,8 @@ public class RegistryConfigSettings {
public static class IcannReporting {
public String icannTransactionsReportingUploadUrl;
public String icannActivityReportingUploadUrl;
public String icannReportingEmailSenderDomain;
public String icannReportingEmailRecipient;
}
/** Configuration for Registry Data Escrow (RDE). */

View file

@ -160,6 +160,12 @@ icannReporting:
# URL we PUT monthly ICANN activity reports to.
icannActivityReportingUploadUrl: https://ry-api.icann.org/report/registry-functions-activity
# Domain for the email address we send reporting pipeline summary emails from.
icannReportingEmailSenderDomain: appspotmail.com
# Address we send reporting pipeline summary emails to.
icannReportingEmailRecipient: email@example.com
rde:
# URL prefix of ICANN's server to upload RDE reports to. Nomulus adds /TLD/ID
# to the end of this to construct the full URL.