Connect Foreman 1.20 to GCE

Problem:
I am not able to connect Foreman to GCE to provision instances.

Expected outcome:
Connect Foreman to GCE without any errors.

Foreman and Proxy versions:
Both on 1.19 or 1.20

Foreman and Proxy plugin versions:
Both on 1.19 and 1.20

Story and background information
Hey ho,

after some time i needed to upgrade Foreman 1.19 to 1.20 on our Debian Stretch I finally managed to do so.
Including that, I’m in charge of trying to connect our Google Cloud Engine to Foreman.

I don’t know what happened prior 1.19, but I do know that the connection did not work as documented in 1.19 and 1.20 running on Debian Stretch.

I freshly installed 1.20 from scratch, updated a fresh 1.19 installation to 1.20 and did both steps including the old database, too.

All attempts failed, as I was not able to connect Google in any way. Connections to AWS, ESXI and Bare Metals are working as expected.

Without any adjustments, trying to connect Google in my compute resources results in Foreman saying “Not Found” once i click the “Load zones” button.
The p12 certificate is in place, the account exists, so does the project ID.

Some research later it occurred to be the “‘fog-google’, ‘<= 0.1.0’” gem and the old google-api-client gem.

I tried to upgrade those since 2 days now, playing around with all kinds of versions but don’t make that much progress at all.

I’m now at the point where it tells me “Deprecated argument no longer works: google_key_location” at my Foreman 1.20 instance.
That occurs when using gem “‘fog-google’, ‘>= 1.8.1’” in combination with “gem ‘google-api-client’, ‘~> 0.23’, :require => ‘google/api_client’”.

I know that the error is mentioned in https://github.com/fog/fog-google/blob/master/lib/fog/google/shared.rb.
It occurs that Google API changed and that you are not longer be able to use p12 files as Foreman suggests.
I also tried a .pem file but did not manage to connect either.

I am at the end of my knowledge about ruby, so I would kindly ask you guys to help me outta there.

Sadly, GCE has been broken for a while and no developers have had the capacity to fix it properly yet. There was some discussion regarding splitting it off to a plugin a while ago, but that won’t really fix the issue with out someone maintaining it and updating it to work with current gce apis.