saltstack / saltstack/salt

[DOCS] Is key_logfile meant to be a deprecated minion/master config option?

Open
#58,893 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation severity-medium time-estimate-sprint
Dominant language
Python
Stars
15.7k
Forks
5.6k
Avg merge
2d 44m
Merged PRs (30d)
80

Description

Description

This was discovered as part of working on #58112

Not sure what is going on here:

https://github.com/saltstack/salt/blob/8afbb8e00556e0d491f6052308469e9f4a0c7672/salt/config/__init__.py#L1486-L1487

This option has a comment saying it was meant to be removed long ago, first introduced as a comment 7 years ago:

Either this is meant to be deprecated or it is meant to stay.

Suggested Fix

If it is meant to stay:

  • Remove the comment
  • Add the appropriate information needed to the minion/master confs that support it, and the associate .rst files

If it is meant to go, create a deprecation path.

  • Create a deprecation path

Type of documentation

  • minion/master configuration files
  • Salt Documentation (.rst) for master/minion configuration files

Location or format of documentation

https://github.com/saltstack/salt/blob/8afbb8e00556e0d491f6052308469e9f4a0c7672/salt/config/__init__.py#L1486-L1487

Depending on what path is taken on what will be done with the option, the following files may be impacted in docs:

Master:

Minion:

Additional context

Assigning Pedro since past-Pedro seemed to know something about this back in an earlier time of Salt land, when version numbers were much smaller and elsewhere on the periodic table.

If it does go the deprecation path, it appears in several places as being used:

20:24 $ grep -Inr "key_logfile" | grep -v "_build"
salt/utils/parsers.py:2483:    _logfile_config_setting_name_ = "key_logfile"
salt/config/__init__.py:178:        # key_logfile, pidfile:
salt/config/__init__.py:709:        "key_logfile": str,
salt/config/__init__.py:1486:        # XXX: Remove 'key_logfile' support in 2014.1.0
salt/config/__init__.py:1487:        "key_logfile": os.path.join(salt.syspaths.LOGS_DIR, "key"),
salt/config/__init__.py:2361:    for config_key in ("log_file", "key_logfile", "syndic_log_file"):
salt/config/__init__.py:3682:    for config_key in ("log_file", "key_logfile"):
salt/config/__init__.py:3886:    for config_key in ("log_file", "key_logfile", "ssh_log_file"):
doc/man/salt.7:16525:# key_logfile, pidfile, autosign_grains_dir:
doc/man/salt.7:17655:#key_logfile: /var/log/salt/key
doc/man/salt.7:18601:#key_logfile: /var/log/salt/key
doc/man/salt.7:19312:#key_logfile: /var/log/salt/key
conf/suse/master:40:# key_logfile, pidfile, autosign_grains_dir:
conf/suse/master:1076:#key_logfile: /var/log/salt/key
conf/minion:777:#key_logfile: /var/log/salt/key
conf/master:42:# key_logfile, pidfile, autosign_grains_dir:
conf/master:1172:#key_logfile: /var/log/salt/key
conf/proxy:542:#key_logfile: /var/log/salt/key
tests/unit/test_config.py:255:            wfh.write("root_dir: /\n" "key_logfile: key\n")
tests/unit/test_config.py:262:            wfh.write("root_dir: /\n" "key_logfile: key\n")
tests/unit/test_config.py:268:        temp_config = "root_dir: /\n" "key_logfile: key\n"
tests/unit/test_config.py:270:            temp_config = "root_dir: c:\\\n" "key_logfile: key\n"
tests/unit/test_config.py:282:        self.assertEqual(config["key_logfile"], expect_path_join)
tests/unit/test_config.py:284:        self.assertNotEqual(config["key_logfile"], expect_sep_join)
tests/unit/utils/test_parsers.py:569:        if log_file_name == "key_logfile":
tests/unit/utils/test_parsers.py:815:        self.logfile_config_setting_name = "key_logfile"
tests/unit/utils/test_parsers.py:823:        self.key_logfile = "/tmp/key_logfile"
tests/unit/utils/test_parsers.py:872:            self.logfile_config_setting_name: "key_logfile",
tests/unit/utils/test_parsers.py:924:        if os.path.exists(self.key_logfile):
tests/unit/utils/test_parsers.py:925:            os.unlink(self.key_logfile)
tests/integration/files/conf/master:18:key_logfile: key.log

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing salt/config/init.py and the listed key_logfile usages, then compare conf/master, conf/minion, and their corresponding .rst files. Check the configuration and parser tests to understand current support. Done means the project’s decision is documented consistently, with either updated configuration documentation or a complete deprecation path.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.