X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=roles%2Fntp-utils%2Flibrary%2Ftune_master_server_params.py;fp=roles%2Fntp-utils%2Flibrary%2Ftune_master_server_params.py;h=ca65bced3e870cb194b123ae2882949a4594f632;hb=a555e0e1024de52b97bbbc6c9f43e377315cda37;hp=0000000000000000000000000000000000000000;hpb=2e44519de0a86010d051c37953979071e9c10228;p=ta%2Finfra-ansible.git diff --git a/roles/ntp-utils/library/tune_master_server_params.py b/roles/ntp-utils/library/tune_master_server_params.py new file mode 100644 index 0000000..ca65bce --- /dev/null +++ b/roles/ntp-utils/library/tune_master_server_params.py @@ -0,0 +1,46 @@ +#!/bin/env python +# pylint: skip-file +from ansible.module_utils.basic import * +import os, json +import re, sys +import syslog +import re + +if __name__ == '__main__': + fields = { + "server_extra_params": {"required":True, "type": str}, + } + + module = AnsibleModule(argument_spec=fields) + + server_extra_params = module.params['server_extra_params'] + + ntp_file = "/etc/ntp.conf" + tmp_file = "/etc/ntp.conf.mod" + + try: + filter = re.compile('^server.*') + lines = [] + with open(ntp_file, 'r') as f: + lines = f.readlines() + + updated = [] + if lines: + for line in lines: + if filter.match(line) and line.find(server_extra_params) == -1: + tmp = line.split('\n')[0] + tmp = tmp + " " + server_extra_params + '\n' + updated.append(tmp) + else: + updated.append(line) + + with open(tmp_file, 'w') as f: + for line in updated: + f.write(line) + + os.rename(tmp_file, ntp_file) + + module.exit_json(changed=True) + + except Exception as exp: + module.fail_json(msg=str(ex))