Friday, June 3, 2016

Issue provisioning PWA on Root (HNSC or Site) in #projectserver2016

Following on from my previous 2016 PWA Setup post, I am encountering an issue with PWA on the root of a HNSC with PWA in ProjectServer Permission Mode.

Scenario

 I want to create a pwa site on a HNSC at http://pwa.domain.com,  I don’t PWA as a pathed web under the HNSC (‘/pwa’) and I would like to avoid using a Host Header on a separate webapp with PWA provisioned at ‘/’ if poss as its horrible and ikkie

Method

  1. Create a web app on server name http://fe1
  2. Create a root Site Collection on the web app
  3. Lock Content DB down
  4. Create new Content DB for the PWA site
  5. Create a HNSC called http://pwa.domain.com pointing to the above web app using the PWA#0 template etc

    New-spsite "http://pwa.domain.com" -hostheaderwebapplication "http://fe1" -name "PWA" -Description "Project Web App" -owneralias "Domain\user" -language 1033 -template "PWA#0"
  6. Lock the content db down
  7. Enable PWASite features and all that jazz
  8. Switch to Project Server permission mode
  9. Add a user to a PWA User Group to trigger the sync


At this point adding resources returns this in the ULS

An unexpected exception occurred while processing queue messages of type PSPermissionSynchronizePWASite, Exception: System.ArgumentException: Trying to get name of an SPWeb at the root web app is not allowed. 
SPweb?  huh?  I created an SPSite surely!


And this in the queue
 GeneralQueueJobFailed (26000) - PSPermissionSynchronizePWASite.PSPermissionSynchronizePWASiteMessage. Details: id='26000' 
name='GeneralQueueJobFailed'
uid='2712a0fb-fa27-e611-80bb-00155d940402'
JobUID='2112a0fb-fa27-e611-80bb-00155d940402'
ComputerName='6ce47b31-e9bf-41c3-ae1d-0ebdf5c14dc6'
GroupType='PSPermissionSynchronizePWASite'
MessageType='PSPermissionSynchronizePWASiteMessage'
MessageId='1'
Stage=''
CorrelationUID='81e4819d-d915-3091-14dc-6f20bb3fa683'
For more details, check the ULS logs on machine 6ce47b31-e9bf-41c3-ae1d-0ebdf5c14dc6 for entries with JobUID 2112a0fb-fa27-e611-80bb-00155d940402.
name='GeneralQueueJobFailed'
uid='2712a0fb-fa27-e611-80bb-00155d940402'
JobUID='2112a0fb-fa27-e611-80bb-00155d940402'
ComputerName='6ce47b31-e9bf-41c3-ae1d-0ebdf5c14dc6' GroupType='PSPermissionSynchronizePWASite' MessageType='PSPermissionSynchronizePWASiteMessage'
MessageId='1'
Stage=''
CorrelationUID='81e4819d-d915-3091-14dc-6f20bb3fa683'
For more details, check the ULS logs on machine 6ce47b31-e9bf-41c3-ae1d-0ebdf5c14dc6 for entries with JobUID 2112a0fb-fa27-e611-80bb-00155d940402.

So what does work so far and what doesn't....


  1. new-SPSite on an explicit managed path ('/pwa') or under a wildcard path '/pwasites/pwa1' - OK
  2. new-SPSite on Root of a Web App with hostheader as '/'  - FAIL (expected as it seems to be SPSite on Root that the issue is
 So it seems that PWA cannot yet be on root anywhere.... YIKES!