Comment 2 for bug 1850745

Revision history for this message
ANIRUDH GUPTA (anyrude10) wrote :

I think this is an issue as I am not able to use Openstack Services Rest API's from a remote server without passing Host.

The Hostname varies with each service and also it is not publicly accessible.

Steps to Reproduce
--------------------------------
The command to get tokens mentioned in the below link works locally on StarlingX setup.

https://docs.starlingx.io/deploy_install_guides/r2_release/openstack/access.html#rest-apis

In order to get a token from a remote server, we need to add Host corresponding to each service in curl command

curl -i -H "Content-Type: application/json" -H "Host: keystone.hsc-starlingx-company.com" -d '{ "auth": {
    "identity": {
      "methods": ["password"],
      "password": {
        "user": {
          "name": "admin",
          "domain": { "id": "default" },
          "password": "Centos@123"
        }
      }
    },
    "scope": {
      "project": {
        "name": "admin",
        "domain": { "id": "default" }
      }
    }
  }
}' http://192.168.121.141:80/v3/auth/tokens

TOKEN=<Set token retrieved from above request>

curl -i http://192.168.121.141:80/v2.1/flavors -X GET -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token:${TOKEN}" -H "Host: nova.hsc-starlingx-company.com" | tail -1 | python -m json.tool

where 192.168.121.141 - OAM IP which is publicly accessible.

keystone.hsc-starlingx-company.com - Keystone endpoint
nova.hsc-starlingx-company.com - Nova Endpoint

Issue
-------------------------

It is not practically possible to pass FQDN hostname for every service request in the URL.
So, is there any way StarlingX automatically routes the ingress request internally ?
Or
Can we install all the Openstack Helm Chart services on Nodeport?

Please suggest the best way to resolve the issue?