Proposal to upgrade Fog to 2.1


Proposal to upgrade Fog to 2.1

We’re working on fixing GCE and Azure support in Foreman. After the preliminary investigation, it seems like fixing both GCE and Azure plugins would require an upgrade of Fog to most recent 2.x series to work correctly. Fog 2.0 was released a little less than 1 year ago, and it may be time to evaluate if upgrading Foreman’s Fog dependency is feasible.

@tbrisker suggested that since we’re close to 1.21 branching, this may be an activity that may be picked right after that. Bumping Fog to 2.1 at this stage would give a change to compute resource maintainers to test and fix things in time.

How does this proposal sound? Any suggestions or risks to keep in mind?


Should this be moved to the RFC category?

IIRC @Ori_Rabin mentioned we might also need to update some other fog plugins but that it’s generally a good idea.

It’s also good to do this early in the release cycle because we apply some patches to fog in packaging to avoid a lot of its dependencies. This may not be needed since Fog 2.0 but good to figure out sooner rather than later.


Moved to RFC category.
As @Anurag mentioned, I’d be happy to bump the dependency right after branching for 1.21 so we have 3 months to figure out any issues arising from it.
Moreover, having all of the major compute providers working properly is an important goal IMHO.
Would be also good to hear from @vmware team about possible implications for fog-vsphere and make sure they are aware of this plan and can prepare accordingly.
One provider we may have issues with is fog-rackspace, which isn’t being actively maintained afaik - it may just work with 2.0, or it may need some changes or to be dropped completely from core if we can’t fix it.


@Anurag, Are you sure about Azure? According to their gemspec, they work with older fog-core (~> 1.43)


Great to hear about fog upgrade @Anurag .
I guess Azure works on the older fog fine, but this might be causing the currently being used fog-azure-downgraded to result in conflicts (in terms of version incompatibility) for some scenarios under foreman_azure_rm.
@Shimon_Shtein thoughts ?