diff --git a/doc/admin-guide/tools/converting-records-to-yaml.en.rst b/doc/admin-guide/tools/converting-records-to-yaml.en.rst index 629db4551e0..14e5fb89e25 100644 --- a/doc/admin-guide/tools/converting-records-to-yaml.en.rst +++ b/doc/admin-guide/tools/converting-records-to-yaml.en.rst @@ -242,16 +242,14 @@ Now the records parser knows the type of the non core records. Final Notes =========== -Internally ATS still uses the record style names, querying any record can still +Internally ATS still uses variables with record style names, querying any record can still be done as usual. Either by using the ATS API or by using :program:`traffic_ctl`. -This implementation will only accept a ``records.yaml`` config file, if not found the -defaults will be used. If a ``record.config`` file is found in the config directory -a warning will be shown, the legacy file should be removed. -This is done to avoid someone having the legacy file thinking it is the current one. +ATS only accepts a :file:`records.yaml` config file, if a legacy file ``records.config`` is found +then ATS will fail to start. .. code-block:: bash - traffic_server WARNING: Found a legacy config file. /home/to/ats/config/records.config + traffic_server WARNING: **** Found a legacy config file (/your/ats/records.config). Please remove it and migrate to the new YAML format before continuing. **** diff --git a/src/records/RecCore.cc b/src/records/RecCore.cc index 3b1609a64f6..a62e2560c63 100644 --- a/src/records/RecCore.cc +++ b/src/records/RecCore.cc @@ -223,12 +223,13 @@ RecCoreInit(RecModeT mode_type, Diags *_diags) g_rec_config_fpath = ats_stringdup(RecConfigReadConfigPath(nullptr, ts::filename::RECORDS)); - // Make sure there is no legacy file, if so we fail. This is to avoid issues with someone not knowing - // that we now are using records.yaml + // Make sure there is no legacy file, if so we drop a BIG WARNING and fail. + // This is to avoid issues with someone ignoring that we now use records.yaml ts::file::path old_config{RecConfigReadConfigPath(nullptr, "records.config")}; if (ts::file::exists(old_config)) { - RecLog(DL_Warning, "Found a legacy config file. %s", old_config.c_str()); - return REC_ERR_FAIL; + RecLog(DL_Fatal, + "**** Found a legacy config file (%s). Please remove it and migrate to the new YAML format before continuing. ****", + old_config.c_str()); } if (RecFileExists(g_rec_config_fpath) == REC_ERR_FAIL) { diff --git a/tests/gold_tests/records/old_config_fail.test.py b/tests/gold_tests/records/old_config_fail.test.py deleted file mode 100644 index 66ffa6a188d..00000000000 --- a/tests/gold_tests/records/old_config_fail.test.py +++ /dev/null @@ -1,32 +0,0 @@ -''' -''' -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -Test.Summary = 'Test old config ATS startup' - -ts = Test.MakeATSProcess("ts") -ts.Disk.MakeConfigFile('records.config').AddLine('dummy file!') - - -tr = Test.AddTestRun("Start ATS with both, new(yaml) and legacy records config") -tr.Processes.Default.Command = 'echo 1' -tr.Processes.Default.ReturnCode = 0 -tr.Processes.Default.StartBefore(ts) - -ts.Disk.traffic_out.Content = Testers.ContainsExpression( - "WARNING: Found a legacy config file", - "It should fail when legacy config is found.")