??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
Udac @` s d d l m Z m Z m Z e Z i d d 6d g d 6d d 6Z d Z d Z d
Z d d l
m Z d Z d
Z
d Z d Z d Z d Z e d k r e n d S( i ( t absolute_importt divisiont print_functions 1.1t metadata_versiont previewt statust communityt supported_bys
---
author:
- Kairo Araujo (@kairoaraujo)
module: aix_devices
short_description: Manages AIX devices
description:
- This module discovers, defines, removes and modifies attributes of AIX devices.
version_added: '2.8'
options:
attributes:
description:
- A list of device attributes.
type: dict
device:
description:
- The name of the device.
- C(all) is valid to rescan C(available) all devices (AIX cfgmgr command).
type: str
required: true
force:
description:
- Forces action.
type: bool
default: no
recursive:
description:
- Removes or defines a device and children devices.
type: bool
default: no
state:
description:
- Controls the device state.
- C(available) (alias C(present)) rescan a specific device or all devices (when C(device) is not specified).
- C(removed) (alias C(absent) removes a device.
- C(defined) changes device to Defined state.
type: str
choices: [ available, defined, removed ]
default: available
sT
- name: Scan new devices
aix_devices:
device: all
state: available
- name: Scan new virtual devices (vio0)
aix_devices:
device: vio0
state: available
- name: Removing IP alias to en0
aix_devices:
device: en0
attributes:
delalias4: 10.0.0.100,255.255.255.0
- name: Removes ent2
aix_devices:
device: ent2
state: removed
- name: Put device en2 in Defined
aix_devices:
device: en2
state: defined
- name: Removes ent4 (inexistent).
aix_devices:
device: ent4
state: removed
- name: Put device en4 in Defined (inexistent)
aix_devices:
device: en4
state: defined
- name: Put vscsi1 and children devices in Defined state.
aix_devices:
device: vscsi1
recursive: yes
state: defined
- name: Removes vscsi1 and children devices.
aix_devices:
device: vscsi1
recursive: yes
state: removed
- name: Changes en1 mtu to 9000 and disables arp.
aix_devices:
device: en1
attributes:
mtu: 900
arp: off
state: available
- name: Configure IP, netmask and set en1 up.
aix_devices:
device: en1
attributes:
netaddr: 192.168.0.100
netmask: 255.255.255.0
state: up
state: available
- name: Adding IP alias to en0
aix_devices:
device: en0
attributes:
alias4: 10.0.0.100,255.255.255.0
state: available
s # ( t
AnsibleModulec C` s | j d t } | j d | d d d | g \ } } } | d k ri | j d d d | d | n | r | j d
} t | f Sd } t | f S( s
Check if device already exists and the state.
Args:
module: Ansible module.
device: device to be checked.
Returns: bool, device state
t lsdevs %ss -Cs -li t msgs Failed to run lsdevt rct erri N( t get_bin_patht Truet run_commandt fail_jsont splitt Nonet False( t modulet devicet lsdev_cmdR t lsdev_outR t device_state( ( sF /usr/lib/python2.7/site-packages/ansible/modules/system/aix_devices.pyt
_check_device s
,
c C` s | j d t } | j d | d d | d d | g \ } } } d d g } | d k r| | | k rr d } n d } | S| d k r | j d
d | d | d
| n | j d } | S( s
Args:
module: Ansible module.
device: device to check attributes.
attr: attribute to be checked.
Returns:
t lsattrs %ss -Els -at delalias4t delalias6i t i R
s Failed to run lsattr: %sR R i N( R
R R R R R ( R R t attrt
lsattr_cmdR t
lsattr_outR t hidden_attrst
current_param( ( sF /usr/lib/python2.7/site-packages/ansible/modules/system/aix_devices.pyt _check_device_attr s 3 #c C` s | j d t } | d k r+ d | } n d } t } d } | j s{ | j d | d | g \ } } } t } | } n | | f S( s Discover AIX devices.t cfgmgrs -l %sR s %sN( R
R R t
check_modeR ( R R t
cfgmgr_cmdt changedR
R t
cfgmgr_outR ( ( sF /usr/lib/python2.7/site-packages/ansible/modules/system/aix_devices.pyt discover_device s
& c C` s g } g } g } | j d t } x8t | j D]$} | | } t | | | }
|
d k ru | j | q7 |
| k rJ| r d | d d | d d | | | f d | g } n+ d | d d | d d | | | f g } | j s6| j | \ } }
} | d k r6| j d d d | d
| q6n | j | | q7 | j | | q7 Wt
| d k rt } d d j | } n t } d
} t
| d k rd d j | } n d
} t
| d k rd d j | } n d
} d | | | f } | | f S( s Change AIX device attribute. t chdevs %ss -ls -as %s=%si R
s Failed to run chdev.R R s Attributes changed: %s. t ,R s Attributes already set: %s. s Invalid attributes: %s s , s %s%s%sN(
R
R t listt keysR# R t appendR% R t exit_jsont lent joinR ( R t
attributesR t forcet attr_changedt attr_not_changedt attr_invalidt chdev_cmdR t new_paramR" t cmdR t chdev_outR R' t attr_changed_msgt attr_not_changed_msgt attr_invalid_msgR
( ( sF /usr/lib/python2.7/site-packages/ansible/modules/system/aix_devices.pyt change_device_attr s@
5+ "c
C` s i d d 6d d 6d d 6} i d t 6d t 6} | | } | | } t } d } | j d t } | j s| r | j d | d d | d | d | g \ }
} } n0 | j d | d d | d | g \ }
} } |
d
k r| j d d d
|
d | n | } n | | f S( s1 Puts device in defined state or removes device. s -dt removedt absentR t defineds -Rt rmdevs %ss -li R
s Failed to run rmdevR R ( R R R
R% R R (
R R R3 t recursivet statet state_optt
recursive_optR' R
t rmdev_cmdR t rmdev_outR ( ( sF /usr/lib/python2.7/site-packages/ansible/modules/system/aix_devices.pyt
remove_device s(
:0 c C` s t d t d t d d d t d d d t d d d t d
t d d d t d t d d d d d
d d d g d t } i d t 6d t 6} | j d } | j d } | | j d } | j d
} | j d } t d t d d } | d k s
| d k r| rbt | | \ } } | rQt | | | | \ | d <| d