FYI: cf CLI moving to noaa only


Koper, Dies <diesk@...>
 

Hey cf CLI users,

The current cf CLI includes both the noaa and the loggregator_consumer libraries to talk to the respective loggregator server endpoints:
If you target a CF release of v212 or higher it uses noaa, if lower than v212 it uses loggregator_consumer.

With the recent announcement that the Loggregator Consumer library has been deprecated and is no longer supported, we would like to remove this library from future cf CLI releases.
The impact of this is that commands that talk to the loggregator on CF releases older than v212 may fail.

The Loggregator team believes the cf CLI could actually use the noaa library to talk to CF releases as old as v203 (released March 2015 - CF releases before that have some concerning bugs relating to logging).
The cf CLI currently switches at v212 because it is since that version that the Doppler endpoint (the endpoint the noaa library talks to) has been published in /v2/info (the CC API the cf CLI obtains the loggregator's API endpoints from).
We could remove this switch, deduct the Doppler endpoint url on pre-v212 CF releases and always use noaa.

Additionally, the CLI could further display a warning when targeting a CF release older than cf 203 about potential degraded functionality.
Finally, we can remind people in our release notes for several versions about this change.

We have seen so few if any users on this list recently who mention still working with CF release versions that old.
We therefore believe the considerable time and effort it would take to perform extensive testing with older CF releases to discover what functionality is degraded exactly and how, is not warranted.
But the cf CLI is community input driven - if you do encounter any issues, you are welcome to report them in our GitHub tracker and we will look into them.
If you anticipate any issues already now with the above approach, please let us know.

Why isn't this a major version bump?

We try to comply with SemVer versioning for the cf CLI. The spec itself is open to interpretation whether this warrants a major version bump:
On the one hand, for people targeting these old CF releases, we're breaking the CLI.
On the other hand, SemVer defines it as "backwards incompatible changes (...) introduced to the public API" -- the CLI syntax and behaviour for all commands aren't changing. `cf logs` command won't change to do something else (it simply will stop supporting some older environments).
By not doing a major version bump we want to make it clear that you don't have to prepare yourself for new workflows, edit all your scripts or expect any UX changes whatsoever.

Regards,
Dies Koper
Cloud Foundry Product Manager - CLI

Join {cf-dev@lists.cloudfoundry.org to automatically receive all group messages.