[Openstack-operators] Deprecation of in tree EC2 API in Nova for Kilo release
george.shuklin at gmail.com
Thu Jan 29 20:35:43 UTC 2015
On 01/28/2015 09:56 PM, Sean Dague wrote:
> The following review for Kilo deprecates the EC2 API in Nova -
> There are a number of reasons for this. The EC2 API has been slowly
> rotting in the Nova tree, never was highly tested, implements a
> substantially older version of what AWS has, and currently can't work
> with any recent releases of the boto library (due to implementing
> extremely old version of auth). This has given the misunderstanding that
> it's a first class supported feature in OpenStack, which it hasn't been
> in quite sometime. Deprecating honestly communicates where we stand.
> There is a new stackforge project which is getting some activity now -
> https://github.com/stackforge/ec2-api. The intent and hope is that is
> the path forward for the portion of the community that wants this
> feature, and that efforts will be focused there.
> Comments are welcomed, but we've attempted to get more people engaged to
> address these issues over the last 18 months, and never really had
> anyone step up. Without some real maintainers of this code in Nova (and
> tests somewhere in the community) it's really no longer viable.
I think, if we talking about 'mature openstack', first step of
deprecation should be removal from sample configs and moving
documentation for it to chapter 'obsolete functions'. At least one
release it should be deprecated in documentation, not in the code. Next
few releases should just mark it as deprecated, and just print warning
in logs. And only after that it can be removed from code.
To be honest I don't really like deprecation rate in Openstack. Compare
to Linux motto: 'If it's used it is not deprecated'. I understand that
developers hate old code, but from usability (operators) point of view,
all stuff should just continue work as it is after upgrade. How many
application stops working due 'obsolete syscall' after kernel update?
(F.e. I see notices about deprecation of oom_adj for last 5 years - and
it still ok to use). And look to the openstack! Half of the code is
already deprecated, second halt is candidate to deprecation...
From user point of view all openstack is just big bug big pile of
changes. Half of older code does not work with neutron or work
incorrectly (they expects simple nova networking). And what should I (as
operator) say to user who complains that vagrant/fog code can not
connect to networking and using local only network instead of internet?
(It use any first network by uuid it receive). It is me guilty (who use
neutron instead of nova-networks), is it vagrant wrong, is it fog wrong,
is it user wrong? I think user is wrong. Wrong user with wrong money.
Should go away.
* no one use, no one notice, no one complains, one-two releases and it's
* If someone use it, it should be the same like cutting a leg. May be it
is cancer. But if you can live with it - better not to cut.
More information about the OpenStack-operators