Kevin Sweeney created AURORA-1498:
-------------------------------------

             Summary: aurora task run doesn't accept aliased port names
                 Key: AURORA-1498
                 URL: https://issues.apache.org/jira/browse/AURORA-1498
             Project: Aurora
          Issue Type: Bug
            Reporter: Kevin Sweeney


Aurora task run allows you to specify a port name and have it expanded, e.g.

{noformat}
aurora task run us-west-1/mesos/prod/labrat/0 'curl -s 
http://localhost:{{thermos.ports[admin]}}/vars | grep jvm_uptime'
{noformat}

However, only the canonical name works here, any ports aliased with {{portmap}} 
do not. This is because the client uses the list of ports on the scheduler and 
does not take into account the portmap during template substitution. [1] This 
is confusing, as aliased port names work fine in the aurora config file.

I see a couple ways forward:
(1) Populate the portmap as metadata in the config sent to the scheduler and 
use that in addition to {{assignedPorts}}.
(2) Parse {{the portmap}} from the task JSON in the Thrift {{executorConfig}} 
field and merge it with {{assignedPorts}}.
(3) Improve the error message to note that {{aurora task run}} requires the 
canonical port name.

(3) is the easiest but least user-friendly. (1) is backwards-incompatible but 
allows the portmap data to be used by the aurora UI too. (2) is 
backwards-compatible, but would require knowledge of the Thermos Task schema to 
be usable on the UI. My preference is for (2).

[1] 
https://github.com/apache/aurora/blob/master/src/main/python/apache/aurora/client/api/command_runner.py#L67



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to