Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CiaB produces invalid configuration/required parameter is undocumented #5159

Closed
ocket8888 opened this issue Oct 15, 2020 · 6 comments
Closed
Labels
bug something isn't working as intended cache-config Cache config generation cdn-in-a-box related to the Docker-based CDN-in-a-Box system documentation related to documentation low difficulty the estimated level of effort to resolve this issue is low low impact affects only a small portion of a CDN, and cannot itself break one

Comments

@ocket8888
Copy link
Contributor

I'm submitting a ...

  • bug report

Traffic Control components affected ...

  • CDN in a Box
  • Documentation
  • Traffic Ops ORT

Current behavior:

CDN-in-a-Box's cache server Profiles are missing the required Parameter:

{
	"name": "trafficserver",
	"config_file": "package",
	"value": "{{version}}-{{patch}}.{{commit hash}}.{{Enterprise Linux release}}.{{distro}}.{{CPU arch}}"
}

Which is also not present anywhere in documentation. If this Parameter is not present, atstccfg will assume that the server is using the unsupported ATS version 5.0, and will generate its configuration appropriately. This means that it will possibly generate configuration that the cache servers can't actually understand.

Expected behavior:

atstccfg should be aware of the actual ATS version installed on the CiaB cache servers.

Minimal reproduction of the problem with instructions:

Check the ORT logs for CiaB cache servers, notice that they note the ATS version as 5

@ocket8888 ocket8888 added bug something isn't working as intended Traffic Ops ORT *DEPRECATED* related to the traffic_ops_ort.pl script documentation related to documentation low impact affects only a small portion of a CDN, and cannot itself break one cdn-in-a-box related to the Docker-based CDN-in-a-Box system labels Oct 15, 2020
@mitchell852 mitchell852 added cache-config Cache config generation and removed Traffic Ops ORT *DEPRECATED* related to the traffic_ops_ort.pl script labels Jun 3, 2021
@ocket8888
Copy link
Contributor Author

These exist now, but have Values that are just (unchanged). If that's handled specially, I think it's undocumented. If it isn't, then a reasonable feature request would be that it isn't required (which is covered by #6205) or that the Value be valid and correct somehow.

@ocket8888 ocket8888 added the low difficulty the estimated level of effort to resolve this issue is low label Dec 1, 2021
@zrhoffman
Copy link
Member

These exist now, but have Values that are just (unchanged). If that's handled specially, I think it's undocumented.

CDN in a Box changes it to a valid value:

trafficserver_version="$(rpm -q --qf '%{version}-%{release}.%{arch}\n' trafficserver)"

set_profile_parameter "$ats_profile" package trafficserver "$trafficserver_version" 'trafficserver RPM version'

But yeah, we should document it. Note that our site's downloadable profiles
already have it:

    {
      "configFile": "package",
      "name": "trafficserver",
      "value": "8.1.1-59.673d979d0.el8.centos.x86_64"
    },

@mitchell852
Copy link
Member

can this be closed @ocket8888 @zrhoffman

@ocket8888
Copy link
Contributor Author

No, the parameter is still undocumented

@zrhoffman
Copy link
Member

This is it, right?

package
'''''''
This is a special, reserved Config File that isn't a file at all. When a Parameter's Config File is ``package``, then its name is interpreted as the name of a package. :term:`ORT` on the server using the :ref:`Profile <profiles>` that has this Parameter will attempt to install a package by that name, interpreting the Parameter's Value_ as a version string if it is not empty. The package manager used will be :manpage:`yum(8)`, regardless of system (though the Python version of :term:`ORT` will attempt to use the host system's package manager - :manpage:`yum(8)`, :manpage:`apt(8)` and ``pacman`` are supported) but that shouldn't be a problem because only Rocky Linux 8 and CentOS 7 are supported.
The current implementation of :term:`ORT` will expect Parameters to exist on a :term:`cache server`'s :ref:`Profile <profiles>` with the :ref:`Names <parameter-name>` ``astats_over_http`` and ``trafficserver`` before being run the first time, as both of these are required for a :term:`cache server` to operate within a Traffic Control CDN. It is possible to install these outside of :term:`ORT` - and indeed even outside of :manpage:`yum(8)` - but such configuration is not officially supported.

It could still use an example IMO

@ocket8888
Copy link
Contributor Author

Huh, yeah, I guess it is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug something isn't working as intended cache-config Cache config generation cdn-in-a-box related to the Docker-based CDN-in-a-Box system documentation related to documentation low difficulty the estimated level of effort to resolve this issue is low low impact affects only a small portion of a CDN, and cannot itself break one
Projects
None yet
Development

No branches or pull requests

3 participants