Bug 1461184

Summary: Citrix NetScaler driver for LBaaS V2 has missing dependency file.
Product: Red Hat OpenStack Reporter: Mohammed Salih <mputhenp>
Component: openstack-neutron-lbaasAssignee: Nir Magnezi <nmagnezi>
Status: CLOSED ERRATA QA Contact: Toni Freger <tfreger>
Severity: low Docs Contact:
Priority: medium    
Version: 11.0 (Ocata)CC: amuller, apevec, lhh, mputhenp, nyechiel
Target Milestone: z3Keywords: Triaged, ZStream
Target Release: 11.0 (Ocata)   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: openstack-neutron-lbaas-10.0.1-3.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1486202 (view as bug list) Environment:
Last Closed: 2017-10-31 17:43:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1486202    

Description Mohammed Salih 2017-06-13 18:43:18 UTC
Description of problem :
After enabling Citrix NetScaler driver for LBaaSv2, neutron-server doesn't start up. After checking the neutron server log file, it was found that a file - ncc_client.py - included in the driver is missing or points to a folder that was removed during the removal of LBaaSV1 from OSP 10. (a possible fix is also suggested towards the end of this report)

Version-Release number of selected component (if applicable):


How reproducible:
Fully reproducible. 

Steps to Reproduce:
1. Add lbaasv2 to service_plugins in neutron.conf
2. Add LOADBALANCERV2:NetScaler:neutron_lbaas.drivers.netscaler.netscaler_driver_v2.NetScalerPluginDriver:default to service_provider in neutron_lbaas.conf
3. Add a new section named [netscaler_driver] to neutron_lbaas.conf with following parameters
netscaler_ncc_uri = http://<controlcenter_ip>:80
netscaler_ncc_username = openstack_driver
netscaler_ncc_password = <password>  
netscaler_ncc_cleanup_mode = False  
periodic_task_interval = 20  
netscaler_status_collection=True,300 
4. Try restarting using systemctl restart neutron-server.
5. Check /var/log/neutron/server.log. You will see Python import error for ncc_client

Actual results:
neutron-server stays down with error saying ncc_client module not found.

Expected results:
neutron-server should start normally and LBaaSV2 service should be available through which new LB can be provisioned.

Additional info:
I have done a workaround or probably a fix by copying neutron_lbaas/services/loadbalancer/drivers/netscaler/ncc_client.py from mitaka release to /usr/lib/python2.7/site-packages/neutron_lbaas/drivers/netscaler/ and updating line 29 of /usr/lib/python2.7/site-packages/neutron_lbaas/drivers/netscaler/netscaler_driver_v2.py with correct path to ncc_client.py . neutron-server starts with out any issue after that and was able to communicate with netscaler.

Comment 1 Mohammed Salih 2017-06-23 06:46:16 UTC
Fix merged in upstream.

Comment 3 Nir Magnezi 2017-08-24 13:32:49 UTC
Hi,

1. you specified that you specify LOADBALANCERV2:NetScaler:neutron_lbaas.drivers.netscaler.netscaler_driver_v2.NetScalerPluginDriver:default as service_provider in neutron_lbaas.conf , shouldn't this be NetScalerLoadBalancerDriverV2?

I don't see NetScalerPluginDriver in osp11 (stable/ocata) nor in upstream master.

2. Would a backport of your patch to OSP11 solve to usage issue for this driver?

Comment 4 Mohammed Salih 2017-08-24 13:52:25 UTC
Hi Nir,

1. You are right it should be NetScalerLoadBalancerDriverV2. it was a typo, sorry.
The code is now merged into Stable/Pike. https://github.com/openstack/neutron-lbaas/blob/stable/pike/neutron_lbaas/drivers/netscaler/
2. I guess so. 

Thanks
M Salih

Comment 9 errata-xmlrpc 2017-10-31 17:43:29 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:3105