Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Talend Cloud AWS EU Scheduled Outage: Starting Tues 26 May 21:00 CEST with expected completion Wed 27 May 01:00 CEST
cancel
Showing results for 
Search instead for 
Did you mean: 
holtryfc
Contributor II
Contributor II

ci_builder fails to logon with logonProject

We recently installed Talend-CI-Builder-20180411_1414-V7.0.1 with Maven 3.5.3, Jenkins 2.101 and Java  jdk1.8.0_144.  Talend 7.0.1 cmdline (and studio) is owned by a local user and runs in daemon mode as that user.  Jenkins also runs as that user. Our system is Linux 2.6.32-696.10.2.el6.x86_64.  We used https://community.talend.com/t5/Architecture-Best-Practices-and/Continuous-Integration-with-Talend-C... to do the install. 

 

We have configured the maven option commandline.user with dummy@talend.com and various local users but still get the following error:

[ERROR] Failed to execute goal org.talend:ci.builder:7.0.1:generate (default-cli) on project code.Master: Fail to execute command: LogonProjectCommand log on CBMS_TRANSFORMATION_DEV: Have exceptions when execute the command: LogonProjectCommand log on CBMS_TRANSFORMATION_DEV: java.lang.NullPointerException[ERROR] at org.talend.librariesmanager.model.service.LocalLibraryManager.isInitialized(LocalLibraryManager.java:123)[ERROR] at org.talend.librariesmanager.model.service.LocalLibraryManager.clearCache(LocalLibraryManager.java:702)[ERROR] at org.talend.core.model.components.ComponentManager.saveResource(ComponentManager.java:62)[ERROR] at org.talend.designer.codegen.components.model.ComponentsFactory.init(ComponentsFactory.java:190)[ERROR] at org.talend.designer.codegen.components.model.ComponentsFactory.getComponents(ComponentsFactory.java:827)[ERROR] at org.talend.designer.joblet.utils.JobletComponentsUtils.loadComponentsFromJoblets(JobletComponentsUtils.java:140)[ERROR] at org.talend.designer.joblet.ui.process.JobletProcessProvider.loadComponentsFromExtensionPoint(JobletProcessProvider.java:190)[ERROR] at org.talend.designer.core.model.process.AbstractProcessProvider.loadComponentsFromProviders(AbstractProcessProvider.java:128)[ERROR] at org.talend.designer.joblet.JobletProviderService.loadComponentsFromProviders(JobletProviderService.java:408)[ERROR] at org.talend.core.model.repository.RepositoryManager.syncRoutineAndJoblet(RepositoryManager.java:109)[ERROR] at org.talend.commandline.command.CommandProcessor.logonProject(CommandProcessor.java:160)[ERROR] at org.talend.commandline.command.CommandProcessorSwitch.caseLogonProjectCommand(CommandProcessorSwitch.java:146)[ERROR] at org.talend.commandline.client.util.CommandAbstractSwitch.doSwitch(CommandAbstractSwitch.java:54)[ERROR] at org.talend.commandline.command.CommandConsumer.executeCommand(CommandConsumer.java:57)[ERROR] at org.talend.commandline.command.CommandConsumer.execute(CommandConsumer.java:35)[ERROR] at org.talend.commandline.mode.ServerCommandLine$CommmandConsumerRunnable.run(ServerCommandLine.java:139)[ERROR] at java.lang.Thread.run(Thread.java:748)[ERROR] -> [Help 1]

How does cmdline authenticate the user?  Does it do a lookup on /etc/passwd?  What do we need to do to fix this error?

Labels (2)
1 Solution

Accepted Solutions
holtryfc
Contributor II
Contributor II
Author

With help from Talend support, got this one resolved.  The problem originated when we ran commandline as the root user.  It needs to be run as the same user that Jenkins is building  the job as -- in our case, the same user that Jenkins is running as.  Running as root, commandline left a number of files and folders scattered around owned by root.  Later, running as the Jenkins user, it couldn't access those files and folders.  All the files and folders in the commandline workspace need to be owned by the same user that is building the jobs.

 

Oh, and commanline.user is a dummy parameter.  Doesn't do anything.

View solution in original post

1 Reply
holtryfc
Contributor II
Contributor II
Author

With help from Talend support, got this one resolved.  The problem originated when we ran commandline as the root user.  It needs to be run as the same user that Jenkins is building  the job as -- in our case, the same user that Jenkins is running as.  Running as root, commandline left a number of files and folders scattered around owned by root.  Later, running as the Jenkins user, it couldn't access those files and folders.  All the files and folders in the commandline workspace need to be owned by the same user that is building the jobs.

 

Oh, and commanline.user is a dummy parameter.  Doesn't do anything.