【问题标题】:Softlayer Python API - add_standard_firewall function throws errorSoftlayer Python API - add_standard_firewall 函数抛出错误
【发布时间】:2016-10-28 16:47:59
【问题描述】:

Traceback(最近一次调用最后一次): 文件“/Users/liora/git/radiomize/spinup_env.py”,第 13 行,在 旋转起来() 文件“/Users/liora/git/radiomize/python-modules/functions.py”,第 27 行,在 spinup 基础设施() 文件“/Users/liora/git/radiomize/python-modules/functions.py”,第 102 行,infra fwi = fw_mgr.add_standard_firewall(vsi[0]['id'],is_virt=True) 文件“/Users/liora/venv/lib/python2.7/site-packages/SoftLayer/managers/firewall.py”,第 104 行,在 add_standard_firewall 包 = self.get_standard_package(server_id, is_virt) 文件“/Users/liora/venv/lib/python2.7/site-packages/SoftLayer/managers/firewall.py”,第 55 行,在 get_standard_package firewall_port_speed = self._get_fwl_port_speed(server_id, is_virt) _get_fwl_port_speed 中的文件“/Users/liora/venv/lib/python2.7/site-packages/SoftLayer/managers/firewall.py”,第 173 行 fwl_port_speed = primary['primaryNetworkComponent']['maxSpeed'] KeyError:'primaryNetworkComponent'

【问题讨论】:

    标签: ibm-cloud-infrastructure


    【解决方案1】:

    我可以添加标准防火墙

    import SoftLayer
    
    # Define your SoftLayer's username and apiKey
    USERNAME = 'set me'
    API_KEY = 'set me'
    
    # Create a SoftLayer API client object
    client = SoftLayer.Client(username=USERNAME,
        api_key=API_KEY
    )
    
    
    # Define the vsi's identifier
    vsi_id = 18382333
    # Define Firewall Manager
    fw_mgr = SoftLayer.FirewallManager(client)
    try:
        result = fw_mgr.add_standard_firewall(vsi_id, is_virt=True)
        print(result)
    except SoftLayer.SoftLayerAPIError as e:
        print(('Error: faultCode=%s, faultString=%s'
                    % (e.faultCode, e.faultString)))
    

    我正在使用 SoftLayer Python API 客户端 5.2.0 和 Python 2.7.12

    参考文献

    【讨论】:

    • 我在创建实例后调用该函数。我需要等到它准备好之后才调用 add_standard_firewall 函数吗?
    • 顺便说一句,我如何检查我使用的是哪个 SoftLayer API Python 客户端?
    • 这是更新后的错误:错误:faultCode=SoftLayer_Exception_Public, faultString=硬件防火墙不适用于按小时计费的服务器。
    • 没错,你需要等到VM已经配置好,然后你可以添加标准防火墙,你可以使用wait_for_ready来检查vsi何时准备好。检查 Python 客户端版本的一种方法是打开命令提示符并执行:slcli --version
    • 我认为我需要为我的虚拟机(不是裸机)配置专用防火墙
    猜你喜欢
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    相关资源
    最近更新 更多