All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- CASMCMS-9211: Improve performance of configuration delete operation.
- CASMCMS-9210: Correctly check
additional_inventory
layer when seeing if a source is in use
- CASMCMS-9208: Decode source name before restoring source data
- CASMCMS-9207: Update API spec to reflect actual status code for successful POST to v3/sources/{source_id}
- CASMCMS-9206: Update API spec to reflect that in v3, a layer requires exactly one of
clone_url
andsource
.
- Added note to API spec indicating minimum CFS version to use new POST v3/sources/{source_id}
- CASMCMS-9202: Add POST option to v3/sources/{source_id} endpoint to allow restoring a previous source by specifying its Vault secret name rather than a username/password.
- CASMCMS-9200: Make Options class thread-safe and prevent redundant initialization
- Do not make database call to look for configuration with null name
- CASMCMS-9197: Bypass needless code when listing configurations and sources
- CASMCMS-9196: Use the default value for
authentication_method
when creating a source, if the request does not specify it. - CASMCMS-9198: Enforce same value restrictions on CFS options between v2 and v3 (for options that exist in both).
- CASMCMS-9189: Two corrections to the CFS API spec
- The spec indicated that PUT requests to the
/components
endpoints could specify either a dictionary or a list, just as with PATCH requests to those endpoints. However, the server code for the PUT endpoints only handled the list case. The API spec has been updated to reflect this reality. - The spec allowed for components whose ID fields were set to 0-length strings, which should never be the case. There are some cases where the schema should permit the field to be omitted entirely, but it should never be set to a 0-length string.
- The spec indicated that PUT requests to the
- Log installed Python packages in Dockerfile for purposes of build logging
- CASMCMS-9138: Bump Python dependency versions to resolve CVEs
- Move to
openapi-generator-cli
v7.8.0 - Pin major/minor of Python dependencies but take latest patch version
- CSM 1.6 moved to Kubernetes 1.24, so use client v24.x to ensure compatability
- CASMCMS-9135: Bump minimum
cray-services
base chart version from 10.0.5 to 11.0.0
- Update API spec to reflect the actual requirements and format for the age/TTL fields.
- Add missing pod
securityContext
- CASMCMS-9005: Bump minimum
cray-services
base chart version from 7.0.0 to 10.0.5
Bumped dependency versions to resolve CVEs
Package | From | To |
---|---|---|
certifi |
2018.11.29 | 2023.7.22 |
urllib3 |
1.25.11 | 1.26.19 |
requests |
2.22.0 | 2.31.0 |
idna |
2.8 | 3.7 |
setuptools |
unpinned | 65.5.1 |
- Fix broken
_matches_filter
call inpatch_v2_components_dict
.
- Added missing
special_parameters
toV3ConfigurationLayer
schema in API spec.
- Bump
connexion
from2.6.0
to2.14.2
to pick up bug fixes to prevent false schema errors being logged. - Bump
Werkzeug
from0.15.6
to1.0.1
to meetconnexion
requirements.
- Fix bug in
patch_v2_components_dict
to properly handle response fromDB.get_all()
- Corrected errors in the API spec to make it properly follow OAS 3.0.2 and to accurately reflect actual CFS behavior.
- Fixed ARA link returned with session data
- Bump
kubernetes
from 11.0.0 to 22.6.0 to match CSM 1.6 Kubernetes version
- Changed API behavior to match spec
- v3 session create return status code 201 on success
- v3 multi-session delete return status code 200 on success
- Changed spec to match API behavior
- v2 configuration patch returns 404 if configuration not found
- v3 configuration patch returns 404 if configuration not found
- v2 session create return status code 200 on success
- v2 sessions list returns 400 in case of some errors
- v3 sessions list returns 400 in case of some errors
- v3 source patch returns 404 if source not found
- Changed both spec and API behavior
- v3 source creation now returns 201 on success, per convention for indicating successful creation of a new resource
- Corrected minor mistake in a code comment
- Fix bug in patch_all method in dbutils (use DB client, not Kubernetes Python module)
- Convert bytes to strings in patch_all and delete_all methods in dbutils, so they can be JSON serialized
- Fixed branch updates with the v2 api
- Fixed server error when using on clone_url in v3
- Fixed branch conversion for additional inventory in the configuration
- Added sources to support cloning from external repos
- Added a drop_branches option when updating configurations
- Fixed v2 session creation using the wrong configuration name.
- Fixed v2 session creation with configuration names exceeding the v3 limit.
- Added an ims_job field for session status
- Fixed component status handling for failed and incomplete layers
- Fixed component id list filtering when used with paging
- Fixed the options migrations when cfs-api is upgraded to v3 far ahead of other CFS services
- Fixed the component definition to allow new components with no desired configuration
- Updated the jsonschema dependecny to address a bug in openapi-schema-validator
- V3 api with support for paging
- Additional debugging options including debug_on_failure
- ARA links in the component and session records
- Disabled concurrent Jenkins builds on same branch/commit
- Added build timeout to avoid hung builds
Bumped dependency versions
Package | From | To |
---|---|---|
adal |
1.2.0 | 1.2.7 |
cffi |
1.12.2 | 1.12.3 |
google-auth |
1.6.1 | 1.6.3 |
isort |
4.3.16 | 4.3.21 |
Jinja2 |
2.10.1 | 2.10.3 |
openapi-spec-validator |
0.2.4 | 0.2.10 |
pyasn1 |
0.4.4 | 0.4.8 |
pyasn1-modules |
0.2.2 | 0.2.8 |
PyJWT |
1.7.0 | 1.7.1 |
python-dateutil |
2.6.0 | 2.6.1 |
rsa |
4.7 | 4.7.2 |
typed-ast |
1.3.1 | 1.3.5 |
urllib3 |
1.25.9 | 1.25.11 |
Werkzeug |
0.15.5 | 0.15.6 |
wrapt |
1.11.1 | 1.11.2 |
- Bump
cryptography
from 2.6.1 to 41.0.2 to fix Improper Certificate Validation CVE
- Bumped
PyYAML
from 5.4.1 to 6.0.1 to avoid build issue caused by yaml/pyyaml#601
- Added a new configuration parameter for enabling DKMS in IMS
- Quadrupled the size the uwsgi buffer for the API.
- Language linting of description text fields in openapi spec file
- Restricted parameters for configurations and status filtering
- Enabled building of unstable artifacts
- Updated header of update_versions.conf to reflect new tool options
- Added new parameter for naming image customization results
- Added additional control options for batcher
- Added ability to bulk update components
- Added option to control CFS log levels
- Added description field for configurations
- Added version endpoints for the API
- Add Artifactory authentication to Jenkinsfile
- Spelling corrections.
- Updated Chart with correct image and chart version strings during builds.
- Modified version string placeholder tag in openapi.yaml to avoid unintentional string replacement during builds.
- Escalated pod priority so that configuration has a better chance of running when a node is cordoned
- Conversion of repository to gitflow