Deployment task 'netconfig' incorrectly configures SR-IOV nics on second run
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Fix Released
|
High
|
Atsuko Ito |
Bug Description
Fuel version info (9.0 liberty): http://
Re-deployment fails on 'sriov_iommu_check' task, because 'netconfig' doesn't configure NICs with enabled SR-IOV properly:
root@node-2:~# echo 63 > /sys/class/
root@node-2:~# echo 63 > /sys/class/
root@node-2:~# ruby /etc/puppet/
OK: SR-IOV and IOMMU are properly configured for enp1s0f0 interface
OK: SR-IOV and IOMMU are properly configured for enp1s0f1 interface
root@node-2:~#
root@node-2:~# puppet apply -d /etc/puppet/
root@node-2:~# echo $?
0
root@node-2:~# cat /sys/class/
0
0
root@node-2:~# ifdown enp1s0f1
root@node-2:~# ifup enp1s0f1
root@node-2:~# cat /sys/class/
63
I added some debug logs to '/etc/puppet/
root@node-2:~# grep -E 'Setting numvfs for|Value of numvfs for' /tmp/puppet.log
Debug: L2_port[
Debug: L2_port[
Debug: L2_port[
Debug: L2_port[
Debug: L2_port[
Debug: L2_port[
If I set 'sriov_numvfs' to 0 for all SR-IOV NICs and run netconfig.pp again then VFs are configured properly, because the following code isn't executed:
https:/
https:/
Steps to reproduce:
1. Create cluster with VLAN segmentation
2. Add 1 controller node and 1 compute node with NICs which support SR-IOV
3. Enable SR-IOV on some compute's NICs, set VFs number to max value (sriov_numvfs == sriov_totalvfs)
4. Deploy environment
5. SSH to compute and run 'puppet apply /etc/puppet/
Expected result: sriov_numvfs value for SR-IOV enabled NICs isn't changed
Actual result: sriov_numvfs is set to 0 for all SR-IOV enabled NICs
Diagnostic snapshot: https:/
tags: | added: l23network |
Changed in fuel: | |
status: | New → Confirmed |
description: | updated |
Changed in fuel: | |
assignee: | Fuel Library Team (fuel-library) → Vladimir Eremin (yottatsa) |
tags: | added: area-library |
Also looks like this issue affect configure_ default_ route.pp task too:
2016-03-16 18:58:26 +0000 Scope(Class[main]) (notice): MODULAR: netconfig.pp main]/Main/ L23network: :L2::Port[ enp1s0f0] /L23_stored_ config[ enp1s0f0] /sriov_ numvfs (notice): sriov_numvfs changed '63' to '63' main]/Main/ L23network: :L2::Port[ enp1s0f1] /L23_stored_ config[ enp1s0f1] /sriov_ numvfs (notice): sriov_numvfs changed '63' to '63' tests.pp check.pp network/ common- config. pp network/ plugins/ ml2.pp network/ agents/ l3.pp network/ agents/ sriov.pp network/ agents/ metadata. pp network/ compute- nova.pp default_ route.pp main]/Main/ L23network: :L2::Port[ enp1s0f0] /L23_stored_ config[ enp1s0f0] /sriov_ numvfs (notice): sriov_numvfs changed '63' to '63' main]/Main/ L23network: :L2::Port[ enp1s0f1] /L23_stored_ config[ enp1s0f1] /sriov_ numvfs (notice): sriov_numvfs changed '63' to '63'
2016-03-16 18:58:27 +0000 /Stage[
2016-03-16 18:58:29 +0000 /Stage[
2016-03-16 18:59:08 +0000 Scope(Class[main]) (notice): MODULAR: connectivity_
2016-03-16 18:59:15 +0000 Scope(Class[main]) (notice): MODULAR: sriov_iommu_
2016-03-16 18:59:21 +0000 Scope(Class[main]) (notice): MODULAR: firewall.pp
2016-03-16 18:59:32 +0000 Scope(Class[main]) (notice): MODULAR: hosts.pp
2016-03-16 19:11:13 +0000 Scope(Class[main]) (notice): MODULAR: compute.pp
2016-03-16 19:13:58 +0000 Scope(Class[main]) (notice): MODULAR: openstack-
2016-03-16 19:14:34 +0000 Scope(Class[main]) (notice): MODULAR: openstack-
2016-03-16 19:14:44 +0000 Scope(Class[main]) (notice): MODULAR: openstack-
2016-03-16 19:14:50 +0000 Scope(Class[main]) (notice): MODULAR: openstack-
2016-03-16 19:15:06 +0000 Scope(Class[main]) (notice): MODULAR: openstack-
2016-03-16 19:15:13 +0000 Scope(Class[main]) (notice): MODULAR: openstack-
2016-03-16 19:15:22 +0000 Scope(Class[main]) (notice): MODULAR: enable_compute.pp
2016-03-16 19:21:28 +0000 Scope(Class[main]) (notice): MODULAR: dns-client.pp
2016-03-16 19:21:36 +0000 Scope(Class[main]) (notice): MODULAR: cgroups.pp
2016-03-16 19:21:49 +0000 Scope(Class[main]) (notice): MODULAR: configure_
2016-03-16 19:21:51 +0000 /Stage[
2016-03-16 19:21:54 +0000 /Stage[
2016-03-16 19:22:00 +0000 Scope(Class[main]) (notice): MODULAR: hosts.pp
2016-03-16 19:22:02 +0000 Scope(Class[main]) (notice): MODULAR: ntp-client.pp
So currently after successful deployment I have 'sriov_numvfs' set to 0 on all compute nodes with SR-IOV enabled NICs.