diff --git a/lib/datasource/terraform-module/index.ts b/lib/datasource/terraform-module/index.ts
index 0295c742e52061c17d09dce934a980fb9c8ba060..62498efef9bb95a9126bd027017186a603c4f2bd 100644
--- a/lib/datasource/terraform-module/index.ts
+++ b/lib/datasource/terraform-module/index.ts
@@ -2,7 +2,7 @@ import is from '@sindresorhus/is';
 import { logger } from '../../logger';
 import * as globalCache from '../../util/cache/global';
 import { Http } from '../../util/http';
-import { GetReleasesConfig, ReleaseResult } from '../common';
+import { DatasourceError, GetReleasesConfig, ReleaseResult } from '../common';
 
 export const id = 'terraform-module';
 
@@ -111,6 +111,11 @@ export async function getReleases({
       });
       return null;
     }
+    const failureCodes = ['EAI_AGAIN'];
+    // istanbul ignore if
+    if (failureCodes.includes(err.code)) {
+      throw new DatasourceError(err);
+    }
     logger.warn(
       { err, lookupName },
       'Terraform registry failure: Unknown error'
diff --git a/lib/datasource/terraform-provider/index.ts b/lib/datasource/terraform-provider/index.ts
index 10d609efe1dfaf8bb44a38309b0acc521193eed8..abe32ad04aa3a47a2a782c4b44dd62a94a03231f 100644
--- a/lib/datasource/terraform-provider/index.ts
+++ b/lib/datasource/terraform-provider/index.ts
@@ -1,7 +1,7 @@
 import { logger } from '../../logger';
 import * as globalCache from '../../util/cache/global';
 import { Http } from '../../util/http';
-import { GetReleasesConfig, ReleaseResult } from '../common';
+import { DatasourceError, GetReleasesConfig, ReleaseResult } from '../common';
 
 export const id = 'terraform-provider';
 
@@ -69,6 +69,11 @@ export async function getReleases({
       });
       return null;
     }
+    const failureCodes = ['EAI_AGAIN'];
+    // istanbul ignore if
+    if (failureCodes.includes(err.code)) {
+      throw new DatasourceError(err);
+    }
     logger.warn(
       { err, lookupName },
       'Terraform registry failure: Unknown error'