Skip to content

AttributeError: 'DirectoryServiceRole' object has no attribute 'name' #855

@jtcleek

Description

@jtcleek

Describe the bug
Error returned when gather_subset: config

Reproducing

    - name: collect default set of information
      purefa_info:
        gather_subset: config
        fa_url: "{{ inventory_hostname }}"
        api_token: "{{ api_key_mapping[inventory_hostname].key }}"
      register: array_info
      delegate_to: localhost

Expected behavior
array_info['purefa_info']['config'] is returned

Output

The full traceback is:
Traceback (most recent call last):
  File "<stdin>", line 107, in <module>
  File "<stdin>", line 99, in _ansiballz_main
  File "<stdin>", line 47, in invoke_module
  File "<frozen runpy>", line 226, in run_module
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "/tmp/ansible_purefa_info_payload_h8gmgjpj/ansible_purefa_info_payload.zip/ansible_collections/purestorage/flasharray/plugins/modules/purefa_info.py", line 3455, in <module>
  File "/tmp/ansible_purefa_info_payload_h8gmgjpj/ansible_purefa_info_payload.zip/ansible_collections/purestorage/flasharray/plugins/modules/purefa_info.py", line 3369, in main
  File "/tmp/ansible_purefa_info_payload_h8gmgjpj/ansible_purefa_info_payload.zip/ansible_collections/purestorage/flasharray/plugins/modules/purefa_info.py", line 538, in generate_config_dict
  File "/home/foobar/.local/lib/python3.11/site-packages/pypureclient/flasharray/FA_2_26/models/directory_service_role.py", line 83, in __getattribute__
    _value = super().__getattribute__(name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'DirectoryServiceRole' object has no attribute 'name'
fatal: [purearray -> localhost]: FAILED! => {
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"<stdin>\", line 107, in <module>\n  File \"<stdin>\", line 99, in _ansiballz_main\n  File \"<stdin>\", line 47, in invoke_module\n  File \"<frozen runpy>\", line 226, in run_module\n  File \"<frozen runpy>\", line 98, in _run_module_code\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/ansible_purefa_info_payload_h8gmgjpj/ansible_purefa_info_payload.zip/ansible_collections/purestorage/flasharray/plugins/modules/purefa_info.py\", line 3455, in <module>\n  File \"/tmp/ansible_purefa_info_payload_h8gmgjpj/ansible_purefa_info_payload.zip/ansible_collections/purestorage/flasharray/plugins/modules/purefa_info.py\", line 3369, in main\n  File \"/tmp/ansible_purefa_info_payload_h8gmgjpj/ansible_purefa_info_payload.zip/ansible_collections/purestorage/flasharray/plugins/modules/purefa_info.py\", line 538, in generate_config_dict\n  File \"/home/foobar/.local/lib/python3.11/site-packages/pypureclient/flasharray/FA_2_26/models/directory_service_role.py\", line 83, in __getattribute__\n    _value = super().__getattribute__(name)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nAttributeError: 'DirectoryServiceRole' object has no attribute 'name'\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}

Environment

cat /etc/redhat-release
Red Hat Enterprise Linux release 9.6 (Plow)
ansible-galaxy collection list | grep flasharray
purestorage.flasharray 1.39.0
ansible --version
ansible [core 2.16.14]
  config file = /home/foobar/old.ansible/pure/ansible.cfg
  configured module search path = ['/home/foobar/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/foobar/.local/lib/python3.11/site-packages/ansible
  ansible collection location = /home/foobar/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/foobar/.local/bin/ansible
  python version = 3.11.11 (main, Aug 21 2025, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-5)] (/usr/bin/python3.11)
  jinja version = 3.1.6
  libyaml = True
    "array_info": {
        "changed": false,
        "failed": false,
        "purefa_info": {
            "default": {
                "admins": 3,
                "api_versions": "2.26",
                "array_model": "FA-X50R4",
                "array_name": "purearray",
                "connected_arrays": 0,
                "connection_key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
                "directories": 0,
                "directory_snapshots": 0,
                "encryption_algorithm": "AES-256-CTR",
                "encryption_enabled": true,
                "encryption_module_version": "FA-1.5",
                "eradication_days_timer": 7,
                "eradication_disabled_days_timer": 7,
                "eradication_enabled_days_timer": 7,
                "exports": 0,
                "filesystems": 0,
                "fleet": "Fusion not supported",
                "hostgroups": 5,
                "hosts": 31,
                "maintenance_window": [],
                "nfs_policies": 1,
                "pods": 0,
                "protection_groups": 1,
                "purity_version": "6.5.12",
                "quota_policies": 0,
                "remote_assist": "disconnected",
                "safe_mode": "Enabled",
                "service_mode": "FlashArray",
                "smb_policies": 1,
                "snapshot_policies": 1,
                "snapshots": 34,
                "virtual_machine_snaps": 0,
                "virtual_machines": 0,
                "volume_groups": 0,
                "volumes": 51
            }
        }
    }

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions