[openstack-dev] [tripleo][heat][jinja] resources.RedisVirtualIP: Property error: resources.VipPort.properties.network: Error validating value 'internal_api': Unable to find network with name or id 'internal_api'

Steven Hardy shardy at redhat.com
Mon Jun 18 12:49:23 UTC 2018


On Thu, Jun 14, 2018 at 1:48 PM, Mark Hamzy <hamzy at us.ibm.com> wrote:
> I am trying to delete the Storage, StorageMgmt, Tenant, and Management
> networks and trying to deploy using TripleO.
>
> The following patch
> https://hamzy.fedorapeople.org/0001-RedisVipPort-error-internal_api.patchapplied
> on top of /usr/share/openstack-tripleo-heat-templates from
> openstack-tripleo-heat-templates-8.0.2-14.el7ost.noarch
>
> yields the following error:
>
> (undercloud) [stack at oscloud5 ~]$ openstack overcloud deploy --templates -e
> ~/templates/node-info.yaml -e ~/templates/overcloud_images.yaml -e
> ~/templates/environments/network-environment.yaml -e
> ~/templates/environments/network-isolation.yaml -e
> ~/templates/environments/config-debug.yaml --ntp-server pool.ntp.org
> --control-scale 1 --compute-scale 1 --control-flavor control
> --compute-flavor compute 2>&1 | tee output.overcloud.deploy
> ...
> overcloud.RedisVirtualIP:
>   resource_type: OS::TripleO::Network::Ports::RedisVipPort
>   physical_resource_id:
>   status: CREATE_FAILED
>   status_reason: |
>     resources.RedisVirtualIP: Property error:
> resources.VipPort.properties.network: Error validating value 'internal_api':
> Unable to find network with name or id 'internal_api'
> ...
>
> The following patch seems to fix it:
>
> 8<-----8<-----8<-----8<-----8<-----
> diff --git a/environments/network-isolation.j2.yaml
> b/environments/network-isolation.j2.yaml
> index 3d4f59b..07cb748 100644
> --- a/environments/network-isolation.j2.yaml
> +++ b/environments/network-isolation.j2.yaml
> @@ -20,7 +20,13 @@ resource_registry:
>    {%- for network in networks if network.vip and
> network.enabled|default(true) %}
>    OS::TripleO::Network::Ports::{{network.name}}VipPort:
> ../network/ports/{{network.name_lower|default(network.name.lower())}}.yaml
>    {%- endfor %}
> +{%- for role in roles -%}
> +  {%- if internal_api in role.networks|default([]) and
> internal_api.enabled|default(true) %}
>    OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml
> +  {%- else %}
> +  # Avoid weird jinja2 bugs that don't output a newline...
> +  {%- endif %}
> +{%- endfor -%}

Does this actually work, or just suppress the error because your
network_data.yaml has deleted the internal_api network?

>From the diff it looks like you're also deleting the internal_api and
external network which won't work with the default ServiceNetMap:

https://github.com/openstack/tripleo-heat-templates/blob/master/network/service_net_map.j2.yaml#L27

Can you please provide the network_data.yaml to confirm this?

If you really want to delete the internal_api network then you'll need
to pass a ServiceNetMap to specify a new bind network for every
service (and any other deleted networks where used as a value in the
ServiceNetMapDefaults).

Thanks,

Steve



More information about the OpenStack-dev mailing list