trying to deploy teamcity into googlecloud - google-cloud-platform

I am trying to follow this page from jetbrains: -
https://blog.jetbrains.com/teamcity/2019/03/teamcity-google-cloud-deployment/
I have enabled the APIs, I have created an external IP address, I have setup my A record, and it resolves correctly. So then I follow the next step and in my google cloud console I am issuing the following:-
gcloud deployment-manager deployments create --template https://raw.githubusercontent.com/JetBrains/teamcity-google-template/master/teamcity.jinja --properties zone:,ipAddress:,domainName:,domainOwnerEmail:
I have filled in the fields with the relevant values, and I press return.
It looks like its chuntering away for a bit and then I get the error message
"Creation of legacy mode networks is deprecated. Please create a subnet mode network instead by removing the IPv4Range field and adding the autoCreateSubnetworks field to your network insert request.","reason":"badRequest"}],"message":"Creation of legacy mode networks is deprecated. Please create a subnet mode network instead by removing the IPv4Range field and adding the autoCreateSubnetworks field to your network insert request.... "
I have no clue what this means or what I do to make it work
I was surpised as this was only from march 2019 on the jetbrains site, and the instructions don't seem to work, I am quite familiar with teamcity, using it every day for the last 8 years, but i'm not at all familiar with google cloud, so I need some pointers or instruction on how to do this...
Regards Julian

I think that this error is related to this line which still trying to use legacy-network CDIR. However, seems that using legacy-networks is deprecated in favor of subnet mode networks. Also referenced here.
So, you can create an issue on JetBrains side for them to fix this.

Related

GCP Deployment Manager - What Dev Ops Tool To Use In Conjunction?

I'm presently looking into GCP's Deployment Manager to deploy new projects, VMs and Cloud Storage buckets.
We need a web front end that authenticated users can connect to in order to deploy the required infrastructure, though I'm not sure what Dev Ops tools are recommended to work with this system. We have an instance of Jenkins and Octopus Deploy, though I see on Google's Configuration Management page (https://cloud.google.com/solutions/configuration-management) they suggest other tools like Ansible, Chef, Puppet and Saltstack.
I'm supposing that through one of these I can update something simple like a name variable in the config.yaml file and deploy a project.
Could I also ensure a chosen name for a project, VM or Cloud Storage bucket fits with a specific naming convention with one of these systems?
Which system do others use and why?
I use Deployment Manager, as all 3rd party tools are reliant upon the presence of GCP APIs, as well as trusting that those APIs are in line with the actual functionality of the underlying GCP tech.
GCP is decidedly behind the curve on API development, which means that even if you wanted to use TF or whatever, at some point you're going to be stuck inside the SDK, anyway. So that's why I went with Deployment Manager, as much as I wanted to have my whole infra/app deployment use other tools that I was more comfortable with.
To specifically answer your question about validating naming schema, what you would probably want to do is write a wrapper script that uses the gcloud deployment-manager subcommand. Do your validation in the wrapper script, then run the gcloud deployment-manager stuff.
Word of warning about Deployment Manager: it makes troubleshooting very difficult. Very often it will obscure the error that can help you actually establish the root cause of a problem. I can't tell you how many times somebody in my office has shouted "UGGH! Shut UP with your Error 400!" I hope that Google takes note from my pointed survey feedback and refactors DM to pass the original error through.
Anyway, hope this helps. GCP has come a long way, but they've still got work to do.

Google Cloud Run - Domain Mapping stuck at Certificate Provisioning

Is anyone getting this issue with Google Cloud Run Domain Mapping? When I add a custom domain to my domain mappings, I get this:
Waiting for certificate provisioning. You must configure your DNS records for certificate issuance to begin.
I know it says it's only added 1 day ago and I should give it time, but I actually let it go for 5 days, deleted it, and this is my second try.
You can see in the below screenshot that it is added via Cloudflare. I even tried toggling the Proxy service on and off with no luck.
Turning proxying off in CloudFlare resolved the issue in my case (keeping it as DNS only).
Most likely the Google balancer needs to get the request first-hand in order to make the certificate safe.
I faced the same issue with exact error:
Waiting for certificate provisioning. You must configure your DNS records for certificate issuance to begin.
After digging a bit more the error actually made sense. Before generating the cert Google is trying to check if our DNS records are properly configured and well propagated through all regions which is not the case for me due to some glitch at the nameserver level. I raised a ticket with my nameserver vendor with the DNS propagation report from the below tools/websites which clearly showed that the DNS records are not available in some regions. Once they fixed the propagation issue, all my reports started to show positive results after which I recreated my domain mapping and it worked within few minutes.
Tools used to check DNS propagation status:
https://dnspropagation.net/
https://www.whatsmydns.net/
https://dnschecker.org/
At the moment, seems like Domain Mapping is just a buggy service.
Seems like the solution at the moment is to be patient and to try several times until it works. I'd suggest to give it some time between attempts.
The reasons why I feel it's a buggy service:
gcloud beta run domain-mappings create stucks at Creating......⠼.
gcloud beta run domain-mappings describe shows messages such as:
"Domain mapping '[...domain_name...]' already exists for this application.
You can modify this domain mapping with DomainMappings.PATCH".
"Waiting for certificate provisioning. You must configure your DNS records
for certificate issuance to begin." - Even though the DNS records are fine.
User Interface isn't any better. It also can stuck while creating... And in the console, it says that it may fail silently, suggesting to use gcloud CLI as a workaround
Update 2022
It's been a while since I last used this feature but it is still taking ~2 hours for the domain to become available.
I just tried Toggling the proxy off again it seemed to work. They must have fixed something internally.
I had the same issue in past few days, the loading icon was spinning for hours/day and my DNS records were correct (checked in google toolbox). I "resolved" this issue just by repetitive add/remove of the domain, after like four attempts it suddenly started to working. I always waited for hour+ before each attempt. I used the GCR interface, not the console solution. I guess, as was mentioned before, it's because it's still BETA, but maybe this comment might help someone till they resolve this issue.
Adding the domain mapping via the console does not show the correct DNS records to be added as is it missing the name field. If you run gcloud beta run domain-mappings create it shows the DNS records as having a name field with the value of the cloud run service.
I had a similar error on a domain I bought with Goddady, the issue was a result of a parking domain whose source I can't tell unless it was set by the vendor. It mapped my domain to this page and its IP 34.102.136.180 was preventing my service from mapping correctly. After chatting with a gae assistant I was able to resolve the issue by deleting the IP, but of course, sought clarification from the vendor themselves. It was my first time using Godaddy and for the life of me I couldn't figure out the problem.
I had the same situation. Additionally incurred me error message on cloud domains.
Your domain is suspended because the registrant email address has not
yet been verified. Check your email and follow the instructions to
remove the suspension.

Google Cloud Console Virtual Machine Mysteriously Deleted

This morning I logged into my pc and attempted to access remotely into a VM I have. No connection was the reported error. I log into my cloud console to find no projects.
Google Support is not available for me, as I have bronze package and I do not have 150$ available to upgrade it.
Are there any logs that could explain what happened? Did it just get wiped out? The instance is still there. But the machine itself is gone. I can't find any records of it. Please advise any help you can.
I believe your question also confuses others, what do you mean by "The instance is still there. But the machine itself is gone"?
Because you also mentioned "I log into my cloud console to find no projects. ", which means you should see nothing before you choose a valid project
Please be more specific about your questions
Could you indicate us step by step what you do in the Google Cloud Platform console? Where you click and what you type.
Please, check also the Activity tab on the home page of the console. Once in it, on the right-hand side, select Resource type: GCE VM instance, to see modifications in VMs.
We need to know exactly what you are seeing on each step, and any error code. Then we could see if the problem is in your procedure, or if there is an issue you should report to billing support, which is free, as pointed out by John Hanley in his comment.
Please, when you do this, make sure you don't include any personal information in the data you post here (such as project ID or password).

Google CloudSQL instance non-responsive, how to get support?

When it comes to databases, we want to leave managing them to the pros, which is why we went for a managed solution in the form of a CloudSQL 2nd gen db instance. Today the instance stopped responding, I clicked restart, it has been restarting for hours and is not responding, I have tried clone the instance, also not responding.
I don't know what else to do, our db is crippled and the service that uses it is down. These things happen, fine.
The thing that shocked me is that I am unable to contact anybody to resolve this problem. I understand that I can pay for a support subscription, $150p/m and up. This confuses me though, the GCloud console UI is not responding, am I incorrect in assuming I should not have to pay for support for the core product to at least work?
This leads me to my main question, if I want to continue using Google Cloud products in production, do I NEED a support subscription?
Same happened to us yesterday. The cloud SQL instance did not respond for an hour and a half (from 18h to 19:30h GTM+1).
We couldn't do absolutely nothing, we tried to backup the instance to a bucket but the command was returning an error saying that another operation is in progress.
We are a small startup and we can't pay for a support plan, but when we hired the cloud SQL service we thought that this kind of situations doesn't happen.
Honestly, after this I believe that Cloud SQL is not a good option if you do not contract at the same time a gold or platinum support plan. It is frustrating that something fails and you can not do anything, or even report the error.
Try the gcloud command line tool in your active shell, instead of the console UI. Try exporting the data from your SQL instance to google cloud storage bucket by using this command:
gcloud sql instances \
export <sql-instnace-name> \
gs://<bucket-name>/backup.sql
The SQL instance's service account by default has read and write access to google cloud storage bucket.
Create a new SQL instance using this command:
gcloud sql instances \
create <new-sql-instance-name>
Now, add the data to the new SQL instance using this command:
gcloud sql instances \
import <new-sql-instance-name> \
gs://<bucket-name>/backup.sql
You can get free or premium support here. You do not need a subscription to get help; it all depends on your needs and the level of urgency you estimate for eventual future problems.
If you have a recent backup of your database, you may consider re-creating it in another instance, from there.
You may consider posting your issue in the Google Cloud SQL Product Issue Tracker. This way, it will enjoy much better visibility from developers and Google support, without attracting any extra costs.

Missing SQL tab when using AD provider

I've deployed a copy of opserver, and it is working perfectly when using alladmin as the security setting. However, once I switch it to ad and configure the groups, the SQL tab goes away and I get an access denied message if I try browsing directly to it. The dashboard still displays all Solar Winds data as expected.
The build I'm using is actually from November. I tried a more recent build, but I lose the network information from Solar Winds (the CPU and Mem graphs show, but Net is all blank)
Is there a separate place to configure the SQL permissions that I'm missing?
I think perhaps there was some caching going on for the hub that wasn't happening for the provider, because they are both working now. Since it was a new security group, perhaps it hadn't replicated yet (causing the SQL auth to fail) but the dashboard provider was still using the previous authentication?
I also did discover a neat option while researching this though - the GitHub page mentions that you can also specify security at a provider level in the JSON using the AdminGroups and ViewGroups properties!