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)