Uploaded image for project: 'CDAP'
  1. CDAP
  2. CDAP-7282

cdap application names need to support "."

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 3.4.3
    • Fix Version/s: None
    • Component/s: CDAP
    • Labels:
    • Rank:
      1|hzzlyn:

      Description

      We are using CDAP inside a system where component (mircorservice) names contain ".".

      However, I get:

      Deploying application by hitting: http://135.207.160.159:10000/v3/namespaces/default/apps/fff70fa0f1eb45c1ae143335b35940c4.hello_world_cdap_app.service_id.location_id.att.com

      2016-09-15T18:23:17 LOG <test_cl_wagonized_1> [cdap_app_a6a3c.start] INFO: Reponse code: 400, Response: Invalid app name 'fff70fa0f1eb45c1ae143335b35940c4.hello_world_cdap_app.service_id.location_id.att.com': Invalid Application ID.

      If I try to replace the "." with underscores, it works:
      'fff70fa0f1eb45c1ae143335b35940c4_hello_world_cdap_app_service_id._ocation_id_att_com'

      Is valid and gets deployed.

      Perhaps it is worth explaining why we want to do this so it does not seem like nitpicking for the sake of doing so.

      We are now bridging CDAP applications with other types of containers running on external clusters, e.g., Docker.

      To do so, we are using Consul (similar to ETCD/Confd). Consul has a DNS interface. I need to be able to use it to query the connection information of a CDAP application, which is something like "cdap_IP:port/some_stream_path.

      So I want to register in consul

      • somedocker.whatever.domain.com as dockerhost:ip
      • somecdap.whatever.domain.com as cdap_IP:port/some_stream_path/streamname

      And from inside of the docker I want to be able to call Consul's service discovery using DNS, e.g. Just looking up somecdap.whatever.domain.com should return to me cdap_IP:port/some_stream_path/streamname. Then the docker can post into the stream.

      Except your non-allowing me to use somecdap.whatever.domain.com as an app name makes this process onerous and I have to map what I want as a name to what your API can tolerate as a name.

        Attachments

          Activity

            People

            • Assignee:
              andreas Andreas Neumann
              Reporter:
              tommy@research.att.com Tommy Carpenter
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: