nuagenetworks / nuage-ospdirector

OSP Director integration for Nuage VSP
https://github.com/nuagenetworks/nuage-ospdirector/wiki
Apache License 2.0
16 stars 33 forks source link

Sample overcloud deploy commands use default templates under /usr/share #116

Open jbemmel opened 4 years ago

jbemmel commented 4 years ago

All sample commands at https://github.com/nuagenetworks/nuage-ospdirector/tree/OSPD13/Documentation/6.0#phase-4-adding-nuage-heat-templates use the following:

openstack overcloud deploy --templates -e [...]

This uses the templates from /usr/share/openstack-tripleo-heat-templates, which means custom changes like https://github.com/nuagenetworks/nuage-ospdirector/blob/OSPD13/nuage-tripleo-heat-templates/puppet/services/neutron-compute-plugin-nuage.yaml don't get included unless the user would explicitly include them using '-e'

If the intention is to use the fixes that are in git but not upstream, the command would be

openstack overcloud deploy --template /home/stack/nuage-tripleo-heat-templates -e [...]
sunny-verma commented 4 years ago

@jbemmel We have kept is generic as it's not mandatory that user will only use /home/stack/nuage-tripleo-heat-templates dir for all nuage related templates. We have seen in some cases customers get all these templates and maintain their own directory structure so it's won't be correct if we add /home/stack/nuage-tripleo-heat-templates in our documentation.

jbemmel commented 4 years ago

My point is that the custom files under /home/stack/nuage-tripleo-heat-template won't get included by default. So either the instructions should say to copy those files to whatever directory is being used for templates, or to use that directory as a base. If the changes to those files (like the puppet services file linked above) are not critical, then we should remove them altogether

psairam commented 4 years ago

Hi Jeoren,

In our sample overcloud deploy command we do below:

  1. We use default templates under /usr/share
  2. For including nuage-tripleo-heat-templates, we use environment files -e /home/stack/nuage-tripleo-heat-templates/environments/neutron-nuage-config.yaml -e /home/stack/nuage-tripleo-heat-templates/environments/nova-nuage-config.yaml.

Environment files mentioned in step 2 will take care of including nuage-tripleo-heat-templates into the deployment.

openstack overcloud deploy --template /home/stack/nuage-tripleo-heat-templates -e [...] We can not use this because, as part of nuage-tripleo-heat-templates we are only providing Nuage specific templates.

Thanks, Sai

jbemmel commented 4 years ago

Hi Sai, Thanks for clarifying

This does present a problem though: Many production deployments customize the default templates (e.g. following https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/13/html/advanced_overcloud_customization/sect-understanding_heat_templates#sect-Including_Environment_Files_in_Overcloud_Creation) and therefore they would run the deploy command like openstack overcloud deploy --template /home/stack/<custom templates path> -e [...]

The Nuage provided files with their absolute paths pointing to /usr/share are incompatible with such an approach.

Essentially the Nuage changes constitute a customization of the upstream templates, imho we should follow the standard procedure for doing that ( i.e. copy the /usr/share templates to a local path, make changes there ). We can still only include modified files in our git repo, and refer to the copied default template files using a relative path.