[PATCH 2/5] tuna: Use context-aware default path for cpuset profiles
John Kacur <[email protected]> Tue, 28 Jul 2026 13:06:04 -0400
| Newsgroups | org.kernel.vger.linux-rt-users |
|---|---|
| Message-ID | <[email protected]> |
Detect execution context to set appropriate default path for cpuset profile files: - Development (tuna-cmd.py or tuna-cmd): ./cpuset-profile.yaml - Production (tuna): /etc/tuna/cpuset-profile.yaml This allows developers to work with profile files in their git directory while production installations use the standard /etc/tuna/ location. Users can always override by providing an explicit path argument. Assisted-by: Claude:claude-sonnet-4-5 Signed-off-by: John Kacur <[email protected]> --- tuna-cmd.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/tuna-cmd.py b/tuna-cmd.py index d2ba0238ab28..cf33af13d5d3 100755 --- a/tuna-cmd.py +++ b/tuna-cmd.py @@ -104,6 +104,20 @@ class HelpMessageParser(argparse.ArgumentParser): self.print_help() sys.exit(2) +def get_default_cpuset_profile(): + """Get default cpuset profile filename based on execution context. + + Returns: + str: Default profile path + - './cpuset-profile.yaml' when running from dev (tuna-cmd.py or tuna-cmd) + - '/etc/tuna/cpuset-profile.yaml' when running from production (tuna) + """ + script_name = os.path.basename(sys.argv[0]) + if script_name in ('tuna-cmd.py', 'tuna-cmd'): + return 'cpuset-profile.yaml' + else: + return '/etc/tuna/cpuset-profile.yaml' + def gen_parser(): @@ -324,13 +338,14 @@ def gen_parser(): # cpuset save cpuset_save = cpuset_subparser.add_parser('save', description='Save cpuset configuration to YAML profile', help='Save cpuset configuration') - cpuset_save.add_argument('filename', nargs='?', default='cpuset-profile.yaml', - help='Output YAML file (default: cpuset-profile.yaml)') + default_profile = get_default_cpuset_profile() + cpuset_save.add_argument('filename', nargs='?', default=default_profile, + help=f'Output YAML file (default: {default_profile})') # cpuset apply cpuset_apply = cpuset_subparser.add_parser('apply', description='Apply cpuset configuration from YAML profile', help='Apply cpuset configuration') - cpuset_apply.add_argument('filename', nargs='?', default='cpuset-profile.yaml', - help='Input YAML file (default: cpuset-profile.yaml)') + cpuset_apply.add_argument('filename', nargs='?', default=default_profile, + help=f'Input YAML file (default: {default_profile})') cpuset_apply.add_argument('-v', '--verbose', action='store_true', help='Print detailed progress messages') -- 2.55.0