dell / PyU4V

PyU4V is a Python module that simplifies interaction with the Unisphere for PowerMax REST API. It wraps REST calls with simple APIs that abstracts the HTTP request and response handling.
Apache License 2.0
41 stars 37 forks source link

failover_storage_group_srdf() is failing #184

Closed Sacheen123 closed 4 months ago

Sacheen123 commented 4 months ago

Hi,

API replication.failover_storage_group_srdf(storage_group_id=self.group_name, srdf_group_number=self.rdf_number, failover_options=opt, _async=False) is failing for failover_options

Here opt is passed to the API: opt['establish'] = 'true'

it's failing with following exception: SG_TASKV0570190_4GB_SecException:Bad or unexpected response from the storage volume backend API: Error PUT symmetrix resource. The status code received is 400 and the message is {'message': 'Cannot construct instance of com.emc.em.restapi.replication.dto92.SgEstablishParam (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value (\'true\')\n at [Source: (com.emc.em.deployer.sharding.ReusableRequest$ReusableInputStream); line: 3, column: 18] (through reference chain: com.emc.em.restapi.replication.dto92.StorageGroupRdfUpdate["establish"])'}

My Env detail: PyU4V = 9.2.1.7 Unisphere = 9.2.1.6 Python = 3.9 OS = RHEL 8

Thanks.

rawstorage commented 4 months ago

This is a problem with your code not the module. per documentation :param failover_options: failover parameters -- dict, you are not passing a dictionary.. correct syntax would be to put in curly brackets failover_options={"establish": "true"}