Closed nbarriere closed 3 months ago
We have a new error with the fix:
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ValueError: Invalid value for `available_provisioned`, must be a value greater than or equal to `0`
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/home/nbarriere/.ansible/tmp/ansible-tmp-1719816890.6335025-651-6387252547878/AnsiballZ_purefb_info.py\", line 107, in <module>\n _ansiballz_main()\n File \"/home/nbarriere/.ansible/tmp/ansible-tmp-1719816890.6335025-651-6387252547878/AnsiballZ_purefb_info.py\", line 99, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/home/nbarriere/.ansible/tmp/ansible-tmp-1719816890.6335025-651-6387252547878/AnsiballZ_purefb_info.py\", line 47, in invoke_module\n runpy.run_module(mod_name='ansible_collections.purestorage.flashblade.plugins.modules.purefb_info', init_globals=dict(_module_fqn='ansible_collections.purestorage.flashblade.plugins.modules.purefb_info', _modlib_path=modlib_path),\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_purestorage.flashblade.purefb_info_payload_0y4lsdiu/ansible_purestorage.flashblade.purefb_info_payload.zip/ansible_collections/purestorage/flashblade/plugins/modules/purefb_info.py\", line 1458, in <module>\n File \"/tmp/ansible_purestorage.flashblade.purefb_info_payload_0y4lsdiu/ansible_purestorage.flashblade.purefb_info_payload.zip/ansible_collections/purestorage/flashblade/plugins/modules/purefb_info.py\", line 1407, in main\n File \"/tmp/ansible_purestorage.flashblade.purefb_info_payload_0y4lsdiu/ansible_purestorage.flashblade.purefb_info_payload.zip/ansible_collections/purestorage/flashblade/plugins/modules/purefb_info.py\", line 1208, in generate_fs_dict\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/client.py\", line 8614, in get_file_systems\n return self._call_api(endpoint, kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/client.py\", line 20708, in _call_api\n response = api_function(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/api/file_systems_api.py\", line 231, in api212_file_systems_get_with_http_info\n return self.api_client.call_api(\n ^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/api_client.py\", line 327, in call_api\n return self.__call_api(resource_path, method,\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/api_client.py\", line 170, in __call_api\n return_data = self.deserialize(response_data, response_type)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/api_client.py\", line 243, in deserialize\n return self.__deserialize(data, response_type)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/api_client.py\", line 282, in __deserialize\n return self.__deserialize_model(data, klass)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/api_client.py\", line 632, in __deserialize_model\n kwargs[attr] = self.__deserialize(value, attr_type)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/api_client.py\", line 282, in __deserialize\n return self.__deserialize_model(data, klass)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/api_client.py\", line 632, in __deserialize_model\n kwargs[attr] = self.__deserialize(value, attr_type)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/api_client.py\", line 282, in __deserialize\n return self.__deserialize_model(data, klass)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/api_client.py\", line 634, in __deserialize_model\n instance = klass(**kwargs)\n ^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/models/space.py\", line 100, in __init__\n self.available_provisioned = available_provisioned\n ^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/nbarriere/.local/lib/python3.11/site-packages/pypureclient/flashblade/FB_2_12/models/space.py\", line 116, in __setattr__\n raise ValueError(\"Invalid value for `available_provisioned`, must be a value greater than or equal to `0`\")\nValueError: Invalid value for `available_provisioned`, must be a value greater than or equal to `0`\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
@nbarriere this appears to be a known bug in Purity//FB. Until this is fixed we will revert back to an earlier incarnation of the filesystem reporting. I'll let you know here when the revertion is ready.
We get some errors when we try to read FB info with the module purestorage.flashblade.purefb_info.
playbook:
Result:
Versions:
FlashBlade//S Multi-chassis: 4.3.8
purestorage.flashblade:1.17.0