| Summary: | Nuage integration fails because templates are missing some parameters | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | David Gurtner <dgurtner> |
| Component: | rhosp-director | Assignee: | Brad P. Crochet <brad> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Arik Chernetsky <achernet> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.0 (Kilo) | CC: | aschultz, dbecker, mburns, morazi, rhel-osp-director-maint |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-01-27 23:09:18 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
Just found the following bits:
class { '::nuage::metadataagent':
nova_os_tenant_name => hiera('nova::api::admin_tenant_name'),
nova_os_password => hiera('nova_password'),
nova_metadata_ip => hiera('nova_metadata_node_ips'),
nova_auth_ip => hiera('keystone_public_api_virtual_ip'),
}
Which means that the parts of this BZ around /puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml are invalid. Sorry for the extra noise.
The other parts, specifically the parts enabling the core plugin and to disable service_plugins:
parameter_defaults:
NeutronCorePlugin: 'neutron.plugins.nuage.plugin.NuagePlugin'
InstanceNameTemplate: 'inst-%08x'
controllerExtraConfig:
neutron::enable_dhcp_agent: false
neutron::enable_l3_agent: false
neutron::enable_metadata_agent: false
neutron::enable_ovs_agent: false
nova::network::neutron::neutron_ovs_bridge: 'alubr0'
neutron::service_plugins: false
neutron::api_extensions_path: '/usr/lib/python2.7/site-packages/neutron/plugins/nuage/'
that sentence should read: The other parts, specifically the parts enabling the core plugin and to disable service_plugins *are still needed* The proposed changes have been merge upstream in https://review.openstack.org/#/c/307884/ The fix for this was included in 9. |
Description of problem: Deploying with Nuage integration fails because the templates are missing some parameters: diff --git a/puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml b/puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml index 96368e3..bc9a3cf 100644 --- a/puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml +++ b/puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml @@ -17,6 +17,9 @@ parameters: description: TCP Port to listen for metadata server requests type: string default: '9697' + NuageNovaMetadataIp: + description: IP address of the Nova metadata server + type: string NuageNovaMetadataPort: description: TCP Port used by Nova metadata server type: string @@ -32,6 +35,9 @@ parameters: description: Nova username in keystone_authtoken type: string default: 'nova' + NuageNovaAuthIp: + description: IP address of the Keystone server + type: string NuageMetadataAgentStartWithOvs: description: Set to True if nuage-metadata-agent needs to be started with nuage-openvswitch-switch type: string @@ -59,10 +65,12 @@ resources: nuage::vrs::active_controller: {get_input: ActiveController} nuage::vrs::standby_controller: {get_input: StandbyController} nuage::metadataagent::metadata_port: {get_input: MetadataPort} + nuage::metadataagent::nova_metadata_ip: {get_input: NovaMetadataIp} nuage::metadataagent::nova_metadata_port: {get_input: NovaMetadataPort} nuage::metadataagent::metadata_secret: {get_input: SharedSecret} nuage::metadataagent::nova_client_version: {get_input: NovaClientVersion} nuage::metadataagent::nova_os_username: {get_input: NovaOsUsername} + nuage::metadataagent::nova_auth_ip: {get_input: NovaAuthIp} nuage::metadataagent::metadata_agent_start_with_ovs: {get_input: MetadataAgentStartWithOvs} nuage::metadataagent::nova_api_endpoint_type: {get_input: NovaApiEndpointType} nuage::metadataagent::nova_region_name: {get_input: NovaRegionName} @@ -76,10 +84,12 @@ resources: ActiveController: {get_param: NuageActiveController} StandbyController: {get_param: NuageStandbyController} MetadataPort: {get_param: NuageMetadataPort} + NovaMetadataIp: {get_param: NuageNovaMetadataIp} NovaMetadataPort: {get_param: NuageNovaMetadataPort} SharedSecret: {get_param: NuageMetadataProxySharedSecret} NovaClientVersion: {get_param: NuageNovaClientVersion} NovaOsUsername: {get_param: NuageNovaOsUsername} + NovaAuthIp: {get_param: NuageNovaAuthIp} MetadataAgentStartWithOvs: {get_param: NuageMetadataAgentStartWithOvs} NovaApiEndpointType: {get_param: NuageNovaApiEndpoint} NovaRegionName: {get_param: NuageNovaRegionName} diff -u /usr/share/openstack-tripleo-heat-templates/environments/neutron-nuage-config.yaml templates/environments/neutron-nuage-config.yaml --- /usr/share/openstack-tripleo-heat-templates/environments/neutron-nuage-config.yaml 2016-02-29 19:38:14.000000000 +0100 +++ templates/environments/neutron-nuage-config.yaml 2016-04-14 16:22:17.104925772 +0200 @@ -4,12 +4,22 @@ OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-nuage.yaml parameter_defaults: - NeutronNuageOSControllerIp: '0.0.0.0' - NeutronNuageNetPartitionName: 'default_name' - NeutronNuageVSDIp: '0.0.0.0:0' - NeutronNuageVSDUsername: 'username' - NeutronNuageVSDPassword: 'password' - NeutronNuageVSDOrganization: 'organization' - NeutronNuageBaseURIVersion: 'default_uri_version' - NeutronNuageCMSId: '' + NeutronNuageOSControllerIp: '127.0.0.1' # this doesn't seem to be used but a parameter needs to be passed + NeutronNuageNetPartitionName: 'OpenStack' + NeutronNuageVSDIp: '<ip>:<port>' + NeutronNuageVSDUsername: '<username>' + NeutronNuageVSDPassword: '<password>' + NeutronNuageVSDOrganization: '<org>' + NeutronNuageBaseURIVersion: 'v3_2' + NeutronNuageCMSId: '<CMS-ID>' UseForwardedFor: true + NeutronCorePlugin: 'neutron.plugins.nuage.plugin.NuagePlugin' + InstanceNameTemplate: 'inst-%08x' + controllerExtraConfig: + neutron::enable_dhcp_agent: false + neutron::enable_l3_agent: false + neutron::enable_metadata_agent: false + neutron::enable_ovs_agent: false + nova::network::neutron::neutron_ovs_bridge: 'alubr0' + neutron::service_plugins: false + neutron::api_extensions_path: '/usr/lib/python2.7/site-packages/neutron/plugins/nuage/' diff -u /usr/share/openstack-tripleo-heat-templates/environments/nova-nuage-config.yaml templates/environments/nova-nuage-config.yaml --- /usr/share/openstack-tripleo-heat-templates/environments/nova-nuage-config.yaml 2016-02-29 19:38:14.000000000 +0100 +++ templates/environments/nova-nuage-config.yaml 2016-04-13 13:58:24.000000000 +0200 @@ -4,5 +4,19 @@ OS::TripleO::ComputeExtraConfigPre: ../puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml parameter_defaults: - NuageActiveController: '0.0.0.0' - NuageStandbyController: '0.0.0.0' + NuageActiveController: '<vsc1 ip>' + NuageStandbyController: '<vsc2 ip>' + NuageMetadataPort: '9697' # default + NuageNovaMetadataIp: '<os vip>' + NuageNovaMetadataPort: '8775' # default + NuageMetadataProxySharedSecret: '<secret>' + NuageNovaClientVersion: '2' # default + NuageNovaOsUsername: 'service' + NuageNovaAuthIp: '<os vip>' + NuageMetadataAgentStartWithOvs: 'True' # default + NuageNovaApiEndpoint: 'internalURL' + NuageNovaRegionName: 'RegionOne' + NovaComputeExtraConfig: + nova::network::neutron::neutron_ovs_bridge: 'alubr0' + + Version-Release number of selected component (if applicable): openstack-tripleo-heat-templates-0.8.6-123.el7ost.noarch How reproducible: always Steps to Reproduce: 1. Deploy with Nuage support: openstack overcloud deploy --templates ~/templates \ --environment-file ~/templates/environments/network-isolation.yaml \ --environment-file ~/templates/environments/network-environment.yaml \ --environment-file ~/templates/environments/neutron-nuage-config.yaml \ --environment-file ~/templates/environments/nova-nuage-config.yaml \ --ntp-server 0.fedora.pool.ntp.org \ --neutron-network-type vxlan \ --neutron-tunnel-types vxlan Additional info: Implementing the changes described in this BZ, I could successfully deploy with Nuage integration. The following is required in addition though: - A Nuage environment VSD, VSC, VSG - The overcloud-full image has some incompatible and missing Puppet code, I described this in BZ 1327459 - Remove parts of the Neutron and OpenVSwitch bits: openvswitch openstack-neutron-lbaas openstack-neutron-ml2 openstack-neutron-openvswitch python-openvswitch openstack-neutron-lbaas - Install the Nuage bits, I use the following: nuage-metadata-agent-3.2.6-232.el7.x86_64.rpm nuagenetlib-2015.1.3.2.6_228-nuage.noarch.rpm nuage-openstack-heat-2015.1.1818-nuage.noarch.rpm nuage-openstack-horizon-2015.1.1818-nuage.noarch.rpm nuage-openstack-neutron-2015.1.1818-nuage.noarch.rpm nuage-openstack-neutronclient-2015.1.1818-nuage.noarch.rpm nuage-openvswitch-3.2.6-232.el7.x86_64.rpm perl-JSON-2.59-2.el7.noarch.rpm perl-Sys-Syslog-0.33-3.el7.x86_64.rpm protobuf-2.5.0-7.el7.x86_64.rpm protobuf-c-1.0.1-1.el7.x86_64.rpm protobuf-compiler-2.5.0-7.el7.x86_64.rpm pyserial-2.6-5.el7.noarch.rpm python-setproctitle-1.1.6-5.el7.x86_64.rpm python-twisted-core-12.2.0-4.el7.x86_64.rpm