Talk: Openstack configuration (Release THREE): Difference between revisions

From OSM Public Wiki
Jump to: navigation, search
(Created page with "=Add openstack to OSM= There is a parameter called '''--config''' used to supply general configuration options both at datacenter creation and datacenter attachment to openma...")
 
No edit summary
Line 1: Line 1:
=Add openstack to OSM=
Openstack for EPA: to be considered


There is a parameter called '''--config''' used to supply general configuration options both at datacenter creation and datacenter attachment to openmano tenant (the latter prevails).
1. The compute nodes need to have a whitelist for the interfaces with SRIOV and passthrough enabled, and those interface are associated to a physical network label e.g. “physnet” in the file /etc/nova/nova.conf :
openmano datacenter-create openstack-site http://10.10.10.11:5000/v2.0 --type openstack --description "OpenStack site" --config='{security_groups: default, keypair: mykey}'
pci_passthrough_whitelist=[{"devname": "p3p1", "physical_network": "physnet"}, {"devname": "p3p2", "physical_network": "physnet"}]
openmano datacenter-attach openstack-site --user=admin --password=userpwd --vim-tenant-name=admin --config='{availability_zone: one}'


The following configuration can be added:
2. Update in the controller the file “/etc/neutron/plugins/ml2/ml2_conf.ini” to add “sriovnicswitch” to the mechanism_drivers
mechanism_drivers =openvswitch,sriovnicswitch


* '''security_groups''':    To be used for the deployment
3. Update in the controller the file “/etc/neutron/plugins/ml2/ml2_conf.ini” to set the vlans (e.g. from 2000 to 3000) to be used for the defined physical network label in the case of SR-IOV interfaces:
* '''availability_zone''':  To be used for the deployment
network_vlan_ranges =physnet:2000:3000
* '''region_name''':        The region where the VM must be deployed.
* '''insecure''':          (By default false). When true it allows authorization over a non trusted certificate over https
* '''use_existing_flavors''':        (By default false). Set to "True" to use the closer flavor with enough resources instead of creating a new flavor with the exact requirements. This option does not work for EPA (cpu pinning, huge pages, ...) where openmano still tries to create a flavor with the needed extra expects. Use this options when you do not have admin credentials (Available from future v2.0.2 version)
* '''APIversion''':         (By default v2.0). Set to "v3.3" to use this openstack API version (experimental)


ADVANCED configuration:
4. Update in the controller the file “/etc/neutron/plugins/ml2/ml2_conf.ini” to allow the supported NIC vendor’s product ID
[ml2_sriov]
supported_pci_vendor_devs = 8086:10ed
 
5. Update in the controller the file “/etc/nova/nova.conf” to allow proper scheduling of SR-IOV and Passthorugh devices, by adding the PciPassthroughFilter filter to the list of filters.
scheduler_available_filters=nova.scheduler.filters.all_filters
scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,CoreFilter, PciPassthroughFilter
 
Relevant links:
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html-single/network_functions_virtualization_product_guide/
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html-single/network_functions_virtualization_planning_guide/
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html-single/network_functions_virtualization_configuration_guide/
https://docs.openstack.org/newton/networking-guide/config-sriov.html
 
 
When adding Openstack to OSM, new things need to be considered:
* How to use availability zones
    --config='{use_floating_ip: True, availability_zone: [zone1, zone2]}'
* New parameter microversion for Device Role Tagging


* '''keypair''':            To be added in addition to the keypair allocated on the VNF descriptor. Provide the name of a openstack keypair
* '''dataplane_physical_net''': The configured network_vlan_ranges at neutron for the SRIOV (binding direct) and passthrough (binding direct-physical) networks, e.g. 'physnet_sriov' in the above configuration
* '''use_floating_ip''':    (By default false). When true a management interface of a VNFD is automatically asigned a floating_ip -if possible-. The prefered method is to use a provider network
* '''microversion''':      Allows specifiying an specific microversion to be used in nova. In order to allow 'Device Role Tagging' functionality use 'microversion: 2.32'. This functionality was introduced in Newton so it would not work for older vims. This implementation approach is due to the warning message in https://developer.openstack.org/api-guide/compute/microversions.html where it is stated that microversion backwards compatibility is not guaranteed and clients should always require an specific microversion.
* '''microversion''':      Allows specifiying an specific microversion to be used in nova. In order to allow 'Device Role Tagging' functionality use 'microversion: 2.32'. This functionality was introduced in Newton so it would not work for older vims. This implementation approach is due to the warning message in https://developer.openstack.org/api-guide/compute/microversions.html where it is stated that microversion backwards compatibility is not guaranteed and clients should always require an specific microversion.
The content of config is a yaml format text. The recomendation is to use a comma separated list between curly brackets {} and quotes, e.g.:
--config='{use_floating_ip: True, availability_zone: controller}'

Revision as of 09:38, 7 September 2017

Openstack for EPA: to be considered

1. The compute nodes need to have a whitelist for the interfaces with SRIOV and passthrough enabled, and those interface are associated to a physical network label e.g. “physnet” in the file /etc/nova/nova.conf : pci_passthrough_whitelist=[{"devname": "p3p1", "physical_network": "physnet"}, {"devname": "p3p2", "physical_network": "physnet"}]

2. Update in the controller the file “/etc/neutron/plugins/ml2/ml2_conf.ini” to add “sriovnicswitch” to the mechanism_drivers mechanism_drivers =openvswitch,sriovnicswitch

3. Update in the controller the file “/etc/neutron/plugins/ml2/ml2_conf.ini” to set the vlans (e.g. from 2000 to 3000) to be used for the defined physical network label in the case of SR-IOV interfaces: network_vlan_ranges =physnet:2000:3000

4. Update in the controller the file “/etc/neutron/plugins/ml2/ml2_conf.ini” to allow the supported NIC vendor’s product ID [ml2_sriov] supported_pci_vendor_devs = 8086:10ed

5. Update in the controller the file “/etc/nova/nova.conf” to allow proper scheduling of SR-IOV and Passthorugh devices, by adding the PciPassthroughFilter filter to the list of filters. scheduler_available_filters=nova.scheduler.filters.all_filters scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,CoreFilter, PciPassthroughFilter

Relevant links: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html-single/network_functions_virtualization_product_guide/ https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html-single/network_functions_virtualization_planning_guide/ https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html-single/network_functions_virtualization_configuration_guide/ https://docs.openstack.org/newton/networking-guide/config-sriov.html


When adding Openstack to OSM, new things need to be considered:

* How to use availability zones
   --config='{use_floating_ip: True, availability_zone: [zone1, zone2]}'
* New parameter microversion for Device Role Tagging
  • microversion: Allows specifiying an specific microversion to be used in nova. In order to allow 'Device Role Tagging' functionality use 'microversion: 2.32'. This functionality was introduced in Newton so it would not work for older vims. This implementation approach is due to the warning message in https://developer.openstack.org/api-guide/compute/microversions.html where it is stated that microversion backwards compatibility is not guaranteed and clients should always require an specific microversion.