History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-3365
Type: Bug Bug
Status: Closed Closed
Resolution: Cannot Reproduce
Priority: Blocker Blocker
Assignee: Robin Shen
Reporter: admin
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
QuickBuild

Perforce Trust using SSL connection

Created: 14/Mar/19 01:39 AM   Updated: 09/Mar/20 10:39 AM
Component/s: None
Affects Version/s: 8.0.38
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment: Linux CentOS 7 server


 Description  « Hide
Our perforce server is using SSL client connections. We have a script running on the master server to add the perforce server as trusted. Then we call the setupClient() to login the perforce user. Every time if indicates that the server is not trusted, but just above you can see that the trust command was ran and the server should be accepted. Also have logged in locally and we are able to verify trust and login with the given user.

this is a shell command
19:29:43,471 INFO - Running step...
19:29:43,472 DEBUG - Executing command: p4 -p ssl:perforce.corp.prophecygames.com:1666 -u builder trust -i 31:25:89:92:94:B4:A9:EE:96:94:2B:94:33:89:xx:xx:xx:xx:xx:xx
19:29:43,472 DEBUG - Command working directory: /data
...
19:29:43,483 INFO - Added trust for P4PORT 'ssl:perforce.corp.prophecygames.com:1666' (192.168.66.6:1666)

... then a groovy call on the repo
19:29:44,236 DEBUG - Getting Perforce ticket...
19:29:44,236 DEBUG - Executing command: p4 -p ssl:perforce.corp.prophecygames.com:1666 -u builder login -p
19:29:44,236 DEBUG - Command working directory: /opt/quickbuild-8.0.38/bin
19:29:44,243 ERROR - The authenticity of '192.168.66.6:1666' can't be established,
19:29:44,243 ERROR - this may be your first attempt to connect to this P4PORT.
19:29:44,243 ERROR - The fingerprint for the key sent to your client is
19:29:44,243 ERROR - 31:25:89:92:94:B4:A9:EE:96:94:2B:94:33:89:xx:xx:xx:xx:xx:xx
19:29:44,243 ERROR - To allow connection use the 'p4 trust' command.
19:29:44,245 INFO - Executing post-execute action...
19:29:44,245 ERROR - Step 'master>Common -- Pre-flight (Sequential Steps)>Common -- Verify Perforce Workspaces (Sequential Steps)?pRepoName=WebApps>Util -- Snapshot (Script) (Repeated)?NodeName=devops01.corp.prophecygames.com:8810' is failed: Failed to run command: p4 -p ssl:perforce.corp.prophecygames.com:1666 -u builder login -p
Command return code: 1
Command error output: The authenticity of '192.168.66.6:1666' can't be established,
this may be your first attempt to connect to this P4PORT.
The fingerprint for the key sent to your client is
31:25:89:92:94:B4:A9:EE:96:94:2B:94:33:89:xx:xx:xx:xx:xx:xx
To allow connection use the 'p4 trust' command.


 All   Comments   Work Log   Change History      Sort Order:
Robin Shen [15/Mar/19 08:03 AM]
It works at my side. What I am done:
1. Define a perforce repository connecting to ssl enabled Perforce server (testing with localhost)
2. Add a command build step to run below:
p4 -p ssl:localhost:1666 trust -y
3. Add a groovy step to run below script:
groovy:
repositories.get("p4_repo_name").setupClient()

Note that I do not have any steps to checkout the repository here. If I had that step, the command to trust will be too late, as QB interacts with Perforce while taking snapshots, which happens before any build steps are running. In that case, you will either pre-trust the Perforce server as the user running QB service, or run the trust command before taking snapshot (specify snapshot taking as a groovy script, and run the trust command before calling snapshot taking)