Skip to content

Commit

Permalink
Merge branch 'rc-v1.35.0' into 'master'
Browse files Browse the repository at this point in the history
chore: release v1.35.0

See merge request automation-toolchain/f5-telemetry!698
  • Loading branch information
petrov-serg committed Feb 24, 2024
2 parents be1f3d9 + 8fffe51 commit 3dd0c45
Show file tree
Hide file tree
Showing 80 changed files with 15,835 additions and 2,671 deletions.
56 changes: 32 additions & 24 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,31 @@ include:
- project: automation-toolchain/atg-shared-templates
file: security/base.gitlab-ci.yml

variables:
FORCE_DOCS_STAGGING:
value: "false"
options:
- "false"
- "true"
description: "Force docs to be build and published to GitLab on non-docs branches"


##############################################################
# #
# Jobs and commands templates #
# #
##############################################################

.rules_config:
docs_only:
rules:
- if: $CI_COMMIT_BRANCH =~ /^docs/
- if: $FORCE_DOCS_STAGGING == "true"
not_docs:
rules:
- if: $CI_COMMIT_BRANCH !~ /^docs/


.run_unittest_cmd: &run_unittest_cmd
- npm run test-only

Expand All @@ -51,6 +69,9 @@ include:
.job_definition: &job_definition
tags:
- docker-executor
rules:
- !reference [.rules_config, not_docs, rules]


.test_job_definition: &test_job_definition
extends:
Expand Down Expand Up @@ -228,6 +249,8 @@ coverage:

build_rpm:
image: ${ATG_ARTIFACTORY_PUBLISH_URL}/${ATG_ARTIFACTORY_DOCKER_REPO}/f5-telemetry-streaming-rpm-builder-image:v1.2
extends:
- .job_definition
stage: build
script:
- npm run build
Expand All @@ -242,14 +265,15 @@ build_rpm:
build_docs:
image: ${CONTAINTHEDOCS_IMAGE}
stage: build
needs: []
script:
# create 'dist' folder because it probably not exists yet
- mkdir -p dist
- node scripts/schema-build.js
# - node scripts/schema-check.js
- node scripts/schema-to-rst.js
- node scripts/poller-default-output-doc-gen.js
- if [ "$CI_COMMIT_REF_NAME" = "docs-staging" ] || [ "$CI_COMMIT_REF_NAME" = "docs-latest" ]; then
- if [ "$CI_COMMIT_REF_NAME" = "docs-latest" ]; then
- rm -rf docs/_templates
- fi
- make html
Expand All @@ -262,6 +286,8 @@ build_docs:
paths:
- docs/_build/html
expire_in: 1 month
rules:
- !reference [.rules_config, docs_only, rules]

##############################################################
# BEGIN VIO #
Expand Down Expand Up @@ -420,6 +446,7 @@ teardown_env_aws:
pages:
image: ${CONTAINTHEDOCS_IMAGE}
stage: doc
needs: [build_docs]
environment:
name: staging
url: https://${CI_PROJECT_NAMESPACE}.${PAGES_DOMAIN}/${CI_PROJECT_NAME}
Expand All @@ -436,37 +463,18 @@ pages:
- PUBLIC_DOCS=${PUBLIC_DIR}/public-docs
- mkdir -p ${PUBLIC_DOCS}
- cp -R docs/_build/html/* ${PUBLIC_DOCS}
#### place code coverage docs under: /coverage-docs ####
- COVERAGE_DOCS=${PUBLIC_DIR}/coverage-docs
- mkdir -p ${COVERAGE_DOCS}
- cp -R coverage/* ${COVERAGE_DOCS}
#### place code contribution docs (mainly for presentation) under: /contribute-docs ####
- CONTRIBUTE_DOCS=${PUBLIC_DIR}/contribute-docs
- CONTRIBUTE_DIR=contributing
# install presentation site dependencies
- cd ${CONTRIBUTE_DIR} && npm install && cd ..
- mkdir -p ${CONTRIBUTE_DOCS}
- cp -R ${CONTRIBUTE_DIR}/* ${CONTRIBUTE_DOCS}
# make relative links absolute - this could be better...
# ![diagram](../test/README.md) -> ![diagram](https://base.url/../test/README.md)
- BASE_URL_FOR_LINKS=${CI_PROJECT_URL}/tree/${CI_COMMIT_REF_NAME}/${CONTRIBUTE_DIR}/
- README=${CONTRIBUTE_DOCS}/README.md
# make absolute URL(s) for relative URL(s) outside current directory '../'
- sed -i -E 's/\[.*\]\(\.\./&SED_TEMP/' ${README} && sed -i "s|..SED_TEMP|${BASE_URL_FOR_LINKS}..|" ${README}
artifacts:
paths:
- public
only:
# only update on designated, stable branch
- develop
- doc-release-branch
- joes-new-ts-wip
- debs-doc-wip
rules:
- !reference [.rules_config, docs_only, rules]


# Publish docs to clouddocs.f5.com
publish_docs_to_production:
image: ${CONTAINTHEDOCS_IMAGE}
stage: doc
needs: [build_docs]
environment:
name: production
url: https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
# Changelog
Changes to this project are documented in this file. More detail and links can be found in the Telemetry Streaming [Document Revision History](https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/revision-history.html).

## 1.35.0
### Added
- NEXTACC-414: Add Resource Monitor
- Runtime configuration options
### Fixed
- Event Listener performance and memory usage improvements
### Changed
### Removed

## 1.34.0
### Added
- NEXTACC-387: Update Event Listener to utilize memory and CPU more efficient
Expand Down
1 change: 1 addition & 0 deletions SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Currently supported versions:
|------------------|------------------------|---------------------|------------------|
| TS 1.33.0 | LTS | 22-Mar-2023 | Maintenance mode |
| TS 1.34.0 | Feature | 16-Jan-2024 | 16-Apr-2024 |
| TS 1.35.0 | Feature | 23-Feb-2024 | 23-May-2024 |

Versions no longer supported:

Expand Down
2 changes: 1 addition & 1 deletion contributing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ How does the project handle a typical `POST` request?
"trace": false,
"format": "default"
},
"schemaVersion": "1.34.0"
"schemaVersion": "1.35.0"
}
}
```
Expand Down
51 changes: 51 additions & 0 deletions contributing/docs_release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# TS Docs Release Process

Docs branches are:
- docs-staging
- docs-latest

`docs-latest` has the most recent version of publicly available documentation on **clouddocs**

`docs-staging` has the most recent version of privately available documentation on **GitLab Pages**. (for more info see [GitLab docs](https://docs.gitlab.com/ee/user/project/pages/))

Workflow is following:

If you are working on new feature or fix:
- create `feature` (any name allowed) branch off `develop`
- do docs changes along with the feature in the same feature branch.
- once the work done, create MR to merge `feature` branch to `develop`

If you need to update docs for not published release (aka 'in progress'):
- create `docs` (any name allowed) branch off `develop`
- do docs changes
- once the work done, create MR to merge `docs` branch to `develop`

If you need to update docs for the most recent publicly available release:
- create `docs` (any name allowed) branch off `docs-staging`
- do docs changes
- once the work done, create MR to merge `docs` branch to `docs-staging`
- review your changes once deployed to GitLab Pages
- if everything is OK then create MR to merge `docs-staging` to `docs-latest`
- merge and review your changes once deployed to the clouddocs
- merge `docs-latest` back to `develop`

If you need to update docs for the LST release:
- create `docs` (any name allowed) branch off `docs-X.Y.Z`, where X.Y.Z is the LTS release version
- do docs changes
- once the work done, create MR to merge `docs` branch to `docs-X.Y.Z-staging`
- review your changes once deployed to GitLab Pages
- if everything is OK then create MR to merge `docs-X.Y.Z-staging` to `docs-X.Y.Z-latest`
- merge and review your changes once deployed to the clouddocs

If you need to release docs from `develop` branch:
- merge `develop` to `docs-staging`
- review your changes once deployed to GitLab Pages
- do not forget bump version number in `versions.json` and `docs/conf.py` files
- if everything is OK then create MR to merge `docs-staging` to `docs-latest`
- merge and review your changes once deployed to the clouddocs
- merge `docs-latest` back to `develop`

NOTE:

You can published docs to internal GitLab Page at any time to review your changes by kicking-off CI/CD pipeline and setting `FORCE_DOCS_STAGGING` env variable to `true`

7 changes: 2 additions & 5 deletions contributing/process_release.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,8 @@
* Make sure RC branch has actual release version and build numbers. **Note:** atg-build bumps the build number (e.g. to get first build vX.Y.Z-1, you must set package and package-lock to vX.Y.Z-0). Check the following files and do corrections if needed:
* [package.json](package.json)
* [package-lock.json](package-lock.json)
* [project.spec](project.spec) (not required starting from 1.5)
* [versions.json](versions.json)
* [src/lib/constants.js](src/lib/constants.js) (not required starting from 1.10)
* [src/schema/latest/base_schema.json](src/schema/latest/base_schema.json)
* [contributing/README.md](contributing/README.md) (example of response, optional)
* [docs/conf.py](docs/conf.py)
* do simple `grep` in repository to ensure that no unexpected files with old version left
* A new directory should be added for the new release version (same files that are in [src/schema/latest](src/schema/latest) go here)
* There should be exact same files across following directories:
Expand Down Expand Up @@ -70,6 +66,7 @@
* 1.32.0 - 20.5 MB
* 1.33.0 - 22.1 MB
* 1.34.0 - 18.4 MB
* 1.35.0 - 18.4 MB
* Install build to BIG-IP, navigate to folder `/var/config/rest/iapps/f5-telemetry/` and check following:
* Run `du -sh` and check that folder's size (shouldn't be much greater than previous versions):
* 1.4.0 - 65 MB
Expand Down Expand Up @@ -102,7 +99,7 @@
* 1.31.0 - 153 MB (NOTE: inclusion of OpenTelemetry and grpc-js libraries)
* 1.32.0 - 154 MB
* 1.33.0 - 164 MB
* 1.34.0 - 136 MB
* 1.35.0 - 164 MB
* Check `node_modules` folder - if you see `eslint`, `mocha` or something else from [package.json](package.json) `devDependencies` section - something wrong with build process. Probably some `npm` flags are work as not expected and it MUST BE FIXED before publishing.
* Ensure that all tests (unit tests and functional tests passed)
* Optional: Ensure that your local tags match remote. If not, remove all and re-fetch:
Expand Down
9 changes: 9 additions & 0 deletions docs/avr.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,20 @@ To use AVR with BIG-IP Telemetry Streaming, you must modify the AVR logging conf
Use the following TMSH command, but be sure to change **telemetry_publisher** to the name of your Log Publisher if your publisher has a different name.


AS3 compatible command for TMSH:

.. code-block:: bash
modify analytics global-settings { external-logging-publisher /Common/Shared/telemetry_publisher offbox-protocol hsl use-offbox enabled }
TMSH command:
.. code-block:: bash
modify analytics global-settings { external-logging-publisher /Common/telemetry_publisher offbox-protocol hsl use-offbox enabled }
|
Expand Down
4 changes: 0 additions & 4 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
<html lang="en">
<head>
<!-- Required meta tags -->
<meta author="James Sevedge">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

Expand All @@ -24,9 +23,6 @@
<div>
<ul class="list-group">
<li class="list-group-item"><a href="public-docs/">Public Documentation</a></li>
<li class="list-group-item"><a href="coverage-docs/">Code Coverage (Report)</a></li>
<li class="list-group-item"><a href="contribute-docs/">Code Contribution (Presentation)</a></li>
<li class="list-group-item">...</li>
</ul>
</div>

Expand Down
37 changes: 25 additions & 12 deletions docs/logging.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Logging
=======

F5 BIG-IP Telemetry Streaming logs to **/var/log/restnoded.log**.
The logging level is set in the "controls" class with possible values of "debug", "info", and "error". The default value is **info**. To change the logging level, submit the declaration with logLevel set to the preferred value.
The logging level is set in the "controls" class with possible values of allowed log levels (in increasing order of verbosity) are **error**, **info**, **debug**, **verbose**. The default value is **info**. To change the logging level, submit the declaration with logLevel set to the preferred value.

.. code-block:: json
:linenos:
Expand All @@ -21,6 +21,20 @@ The logging level is set in the "controls" class with possible values of "debug"
Example log entries for different levels
----------------------------------------

error
`````
The error value will log only errors.

.. code-block:: bash
Thu, 24 Jan 2019 02:22:03 GMT - info: [telemetry] Global logLevel set to 'error'
Thu, 24 Jan 2019 02:22:08 GMT - severe: [telemetry] validateAndApply error: [{"keyword":"enum","dataPath":"['controls'].logLevel","schemaPath":"controls_schema.json#/allOf/0/then/properties/logLevel/enum","params":{"allowedValues":["debug","info","error"]},"message":"should be equal to one of the allowed values"}]
Traceback:
Error: [{"keyword":"enum","dataPath":"['controls'].logLevel","schemaPath":"controls_schema.json#/allOf/0/then/properties/logLevel/enum","params":{"allowedValues":["debug","info","error"]},"message":"should be equal to one of the allowed values"}]
at validator.then.catch (/var/config/rest/iapps/f5-telemetry/nodejs/config.js:237:41)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
info
````
The info value will log information and errors.
Expand All @@ -34,7 +48,7 @@ The info value will log information and errors.
debug
`````
The debug value will log everything.
The debug value will log debug messages, debug errors as well as everything above.

.. code-block:: bash
Expand All @@ -47,18 +61,17 @@ The debug value will log everything.
Thu, 24 Jan 2019 02:18:56 GMT - info: [telemetry] 0 consumer plug-in(s) loaded
error
`````
The error value will log only errors.
verbose
````
The verbose value will log everything.

.. code-block:: bash
Thu, 24 Jan 2019 02:22:03 GMT - info: [telemetry] Global logLevel set to 'error'
Thu, 24 Jan 2019 02:22:08 GMT - severe: [telemetry] validateAndApply error: [{"keyword":"enum","dataPath":"['controls'].logLevel","schemaPath":"controls_schema.json#/allOf/0/then/properties/logLevel/enum","params":{"allowedValues":["debug","info","error"]},"message":"should be equal to one of the allowed values"}]
Traceback:
Error: [{"keyword":"enum","dataPath":"['controls'].logLevel","schemaPath":"controls_schema.json#/allOf/0/then/properties/logLevel/enum","params":{"allowedValues":["debug","info","error"]},"message":"should be equal to one of the allowed values"}]
at validator.then.catch (/var/config/rest/iapps/f5-telemetry/nodejs/config.js:237:41)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
Thu, 24 Jan 2019 02:20:19 GMT - info: [telemetry] Global logLevel set to 'debug'
Thu, 24 Jan 2019 02:20:19 GMT - info: [telemetry] Loading consumer specific plug-ins from ./consumers
Thu, 24 Jan 2019 02:20:19 GMT - finest: [telemetry] new connection - "localhost" port 34567
Thu, 24 Jan 2019 02:24:19 GMT - finest: [telemetry] removing connection - "localhost" port 34567
Loading

0 comments on commit 3dd0c45

Please sign in to comment.