- Have an OpenShift instance running. This could be :
- OpenShift Container Platform
- OpenShift Origin
- Minishift
- Git installed
- Make sure you have at least 30 Gi available in your docker devicemapper for ADOP images
To run ADOP on Openshift, you should do the following steps.
- Log in as system:admin on your openshift ClusterFirst
oc login -u system:admin
- Create a project called "adop"
oc new-project adop
You should be redirected in the project adop, if it is not the case make sure you are in adop project by typingoc project adop
- Set up rights for serviceaccounts in project "adop" to allow them to deploy ADOP containers without permissions issues.
oadm policy add-scc-to-group anyuid system:serviceaccounts:adop
oadm policy add-role-to-user edit system:serviceaccount:adop:adop
- Clone git repository
git clone https://github.com/clerixmaxime/AdopOnOpenshift.git
- Move to directory
cd ./AdopOnOpenshift
- Populate Openshift with ADOP Templates
oc create -f Templates/
- Deploy templates
# Create MYSQL databases for Gerrit and Sonar using template provided by OpenShift (Could be replaced by persistent template).
oc new-app mysql-ephemeral -p MYSQL_PASSWORD=gerrit -p MYSQL_DATABASE=gerrit -p MYSQL_USER=gerrit -p MYSQL_ROOT_PASSWORD=gerrit -p MYSQL_VERSION=5.6 -p DATABASE_SERVICE_NAME=gerrit-mysql -n adop
oc new-app mysql-ephemeral -p MYSQL_PASSWORD=sonar -p MYSQL_DATABASE=sonar -p MYSQL_USER=sonar -p MYSQL_ROOT_PASSWORD=sonar -p MYSQL_VERSION=5.6 -p DATABASE_SERVICE_NAME=sonar-mysql -n adop
oc new-app adop-ldap
oc new-app adop-gerrit
# Sensu is not deployed for now
# oc new-app adop-sensu
oc new-app adop-sonar
oc new-app adop-jenkins
oc new-app adop-nexus
oc new-app adop-selenium
oc new-app adop-proxy
The templates are also available in the OpenShift Catalog and can be found with a search (ex: adop)
- Log in as system:admin on your OpenShift Cluster
oc login -u system:admin
- Download script
deploy_adop.sh
under /Scripts - Execute
deploy_adop.sh
bash deploy_adop.sh
After that, the ADOP stack should be deployed and available in your Openshift cluster with the errors identified below.
/!\ an ELK stack is required by ADOP. Currently, ELK stack has been disabled and ADOP can run without it.
WARNING Gerrit and Selenium links are broken. (Possible cause for Gerrit is the value of WEBURL)
SOLVED Nginx does not start and requires all the other Components URL up. Moreover it requires the ELK stack.
waiting for kibana:5601 to be available
kibana:5601 unavailable, sleeping for 2
kibana:5601 unavailable, sleeping for 2
...
Nginx Proxy image has been modified to remove ELK stack and sensu check. It is up and running once all other components are running.
WORKS
- SOLVED Users password are not set when deploying LDAP. They have to be set afterward.
Password should be set using base64 value
- WARNING ldap-phpadmin can't connect directly to ldap server using hostname. However, reconfiguring
/etc/phpldapadmin/config.php
and set the IP address of the ldap-server container instead of its hostname seems to fix the problem. See example below:
<?php
$servers = new Datastore();
$servers->newServer('ldap_pla');
$servers->setValue('server','name','ldap');
$servers->setValue('server','host','__IP_ADDRESS__');
$servers->setValue('server','port','389');
$servers->setValue('server','base',array('dc=ldap,dc=example,dc=com'));
$servers->setValue('login','auth_type','cookie');
$servers->setValue('login','bind_id','cn=admin,dc=ldap,dc=example,dc=com');
$servers->setValue('server','tls',false);
?>
- INFO WEB UI is up.
Logs display the following message:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.128.0.42. Set the 'ServerName' directive globally to suppress this message
- WORKS, the certified mysql image provided by Red Hat is used.
-
WARNING Gerrit uses the hostname provided by the container as URL, which results in unresolvable address once trying to log in for example. Ex: http://gerrit-1-cq5q1:8080/ instead of http://gerrit.cloudapps.example.com or http://proxy.cloudapps.example.com/gerrit. (Maybe related to WEBURL value, how to set this value to works with Openshift router?)
-
INFO Gerrit adds users to Administrators group but display an error.
Adding user "jenkins" to: Administrators
Unable to add user jenkins to group Administrators, response code 201, retry ... 1
Testing Gerrit Connection
Adding user "adop" to: Administrators
Unable to add user adop to group Administrators, response code 201, retry ... 1
This issue does not impact Gerrit.
- SOLVED Once launched, Gerrit display the following message each 10 seconds:
Gerrit unavailable, sleeping for 10
Content ofgc_log
file:
2017-03-22 13:53:29,570] INFO : Ignoring missing gc schedule configuration
httpd_log
&sshd_log
do not display any errors
It seems that $GERRIT_HOME/adop_scripts/create_user.sh tries to curl an address that does not exist and can't create users even if Gerrit is up and running.
This problem has been solved by modifying the create_user.sh script. /gerrit has been removed from the login URL in order to reach the right endpoint
- SOLVED Once Gerrit is up and running and tries to create users, the following error appears for each user:
[2017-03-31 12:16:45,504] INFO com.google.gerrit.pgm.Daemon : Gerrit Code Review 2.10.6 ready
Creating user: gerrit
[2017-03-31 12:16:48,378] INFO com.google.gerrit.httpd.auth.ldap.LdapLoginServlet : 'gerrit' failed to sign in: No such user: gerrit
Unable to create user gerrit, response code 401, retry ... 1
Users were missing in LDAP. Solved by solving LDAP user creation error.
INFO Currently the whole Sensu stack is not deployed and removed from Proxy check routine to avoid proxy error.
WORKS
WORKS
- INFO Requires to be launched once rabbitmq is ready to avoid the following error:
{"timestamp":"2017-03-23T08:51:58.830830+0000","level":"error","message":"redis connection error","error":"unable to connect to redis server"}
{"timestamp":"2017-03-23T08:51:59.022461+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::EHOSTUNREACH"}
- CRITICAL Once launched, sensu does not start and issue the following error:
# cat sensu-api.log
/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:405:in `initialize': Permission denied @ rb_sysopen - /tmp/sensu_api_loaded_files (Errno::EACCES)
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:405:in `open'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:405:in `create_loaded_tempfile!'
from /opt/sensu/embedded/lib /ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:198:in `set_env!'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings.rb:34:in `load'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings.rb:48:in `get'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/daemon.rb:133:in `load_settings'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/daemon.rb:53:in `initialize'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/api/process.rb:16:in `new'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/api/process.rb:16:in `run'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/exe/sensu-api:10:in `<top (required)>'
from /opt/sensu/bin/sensu-api:22:in `load'
from /opt/sensu/bin/sensu-api:22:in `<main>'
Current fix
Once running, exec the following command:
oc exec <sensu-api-pod> -c sensu-api -- chmod -R 777 /tmp/sensu_api_loaded_files
oc exec <sensu-api-pod> -c sensu-api -- service sensu-api restart
To get , you can type the following command:
oc get pods | grep sensu-server | cut -d' ' -f 1
Upgrading the image to the latest version (0.28.4) does not change anything
- INFO Requires to be launched once rabbitmq is ready to avoid the following error:
{"timestamp":"2017-03-23T08:52:01.840097+0000","level":"error","message":"redis connection error","error":"unable to connect to redis server"}
{"timestamp":"2017-03-23T08:52:02.028845+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::EHOSTUNREACH"}
- CRITICAL Once launched, sensu does not start and issue the following error:
/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:405:in `initialize': Permission denied @ rb_sysopen - /tmp/sensu_server_loaded_files (Errno::EACCES)
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:405:in `open'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:405:in `create_loaded_tempfile!'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:198:in `set_env!'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings.rb:34:in `load'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings.rb:48:in `get'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/daemon.rb:133:in `load_settings'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/daemon.rb:53:in `initialize'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/server/process.rb:42:in `initialize'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/server/process.rb:30:in `new'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/server/process.rb:30:in `run'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/exe/sensu-server:10:in `<top (required)>'
from /opt/sensu/bin/sensu-server:22:in `load'
from /opt/sensu/bin/sensu-server:22:in `<main>'
Current fix
Once running, exec the following command:
oc exec <sensu-server-pod> -c sensu-server -- chmod -R 777 /tmp/sensu_server_loaded_files
oc exec <sensu-server-pod> -c sensu-server -- service sensu-server restart
To get , you can type the following command:
oc get pods | grep sensu-server | cut -d' ' -f 1
Upgrading the image to the latest version (0.28.4) does not change anything
- INFO Requires to be launched once rabbitmq is ready to avoid the following error:
{"timestamp":"2017-03-23T09:24:40.169105+0000","level":"fatal","message":"SENSU NOT RUNNING!"}
- CRITICAL Once launched, sensu does not start and issue the following error:
# cat sensu-client.log
/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:405:in `initialize': Permission denied @ rb_sysopen - /tmp/sensu_client_loaded_files (Errno::EACCES)
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:405:in `open'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:405:in `create_loaded_tempfile!'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings/loader.rb:198:in `set_env!'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings.rb:34:in `load'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-settings-9.2.1/lib/sensu/settings.rb:48:in `get'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/daemon.rb:133:in `load_settings'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/daemon.rb:53:in `initialize'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/client/process.rb:29:in `initialize'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/client/process.rb:17:in `new'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/client/process.rb:17:in `run'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/exe/sensu-client:10:in `<top (required)>'
from /opt/sensu/bin/sensu-client:22:in `load'
from /opt/sensu/bin/sensu-client:22:in `<main>'
Current fix
Once running, exec the following command:
oc exec <sensu-client-pod> -c sensu-client -- chmod -R 777 /tmp/sensu_client_loaded_files
oc exec <sensu-client-pod> -c sensu-client -- service sensu-client restart
To get , you can type the following command:
oc get pods | grep sensu-client | cut -d' ' -f 1
Upgrading the image to the latest version (0.28.4) does not change anything
- CRITICAL The following error occurs after trying to relaunch sensu-client service:
/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-1.2.0.1/lib/eventmachine.rb:530:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-1.2.0.1/lib/eventmachine.rb:530:in `start_server'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/client/process.rb:364:in `setup_sockets'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/client/process.rb:452:in `block in start'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/daemon.rb:273:in `block in setup_transport'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-transport-6.0.0/lib/sensu/transport.rb:26:in `block in connect'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-1.2.0.1/lib/em/deferrable.rb:151:in `set_deferred_status'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-1.2.0.1/lib/em/deferrable.rb:191:in `succeed'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-transport-6.0.0/lib/sensu/transport/rabbitmq.rb:195:in `block in setup_connection'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-1.2.0.1/lib/em/deferrable.rb:151:in `set_deferred_status'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-1.2.0.1/lib/em/deferrable.rb:191:in `succeed'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.6.0/lib/amqp/session.rb:682:in `connection_successful'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.6.0/lib/amqp/session.rb:1040:in `handle_open_ok'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.6.0/lib/amqp/session.rb:1136:in `block in <class:Session>'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.6.0/lib/amqp/session.rb:959:in `receive_frameset'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.6.0/lib/amqp/session.rb:933:in `receive_frame'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/amqp-1.6.0/lib/amqp/session.rb:671:in `receive_data'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-1.2.0.1/lib/eventmachine.rb:194:in `run_machine'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/eventmachine-1.2.0.1/lib/eventmachine.rb:194:in `run'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/lib/sensu/client/process.rb:18:in `run'
from /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-0.26.5/exe/sensu-client:10:in `<top (required)>'
from /opt/sensu/bin/sensu-client:22:in `load'
from /opt/sensu/bin/sensu-client:22:in `<main>'
WORKS | Should be launched after all the other sensu components.
WORKS, the certified mysql image provided by Red Hat is used.
WORKS
Is up and running and can run Load_platfform job. Exemple_workspace creation does not fully work because Docker is not set (Will be replaced by OCP integration).
-
WARNING Load_platfform job works. As it is raised with gerrit component, the gerrit URL should not have /gerrit. It is advised to remove it from the jobs.groovy used to load the platform. I forked the github https://github.com/Accenture/adop-platform-management in https://github.com/clerixmaxime/adop-platform-management and modified bootstrap/Workspace_Management/Generate_Workspace.groovy and workspaces/jobs/jobs.groovy
-
SOLVED Generate Example Workspace does not work. It ends up with the following error in Generate_project job (corresponds to line 30 of this file https://github.com/clerixmaxime/adop-platform-management/blob/master/projects/jobs/jobs.groovy):
++ rm -rf /workspace/ExampleWorkspace/Project_Management/Generate_Project/tmp
Processing DSL script jobs.groovy
[ssh-agent] Stopped.
ERROR: (jobs.groovy, line 30) No signature of method: javaposse.jobdsl.dsl.helpers.BuildParametersContext.extensibleChoiceParameterDefinition() is applicable for argument types: (jobs$_run_closure2_closure4_closure9) values: [jobs$_run_closure2_closure4_closure9@7d82691d]
Finished: FAILURE
- SOLVED Can't access Gerrit
WARNING: Failed to run script file:/var/jenkins_home/init.groovy.d/adop_gerrit.groovy
java.lang.NumberFormatException: For input string: "tcp://172.30.75.45:29418"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.valueOf(Integer.java:766)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.toInteger(DefaultGroovyMethods.java:14035)
at org.codehaus.groovy.runtime.dgm$821.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
at adop_gerrit.run(adop_gerrit.groovy:18)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:580)
at jenkins.util.groovy.GroovyHookScript.execute(GroovyHookScript.java:122)
at jenkins.util.groovy.GroovyHookScript.execute(GroovyHookScript.java:113)
at jenkins.util.groovy.GroovyHookScript.run(GroovyHookScript.java:96)
at hudson.init.impl.GroovyInitScript.init(GroovyInitScript.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:106)
at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:176)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:904)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
- SOLVED Can't authenticate to LDAP server but can connect with adop/adop account to the web UI.
Mar 31, 2017 2:47:44 PM org.acegisecurity.providers.ldap.authenticator.BindAuthenticator2 handleBindException
WARNING: Failed to bind to LDAP: userDncn=jenkins,ou=people,dc=ldap,dc=example,dc=com username=jenkins
javax.naming.AuthenticationException: [LDAP: error code 49 - Invalid Credentials]
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3135)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3081)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2883)
at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2797)
at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:319)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:192)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:210)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:153)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:83)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
at javax.naming.InitialContext.init(InitialContext.java:244)
at javax.naming.InitialContext.<init>(InitialContext.java:216)
at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101)
at org.acegisecurity.ldap.DefaultInitialDirContextFactory.connect(DefaultInitialDirContextFactory.java:180)
at org.acegisecurity.ldap.DefaultInitialDirContextFactory.newInitialDirContext(DefaultInitialDirContextFactory.java:261)
at org.acegisecurity.ldap.LdapTemplate.execute(LdapTemplate.java:123)
at org.acegisecurity.ldap.LdapTemplate.retrieveEntry(LdapTemplate.java:165)
at org.acegisecurity.providers.ldap.authenticator.BindAuthenticator.bindWithDn(BindAuthenticator.java:87)
at org.acegisecurity.providers.ldap.authenticator.BindAuthenticator.authenticate(BindAuthenticator.java:72)
at org.acegisecurity.providers.ldap.authenticator.BindAuthenticator2.authenticate(BindAuthenticator2.java:49)
at org.acegisecurity.providers.ldap.LdapAuthenticationProvider.retrieveUser(LdapAuthenticationProvider.java:233)
at org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:122)
at org.acegisecurity.providers.ProviderManager.doAuthentication(ProviderManager.java:200)
at org.acegisecurity.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:47)
at hudson.security.LDAPSecurityRealm$LDAPAuthenticationManager.authenticate(LDAPSecurityRealm.java:786)
at jenkins.security.BasicHeaderRealPasswordAuthenticator.authenticate(BasicHeaderRealPasswordAuthenticator.java:55)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:79)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:168)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
WORKS
WORKS
WORKS
WORKS
- INFO There is an error decoding ldap.xml file, see error below:
2017-03-31 09:55:46 ERROR [jetty-main-1] *SYSTEM org.sonatype.security.ldap.realms.persist.DefaultLdapConfiguration - Failed to decrypt password, assuming the password in file: '/sonatype-work/conf/ldap.xml' is clear text.
org.sonatype.security.ldap.upgrade.cipher.PlexusCipherException: java.lang.Exception: default.plexus.cipher.encryptedStringCorruptedStructure
at org.sonatype.security.ldap.upgrade.cipher.DefaultPlexusCipher.decrypt(DefaultPlexusCipher.java:199) ~[nexus-ldap-realm-plugin-2.11.3-01/:na]
at org.sonatype.security.ldap.realms.persist.DefaultPasswordHelper.decrypt(DefaultPasswordHelper.java:54) ~[nexus-ldap-realm-plugin-2.11.3-01/:na]
at org.sonatype.security.ldap.realms.persist.AbstractLdapConfiguration.load(AbstractLdapConfiguration.java:203) [nexus-ldap-realm-plugin-2.11.3-01/:na]
at org.sonatype.security.ldap.realms.persist.AbstractLdapConfiguration.<init>(AbstractLdapConfiguration.java:129) [nexus-ldap-realm-plugin-2.11.3-01/:na]
at org.sonatype.security.ldap.realms.persist.DefaultLdapConfiguration.<init>(DefaultLdapConfiguration.java:38) [nexus-ldap-realm-plugin-2.11.3-01/:na]
at org.sonatype.security.ldap.realms.persist.DefaultLdapConfiguration$$FastClassByGuice$$b83ca5be.newInstance(<generated>) [sisu-guice-3.1.10.jar:na]
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:92) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:113) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:129) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:279) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1057) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.Scopes$1$1.get(Scopes.java:59) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1000) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1057) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:996) [sisu-guice-3.1.10.jar:3.1.10]
at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82) [org.eclipse.sisu.inject-0.2.0.jar:na]
at org.eclipse.sisu.wire.BeanProviders.firstOf(BeanProviders.java:179) [org.eclipse.sisu.inject-0.2.0.jar:na]
at org.eclipse.sisu.wire.BeanProviders$7.get(BeanProviders.java:160) [org.eclipse.sisu.inject-0.2.0.jar:na]
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:113) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:129) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:107) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:92) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:113) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:129) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:279) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1057) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.Scopes$1$1.get(Scopes.java:59) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1000) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1057) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:996) [sisu-guice-3.1.10.jar:3.1.10]
at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82) [org.eclipse.sisu.inject-0.2.0.jar:na]
at org.eclipse.sisu.wire.BeanProviders.firstOf(BeanProviders.java:179) [org.eclipse.sisu.inject-0.2.0.jar:na]
at org.eclipse.sisu.wire.BeanProviders$7.get(BeanProviders.java:160) [org.eclipse.sisu.inject-0.2.0.jar:na]
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:113) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:129) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:107) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:92) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:113) [sisu-guice-3.1.10.jar:3.1.10]
at org.eclipse.sisu.bean.BeanScheduler$Activator.onProvision(BeanScheduler.java:176) [org.eclipse.sisu.inject-0.2.0.jar:na]
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:122) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:279) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1057) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.Scopes$1$1.get(Scopes.java:59) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1000) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1050) [sisu-guice-3.1.10.jar:3.1.10]
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:996) [sisu-guice-3.1.10.jar:3.1.10]
at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82) [org.eclipse.sisu.inject-0.2.0.jar:na]
at org.eclipse.sisu.wire.NamedIterableAdapter$NamedEntry.getValue(NamedIterableAdapter.java:125) [org.eclipse.sisu.inject-0.2.0.jar:na]
at java.util.AbstractMap.get(AbstractMap.java:182) [na:1.7.0_76]
at org.sonatype.security.DefaultSecuritySystem.getRealmsFromConfigSource(DefaultSecuritySystem.java:223) [nexus-security-2.11.3-01.jar:2.11.3-01]
at org.sonatype.security.DefaultSecuritySystem.setSecurityManagerRealms(DefaultSecuritySystem.java:796) [nexus-security-2.11.3-01.jar:2.11.3-01]
at org.sonatype.security.DefaultSecuritySystem.start(DefaultSecuritySystem.java:774) [nexus-security-2.11.3-01.jar:2.11.3-01]
at org.sonatype.nexus.NxApplication.doStart(NxApplication.java:134) [nexus-core-2.11.3-01.jar:2.11.3-01]
at org.sonatype.sisu.goodies.lifecycle.LifecycleSupport$Handler.doStart(LifecycleSupport.java:70) [goodies-lifecycle-1.9.jar:1.9]
at org.sonatype.sisu.goodies.lifecycle.LifecycleHandlerContext$MainMap_Starting.started(LifecycleHandlerContext.java:255) [goodies-lifecycle-1.9.jar:1.9]
at org.sonatype.sisu.goodies.lifecycle.LifecycleHandlerContext.started(LifecycleHandlerContext.java:57) [goodies-lifecycle-1.9.jar:1.9]
at org.sonatype.sisu.goodies.lifecycle.LifecycleSupport.start(LifecycleSupport.java:129) [goodies-lifecycle-1.9.jar:1.9]
at org.sonatype.nexus.webapp.WebappBootstrap.contextInitialized(WebappBootstrap.java:168) [classes/:na]
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424) [jetty-servlet-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249) [jetty-servlet-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242) [jetty-webapp-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494) [jetty-webapp-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) [jetty-util-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) [jetty-util-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) [jetty-util-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.server.Server.doStart(Server.java:282) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) [jetty-util-8.1.16.v20140903.jar:8.1.16.v20140903]
at org.sonatype.nexus.bootstrap.jetty.JettyServer$JettyMainThread.run(JettyServer.java:247) [nexus-bootstrap-2.11.3-01.jar:2.11.3-01]
Caused by: java.lang.Exception: default.plexus.cipher.encryptedStringCorruptedStructure
at org.sonatype.security.ldap.upgrade.cipher.DefaultPlexusCipher.decrypt(DefaultPlexusCipher.java:172) ~[nexus-ldap-realm-plugin-2.11.3-01/:na]
- SOLVED
Nexus can be deployed without errors when LDAP is disabled. When LDAP is enabled, the following error occurs:
1) Error injecting constructor, org.sonatype.nexus.configuration.ModelUtils$CorruptModelException: Model corruptedUnable to parse element 'port', must be an integer (position: END_TAG seen ...<port>tcp://172.30.217.255:389</port>... @11:42) caused by: java.lang.NumberFormatException: For input string: "tcp://172.30.217.255:389"
at org.sonatype.security.ldap.realms.persist.DefaultLdapConfiguration.<init>(DefaultLdapConfiguration.java:38)
at org.sonatype.nexus.plugins.nexus-ldap-realm-plugin [29]([file:/opt/sonatype/nexus/nexus/WEB-INF/plugin-repository/nexus-ldap-realm-plugin-2.11.3-01/nexus-ldap-realm-plugin-2.11.3-01.jar, file:/opt/sonatype/nexus/nexus/WEB-INF/plugin-repository/nexus-ldap-realm-plugin-2.11.3-01/dependencies/nexus-ldap-common-2.11.3-01.jar]) (via modules: org.eclipse.sisu.wire.WireModule -> org.eclipse.sisu.plexus.PlexusBindingModule)
while locating org.sonatype.security.ldap.realms.persist.DefaultLdapConfiguration
while locating java.lang.Object annotated with *
at org.eclipse.sisu.wire.LocatorWiring
while locating org.sonatype.security.ldap.realms.persist.LdapConfiguration
for parameter 3 at org.sonatype.nexus.security.ldap.realms.DefaultLdapManager.<init>(DefaultLdapManager.java:40)
at org.sonatype.nexus.plugins.nexus-ldap-realm-plugin [29]([file:/opt/sonatype/nexus/nexus/WEB-INF/plugin-repository/nexus-ldap-realm-plugin-2.11.3-01/nexus-ldap-realm-plugin-2.11.3-01.jar, file:/opt/sonatype/nexus/nexus/WEB-INF/plugin-repository/nexus-ldap-realm-plugin-2.11.3-01/dependencies/nexus-ldap-common-2.11.3-01.jar]) (via modules: org.eclipse.sisu.wire.WireModule -> org.eclipse.sisu.plexus.PlexusBindingModule)
while locating org.sonatype.nexus.security.ldap.realms.DefaultLdapManager
while locating java.lang.Object annotated with *
at org.eclipse.sisu.wire.LocatorWiring
while locating org.sonatype.security.ldap.realms.LdapManager
for parameter 0 at org.sonatype.nexus.security.ldap.realms.NexusLdapAuthenticationRealm.<init>(NexusLdapAuthenticationRealm.java:33)
at org.sonatype.nexus.plugins.nexus-ldap-realm-plugin [29]([file:/opt/sonatype/nexus/nexus/WEB-INF/plugin-repository/nexus-ldap-realm-plugin-2.11.3-01/nexus-ldap-realm-plugin-2.11.3-01.jar, file:/opt/sonatype/nexus/nexus/WEB-INF/plugin-repository/nexus-ldap-realm-plugin-2.11.3-01/dependencies/nexus-ldap-common-2.11.3-01.jar]) (via modules: org.eclipse.sisu.wire.WireModule -> org.eclipse.sisu.plexus.PlexusBindingModule)
while locating org.sonatype.nexus.security.ldap.realms.NexusLdapAuthenticationRealm
while locating java.lang.Object annotated with *
Providing the IP address of the container running LDAP as LDAP_URL does not solve the issue in this case.
LDAP_PORT was not set up.
The adop-platform-management Github repository has been forked into https://github.com/clerixmaxime/adop-platform-management.git. DSL jobs have been modified to fix errors related to Gerrit. This forked repository should be used as GIT_URL parameter. (Could be fixed by solving issue related to gerrit URL???)
- Fix issues listed above.
- Add ELK stack or synchronize with openshift-metrics.
- Add persistent volumes for required containers (cf. https://github.com/Accenture/adop-docker-compose/blob/master/etc/volumes/nfs/default.yml for volumes list).
- Extend Openshift Jenkins Image? https://github.com/openshift/jenkins
- Configure Jenkins to deploy on OpenShift (Works out-of-the-box one Openshift Pipeline is installed).
- Configure Jenkins to sync with Openshift (Works out-of-the-box one Openshift Sync is installed).
- Configure Jenkins to deploy slave in Openshift instead of Docker. Using Kubernetes plugin, Jenkins could be configured to use Openshift as a deployment platform to deploy also jenkins slaves (https://blog.openshift.com/jenkins-slaves-in-openshift-using-an-external-jenkins-environment/).
- Identify Required parameters for each component.
- Write parameters' description.
- Write Readiness probes for ADOP containers.
- Write script to load docker images on hosts.
- Write deployment script
- Write ADOP templates