"Ошибка: ошибка: у объекта 'str' нет атрибута 'addarray' - PullRequest
0 голосов
/ 28 августа 2018

пытается получить доступ к функции add_array из управления массивом классов, но она выдает ошибку "Ошибка: ошибка: у объекта 'str' нет атрибута 'addarray'"

Обертка: def add_array (self, vendor_name, arrayname, имя пользователя, пароль, control_host = None, is_ocum = False):

    self.log.info("Adding array management entry")
    self.log.info(vendor_name)
    self.commcell.array_management.add_array(vendor_name, arrayname, username, password, control_host=control_host, is_ocum=is_ocum)
    self.log.info("Add array done 1 ")
    control_host_array = self.execute_query(self.get_controlhost_id, arrayname)
    self.log.info("Execdsafsadf successful")

    print(control_host_array)
    self.log.info("Add array was successful")

def template (self): self.add_array (self.snap_engine_at_array, self.arrayname, self.username, self.password, self.controlhost, is_ocum = False)

Вызов frm класса arraymanagement.py: def add_array (self, vendor_name, array_name, username, password, control_host = None, is_ocum = False): печать (продавец VENDOR_NAME) "" "Этот метод поможет в добавлении записи массива в управление массивом Арги: vendor_name: имя поставщика имя_массива: имя массива control_host: управляющий хост массива при необходимости имя пользователя / пароль: учетные данные для доступа к массиву array_type: используется для netapp, чтобы указать, использовать ли основной файловый сервер или OCUM, по умолчанию это основной файловый сервер. "" "

    print(username)
    print(password)
    request_json = {
        "clientId": 0,
        "flags": 0,
        "assocType": 0,
        "copyId": 0,
        "appId": 0,
        "availableMAs": [
            {
                "arrayControllerId": 0,
                "mediaAgent": {
                    "name": "",
                    "id": 0
                }
            },
        ],
        "hostDG": {
            "doNotMoveDevices": True,
            "isOverridden": False,
            "hostDGName": "",
            "useOnlySpouseDevices": False,
            "flags": 0,
            "deviceGroupOption": 0
        },
        "arrayDG": {
            "isOverridden": False,
            "arrayDGName": "",
            "flags": 0,
            "disableDG": False,
            "useDevicesFromThisDG": False
        },
        "configList": {},
        "array": {
            "name": "",
            "id": 0
        },
        "vendor": {
            "name": "",
            "id": 0
        },
        "info": {
            "passwordEdit": False,
            "offlineReason": "",
            "arrayType": 0,
            "flags": 0,
            "description": "",
            "ctrlHostName": control_host,
            "offlineCode": 0,
            "isEnabled": True,
            "arrayInfoType": 0,
            "uniqueIdentifier": "",
            "securityAssociations": {
                "processHiddenPermission": 0
            },
            "userPswd": {
                "userName": username,
                "password": password,

            },
            "arraySecurity": {},
            "arrayName": {
                "name": array_name,
                "id": 0
            },
            "vendor": {
                "name": vendor_name,
                "id": 0
            },
            "client": {
                "name": "",
                "id": 0
            }
        }
    }
    array_type_dict1 = {
        "info": {
        "arrayType": 2
        }
    }
    array_type_dict2 = {
        "info": {
            "arrayType": 1
        }
    }
    array_type_dict3 = {
        "info": {
            "arrayType": 0
        }
    }
    print(request_json)
    if vendor_name == "NetApp":
        request_json["info"].update(array_type_dict1["info"]),

    if vendor_name == "NetApp" and is_ocum:
        request_json["info"].update(array_type_dict2["info"]),
    else:
        request_json["info"].update(array_type_dict3["info"]),

        print(request_json)
        flag, response = self.commcell._cvpysdk_object.make_request(
            'POST', self._StorageArrays, request_json
        )
        if flag:
            if response.json():
                if 'success' in response.json():
                    return
                elif 'errorCode' in response.json():
                    error_message = response.json()['errorMessage']
                elif "errorCode" in response.json() == 1:
                    raise exception("Failed to add array, failing the test case")
                    return
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...