1
votes

I receive an error message while attempting to deploy anything from the marketplace into a specific GCP project.

You must have a valid default service account in order to create a deployment, but this account could not be detected. Contact support for help restoring the account.

Things I've Tried:

  • Every VM from the marketplace shows the same error message
  • I can deploy regular VM instance
  • I can see there is an enabled service account for the project with the name "Compute Engine default service account".
  • I am able to deploy VM's from the marketplace into other projects under the same organization
  • I've contacted GCP Billing support and they cannot find anything wrong from a billing perspective

Researching online shows that others that have had this issue have just rebuilt the project. It appears that service account is created by default when the project is spun up.

I'm hoping there is another way around it as this project is a host for a shared VPC deployment. There are already other projects with deployed VM's that are utilizing the host projects networks.

Thank you!

2
Possibly relevant to this question: stackoverflow.com/questions/36908749/…. Alternatively, you can follow the suggestion in the error and contact support.robsiemb
@robsiemb - that link is a very different type of error. I agree with you he needs to contact Google Cloud Support.John Hanley
Stackoverflow cannot help you with account problems. You will need to contact Google Cloud Support. This means you will need a paid support agreement.John Hanley
@JohnHanley if the questioner accidentally deleted their default service account, the answers there might allow them to recover it.robsiemb
@robsiemb - It depends on which service account they deleted. Some service accounts cannot be recreated by users and require Google Cloud Support. Some service accounts can be automatically recreated by first disabling the service and then re-enabling the service. His problem is most likely a missing "Compute Engine Default Service Account". I don't remember if this is a special one that requires Google Cloud Support to recreate.John Hanley

2 Answers

0
votes

Looks like you deleted a default service account.

As mentioned in one comment some can be recreated by disable/enable the corresponding API

Below are the default service accounts I have in my project, hope it helps you to find the root cause. (these service accounts let me deploy a wordpress solution depending on what you are trying to deploy you might need more service accounts)

  • [email protected] Compute Engine
    default service account

  • [email protected] Google APIs Service Agent

  • [email protected] App Engine default service
    account

  • [email protected] Cloud Asset Service Agent

  • service-PROJECT-NUMBER@cloud-ml.google.com.iam.gserviceaccount.com Google Cloud ML Engine Service Agent
  • [email protected] Compute Engine Service Agent
  • service-PROJECT-NUMBER@container-engine-robot.iam.gserviceaccount.com Kubernetes Engine Service Agent
  • [email protected] Google Container Registry Service Agent
  • service-PROJECT-NUMBER@dataflow-service-producer-prod.iam.gserviceaccount.com Cloud Dataflow Service Account
  • service-PROJECT-NUMBER@service-networking.iam.gserviceaccount.com Service Networking Service Agent
0
votes

The service account was intact and had the same permissions as other service accounts for working projects.

We purchased and opened a case with GCP technical support. After a little more than a week of them troubleshooting the issues, they determined there was no way to correct the problem. Their root cause was that something happened during the initial project deployment that caused some backend configuration issues. For what its worth, the project was deployed using Terraform, but its uncertain if that was a factor.

After recreating the host project, we were able to deploy from the marketplace again successfully.

If you run into this problem, save yourself the hassle and time and just recreate the project.