Skip to content

Commit

Permalink
PEP8 and 2.6 Updates
Browse files Browse the repository at this point in the history
  • Loading branch information
shermdog committed Jun 30, 2014
1 parent c00d6b1 commit 8a2bf1d
Show file tree
Hide file tree
Showing 7 changed files with 445 additions and 419 deletions.
162 changes: 82 additions & 80 deletions library/junos_console_devicemode
Original file line number Diff line number Diff line change
Expand Up @@ -38,31 +38,31 @@ author: Jeremy Schulman, Juniper Networks
version_added: "1.5.0"
short_description: Change the operational device mode
description:
- New Out of Box (NOOB) console configuration that will change the "device mode".
For QFX devices in QFabric deployments, the QFX switch must be
configured into 'node' mode. This action is performed over the device
CONSOLE port using either a SERIAL-PORT or a TERMINAL-SERVER.
This action will also log the device "facts" and "inventory" to a
local server directory, which then provdies you with specific details
about the device located on that console. Refer to netconify for
- New Out of Box (NOOB) console configuration that will change the "device mode".
For QFX devices in QFabric deployments, the QFX switch must be
configured into 'node' mode. This action is performed over the device
CONSOLE port using either a SERIAL-PORT or a TERMINAL-SERVER.
This action will also log the device "facts" and "inventory" to a
local server directory, which then provdies you with specific details
about the device located on that console. Refer to netconify for
further details on this process.
requirements:
- netconify
options:
host:
description:
- should be {{ inventory_hostname }}
required: true
required: true
user:
description:
- login user-name
required: false
default: root
- login user-name
required: false
default: root
passwd:
description:
- login password
required: false
default: None
required: false
default: None
console:
description:
- CONSOLE port, per the B(netconify) utility
Expand All @@ -78,15 +78,15 @@ options:
description:
- path on the local server where progress status is logged
for debugging purposes
required: false
required: false
default: None
savedir:
description:
- path to the local server directory where device facts and
inventory files will be stored. Refer to the B(netconify)
- path to the local server directory where device facts and
inventory files will be stored. Refer to the B(netconify)
utility for details. If the path is not explicit, it will
be local to the playbook execution directory
required: false
required: false
default: None
'''

Expand All @@ -99,74 +99,76 @@ EXAMPLES = '''
savedir=/usr/local/junos/inventory
'''

import sys

import logging

from netconify.cmdo import *


def main():
module = AnsibleModule(
argument_spec = dict(
host=dict(required=True),
console=dict(required=True),
qfx=dict(required=False, default=None, choices=['node','switch']),
logfile=dict(required=False, default=None),
savedir=dict(required=False),
user=dict(required=False, default='root'),
passwd=dict(required=False, default=None)
),
supports_check_mode = False )

# -----------------------------------------------
# build the command args to the netconify utility
# -----------------------------------------------

m_args = module.params
c_args = [] # for netconify
gather_facts = False

c_args.append(m_args['console'])
if m_args['qfx'] is not None:
c_args.append('--qfx-'+m_args['qfx'])
if m_args['savedir'] is not None:
# gather facts and save them to local filesys
gather_facts = True
c_args.append('--facts')
c_args.append('--savedir='+m_args['savedir'])
c_args.append('--user='+m_args['user'])
if m_args['passwd'] is not None:
c_args.append('--passwd='+m_args['passwd'])

# the final arg should be the name we designate to this device.
c_args.append(m_args['host'])

logfile = m_args['logfile']
if logfile is not None:
logging.basicConfig(filename=logfile, level=logging.INFO,
format='%(asctime)s:%(name)s:%(message)s')
logging.getLogger().name = 'NETCONIFY:'+m_args['host']
def log_notify(event,message):
log_notify.event = event
log_notify.message = message
logging.info("%s:%s"%(event,message))
use_notifier = log_notify
else:
def silent_notify(event,message): pass
use_notifier = silent_notify

nc = netconifyCmdo(notify=use_notifier)
c_results = nc.run( c_args )

m_results = dict(changed=c_results['changed'])
m_results['args'] = m_args # just for debug really.
if gather_facts is True:
m_results['facts'] = c_results['facts']

if c_results['failed'] is True:
module.fail_json(msg=c_results['errmsg'])
else:
module.exit_json(**m_results)
module = AnsibleModule(
argument_spec=dict(
host=dict(required=True),
console=dict(required=True),
qfx=dict(required=False, default=None, choices=['node', 'switch']),
logfile=dict(required=False, default=None),
savedir=dict(required=False),
user=dict(required=False, default='root'),
passwd=dict(required=False, default=None)
),
supports_check_mode=False)

# -----------------------------------------------
# build the command args to the netconify utility
# -----------------------------------------------

m_args = module.params
c_args = [] # for netconify
gather_facts = False

c_args.append(m_args['console'])
if m_args['qfx'] is not None:
c_args.append('--qfx-' + m_args['qfx'])
if m_args['savedir'] is not None:
# gather facts and save them to local filesys
gather_facts = True
c_args.append('--facts')
c_args.append('--savedir=' + m_args['savedir'])
c_args.append('--user=' + m_args['user'])
if m_args['passwd'] is not None:
c_args.append('--passwd=' + m_args['passwd'])

# the final arg should be the name we designate to this device.
c_args.append(m_args['host'])

logfile = m_args['logfile']
if logfile is not None:
logging.basicConfig(filename=logfile, level=logging.INFO,
format='%(asctime)s:%(name)s:%(message)s')
logging.getLogger().name = 'NETCONIFY:' + m_args['host']

def log_notify(event, message):
log_notify.event = event
log_notify.message = message
logging.info("%s:%s" % (event, message))
use_notifier = log_notify
else:
def silent_notify(event, message):
pass
use_notifier = silent_notify

nc = netconifyCmdo(notify=use_notifier)
c_results = nc.run(c_args)

m_results = dict(changed=c_results['changed'])
m_results['args'] = m_args # just for debug really.
if gather_facts is True:
m_results['facts'] = c_results['facts']

if c_results['failed'] is True:
module.fail_json(msg=c_results['errmsg'])
else:
module.exit_json(**m_results)

from ansible.module_utils.basic import *
main()

65 changes: 34 additions & 31 deletions library/junos_get_facts
Original file line number Diff line number Diff line change
Expand Up @@ -50,35 +50,35 @@ options:
host:
description:
- should be {{ inventory_hostname }}
required: true
required: true
user:
description:
- login user-name
required: false
default: $USER
- login user-name
required: false
default: $USER
passwd:
description:
- login password
required: false
default: assumes ssh-key
required: false
default: assumes ssh-key
console:
description:
- CONSOLE port, per the B(netconify) utility
required: false
default: None
savedir:
description:
- path to the local server directory where device facts and
inventory files will be stored. Refer to the B(netconify)
- path to the local server directory where device facts and
inventory files will be stored. Refer to the B(netconify)
utility for details. Used only with I(console) option.
required: false
default: $CWD
required: false
default: $CWD
logfile:
description:
- path on the local server where progress status is logged
for debugging purposes. Used only with I(console) option
required: false
default: None
required: false
default: None
'''

EXAMPLES = '''
Expand All @@ -94,48 +94,49 @@ EXAMPLES = '''
host={{ inventory_hostname }}
user=root
console="--telnet={{TERMSERV}},{{TERMSERVPORT}}"
savedir=/usr/local/junos/inventory
savedir=/usr/local/junos/inventory
register: junos
# accessing the facts
- name: version
debug: msg="{{ junos.facts.version }}"
'''
import sys
import os


def main():
module = AnsibleModule(
argument_spec = dict(
argument_spec=dict(
host=dict(required=True),
console=dict(required=False, default=None),
console=dict(required=False, default=None),
logfile=dict(required=False, default=None),
savedir=dict(required=False, default=None),
user=dict(required=False, default=os.getenv('USER')),
passwd=dict(required=False, default=None)),
supports_check_mode = False)
supports_check_mode=False)

m_args = module.params
m_results = dict(changed=False)

if m_args['console'] is None:
from jnpr.junos import Device
from jnpr.junos import Device
# -----------
# via NETCONF
# -----------
dev = Device(m_args['host'], user=m_args['user'], passwd=m_args['passwd'])
try:
dev.open()
except Exception as err:
msg = 'unable to connect to {}: {}'.format(m_args['host'], str(err))
msg = 'unable to connect to {0}: {1}'.format(m_args['host'], str(err))
module.fail_json(msg=msg)
return
return
else:
dev.close()
del dev.facts['version_info'] # currently not JSON serializable.
m_results['facts'] = dev.facts
else:
# -----------
# -----------
# via CONSOLE
# -----------
from netconify.cmdo import netconifyCmdo
Expand All @@ -145,27 +146,29 @@ def main():
c_args.append(m_args['console'])
c_args.append('--facts')
if m_args['savedir'] is not None:
c_args.append('--savedir='+m_args['savedir'])
c_args.append('--user='+m_args['user'])
if m_args['passwd'] is not None:
c_args.append('--passwd='+m_args['passwd'])
c_args.append('--savedir=' + m_args['savedir'])
c_args.append('--user=' + m_args['user'])
if m_args['passwd'] is not None:
c_args.append('--passwd=' + m_args['passwd'])

c_args.append(m_args['host'])

logfile = m_args['logfile']
if logfile is not None:
logging.basicConfig(filename=logfile, level=logging.INFO,
format='%(asctime)s:%(name)s:%(message)s')
logging.getLogger().name = 'NETCONIFY:'+module.params['host']
def log_notify(event,message):
logging.info("%s:%s"%(event,message))
format='%(asctime)s:%(name)s:%(message)s')
logging.getLogger().name = 'NETCONIFY:' + module.params['host']

def log_notify(event, message):
logging.info("%s:%s" % (event, message))
use_notifier = log_notify
else:
def silent_notify(event,message): pass
def silent_notify(event, message):
pass
use_notifier = silent_notify

nc = netconifyCmdo(notify=use_notifier)
c_results = nc.run( c_args )
c_results = nc.run(c_args)
m_results['args'] = m_args # for debug
m_results['facts'] = c_results['facts']

Expand Down
Loading

0 comments on commit 8a2bf1d

Please sign in to comment.