Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
Chapter 6. Examples
This chapter highlights some example vendor integration as part of the Red Hat OpenStack Platform.
6.1. Cisco Nexus 1000V Link kopierenLink in die Zwischenablage kopiert!
The Cisco Nexus 1000V is a network switch designed for virtual machine access. It also provides advanced switching and security using VXLANs, ACLs, and IGMP snooping. The ml2 driver for the Cisco Nexus 1000V is contained in the networking-cisco repository, which you can install alongside the Neutron service.
The Overcloud image contains the Neutron Puppet module (puppet-neutron), which includes a class (neutron::plugins::ml2::cisco::nexus1000v) to configure Neutron to use the Cisco Nexus 1000V. This class is located in the manifests/plugins/ml2/cisco/nexus1000v.pp manifest from the module. The class uses a set of default parameters, which you can override, and then uses the neutron_plugin_ml2 library to configure the ml2 plugin to use the Cisco Nexus 1000V:
The director’s Heat template collection contains an environment file and registered templates to configure the Hiera data for the Cisco Nexus 1000V. The environment file is located in environments/cisco-n1kv-config.yaml and contains the following default content:
The resource_registry sets the preconfiguration resources for Controller and Compute nodes (OS::TripleO::ControllerExtraConfigPre and OS::TripleO::ComputeExtraConfigPre) to use puppet/extraconfig/pre_deploy/controller/cisco-n1kv.yaml as the template to use for preconfiguration. The parameter_defaults section includes some parameters to pass to these resources.
Including this environment file in the deployment defines the Hiera data, which the Puppet uses for the Neutron Puppet module’s parameters during configuration.
Starting the actual application of the Puppet configuration is automatic. The Heat template collection contains a set of core Puppet manifests for configuring the Controller and Compute nodes. These files contain logic that detects if the Cisco Nexus 1000V Hiera data is set. If so (by including cisco-n1kv.yaml in your deployment), the manifest includes the neutron::plugins::ml2::cisco::nexus1000v class as well as the Cisco Nexus 1000V’s VEM and VSM agents:
This means configuring the Overcloud to use Cisco Nexus 1000V only requires a few steps:
Copy the
environments/cisco-n1kv-config.yamlfile to a local location so that you can edit it:cp /usr/share/openstack-tripleo-heat-templates/environments/cisco-n1kv-config.yaml ~/templates/.
$ cp /usr/share/openstack-tripleo-heat-templates/environments/cisco-n1kv-config.yaml ~/templates/.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Edit the
cisco-n1kv-config.yamlfile:-
Modify the
resource_registerysection to use absolute paths refering tocisco-n1kv.yaml Modify the
parameter_defaultssection to add Cisco Nexus 1000V parameters. See thecisco-n1kv.yamlfor referenceFor example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Modify the
Include the
cisco-n1kv-config.yamlfile in your deployment:openstack overcloud deploy --templates -e ~/templates/cisco-n1kv-config.yaml
$ openstack overcloud deploy --templates -e ~/templates/cisco-n1kv-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
This defines the Cisco Nexus 1000V configuration as a part of the Overcloud’s Hiera data. Then the Overcloud uses this Hieradata to configure Neutron’s Nexus 1000V ml2 driver during the core configuration.
This example demonstrates how the director integrates network components from a certified vendor with the Overcloud’s Neutron service.
6.2. NetApp Storage Link kopierenLink in die Zwischenablage kopiert!
NetApp provides several solutions for integration with OpenStack storage components. This example shows the how NetApp Storage integrates with Cinder to provide a backend for block storage.
The drivers for Cinder are contained within the project itself, which is publically available on GitHub at https://github.com/openstack/cinder. The drivers for NetApp Storage are located in the cinder/volume/drivers/netapp/ directory of the repository. This means the drivers are automatically included with Red Hat OpenStack Platform.
The configuration for NetApp is contained in the Puppet module for cinder (puppet-cinder), which the Overcloud image also contains. The manifest in the Puppet modules that contains the configuration is located at manifests/backend/netapp.pp. This manifest uses the cinder_config library to add netapp settings to the Cinder configuration files:
The director’s Heat template collection contains an environment file and registered templates to configure the Hiera data for a NetApp Storage backend. The environment file is located in environments/cinder-netapp-config.yaml and contains the following default content:
The resource_registry sets the preconfiguration resources for Controller nodes (OS::TripleO::ControllerExtraConfigPre) to use puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml as the template to use for preconfiguration. The parameter_defaults section includes some parameters to pass to these resources.
Including this environment file in the deployment defines the Hiera data, which the Puppet uses for the Cinder Puppet module’s parameters during configuration.
Starting the actual application of the Puppet configuration depends on the CinderEnableNetappBackend parameter. The Heat template collection contains a set of core Puppet manifests for configuring Controller nodes. These files contain logic that detects if the cinder_enable_netapp_backend Hiera data is set. The Hiera data is set using the CinderEnableNetappBackend parameter in the preconfiguration. Including cinder-netapp-config.yaml in your deployment and leaving the CinderEnableNetappBackend: true as is means the Controller Puppet manifest includes the cinder::backend::netapp class and passes the Hiera data values from the environment file:
This means configuring the Overcloud to use NetApp Storage only requires a few steps:
Copy the
environments/cinder-netapp-config.yamlfile to a local location so that you can edit it:cp /usr/share/openstack-tripleo-heat-templates/environments/cinder-netapp-config.yaml ~/templates/.
$ cp /usr/share/openstack-tripleo-heat-templates/environments/cinder-netapp-config.yaml ~/templates/.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Edit the
cinder-netapp-config.yamlfile:-
Modify the
resource_registerysection to use an absolute path refering tocinder-netapp.yaml Modify the
parameter_defaultssection to add NetApp parameters. See thecinder-netapp.yamlfor referenceFor example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Make sure to leave
CinderEnableNetappBackendset totrue.
-
Modify the
Include the
cinder-netapp-config.yamlfile in your deployment:openstack overcloud deploy --templates -e ~/templates/cinder-netapp-config.yaml
$ openstack overcloud deploy --templates -e ~/templates/cinder-netapp-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
This defines the NetApp Storage configuration as a part of the Overcloud’s Hiera data. Then the Overcloud uses this Hieradata to configure Cinder’s NetApp backend during the core configuration.
This example demonstrates how the director integrates storage components from a certified vendor with the Overcloud’s Cinder service.