P4 with Broker fails on TeamCity Server

Greetings!

The perforce plugin is trying to get `p4 info` on the server before logging in. Since we use a broker for authentication, it does not return a server address until after you are logged in, so it is failing with (changing the info I cannot share to ****):

Couldn't find server info in 'p4 info' output: User name: teamcity
Client name: teamcity01a-pdx
Client host: teamcity01a-pdx
Client root: /opt/jetbrains/TeamCity
Current directory: /opt/jetbrains/TeamCity/bin
Peer address: 127.0.0.1:59860
Client address: *****
Server date: 2019/08/09 00:26:39 +0000 UTC
Server version: P4D/LINUX26X86_64/2018.2/1779952 (2019/04/02)
Server encryption: encrypted
Server cert expires: Feb 13 22:24:35 2020 GMT
ServerID: master.1
Server services: standard
Broker address: *****
Broker encryption: encrypted
Broker cert expires: Feb 13 22:24:35 2020 GMT

The agent works fine; it is logged in. Because we share a server with other teams, we cannot access the server, only the agent. We have it set to checkout on the agent only, but it seems that even then the server tries to collect changes itself before moving on to starting the build on the agent. It has worked a couple of times, so it might be logging in sometimes.

1. In what cases does it login without trying to do a `p4 info` command first? We could use that to workaround if it's possible. 

2. Alternatively, is there a way to collect changes on the agent instead of on the server?

Basically, is our only option to manually sync p4 with a script we run on the agent? 

 

Thanks!

Kasey McKenna

1
1 comment

Hello Kasey,

 

  The problem with `p4 info` requiring to find Server address has been fixed in https://youtrack.jetbrains.net/issue/TW-60252. If you use TeamCity prior to 2018.2.5, the upgrade should help with the issue.

  Other than that, I don't see a workaround which would work for you :(

  Hope this helps,

0

Please sign in to leave a comment.