Skip to content

Releases: thoth-station/thoth-application

Release 2021.07.19

19 Jul 19:39
7a231b5
Compare
Choose a tag to compare

we have completed the release of 2021.07.19 🎉 🎊 🥳

Features

  • TensorFlow updates in recommendations

We have incorporated few additions to the recommender system when it comes to recent TensorFlow releases. Users of Thoth can now benefit from recommendations that take into account API symbols available also in the upcoming tensorflow~=2.6.0 release. The recommender system automatically suggests using the appropriate TensorFlow release based on API symbols used in the application (that matches API symbols available in the recommended TensorFlow release). The knowledge base was also extended with supported CUDA versions for TensorFlow 2.5 and upcoming TensorFlow 2.6.

Thoth's knowledge was extended with information that states which Python packages are packaged as RPMs in Fedora 34 and UBI8. When asking for advice, the recommender system notifies about Python packages available as RPMs in justifications in the respective distributions.

Number of Python packages packaged in Fedora 34 as RPMs: 2244
Number of Python packages packaged in UBI as RPMs: 62

With recent changes, we provide a link to PyPI's release page for each Python package installed from PyPI. This helps users to directly navigate to project information presented on PyPI.

The declarative interface to the resolution process now allows to state how the resolution process should look like when considering also Python packages already present in the runtime environment (container image). An example can be an adjusted resolution process when JupyterLab is installed in a specific version in the runtime environment (container image).

As we provide base container images with a prepared and tested set of packages ("predictive stacks") that are shipped with the container image, these container images can be additionally used as a base for installing packages as per user requests.

An example scenario can be a tested TensorFlow container image, that could be lacking TensorBoard package. If a user wants to install TensorBoard, the resolution process automatically detects TensorFlow release available in the container image and suggests a compatible TensorBoard release that will work with the preinstalled TensorFlow package shipped in the base image.

The recommendation engine now provides links to release notes pages available on GitHub (if any) for packages that are installed. For example, users will be pointed to numpy==1.21.0 release page if the given numpy is installed in the specific version. This information was aggregated for top 5000 Python packages on PyPI (top based on number of downloads). If you are a maintainer of a repository that provides release information on GitHub and your package is not listed in Thoth's database, feel free to add it to the thoth-station/prescriptions repository following the docs.

To make sure Python application developers use Python packages that are still actively developed, we warn when users use Python packages that have archived repositories on GitHub. This detection is performed for the top 5000 used packages on PyPI (based on the number of downloads).

We inform users if they consume packages from Operate First Pulp instance. The recommender system prints this information in the provided justification together with the recommended stack.

Component Updates

Thanks for the amazing work everyone. 💯

Release 2021.07.05

06 Jul 21:42
72ba8c1
Compare
Choose a tag to compare

we have completed the release of 2021.07.05 🎉 🎊 🥳

Features

  • Resolve Python software stacks based on RPM packages present in the base container image (runtime environment used)

Some Python libraries require native packages to work. An example can be GitPython, a popular Python library for interacting with Git. The installation of GitPython done by pip install gitpython will bring Python library into the environment, nevertheless, the library does require Git to be installed in the environment to work properly. The newly introduced mechanism allows to declaratively specify which RPM packages (such as Git required by GitPython in the example) should be present in the environment so that the resolved software will serve user needs. See documentation for more info.

  • thoth-station/adviser#1922

  • Resolve Python software stacks based on shared objects present in the base container image (runtime environment used)

Similarly as for RPM packages (see above), some Python packages require native shared objects (so files) present in the environment to operate correctly. To support this, Thoth performs analyses of base container images that can be used with Python software stacks. One of the outcomes of these analyses is information about shared objects (and their versions) shipped in the container images. Detection of required shared objects in Python packages then creates a requirement to match shared objects offered by the base container image used (done by a corresponding ABI sieve).

Besides this automatic detection, Thoth offers a declarative interface to describe pipeline units which adjust the resolution process based on shared objects present in the base container image. This is especially useful if shared objects are loaded dynamically on runtime - maintainers of such Python packages can state requirements on the base container image with respect to shared objects and their versions present. An example can be a requirement on a specific glibc version - see docs for more information.

Pulp offers pulp-python plugin which enables users to maintain multiple Python package indexes. Users can upload their Python packages to package indexes considering their needs (e.g. have a specific Python package index for AVX2 optimized TensorFlow builds, another index for patched Python packages needed for testing products, ...). To integrate with Thoth, we introduced pulp-pypi-sync-job which periodically checks Python package indexes created on a monitored Pulp instance and registers them to Thoth. Subsequently, Thoth analyses packages published on these package indexes and can guide users on how to consume packages published there. As Thoth offers resolution which, unlike pip/Pipenv, considers Python package indexes as a different source of packages (rather than mirrors as in the case of pip/Pipenv), the resolution process can give guidance on how and why Python packages should be consumed from the recommended Python package sources.

As of now, we monitor Pulp instance deployed on the operate-first environment.

Component Updates

Thanks for the amazing work everyone. 💯

Release 2021.06.21

21 Jun 18:58
a525172
Compare
Choose a tag to compare

we have completed the release of 2021.06.21 🎉 🎊 🥳

Features

  • We have started ingesting the package based on fedora 34 and python 3.9.

  • We are deprecating the support for fedora 31 and python 3.7 modules.

  • thamos advise now supports labels, prescription pipeline units can be now included in the resolution based on labels supplied by users:

  • user-api keeps logs of advises and container image analyses for a longer period of time, users can browse the resolution or analysis logs after some time (not necessary immidiatelly once the resolution is done)

  • Prescriptions are now stated in a directory structure - see thoth-station/prescriptions. This makes the database of known issues more maintainable and maintainers of specific projects can follow only sub-directories for changes and reports. If you are a maintainer of a project or you would like to follow issues stated for a specific set of projects, feel free to add yourself to the CODEOWNERS file in thoth-station/prescriptions repository.

Component Updates

Thanks for the amazing work everyone. 💯

Release 2021.06.07

07 Jun 18:51
0978e6d
Compare
Choose a tag to compare

With these updates, we have completed the release of 2021.06.07

Features

  • Implemented handling of packages - selecting which packages should be analyzed by Thoth by maintaining solver rules: #1403

management-api: >0.17.0
adviser: >=0.31.0

cve-update-job: >=0.3.0
adviser: >=0.31.0

As this change required database schema changes, all the components that talk to the database need thoth-storages>=0.44.0 (updates propagated, new releases pending).

Component Updates

Thanks, everyone for the work.

Release 2021.05.24

24 May 21:33
f9969b7
Compare
Choose a tag to compare

With these updates, we have completed the release of 2021.05.24
Component Updates

Thanks, everyone for the work.

Release 2021.05.10

10 May 18:21
2121ba5
Compare
Choose a tag to compare

With these updates, we have completed the release of 2021.05.10
Component Updates

  • adviser: v0.29.0

With this change we provide the following new features:

To support constraints files:

To support GitHub release notes in justifications, thoth-station/prescriptions#17 can be merged. The prescription-sync-job will update prescriptions in deployments. The merge should happen after adviser>=0.29.0 is available in deployment (stage+prod).

Thanks, everyone for the work.

Release 2021.04.26

26 Apr 05:16
85d0b05
Compare
Choose a tag to compare

With these updates, we have completed the release of 2021.04.26
Component Updates

Thanks, everyone for the work.

Release 2021.04.12

12 Apr 05:26
fc46fcb
Compare
Choose a tag to compare

With these updates, we have completed the release of 2021.04.12
Component Updates

Thanks everyone for the work.

Release 2021.03.29

29 Mar 05:51
af16242
Compare
Choose a tag to compare

With these updates, we have completed the release of 2021.03.29
New components

  • prescription-sync-job
    • An Application that syncs prescriptions stored on GitHub to Ceph. It is run as a periodic job in Thoth's deployment.

Component Updates

Thanks everyone for the work.

Release 2021.03.15

15 Mar 04:15
2ade99a
Compare
Choose a tag to compare

The cluster was updated to openshift 4.7
The cluster is renamed to zero

With these updates, we have completed the release of 2021.03.15