This is my first time writing in this forum, so I apologize in advance for any mistakes or lack of crucial pieces of information.
We're using a Classic HTTP(S) Load Balancer to redirect users from some URLs to backend services. It has 13 backend services defined on it and plenty of Host and Path Rules, many of which have multiple hosts defined on it. It also has one Frontend IP Address and Port defined (which is 443) with a valid certificate.
From the point of view of the resources that are using it, it's working as expected; the problem is that we're unable, when editing it, to update its configurations, even when nothing is changed (the following error is thrown in the notifications: "There was an error when executing operations"). We tried to find logs regarding it, but we were unable to do so.
Since it was working just fine the last time an entry was inserted (and now the mere attempt to click on the update button without changing anything is enough to throw the aforementioned error), we're suspecting that, whatever the problem is, it may have to do with an external thing that could have been done (such as a backend service or an URL Rule has been deleted).
We also checked that the other load balancers that we have (or even new ones that we create) don't have that problem.
I'd also like to mention that I'm not the only team member that configure the environment, so some thing may have been changed without my knowledge.
To sum up, how can we proceed with such a generic error ("There was an error when executing operations") when trying to edit our Classic HTTP(S) Load Balancer?
You mention that other load balancers don't have the same issue, are you able to elaborate if there are any differences in configuration between one that works and the one that doesn't?
Are you able to try making the required changes via gcloud cli? Just to see if the same or perhaps a more detailed error is generated.
Thanks,
Alex
Hello, Alex.
Thank you for your prompt reply.
Regarding your first question, the configurations are the same, both the new ones created and the ones that already existe (the difference would be just some Host and Path Rules and things such as Frontend IP Address and the certificate used in the Front End configuration).
I haven't tried yet doing so through the CLI. I'll try it at first opportunity and I'll reply if I succeeded or not.
Thank you again for your time!
Filipe
We are having the same problem. From the response of https://cloudconsole-pa.clients6.google.com/v2/operations:list endpoint:
```
{
"name": "operations/flow/eaa8b9e2-7019-40bc-a561-2d20a4189a6e",
"metadata": {
"@type": "type.googleapis.com/com.google.cloud.clientapi.flows.api.FlowMetadataProto",
"code": "FAILED_FRAMEWORK",
"phantomData": {
"@type": "type.googleapis.com/com.google.cloud.clientapi.flows.api.GcePhantomData",
"phantomRows": [
{
"name": "origin-lb",
"selfLink": "projects/XXXXX/global/httpsLoadBalancers/origin-lb"
}
]
},
"createTime": "2022-04-29T11:21:35.473Z",
"failAcknowledged": true,
"description": {
"descriptionKey": "gceUpdateLoadBalancer",
"descriptionArgs": {
"loadBalancerName": "origin-lb"
}
},
"project": {
"projectNumber": "901162215668",
"projectId": "XXXXX",
"projectName": "XXXXX"
},
"flowType": "cloud-console.compute.cloud.universalUpdateLoadBalancer"
},
"done": true,
"error": {
"code": 13,
"message": "There was an error when executing operations.",
"details": [
{
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"type": "cloud_console",
"subject": "15"
}
]
},
{
"@type": "type.googleapis.com/developers.console.operations.OperationErrorDetails",
"status": {
"errorSpace": "cloud_console",
"errorCode": 15,
"httpStatus": 500
}
}
]
}
},
```
Hi all,
Those that have seen this issue, are you able to try again and let me know if you are still seeing the error?
Thanks,
Alex
Hello, Alex.
Sorry for the late reply. It's because I'm not the one doing the tests, so I was waiting for my teammates to test it.
Well, could I be so bold as to ask for a documentation regarding managing these configuration through CLI? My teammates tried as you mentioned, but without success; but they are unsure if it's because it was really impossible, or if they were unable to deal properly with the CLI haha (we're debuting in the GCP universe). Anything you point out would be awesome.
Thank you again for your patience and time.
Filipe
Hi Alex,
in our case, the problem is most likely caused by load balancer configuration tests (https://cloud.google.com/load-balancing/docs/url-map#test_a_url_map). On the problematic load balancers, we have these tests set up (the tests were added using Google Console). When I tried to edit the balancer with gcloud CLI, it failed with validation error:
There was a problem applying your changes: [service] must be referenced using URIs
The only services in the config which were not referenced by URI were the services from configuration tests. When I manually changed the services to URIs instead of relative paths, the load balancer update from gcloud CLI was successful. This has also fixed the load balancer updates from Console for a few days.
Unfortunately, it seems that it is still not working correctly. There is probably a different validation in Google Console and gcloud CLI. We have one load balancer that has relative paths in configuration test service. It is possible to edit this balancer from Console now, but gcloud compute url-maps edit fails with the validation error above. We have a different balancer that has URIs in configuration test services. It is possible to edit this balancer from gcloud CLI, but not from Console.