Openstack neutron:没有从响应中的 open stack neutron api 获取端口信息

Openstack neutron: Not getting port information from open stack neutron api in the response

我发出了 POST API 请求创建具有外部网络的路由器(为路由器设置网关)。

端点:/api/networks/routers/:routerId

有效负载:

"router": {
"name: "myrout3r"
"external_gateway_info": {
"network_id": "659cf56-cad0-40a6-ae53-f24a2123508a",
"enable_snat": true
},
"admin_state_up": true
}
}

回复:

 {
    "router": {
        "status": "ACTIVE",
        "external_gateway_info": {
            "network_id": "659c2f56-cad0-40a6-ae59-f24a2123508a",
            "enable_snat": true,
            "external_fixed_ips": [
                {
                    "subnet_id": "52f0822b-2c36-4810-8653-a1a60b03a8b1",
                    "ip_address": "172.30.60.4"
                }
            ]
        },
        "availability_zone_hints": [],
        "availability_zones": [
            "nova"
        ],
        "description": "",
        "tags": [],
        "tenant_id": "5178acd154364430876d5aa687a9df7c",
        "created_at": "2018-08-07T06:50:22Z",
        "admin_state_up": true,
        "distributed": false,
        "updated_at": "2018-08-07T09:40:30Z",
        "project_id": "5178acd154364430876d5aa687a9df7c",
        "flavor_id": null,
        "revision_number": 13,
        "routes": [],
        "ha": false,
        "id": "398872f0-0cf6-4f48-8c94-f55623beace4",
        "name": "router-szz"
    }
} 

我的主要问题是:当我在网络的端口选项卡中为外部网络添加路由器网关时,动态创建了一个新端口。但此信息不是我想要的响应的一部分。

2) 我是否应该为外部网络启用 DHCP,如果不启用,为什么? router_external_gateway

可以从 "ports" API 而不是 "router" API.

获取路由器的端口

可以使用以下 REST API 查询与路由器关联的端口:

curl -s -H "X-Auth-Token: $OS_TOKEN" $OS_NETWORK_API/v2.0/ports?device_id={router_id}

示例:

curl -s -H "X-Auth-Token: $OS_TOKEN" $OS_NETWORK_API/v2.0/ports?device_id=b3b11b62-04da-4a98-a981-adcd42d9fe3e