6.3 to 6.4 Upgrade Notes¶
This document explains what configuration changes have to be performed during a PunchPlatform update from version 6.3.x to 6.4.X, and other changes you need to know about (e.g. command-line changes).
COTS¶
- Apache Storm : upgraded from 2.2.0 to 2.3.0. No breaking change in Punch configuration.
- Apache Kafka : upgraded from 2.4.0 to 2.8.0. No breaking change in Punch configuration.
- Apache Zookeeper : upgraded from 3.5.7 to 3.7.0. No breaking change in Punch configuration.
- Elasticsearch : upgraded from 7.8.0 to 7.10.2. Many breaking changes in Punch Nodes configuration.
- Kibana : upgraded from 7.8.0 to 7.10.2. Many breaking changes in Punch Plugin configurations.
- Opendistro Security for Kibana : upgraded from 1.9.0.0 to 1.13.0.1
- Opendistro Security for Elasticsearch : upgraded from 1.9.0.0 to 1.13.1.0
- Opendistro SQL for Elasticsearch : upgraded from 1.9.0.0 to 1.13.2.0
Nodes¶
Consequence of the Elasticsearch upgrade is the deprecation of some elasticsearch nodes, both in Spark and Storm :
In Storm :
elasticsearch_input
must now be replaced withextraction_input
.
In Spark :
elastic_batch_input
must now be replaced withelastic_input
.elastic_batch_output
must now be replaced withelastic_output
.elastic_stream_output
is not available anymore.
Kibana Punch Plugin¶
Kibana Punch plugin is not available on Kibana 7.10.2.
Kibana plugin API has major breaking changes from 7.8.0 to 7.10.2 version. Rather than migrating the whole Punch plugin, we kept only the features used on our customer production platforms.
Punch Plugin Features :
- Punch Documentation : AVAILABLE in Punch Documentation plugin.
- Elastic Extraction : AVAILABLE in Data Extraction plugin.
- Feedback Visualization : AVAILABLE in Data Feedback visualization plugin.
- Punchline Editor : REMOVED.
- Resource Manager UI : REMOVED.
- Configuration Management : REMOVED.
Plugins are now developed independently of one another. As a result, they can be installed independently, but each has its own version. You can find the plugin version for your Punch version in Punch Plugins list.
Punch Documentation¶
The Punch Documentation
plugin displays official documentation offline.
The documentation is embedded within the plugin.
It does not require to deploy the Gateway to serve the documentation.
Standalone¶
The plugin is installed by default.
Deployer¶
The plugin can be installed by adding the following section
in kibana.plugins
or in kibana.domains.<domain>.plugins
:
{
"kibana": {
"plugins": {
"punch_documentation": {
"version": "1.0.1",
"documentation_version": "6.4.1"
}
}
}
}
Resources¶
Data Extraction¶
The Data Extraction
plugin makes it possible to extract data from Elasticsearch.
It requires the Punch Gateway to launch an extraction job in the background.
Standalone¶
The plugin is installed by default.
Deployer¶
The plugin can be installed by adding the following section
in kibana.plugins
or in kibana.domains.<domain>.plugins
:
{
"kibana": {
"plugins": {
"data_extraction": {
"version": "1.2.1",
"enabled": true,
"use_legacy": false,
"tenant": "reftenant",
"rest_api": {
"hosts": [
"https://centralback1:4242",
"https://centralback2:4242"
],
"ssl_enabled": true
}
}
}
}
}
As for the Gateway, its configuration stays the same to launch extraction job in the background.
Resources¶
Data Feedback¶
The Data Feedback
plugin makes it possible to annotate data from Elasticsearch.
It does not require the Punch Gateway.
Compared to the Feedback plugin in <6.4 versions,
there are no default option for input types parameters
in kibana.yml
or in punchplatorm-deployment.settings
.
If you do not set the input types parameters, then all inputs will be available and configurable in Kibana UI.
On the other hand, if you specify input types parameters as in the example, the related inputs will not be configurable in Kibana UI.
Also, the prefix parameter in kibana.yml
have changed from
punchplatform-feedback.<parameter>
to data_feedback.<parameter>
.
Some parameters also have new names.
Here is the new parameters with sample values :
data_feedback.tenant: reftenant
data_feedback.saveInNewIndex: false
data_feedback.feedbackIndex: "feedbacks"
data_feedback.feedbackType: "text"
data_feedback.select.options: ["green","red","blue"]
data_feedback.range.min: 0
data_feedback.range.max: 10
data_feedback.checkbox.label: "False positive"
data_feedback.maximumNumberOfTags: 1
Standalone¶
The plugin is installed by default.
Deployer¶
The plugin can be installed by adding the following section
in kibana.plugins
or in kibana.domains.<domain>.plugins
:
Compared to parameters in kibana.yml
,
parameters in punchplatform-deployment.settings
have not changed names.
{
"kibana": {
"plugins": {
"punchplatform_feedback": {
"punchplatform_feedback_version": "2.1.0",
"tenant": "reftenant",
"select_options": ["blue", "green", "red"],
"max_tags": 1,
"range_min": 0,
"range_max": 10,
"checkbox_label": "False Positive",
"save_in_new_index": true,
"feedback_index": "feedbacks"
}
}
}
}
Resources¶
Storectl¶
The storectl
command was removed from Punchplatform starting 6.4.3
version.
It had many bugs and was hard to use on production platforms.
It is easier to build Kibana dashboards based on indexes containing archives metadata,
rather than querying stats through storectl
application.
Archives Housekeeping¶
The Archives Housekeeping application was refactored without breaking changes. However, a new parameter was introduced to manage the metadata carefully.
Before this version, when an archive metadata was processed, it was deleted from Elasticsearch. This deletion happened even if some devices were not cleaned, or if the application failed to clean a device.
Starting 6.4.3
version, the delete_metadata
parameter makes it possible to change this behavior.
This parameter can have the following values:
always
: metadata is always deleted after processing devices. In order to avoid any breaking change, this is the default behavior when the parameter is not set.never
: metadata is never deleted after processing devices.all_devices
: metadata is deleted only when all devices specified in metadata are cleaned by archives housekeeping. If some devices were not cleaned (because they were not specified in archives housekeeping configuration or because the application failed to clean the device) then archives housekeeping updates metadata with the devices where the archive is still present. This is the recommended behavior.
You should add this parameter to your archives-housekeeping.yaml
file.