diff options
| author | Matt Woodson <mwoodson@redhat.com> | 2016-01-18 15:24:28 -0500 | 
|---|---|---|
| committer | Matt Woodson <mwoodson@redhat.com> | 2016-01-18 15:25:54 -0500 | 
| commit | a1c9b13d81d8c94c7764524809f5419a5d3ff73d (patch) | |
| tree | 21a46290cfa22157c84d352d0a4b8aa62d422559 /roles/lib_timedatectl | |
| parent | 9802775b6642d4257b4b2cd9a4e27a4a86bf01d8 (diff) | |
| download | openshift-a1c9b13d81d8c94c7764524809f5419a5d3ff73d.tar.gz openshift-a1c9b13d81d8c94c7764524809f5419a5d3ff73d.tar.bz2 openshift-a1c9b13d81d8c94c7764524809f5419a5d3ff73d.tar.xz openshift-a1c9b13d81d8c94c7764524809f5419a5d3ff73d.zip  | |
added the lib_timedate role
Diffstat (limited to 'roles/lib_timedatectl')
| -rw-r--r-- | roles/lib_timedatectl/library/timedatectl.py | 74 | 
1 files changed, 74 insertions, 0 deletions
diff --git a/roles/lib_timedatectl/library/timedatectl.py b/roles/lib_timedatectl/library/timedatectl.py new file mode 100644 index 000000000..b6eab5918 --- /dev/null +++ b/roles/lib_timedatectl/library/timedatectl.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +''' +    timedatectl ansible module + +    This module supports setting ntp enabled +''' +import subprocess + + + + +def do_timedatectl(options=None): +    ''' subprocess timedatectl ''' + +    cmd = ['/usr/bin/timedatectl'] +    if options: +        cmd += options.split() + +    proc = subprocess.Popen(cmd, stdin=None, stdout=subprocess.PIPE) +    proc.wait() +    return proc.stdout.read() + +def main(): +    ''' Ansible module for timedatectl +    ''' + +    module = AnsibleModule( +        argument_spec=dict( +            #state=dict(default='enabled', type='str'), +            ntp=dict(default=True, type='bool'), +        ), +        #supports_check_mode=True +    ) + +    # do something +    ntp_enabled = False + +    results = do_timedatectl() + +    for line in results.split('\n'): +        if 'NTP enabled' in line: +            if 'yes' in line: +                ntp_enabled = True + +    ######## +    # Enable NTP +    ######## +    if module.params['ntp']: +        if ntp_enabled: +            module.exit_json(changed=False, results="enabled", state="enabled") + +        # Enable it +        # Commands to enable ntp +        else: +            results = do_timedatectl('set-ntp yes') +            module.exit_json(changed=True, results="enabled", state="enabled", cmdout=results) + +    ######### +    # Disable NTP +    ######### +    else: +        if not ntp_enabled: +            module.exit_json(changed=False, results="disabled", state="disabled") + +        results = do_timedatectl('set-ntp no') +        module.exit_json(changed=True, results="disabled", state="disabled") + +    module.exit_json(failed=True, changed=False, results="Something went wrong", state="unknown") + +# Pylint is getting in the way of basic Ansible +# pylint: disable=redefined-builtin,wildcard-import,unused-wildcard-import +from ansible.module_utils.basic import * + +main()  | 
