Enable the neutron hack on the undercloud.

        This script will watch the undercloud and copy any relevant network
        configuration in the host OpenStack. This is required to avoid the
        firewall limitations (no-spoofing and DHCP restriction).

def enable_neutron_hack(self, os_username, os_password, os_project_id, os_auth_url):
        """Enable the neutron hack on the undercloud.

        This script will watch the undercloud and copy any relevant network
        configuration in the host OpenStack. This is required to avoid the
        firewall limitations (no-spoofing and DHCP restriction).
        """
        self.yum_install(['python-neutronclient'])
        self.send_file(pkg_data_filename('static', 'ovb_fix_neutron_addr'), '/usr/local/bin/ovb_fix_neutron_addr', unix_mode=0o755)
        content = """
[Unit]
Description=OVB neutron hack Service
[Service]
ExecStart=/usr/local/bin/ovb_fix_neutron_addr  --os-user {os_username} --os-password {os_password} --os-project-id {os_project_id} --os-auth-url {os_auth_url}
User=root
StandardOutput=kmsg+console
StandardError=inherit
Restart=always
[Install]
WantedBy=multi-user.target
"""
        unit = 'ovb_fix_neutron_addr.service'
        self.create_file(
            '/usr/lib/systemd/system/%s' % unit,
            content.format(
                os_username=os_username,
                os_password=protect_password(os_password),
                os_project_id=os_project_id,
                os_auth_url=os_auth_url))
        self.run('systemctl enable %s' % unit)
        self.run('systemctl start %s' % unit)