Description of problem:
There are two checks, 'DHCP on the Provisioning Network' and 'DHCP on the Introspection Network'. These two checks fail (from scapy.all import BOOTP raises an exception), despite scapy installed on the system:
[root@director ~] # pip show scapy
Summary: Scapy: interactive packet manipulation tool
Author: Philippe BIONDI
I applied the following to workaround the issue.
1- Updated /usr/share/openstack-tripleo-validations/validations/dhcp-provisioning.yaml
by appending the following setting to the 'pip' line:
pip: name=scapy version=2.3.2 state=present virtualenv=/tmp/validations-venv virtualenv_site_packages=yes
2- Did the same for dhcp-introspection.yaml
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Launch the 'DHCP on the Provisioning Network' and 'DHCP on the Provisioning Network DHCP on the Provisioning Network'checks
2. Both will fail (from scapy.all import BOOTP raises an exception)
The virtual environment does not import the Scapy module
The virtual environment should import the Scapy module and the two checks should pass.
As a side node, the RPM package scapy 2.3.2 is non existing, thus preventing this feature to work in offline installations.
Created attachment 1246756 [details]
Created attachment 1246757 [details]
Workaround - second file
doing a bit of digging here is what I found for scapy references in OSP 10
[openstack-tripleo-validations]$ ag scapy
23: - name: Install scapy
24: pip: name=scapy version=2.3.2 state=present virtualenv=/tmp/validations-venv
17:# Disable scapy's warning to stderr:
23:from scapy.all import BOOTP
24:from scapy.all import conf
25:from scapy.all import DHCP
26:from scapy.all import Ether
27:from scapy.all import get_if_raw_hwaddr
28:from scapy.all import IP
29:from scapy.all import srp
30:from scapy.all import UDP
18: - name: Install scapy
19: pip: name=scapy version=2.3.2 state=present virtualenv=/tmp/validations-venv
how are we getting pip installed on the system?
I've pushed a patch both upstream  and downstream  that replaces the scapy script by one using raw sockets. The upstream patch received negative feedback asking to package scapy instead.
My suggestion would be to remove this validation if the patch is not going to be merged.
I don't know how much work is needed to get scapy packaged for RHEL, but this is not something I can commit to right now. Jason, can someone from the UI DFG take over these patches?
Martin - yes