1.3. Listing public endpoints¶
Each request needs to be sent to the public endpoint of the appropriate service. You can obtain the list of public endpoints by sending a request to https://<node_IP_addr>:5000/v3/auth/catalog
. For more readability, you can filter the response with the jq
tool that is installed on each node by default.
Sample request:
# curl -ks -H 'Content-Type: application/json' -H 'X-Auth-Token: gAAAAA<...>' \
https://<node_IP_addr>:5000/v3/auth/catalog | jq '.catalog[] | . as {
endpoints: $e,
name: $n
} | $e[] | {
serviceName: $n,
publicEndpoint: select(.interface=="public").url
}'
Sample response:
{
"serviceName": "keystone",
"publicEndpoint": "https://<node_IP_addr>:5000/v3"
}
{
"serviceName": "glance",
"publicEndpoint": "https://<node_IP_addr>:9292"
}
{
"serviceName": "cinderv2",
"publicEndpoint": "https://<node_IP_addr>:8776/v2/f5d834d636c642c7bfe8af86139c6f26"
}
{
"serviceName": "cinderv3",
"publicEndpoint": "https://<node_IP_addr>:8776/v3/f5d834d636c642c7bfe8af86139c6f26"
}
{
"serviceName": "placement",
"publicEndpoint": "https://<node_IP_addr>:8780"
}
{
"serviceName": "nova",
"publicEndpoint": "https://<node_IP_addr>:8774/v2.1/f5d834d636c642c7bfe8af86139c6f26"
}
{
"serviceName": "neutron",
"publicEndpoint": "https://<node_IP_addr>:9696"
}
{
"serviceName": "heat",
"publicEndpoint": "https://<node_IP_addr>:8004/v1/f5d834d636c642c7bfe8af86139c6f26"
}
{
"serviceName": "barbican",
"publicEndpoint": "https://<node_IP_addr>:9313"
}
{
"serviceName": "octavia",
"publicEndpoint": "https://<node_IP_addr>:9888"
}
{
"serviceName": "magnum",
"publicEndpoint": "https://<node_IP_addr>:9513/v1"
}
{
"serviceName": "gnocchi",
"publicEndpoint": "https://<node_IP_addr>:8041"
}
Version 5.0.0 — Feb 01, 2022