-
Notifications
You must be signed in to change notification settings - Fork 5.8k
Make breaking changes that require a major version update (2.0) #9478
Copy link
Copy link
Closed
Labels
area/agentbreaking changeImprovement to Telegraf that requires changes to the plugin or agent; for minor/major releasesImprovement to Telegraf that requires changes to the plugin or agent; for minor/major releasespm/core capabilityFeature requests that impact and improve core TelegrafFeature requests that impact and improve core TelegrafrfcRequest for comment - larger issues that require clarificationRequest for comment - larger issues that require clarification
Metadata
Metadata
Assignees
Labels
area/agentbreaking changeImprovement to Telegraf that requires changes to the plugin or agent; for minor/major releasesImprovement to Telegraf that requires changes to the plugin or agent; for minor/major releasespm/core capabilityFeature requests that impact and improve core TelegrafFeature requests that impact and improve core TelegrafrfcRequest for comment - larger issues that require clarificationRequest for comment - larger issues that require clarification
Just because 2.0 isn’t required to be backward compatible doesn’t mean we can ignore usability for current users. When we remove something people use we should replace it with a clear error so people know a change has been made and they need to adapt.
The errors should recommend a migration path or actively allow users push an update to their config. For example, the udp_listener will be removed. If someone tries to use it there should be an error saying to migrate to socket_listener. It shouldn’t be a warning that the user can ignore, but instead be a fatal error that requires the user to adapt their config before continuing to use telegraf.
Deprecated
Entire Plugins
inputs.kafka_consumer_legacy is the only way to use kafka version <0.8. When remove legacy plugin, note that plugin only supports Kafka v0.8+
Partially resolved in: #9609
Refactor plugins
Input plugin settings
serverandportenable_sslurldatacentremountpointscontainer_namesperdevicetotaldirectorypathaddressnamemax_line_sizessl_enabledandcacertsmetric_bufferserversformat without schememetric_buffernameserversslandssl_caaddressdefault value "local" instead of "localhost" #4872namequeuespathquery_versionandazuredbconvert_namesparse_data_dog_tagsudp_packet_sizeforce_discover_on_initPreVistaSupportenable_sslOutput plugin settings
Resolved in: #11748
databaseandretention_policyprecisionurlprecisionurlpartitionkeyanduse_random_partitionkeysource_tagstring_to_numbersubtableProcessor plugin settings
agentdefault value #8011Serializers
Common settings
flush_buffer_when_fullutcenable_tlsssl_ca,ssl_certandssl_keyMetric formats
uptime_format fieldPrometheus input and prometheus_client outputmetric_version = 1(May be more difficult than we think to remove)metric_version=1serverresult_typeandstring_foundterminated_reasonmetric_version = 1(only existed for backwards compatibility for those on < Telegraf 1.6)Internal APIs
Builds, Packaging
Support only one v1/v2 plugins
Remove version nomenclature from plugin
Note that the two InfluxDB output plugins will remain. They are named influxdb and influxdb_v2, but in this case the version doesn't refer to the plugin but the compatible version of influxdb.