Alon Bar-Lev has posted comments on this change. Change subject: aaa: Change builtin authenticators and directories initialization ......................................................................
Patch Set 1: (11 comments) http://gerrit.ovirt.org/#/c/25741/1/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitBackendServicesOnStartupBean.java File backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitBackendServicesOnStartupBean.java: Line 11: Line 12: import org.ovirt.engine.core.aaa.AuthenticationProfileRepository; Line 13: import org.ovirt.engine.extensions.aaa.builtin.kerberosldap.KerberosManager; Line 14: import org.ovirt.engine.extensions.aaa.builtin.kerberosldap.UsersDomainsCacheManagerService; Line 15: import org.ovirt.engine.extensions.aaa.builtin.kerberosldap.LdapBrokerUtils; this should not be added Line 16: import org.ovirt.engine.core.bll.dwh.DwhHeartBeat; Line 17: import org.ovirt.engine.core.bll.gluster.GlusterJobsManager; Line 18: import org.ovirt.engine.core.bll.job.ExecutionHandler; Line 19: import org.ovirt.engine.core.bll.network.MacPoolManager; Line 56: // TODO: remove this later, and rely only on the custom and built in extensions directories configuration Line 57: Line 58: List<Properties> configurations = createInternalConfigurations(); Line 59: configurations.addAll(createKerberosLdapConfigurations()); Line 60: ExtensionManager.getInstance().load(configurations); better to call load twice... and drop the temp var Line 61: AuthenticationProfileRepository.getInstance(); Line 62: KerberosManager.getInstance(); Line 63: UsersDomainsCacheManagerService.getInstance().init(); Line 64: DbUserCacheManager.getInstance().init(); Line 108: Line 109: new DwhHeartBeat().init(); Line 110: } Line 111: Line 112: private List<Properties> createInternalConfigurations() { no need, please put it in configuration file at /usr Line 113: List<Properties> results = new ArrayList<>(); Line 114: Properties authConfig = new Properties(); Line 115: authConfig.put(ExtensionManager.CLASS, "org.ovirt.extensions.builtin.ldapkerberos.LdapKerberosAuthenticator"); Line 116: authConfig.put(ExtensionManager.PROVIDES, "org.ovirt.engine.core.authentication"); Line 135: Line 136: private List<Properties> createKerberosLdapConfigurations() { Line 137: Line 138: List<Properties> results = new ArrayList<>(); Line 139: for (String domain : LdapBrokerUtils.getDomainsList(true)) { you should go into vdc_options directly. Line 140: Properties authConfig = new Properties(); Line 141: authConfig.put(ExtensionManager.CLASS, "org.ovirt.extensions.builtin.ldapkerberos.LdapKerberosAuthenticator"); Line 142: authConfig.put(ExtensionManager.PROVIDES, "org.ovirt.engine.core.authentication"); Line 143: authConfig.put(ExtensionManager.ENABLED, true); Line 139: for (String domain : LdapBrokerUtils.getDomainsList(true)) { Line 140: Properties authConfig = new Properties(); Line 141: authConfig.put(ExtensionManager.CLASS, "org.ovirt.extensions.builtin.ldapkerberos.LdapKerberosAuthenticator"); Line 142: authConfig.put(ExtensionManager.PROVIDES, "org.ovirt.engine.core.authentication"); Line 143: authConfig.put(ExtensionManager.ENABLED, true); string? Line 144: authConfig.put(ExtensionManager.MODULE, "org.ovirt.engine.extensions.builtin"); Line 145: authConfig.put(ExtensionManager.NAME, String.format("builtin-authn-%1$s", domain)); Line 146: authConfig.put("org.ovirt.engine.aaa.authn.profile.name", domain); Line 147: authConfig.put("ovirt.engine.aaa.authn.authz.plugin", String.format("builitin-authz-%1$s", domain)); Line 149: Line 150: Properties dirConfig = new Properties(); Line 151: dirConfig.put(ExtensionManager.CLASS, "org.ovirt.extensions.builtin.ldapkerberos.LdapKerberosDirectory"); Line 152: dirConfig.put(ExtensionManager.PROVIDES, "org.ovirt.engine.core.authorization"); Line 153: dirConfig.put(ExtensionManager.ENABLED, true); string? Line 154: dirConfig.put(ExtensionManager.MODULE, "org.ovirt.engine.extensions.builtin"); Line 155: dirConfig.put(ExtensionManager.NAME, String.format("builtin-authz-%1$s", domain)); Line 156: dirConfig.put("org.ovirt.engine.aaa.authz.profile.name", domain); Line 157: results.add(authConfig); http://gerrit.ovirt.org/#/c/25741/1/backend/manager/modules/extensions-manager/src/main/java/org/ovirt/engine/core/extensions/mgr/ExtensionManager.java File backend/manager/modules/extensions-manager/src/main/java/org/ovirt/engine/core/extensions/mgr/ExtensionManager.java: Line 40 Line 41 Line 42 Line 43 Line 44 initialize here? private Map<Extension.ExtensionProperties, Object> context = new EnumMap<>(ExtensionProperties.class); Line 88: return (Properties) context.get(ExtensionProperties.CONFIGURATION); Line 89: } Line 90: Line 91: private void load(Properties props) { Line 92: enabled = props.get(ENABLED) != null ? Boolean.parseBoolean((String) props.get(ENABLED)) : true; just put strings... Line 93: context.put(ExtensionProperties.CONFIGURATION, props); Line 94: context.put(ExtensionProperties.NAME, props.getProperty(NAME)); Line 95: context.put(ExtensionProperties.PROVIDES, props.getProperty(PROVIDES)); Line 96: } Line 134: Line 135: public void load(Collection<Properties> configurations) { Line 136: if (configurations == null) { Line 137: return; Line 138: } hmmm... so why anyone will call it? better just to wait for null pointer exceptions... Line 139: for (Properties configuration : configurations) { Line 140: ExtensionEntry entry = Line 141: new ExtensionEntry(configuration); Line 142: ExtensionEntry alreadyLoaded = loadedEntries.get(entry.getName()); Line 137: return; Line 138: } Line 139: for (Properties configuration : configurations) { Line 140: ExtensionEntry entry = Line 141: new ExtensionEntry(configuration); why is the new line? :) Line 142: ExtensionEntry alreadyLoaded = loadedEntries.get(entry.getName()); Line 143: if (alreadyLoaded != null) { Line 144: throw new ConfigurationException(String.format("Could not load the configuration '%1$s'. %2%s", Line 145: entry.getName(), Line 139: for (Properties configuration : configurations) { Line 140: ExtensionEntry entry = Line 141: new ExtensionEntry(configuration); Line 142: ExtensionEntry alreadyLoaded = loadedEntries.get(entry.getName()); Line 143: if (alreadyLoaded != null) { this and bellow are common to both file and properties.... merge? Line 144: throw new ConfigurationException(String.format("Could not load the configuration '%1$s'. %2%s", Line 145: entry.getName(), Line 146: alreadyLoaded.file != null ? String.format("The already loaded file %1$s contains a configuration with the same name", Line 147: alreadyLoaded.file.getAbsolutePath()) -- To view, visit http://gerrit.ovirt.org/25741 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id8513cb992c5becef7e83c04a8da8bc7f1622348 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Yair Zaslavsky <yzasl...@redhat.com> Gerrit-Reviewer: Alon Bar-Lev <alo...@redhat.com> Gerrit-Reviewer: automat...@ovirt.org Gerrit-Reviewer: oVirt Jenkins CI Server Gerrit-HasComments: Yes _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches