Containers-roadmap: Mac Address Configuration Option

Created on 17 May 2017  路  9Comments  路  Source: aws/containers-roadmap

This relates to #502
I have a use case for the --mac-address option. I know it's not supported by ECS or it's agent right now. Are there any workarounds I might be able to utilize so I can still use ECS but also satisfy my application requirement?

Unlike some other docker options, I can't add this to /etc/sysconfig/docker.

ECS Proposed

Most helpful comment

I could really use this feature as well. We're using some older licensed software that is keyed to mac address and while we can run it on an instance using an ENI with the defined mac, it would be nice to move this to our ECS cluster.

I think the advanced usage that @blaines suggests would be great.

All 9 comments

Hi @blaines, thanks for opening this! I've gone ahead and marked this as a feature request, but I'd love it have more details on the use-case and requirements you'd see around this feature.

  • Would you want to set the MAC address in the task definition?
  • Would you want ECS to manage MAC addresses? Should MAC addresses be unique across your cluster?
  • Would you need to override the MAC address at the time that you're launching a task?
  • Would you only use this with the bridge networking mode?

Thanks!
Sam

  • Would you want to set the MAC address in the task definition?
    _Yes that is my specific use case, as there's only one of these kind of tasks/container per instance anyway._
  • Would you want ECS to manage MAC addresses? Should MAC addresses be unique across your cluster?
    _I'm fine managing the MAC myself, for my use case there's no need for any guarantees outside of what docker already provides._
  • Would you need to override the MAC address at the time that you're launching a task?
    _I could see us using this kind of feature as we grow. Especially keeping point 2 in mind, we could manage MACs ourselves more easily if we could override._
  • Would you only use this with the bridge networking mode?
    _That's correct, the --mac-address option isn't supported in host mode._

In place of requiring full AWS ECS support for new options it would be nice if there was a path for "advanced usage" whereby we could perhaps create a list of keys/values (as JSON or other format) and those would be passed along through docker API (I'm indifferent to using MacAddress or --mac-address). For example if I could add a JSON object to the task definition which contained my advanced options and then that object was merged with the options to be submitted to Docker's /containers/create endpoint.

I could really use this feature as well. We're using some older licensed software that is keyed to mac address and while we can run it on an instance using an ENI with the defined mac, it would be nice to move this to our ECS cluster.

I think the advanced usage that @blaines suggests would be great.

Same here, we have app dependencies that we can only bundle in combination with a certain mac address. Works locally without issues, but we can't ship it to AWS 馃檨

Yes, we at Cornell University would like to run FlexLM License Servers in ECS. This is impossible without being able to assign a specific MAC address to the container's bridge interface at runtime.

The requirements that @blaines outlined would be perfect for this use case. Being able to assign a MAC address in a Task Definition would be perfect. Overriding at runtime would be nice but is not required.

Any updates :/ ?

Not sure why this is such a big deal, it's already supported in the compose file.

Not sure why this is such a big deal, it's already supported in the compose file.

Specifically where is this supported, within ECS?

As far as I can tell there still isn't a configuration option in ECS ( ecs-agent version of this issue was closed with no "supported" indicated in the table next to --mac-address) so just for FYI to others, our use-case was ensuring a MAC address was set for license compliance in the running ECS instance. As a workaround, I used this successfully which intercepts the SIOCGIFHWADDR kernel call and returns an arbitrary MAC.

https://github.com/kumina/fakemac

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tabern picture tabern  路  3Comments

abby-fuller picture abby-fuller  路  3Comments

AndrewMcFarren picture AndrewMcFarren  路  3Comments

pauldougan picture pauldougan  路  3Comments

chungath picture chungath  路  3Comments