Exemplo n.º 1
0
    def test_cfgget(self):
        config = StringIO("""
[Unit]
Name=testconfig
RunsOn=master

[Service]
daemon=$$MYPATH
ExecStart=%(daemon)s/starter
ExecStop=%(daemon)s/stopper

[Environment]
SOME_ENV=123""")
        cfg = hcc.load_service_config(config)
        self.assertEqual(hcc._cfgget(cfg, 'Service', 'daemon'), '$$MYPATH')
        self.assertEqual(hcc._cfgget(cfg, 'Service', 'daemon', 'default'), '$$MYPATH')
        self.assertEqual(hcc._cfgget(cfg, 'Service', 'daemon', 'default', daemon='override'), 'override')
        self.assertEqual(hcc._cfgget(cfg, 'Service', 'daemon2', 'notfound'), 'notfound')
        self.assertEqual(hcc._cfgget(cfg, 'Service', 'daemon2', 'notfound', daemon2='override'), 'override')
        self.assertRaises(NoOptionError, hcc._cfgget, cfg, 'Service', 'angel')
Exemplo n.º 2
0
    def run(self, args):
        """Run 'dists' subcommand."""
        lines = []
        dists = avail_dists()
        for dist in dists:
            modules = None
            try:
                cfg_fp = open(resolve_dist_path(dist))
                modules = load_service_config(cfg_fp).get('Config', 'modules').split(',')
                cfg_fp.close()
            except IOError as err:
                _log.error("Failed to get list of modules for dist '%s': %s", dist, err)
                continue

            lines.extend([
                "* %s" % dist,
                "    modules: %s" % ', '.join(modules),
                '',
            ])

        print '\n'.join(lines)
        return 0
Exemplo n.º 3
0
    def run(self, args):
        """Run 'dists' subcommand."""
        lines = []
        dists = avail_dists()
        for dist in dists:
            modules = None
            try:
                cfg_fp = open(resolve_dist_path(dist))
                modules = load_service_config(cfg_fp).get('Config', 'modules').split(',')
                cfg_fp.close()
            except IOError as err:
                self.log.error("Failed to get list of modules for dist '%s': %s", dist, err)
                continue

            lines.extend([
                "* %s" % dist,
                "    modules: %s" % ', '.join(modules),
                '',
            ])

        print '\n'.join(lines)
        return 0