Google Market Place VM Deployment Issues - google-compute-engine

I am receiving the error message when deploying a Windows Server Marketplace Instance with error below. Any help is greatly appreciated.enter image description here
Create VM instance "windows-server-2022-test" and its boot disk "windows-server-2022-test"
13 hours ago
GCPvirtualHybrid
Operation type [insert] failed with message "The resource 'projects/windows-cloud/global/images/windows-server-2022-dc-v20220812' is obsolete. New uses are not allowed. No replacement was specified."

Related

SQLException when deploying ASP.NET Boilerplate application to Azure

I've been trying to deploy an ASP.NET Boilerplate application to Azure for the last couple of days and I haven't been able to do so. I keep stumbling upon this error:
First I make a Web App + SQL resource and then publish my project to it from inside Visual Studio using the right click -> deploy option, and then importing the publication profile I got from Azure. I make sure the database connection string in the appsettings.production.json are correct but I can't seem to connect to the database. If I try to connect to the database through the SQL Server Management Studio I get a similar error. This means something is wrong with the database itself.
Do I need to create a separate SQL database in Azure that makes use of the SQL database server that comes with the Web App + MySQL resource?
Any help would be greatly appreciated! I have been spending way too much time on this problem already.
This is a screenshot of all the resources in the Azure portal, these were created while creating the Web app + MySQL resource:
Edit: This is the error I am getting:
Win32Exception: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. Unknown location SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.) Microsoft.Data.ProviderBase.DbConnectionPool.CheckPoolBlockingPeriod(Exception e) InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure()' to the 'UseSqlServer' call. Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute<TState, TResult>(TState state, Func<DbContext, TState, TResult> operation, Func<DbContext, TState, ExecutionResult<TResult>> verifySucceeded) Win32Exception: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Since you mentioned you can't access db in any other way, I provided step-by-step instruction
You can get your connection string from Azure resource panel
Navigate to Connection security tab and enable access from other Azure resources. This way WebApp will be able access database server inside Azure network. I also added my client IP to test db connection from my PC later. Click Save at the top when you are done
On the same page there is setting called configure SSL connection. Certificate can be downloaded from https://learn.microsoft.com/uk-ua/azure/mysql/howto-configure-ssl. I used this file https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem . Optionally, you could disable this feature for now.
Now we have everything to test db connection. I will show it with the use of HeidiSQL client.
Click open and see your databases
According to this you need to have CACertificateFile parameter appended to connection string to use SSL, so you need to put file into repository and provide its relative path in connection string
This was all caused by a stupid mistake, in the Azure portal I selected the Web App + MySQL resource instead of the Web App + SQL resource. For the ASP.NET Boilerplate project I am using you need a Web App + SQL resource.

Connect to Google Cloud MySql From Cloud Run (knative)

For a sample project I am working on (https://gitlab.com/connorbutch/reading-comprehension-ws), I am having issues connecting to a google cloud mysql database from google cloud run. However, when I run locally with the same args (in both docker and kubernetes) the application looks to succeed.
The steps I followed in setting up my google cloud run application are listed here (https://cloud.google.com/sql/docs/mysql/connect-run). I included the mysql db in the cloud database info. Things I have tried
connecting using ip address in jdbc connection string (which works locally, but this statement on the page suggests it might not on google cloud run, "Cloud Run (fully managed) does not support connecting to the Cloud SQL instance using TCP. Your code should not try to access the instance using an IP address such as 127.0.0.1 or 172.17.0.1.")
connecting using unix socket as suggested, server does not even start
When I start the application with the ip address in the jdbc url, on google cloud, it looks like the app starts successfully:
2020-02-12T02:51:01.733606Z 2020-02-12 02:51:01.733 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2020-02-12T02:51:01.740162Z 2020-02-12 02:51:01.739 INFO 1 --- [ main] com.connor.Application : Started Application in 15.717 seconds (JVM running for 17.715)
However, when I make the first request, I see the following:
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
Caused by: java.net.SocketTimeoutException: connect timed out
Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
Is there any suggestions you may have? I am wondering if it may be related to having to configure our DataSource as listed here: https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/cloud-sql/mysql/servlet/src/main/java/com/example/cloudsql/ConnectionPoolContextListener.java
Following the documentation steps:
Build and deploy container
Connect from Cloud Run
On the last step: “Connecting to CloudSQL” of the 2nd link instead of using the code snippet, I used the following command from the GitHub instructions:
gcloud run services update helloworld --add-cloudsql-instances [INSTANCE_CONNECTION_NAME] --set-env-vars CLOUD_SQL_CONNECTION_NAME=[INSTANCE_CONNECTION_NAME],DB_USER=[MY_DB_USER],DB_PASS=[MY_DB_PASS],DB_NAME=[MY_DB]
where "helloworld" is the name of my service.
Please be meticulous with the spacing on this command, as it can easily throw errors.
Having said that after performing a curl command I did not receive any errors, so my application runs successfully.
Additionally, during my investigation on the error you received, I came across this link, which contains a list of possible causes for this error.
Finally, since the error indicates a timeout, you could also try modifying the request timeout of Cloud Run by following this.
Some further links that could come in handy for you are:
Diagnosing issues with Cloud SQL instances
Troubleshooting Cloud Run (fully managed)
I hope this information helps.
Sadly the https://cloud.google.com/sql/docs/mysql/connect-run document is currently not documenting the Knative instructions. Any time you see "Cloud Run (fully managed)" that's not to Kubernetes implementation.
If you are using Cloud Run on a Kubernetes/GKE cluster, this is probably more applicable. https://cloud.google.com/sql/docs/mysql/connect-kubernetes-engine That said this approach uses "Cloud SQL Proxy" sidecar container, which is not yet a notion supported by Knative today.
However, using those instructions, you can connect to Cloud SQL instance over a private IP, as GKE clusters can be in a VPC (though "Cloud Run fully-managed" applications currently cannot).

Can't start google cloud instances

i tried starting my VM instances. i get a notification "Starting VM instance failed. Error: The instance cannot be started because Compute Engine has detected suspicious activity. Please consult the Project dashboard in Cloud Console for more information.". Anyone can help me resolve this problem? Thanks everyone!!!

Deployment to Google’s Compute Engine fails: Error retrieving the App Engine service account

After I’ve deleted some values (do not remember which) in my project configuration (in the Developer Console) I cannot deploy an app to a Compute Engine instance. I’ve deployed the same code using the same configuration dozens of times successfully but after deleting some values in the Developer Console or doing some other adjustments that I considered minor, the deployment, using Maven plugin v2.0.9.95.v20160203, fails with
[INFO] Beginning deployment...
[INFO] WARNING: If this is your first deployment, please try again.
[INFO] ERROR: (gcloud.preview.app.deploy) Server responded with code [400]:
[INFO] Bad Request Unexpected HTTP status 400.
[INFO] Failed Project Preparation (app_id='s~some-id'). Error retrieving the App Engine service account.
[ERROR] Error: gcloud app command with exit code : 1
I run
mvn clean validate gcloud:deploy
Unlike in some other of my projects I do not have both of the accounts
App Engine default service account - some-id#appspot.gserviceaccount.com
Compute Engine default service account - some-id-compute#developer.gserviceaccount.com
…in my Permissions section but only the 2. account.
Maybe you deleted your App Engine service account. To create it again, you can go to the Permissions section of your project and add a new member with the email YOUR-PROJECT-ID#appspot.gserviceaccount.com (replace with your real project id) and "Can Edit" permissions.
Maybe you're not authenticated to your project anymore? Have you tried to reauthenticate using gcloud auth login?
If you're authenticated but happen somehow to delete default Google AppEngine service account (app_id#appspot.gserviceaccount.com), you won't be able to recreate them yourself. You will need to file a support ticket with Google and ask them to recreate the default service account for you.
Finally, you can create new project and deploy your application there but of course this comes at a price/time.

Problems launching blueprint Fi-Lab Cloud

I need to launch a VM with Orion Context Broker and CEP in Fi-Lab. For this I clone a template with Orion and then I add a tier with CEP. Then I launch the blueprint instance, but always I have an error:
Success: Blueprint Instance FinalMachine status.
Description: Create environment FinalMachine
Status: ERROR
Error: Infrastructure error Error creating server: {"overLimit": {"message": "Quota exceeded: code=InstanceLimitExceeded", "code": 413, "retryAfter": 0}}
What is it happening??
UPDATE
An screenshot of my blueprint:
Another screenshot of my instance tab:
You should check your available quotas. Do you have any other deployed VM or any other public IP consumed, apart from this blueprint template?
If you try to deploy a new VM, in the open windows in which you have to introduce the data of your new VM, you can see on the right the available resources for your user.
If you want to see the quota that you have available, you only need to launch a new instance.
On the bottom right you could see in this case the number of available instances, vcpus, disk and memory for that user, together with the resources that currently have used (dark grey) and the new resources to consume (green).