We have just started building a store front application, we just need FileAsset deployments (Targeters) for now. No need of Repository Asset deployment. We have setup a Master/Slave configuration for the file asset deployment. Have followed the document for Master/Slave & have layered files accordingly.
However, in the DeploymentAgent component we see mis-match in live data store name of switchable data stores : 'DataSourceB' != 'DataSourceA' error due to which the agents show up in error state in BCC. We even executed prepareSwitch & performSwitch from /atg/epub/file/ConfigFileSystem, but it did not work. Are we missing some configuration here?
Try invoking prepareSwitch and performSwitch on /atg/commerce/jdbc/ProductCatalogSwitchingDataSource. Or in BCC go to admin console > Overview > Click on the target and then click on the Agents tab. There you will have a link to SwitchableDatastores above the agent name. Click on it and see if all the list shown there is pointing to the same datasource. If you see any mismatch, click on the corresponding check-box and hit switch selected datastore. See if this helps.
But we do not have ProductCatalogSwitchingDataSource in our DeployAgent component since we are not going to deploy any repository asset. This is the first time we have integrated ATG CA with storefront and we are deploying only file assets , hence our DeploymentAgent has reference to ConfigFileSystem but not to ProductCatalogSwitchingDataSource.
Look at the second option given by Nitin, it does the trick for most of these cases.
In BCC go to admin console > Overview > Click on the target and then click on the Agents tab. There you will have a link to SwitchableDatastores above the agent name. Click on it and see if all the list shown there is pointing to the same datasource. If you see any mismatch, click on the corresponding check-box and hit switch selected datastore.
We found the problem - it was a bug in the code wherein one of the modules had incorrectly layered Initial.properties, it just had entries as initialServices=
due to which all the other services were ignored (In our case, Publishing agent's initialServices - which starts up the ConfigFileSystem)
However, we are still not able to thoroughly figure out why it worked in lower environments (BCC & Store Front in same network) & not on production like environment(BCC & Store Front in different network). Is it that on a same network - BCC can start off the components(if in same network) in Store Front if they are not already started?