<StarlingX 2.0.1> Unable to Integrate with Open Source Mano

Bug #1850745 reported by ANIRUDH GUPTA on 2019-10-31
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Undecided
Unassigned

Bug Description

Brief Descriptor
--------------------------
I am trying to integrate StarlingX 2.0 with Open Source Mano 6.0, but facing errors as the public endpoints for every services are not exposed.
I have also configured helm endpoint domain from the below link and updated the wild card entry in dnsmasq.conf file on StarlingX machine

https://docs.starlingx.io/deploy_install_guides/r2_release/openstack/access.html#configure-helm-endpoint-domain

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

I am getting error 503
code: 503\\n description: 'VIM Exception vimconnUnexpectedResponse EndpointNotFound: public\\n endpoint for image service not found

However this was not the case with StarlingX previous release.
I had successfully integrated it.
This is because now the openstack services are now containerized and URL is not publicly exposed.

Can someone please update the steps in order to expose all services public endpoints outside StarlingX

Ghada Khalil (gkhalil) wrote :

@Anirudh, Suggest you send an email to the stx-discuss mailing list for input on this.

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?

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers