You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/system
Sam Thursfield 60397fae0f Fix authorized_key module crashing when given an invalid key
I tried a playbook with the following (accidentally wrong) task:

  tasks:
      - name: authorized key test
        authorized_key: key=/home/sam/.ssh/id_rsa.pub key_options='command="/foo/bar"' user=sam

I got the following traceback:

    TASK: [authorized key test] ***************************************************
    failed: [localhost] => {"failed": true, "parsed": false}
    Traceback (most recent call last):
    File "/home/sam/.ansible/tmp/ansible-tmp-1427110003.65-277897441194582/authorized_key", line 2515, in <module>
        main()
    File "/home/sam/.ansible/tmp/ansible-tmp-1427110003.65-277897441194582/authorized_key", line 460, in main
        results = enforce_state(module, module.params)
    File "/home/sam/.ansible/tmp/ansible-tmp-1427110003.65-277897441194582/authorized_key", line 385, in enforce_state
        parsed_new_key = (parsed_new_key[0], parsed_new_key[1], parsed_options, parsed_new_key[3])
    TypeError: 'NoneType' object has no attribute '__getitem__'

With this fix, I see the expected error instead:

    TASK: [authorized key test] ***************************************************
    failed: [localhost] => {"failed": true}
    msg: invalid key specified: /home/sam/.ssh/id_rsa.pub
10 years ago
..
__init__.py package files 10 years ago
authorized_key.py Fix authorized_key module crashing when given an invalid key 10 years ago
cron.py Update cron example for setting to run twice a day 10 years ago
group.py Add basic support for OSX groups. 10 years ago
hostname.py Add Linuxmint support in hostname module 10 years ago
mount.py Setting the actual passno and dump defaults, and warning user of consequences in nulling 10 years ago
ping.py file extensions! 10 years ago
seboolean.py file extensions! 10 years ago
selinux.py Set selinux state to 'permissive' for state=disabled 10 years ago
service.py In service_enable, the default of changed is True so we have to set it 10 years ago
setup.py file extensions! 10 years ago
sysctl.py now handles non string values for sysctl 10 years ago
user.py Added HP-UX subclass 10 years ago