From 3d17112a7e155950de70e1a6e69e4649274286d8 Mon Sep 17 00:00:00 2001
From: Nikolay <nik@victoriametrics.com>
Date: Wed, 29 Sep 2021 00:28:49 +0300
Subject: [PATCH] changes auth validation for openstack (#1663)

* changes auth validation for openstack
must fix https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1655

* Apply suggestions from code review

Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
---
 lib/promscrape/discovery/openstack/auth.go | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/lib/promscrape/discovery/openstack/auth.go b/lib/promscrape/discovery/openstack/auth.go
index 03e4f30163..3208677b66 100644
--- a/lib/promscrape/discovery/openstack/auth.go
+++ b/lib/promscrape/discovery/openstack/auth.go
@@ -232,10 +232,7 @@ func buildScope(sdc *SDConfig) (map[string]interface{}, error) {
 		// ProjectName provided: either DomainID or DomainName must also be supplied.
 		// ProjectID may not be supplied.
 		if len(sdc.DomainID) == 0 && len(sdc.DomainName) == 0 {
-			return nil, fmt.Errorf("both domain_id and domain_name present")
-		}
-		if len(sdc.ProjectID) > 0 {
-			return nil, fmt.Errorf("both domain_id and domain_name present")
+			return nil, fmt.Errorf("domain_id or domain_name must present")
 		}
 		if len(sdc.DomainID) > 0 {
 			return map[string]interface{}{
@@ -254,13 +251,6 @@ func buildScope(sdc *SDConfig) (map[string]interface{}, error) {
 			}, nil
 		}
 	} else if len(sdc.ProjectID) > 0 {
-		// ProjectID provided. ProjectName, DomainID, and DomainName may not be provided.
-		if len(sdc.DomainID) > 0 {
-			return nil, fmt.Errorf("both project_id and domain_id present")
-		}
-		if len(sdc.DomainName) > 0 {
-			return nil, fmt.Errorf("both project_id and domain_name present")
-		}
 		return map[string]interface{}{
 			"project": map[string]interface{}{
 				"id": &sdc.ProjectID,