<div><br><div class="gmail_quote"><div dir="auto">On Wed, 2 Aug 2017 at 02:34 Ben Nemec <<a href="mailto:openstack@nemebean.com">openstack@nemebean.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On 07/25/2017 09:53 PM, Zenghui Shi wrote:<br>
> Hi,<br>
><br>
> Could anyone shed some light on how to get the physical interface name<br>
> (e.g eth0) from network name (e.g PublicNetwork, ExternalNetwork) in<br>
> tripleo-heat-template service profile ?<br>
><br>
> for example:<br>
><br>
> I want to add a service profile under puppet/services/time/ptp.pp where<br>
> it uses 'PtpInterface' as a parameter to get physical interface name<br>
> (please refer to below piece of code), but I'd like to expose a more<br>
> user friendly parameter like NetworkName(e.g. provision network,<br>
> external network etc) instead of 'PtpInterface' and retrieve the actual<br>
> physical interface name from the NetworkName where the physical<br>
> interface is connected to, is there any possible way to do this ?<br>
<br>
I don't think there is.  In many cases the templates don't even know the<br>
name of the physical device on which the network will be running.  A<br>
simple example would be when a user uses the nicX abstraction to specify<br>
interfaces in their net-iso templates.  That doesn't get mapped to an<br>
actual interface name until os-net-config runs, and the results of that<br>
run are not available to the templates.<br>
</blockquote><div dir="auto"><br></div><div dir="auto">Thanks Ben!</div><div dir="auto"><br></div><div dir="auto">I'm also thinking if it makes sense to have a way in template or target nodes to re-use the results of os-net-config for services which are bonded to certain interfaces, or re-implement the os-net-config logic in template to get the physical interface name. The latter one will be a repetitive work of os-net-config. </div><div dir="auto"><br></div><div dir="auto">Cheers!</div><div dir="auto">Zenghui </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
><br>
> ####<br>
> parameters:<br>
> [...]<br>
>    PtpInterface:      #  ---> change this parameter to PtpNetwork<br>
>      default: eth0<br>
>      description: PTP interfaces name.<br>
>      type: string<br>
><br>
> resources:<br>
>    RoleParametersValue<br>
>      type: OS::Heat::Value<br>
>      properties:<br>
>        type: json<br>
>        value:             # ---> add logic to get real interface name<br>
> from PtpNetwork<br>
>          map_replace:<br>
>            - map_replace:<br>
>              - tripleo::profile::base::time::ptp::ptp4l_interface:<br>
> PtpInterface<br>
>              - values: {get_param: [RoleParameters]}<br>
>            - values:<br>
>                PtpInterface: {get_param: PtpInterface}<br>
><br>
> outputs:<br>
>    role_data:<br>
>      description: Role ptp using commposable services.<br>
>      value:<br>
>        service_name: ptp<br>
>        config_settings:<br>
>          map_merge:<br>
>            - get_attr: [RoleParametersValue, value]<br>
> [...]<br>
> ####<br>
><br>
> Thanks!<br>
> zenghui<br>
><br>
><br>
> __________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
</blockquote></div></div>