Awhite
Awhite

Reputation: 1

Perforce change submissions using deleted user

I deleted a placeholder user 'perforce' in p4admin and re-assigned workspace ownership from that user to myself.

Now however when anyone tries to submit a changelist to their project they are getting this error

1 error reported Submit validation failed -- fix problems then use 'p4 submit -c 195'.'check-    case' validation failed: Exception during trigger execution: <class 'P4.P4Exception'> User perforce doesn't exist.   <traceback object at 0x7ff61aa5ad80>P4 ERROR: User perforce doesn't exist. An error was encountered during trigger execution. Please contact your Perforce administrator and ask them to investigate the cause of this error in /p4/1/logs/p4triggers.log

It seems like its trying to submit everything through this old user, but I don't understand why.

Running p4 triggers returns only this

    Triggers: check-case change-submit //... "/p4/common/site/bin/triggers/CheckCaseTrigger.py allowbypass=no %changelist%"

I've gone through the existing depots, workspaces, changelogs in p4admin to verify that the 'perforce' user is not listed as an owner or anywhere else.

I need to remove all references to this old username

Any help would be greatly appreciated.

Upvotes: 0

Views: 34

Answers (2)

Jase
Jase

Reputation: 406

That path tells me this is an SDP installation (or used one of our cloud templates, which are all based on the SDP).The CheckCaseTrigger as well as the scripts for running nightly checkpoints and weekly validation depend on some config files in /p4/common/config/ All of those are likely failing right now, so definitely take a look at this right away.

SSH into the server machine and change to the perforce user to do all of this:

  1. First, edit /p4/common/config/p4_1.vars

    Look for the line export P4USER=perforce and change that to be the new SuperUser account you created.

  2. Then take a look at /p4.common/config/.p4passwd.p4_1.admin and edit that to the password for your new super user.

    Then run source ~/.bashrc (as the perforce user on Linux) to update the variables.

  3. I think those two are the only configurations you'll need to change. For good measure run p4login and see if it succeeds.

Upvotes: 1

Samwise
Samwise

Reputation: 71542

The error message says you have a failing trigger, and p4 triggers says that every time you submit, this script is executed:

/p4/common/site/bin/triggers/CheckCaseTrigger.py

If that script fails, the submit fails, and the script's error message is reported to the user.

Since the submit is failing with the error User perforce doesn't exist, it seems very likely that the trigger (CheckCaseTrigger.py) has the user perforce hardcoded into it. Look at the trigger script and see if it needs to be updated.

Upvotes: 1

Related Questions