Is that a Pulumi issue ? I’ve updated everything I...
# general
f
Is that a Pulumi issue ? I’ve updated everything I could, but can’t get rid of it. Creating a
gcp.container.NodePool
(from a code which was working fine for more than a year now) returns :
Copy code
gcp:container:NodePool ([clustername]-cluster-pool-main):
    error: error creating NodePool: googleapi: got HTTP response code 404 with body: <!DOCTYPE html>
    <html lang=en>
      <meta charset=utf-8>
      <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
      <title>Error 404 (Not Found)!!1</title>
      <style>
        *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(<//www.google.com/images/errors/robot.png>) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(<//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png>) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(<//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png>) no-repeat 0% 0%/100% 100%;-moz-border-image:url(<//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png>) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(<//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png>) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
      </style>
      <a href=<//www.google.com/>><span id=logo aria-label=Google></span></a>
      <p><b>404.</b> <ins>That's an error.</ins>
      <p>The requested URL <code>/v1beta1/projects/[project_name]/locations/europe-west1-b/clusters/projects/[project_name]/locations/europe-west1-b/clusters/[cluster_name]/nodePools?alt=json&prettyPrint=false</code> was not found on this server.  <ins>That's all we know.</ins>
b
did their API change:
/v1beta1/projects/[project_name]/locations/europe-west1-b/clusters/projects/[project_name]/locations/europe-west1-b/clusters/[cluster_name]/nodePools
maybe out of beta? I’m not working on GCP, so I can’t help concretely, but: First: make a backup of your stack and don’t touch it
pulumi stack export > backup.<stack>.$(date +'%s').export
. The problem is most likely that the old urls aren’t active anymore, but the old provider is still referenced in your stack. verify that
npm outdated
(or whatever language you use) really doesn’t offer more updates. Try now if a
pulumi refresh
helps. This just changes the stack, not the resources. If you’re lucky, you should be good after this. Especially if it’s a leaf resource and not a complex composite (which should be the case here): delete the resource from the stack
pulumi state delete <urn>
and then edit your stack (eg. in TS
new <the resource>(<name>, { <args>}, { import: ["<import id>"]})
. I’m assuming for GCP they also use the TF bridge, so the <import id> you can find at the bottom of the Terraform GCP provider page. The import only works if there are no changes, so you might have to fiddle with your resources args. If you still have the problem, it gets hairy. You can: • verify that your gcloud install is up to date. IIRC pulumi doesn’t use it, but I’m not 100% sure. Try
pulumi up
again. • copy the stack export, manually (sed/vim, whatever) modify it to use the new provider version, and then import it with
pulumi stack import
. I don’t think you’ll see the url referenced directly in the stack, that should be hidden behind the provider. • to help with the above and further debugging, try to figure out how it looks like/works if you create a new one resource of the same type and inspect the stack export of it. • If you run eg
pulumi up
, as a last ditch effort you can also turn on full debug output with
-v=9 --logtostderr
, to find out why the calls differ between the old and the new stack (the output is quite messy, but if all else fails.
😮 1
f
@brash-manchester-88595 thanks, that’s a very detailed answer ! Unfortunately everything is already up to date (yes i use
npm
) and I don’t have any other log than this 404 from google (even with full debug on). I have this error while creating a new stack (new gke cluster) from my code so editing the stack is useless since the resource is not created. If I
pulumi up
an existing stack (gke cluster) I don’t have any error though.
I suppose that maybe the API from Google has changed (v1beta1 deprecated ?) but I don’t seem to have any control over the google api URL generated…
b
did you check that the API is enabled?
f
this code and the project using it didn’t change since at least a year, already provisioned and regularly updated a few clusters with it without any issue so far.
I’ve opened an issue to follow up, since it doesn’t seem to be on my end : https://github.com/pulumi/pulumi-gcp/issues/282
@echoing-match-29901 I’m still stuck with this problem, got no answer on the github issue so far and I can’t deploy clusters anymore which is kind of critical right now. Could use some help. Maybe I’m doing something wrong but again, nothing has changed on my end (maybe that’s the problem ?) while it was working perfectly fine before. Thanks 🙏
@white-balloon-205 sorry to have to ping you here, but I’m stuck since a week now. I’ve updated the issue with a MWE to reproduce. I’m unable to make this work anymore while it was perfectly fine a month or two ago. Would really appreciate if you could have a quick look at it. Thanks.
w
Sorry for the delay @faint-motherboard-95438 - I'm taking a look at this now and will report back anything I can find on the issue.
f
@white-balloon-205 thanks for your help. That’s concerning, and not the first time I had such issue since a year, a code which was working fine one day breaks the next one. Especially when this code is used to maintain production services. I’ve actually made another post directly related https://pulumi-community.slack.com/archives/C84L4E3N1/p1580988033025000 about how to ensure such problem does not happen at critical times and be able to detect and fix a breaking change coming from outside.