Skip to content

Commit a6fd53a

Browse files
author
Travis Tomsu
authored
Added more logging during user role sync (#129)
1 parent 432777a commit a6fd53a

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

fiat-github/src/main/java/com/netflix/spinnaker/fiat/roles/github/GithubTeamsUserRolesProvider.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public class GithubTeamsUserRolesProvider implements UserRolesProvider, Initiali
5353

5454
@Override
5555
public List<Role> loadRoles(String userName) {
56+
log.debug("loadRoles for user " + userName);
5657
if (StringUtils.isEmpty(userName)|| StringUtils.isEmpty(gitHubProperties.getOrganization())) {
5758
return new ArrayList<>();
5859
}
@@ -68,6 +69,16 @@ public List<Role> loadRoles(String userName) {
6869
.isMemberOfOrganization(gitHubProperties.getOrganization(),
6970
userName);
7071
isMemberOfOrg = (response.getStatus() == 204);
72+
if(log.isDebugEnabled()) {
73+
StringBuilder sb = new StringBuilder(userName).append(" is ");
74+
if (!isMemberOfOrg) {
75+
sb.append("not ");
76+
}
77+
sb.append("a member of ")
78+
.append(gitHubProperties.getOrganization())
79+
.append(" organization.");
80+
log.debug(sb.toString());
81+
}
7182
} catch (RetrofitError e) {
7283
if (e.getKind() == RetrofitError.Kind.NETWORK) {
7384
log.error(String.format("Could not find the server %s", master.getBaseUrl()), e);
@@ -115,10 +126,16 @@ public List<Role> loadRoles(String userName) {
115126
}
116127
}
117128

129+
log.debug("Found " + teams.size() + " teams in org.");
118130
teams.forEach(t -> {
131+
StringBuilder sb = new StringBuilder(userName).append(" is member of team ").append(t.getName());
119132
if (isMemberOfTeam(t, userName)) {
133+
sb.append(": true");
120134
result.add(toRole(t.getSlug()));
135+
} else {
136+
sb.append(": false");
121137
}
138+
log.debug(sb.toString());
122139
});
123140

124141
return result;

fiat-google-groups/src/main/java/com/netflix/spinnaker/fiat/roles/google/GoogleDirectoryUserRolesProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ private class GroupBatchCallback extends JsonBatchCallback<Groups> {
8484

8585
@Override
8686
public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders) throws IOException {
87-
log.error("Failed to fetch groups: " + e.getMessage());
87+
log.warn("Failed to fetch groups for user " + email + ": " + e.getMessage());
8888
}
8989

9090
@Override

fiat-roles/src/main/java/com/netflix/spinnaker/fiat/permissions/DefaultPermissionsResolver.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.netflix.spinnaker.fiat.permissions;
1818

19+
import com.fasterxml.jackson.databind.ObjectMapper;
1920
import com.google.common.collect.ArrayListMultimap;
2021
import com.google.common.collect.Multimap;
2122
import com.netflix.spinnaker.fiat.config.UnrestrictedResourceConfig;
@@ -73,7 +74,9 @@ public UserPermission resolve(@NonNull String userId) {
7374
public UserPermission resolveAndMerge(@NonNull ExternalUser user) {
7475
List<Role> roles;
7576
try {
77+
log.debug("Loading roles for user " + user);
7678
roles = userRolesProvider.loadRoles(user.getId());
79+
log.debug("Got roles " + roles + " for user " + user);
7780
} catch (ProviderException pe) {
7881
throw new PermissionResolutionException("Failed to resolve user permission for user " + user.getId(), pe);
7982
}
@@ -155,6 +158,11 @@ private Map<String, Collection<Role>> getAndMergeUserRoles(@NonNull Collection<E
155158
.addAll(user.getExternalRoles());
156159
});
157160

161+
if (log.isDebugEnabled()) {
162+
try {
163+
log.debug("Multi-loaded roles: \n" + new ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(userToRoles));
164+
} catch (Exception e) {}
165+
}
158166
return userToRoles;
159167
}
160168
}

0 commit comments

Comments
 (0)