Committed by
Gerrit Code Review
Handle OpenStack authenticate exception and show warnings
Change-Id: Id7ac38c4dab1e43cf46bc8262adf98ea0a7d3558
Showing
2 changed files
with
22 additions
and
10 deletions
... | @@ -25,6 +25,7 @@ import org.onosproject.xosclient.api.VtnPortId; | ... | @@ -25,6 +25,7 @@ import org.onosproject.xosclient.api.VtnPortId; |
25 | import org.onosproject.xosclient.api.VtnServiceId; | 25 | import org.onosproject.xosclient.api.VtnServiceId; |
26 | import org.onosproject.xosclient.api.XosAccess; | 26 | import org.onosproject.xosclient.api.XosAccess; |
27 | import org.openstack4j.api.OSClient; | 27 | import org.openstack4j.api.OSClient; |
28 | +import org.openstack4j.api.exceptions.AuthenticationException; | ||
28 | import org.openstack4j.model.network.IP; | 29 | import org.openstack4j.model.network.IP; |
29 | import org.openstack4j.model.network.Port; | 30 | import org.openstack4j.model.network.Port; |
30 | import org.openstack4j.openstack.OSFactory; | 31 | import org.openstack4j.openstack.OSFactory; |
... | @@ -132,10 +133,15 @@ public final class DefaultVtnPortApi extends XosApi implements VtnPortApi { | ... | @@ -132,10 +133,15 @@ public final class DefaultVtnPortApi extends XosApi implements VtnPortApi { |
132 | 133 | ||
133 | // creating a client every time must be inefficient, but this method | 134 | // creating a client every time must be inefficient, but this method |
134 | // will be removed once XOS provides equivalent APIs | 135 | // will be removed once XOS provides equivalent APIs |
135 | - return OSFactory.builder() | 136 | + try { |
136 | - .endpoint(osAccess.endpoint()) | 137 | + return OSFactory.builder() |
137 | - .credentials(osAccess.user(), osAccess.password()) | 138 | + .endpoint(osAccess.endpoint()) |
138 | - .tenantName(osAccess.tenant()) | 139 | + .credentials(osAccess.user(), osAccess.password()) |
139 | - .authenticate(); | 140 | + .tenantName(osAccess.tenant()) |
141 | + .authenticate(); | ||
142 | + } catch (AuthenticationException e) { | ||
143 | + log.warn("Failed to authenticate OpenStack API with {}", osAccess); | ||
144 | + return null; | ||
145 | + } | ||
140 | } | 146 | } |
141 | } | 147 | } | ... | ... |
... | @@ -28,6 +28,7 @@ import org.onosproject.xosclient.api.VtnService; | ... | @@ -28,6 +28,7 @@ import org.onosproject.xosclient.api.VtnService; |
28 | import org.onosproject.xosclient.api.VtnServiceId; | 28 | import org.onosproject.xosclient.api.VtnServiceId; |
29 | 29 | ||
30 | import org.openstack4j.api.OSClient; | 30 | import org.openstack4j.api.OSClient; |
31 | +import org.openstack4j.api.exceptions.AuthenticationException; | ||
31 | import org.openstack4j.model.network.Network; | 32 | import org.openstack4j.model.network.Network; |
32 | import org.openstack4j.model.network.Subnet; | 33 | import org.openstack4j.model.network.Subnet; |
33 | import org.openstack4j.openstack.OSFactory; | 34 | import org.openstack4j.openstack.OSFactory; |
... | @@ -162,11 +163,16 @@ public final class DefaultVtnServiceApi extends XosApi implements VtnServiceApi | ... | @@ -162,11 +163,16 @@ public final class DefaultVtnServiceApi extends XosApi implements VtnServiceApi |
162 | 163 | ||
163 | // creating a client every time must be inefficient, but this method | 164 | // creating a client every time must be inefficient, but this method |
164 | // will be removed once XOS provides equivalent APIs | 165 | // will be removed once XOS provides equivalent APIs |
165 | - return OSFactory.builder() | 166 | + try { |
166 | - .endpoint(osAccess.endpoint()) | 167 | + return OSFactory.builder() |
167 | - .credentials(osAccess.user(), osAccess.password()) | 168 | + .endpoint(osAccess.endpoint()) |
168 | - .tenantName(osAccess.tenant()) | 169 | + .credentials(osAccess.user(), osAccess.password()) |
169 | - .authenticate(); | 170 | + .tenantName(osAccess.tenant()) |
171 | + .authenticate(); | ||
172 | + } catch (AuthenticationException e) { | ||
173 | + log.warn("Failed to authenticate OpenStack API with {}", osAccess); | ||
174 | + return null; | ||
175 | + } | ||
170 | } | 176 | } |
171 | 177 | ||
172 | // TODO remove this when XOS provides this information | 178 | // TODO remove this when XOS provides this information | ... | ... |
-
Please register or login to post a comment