Forum Discussion

vasu_arkasali's avatar
vasu_arkasali
Icon for Nimbostratus rankNimbostratus
Jul 29, 2024

REST API scripts are not working-automation not working after upgrade to 17.x

Hi Team, 

Some of the methods are not working in our scripts after we upgraded to 16.x and or 17.x below are the details.

Thanks in Advance for any help on this.

We have upgraded our LB from 15.1.8 to 17.1.0.1 and also on 16.1.4.3 on both versions we are seeing below behavior.

 

We have REST API and python scripting to enable/disable pool members which is not working after the upgrade. Below are few logs which we captured during

our debug on device in question. need to know why does it shows exception and also fix needed here.

 

Note : the REST API and Python script works fine on 15.1.8 without any issues.

 

 

============================================================================

Audit logs 

 

notice mcpd[6457]: 01070417:5: AUDIT - client iControlSOAP, user X.X.X - transaction #39540-3 - object 0 - create { pool_member { pool_member_pool_name "/Common/POOL_AA" pool_member_node_name "/Common/172.X.X.31" pool_member_port 80 } } [Status=Command OK]

notice mcpd[6457]: 01070417:5: AUDIT - client iControlSOAP, user X.X.X - transaction #39615-3 - object 0 - modify { node_address { node_address_name "/Common/172.X.X.31" node_address_new_session_enable 2 } } [Status=Command OK]

notice mcpd[6457]: 01070417:5: AUDIT - client iControlSOAP, user X.X.X - transaction #39616-3 - object 0 - modify { node_address { node_address_name "/Common/172.X.X.31" node_address_monitor_state 3 } } [Status=Command OK]

 

 

 

LTM logs

 

DEBUG:bigsuds:Executing iControl method: LocalLB.Pool.set_member_session_enabled_state((['/Common/POOL_AA'], [[{'port': 80, 'address': '/Common/172.X.X.31'}]], [['STATE_DISABLED']]), {})

Traceback (most recent call last):

  File "/usr/bin/poolmembers_disable.py", line 292, in <module>

    main()

  File "/usr/bin/poolmembers_disable.py", line 244, in main

    pool_members(args)

  File "/usr/bin/poolmembers_disable.py", line 287, in pool_members

    for pool in pools_dict.keys(): globals()[args.command](pools_dict[pool], *params)

  File "/usr/bin/poolmembers_disable.py", line 76, in offline

    pool.member(m).disable()

  File "/usr/lib/python2.7/XX-packages/pyFOLDER/F5/__init__.py", line 828, in disable

    self._set_member_session_enabled_state("STATE_DISABLED")

  File "/usr/lib/python2.7/XX-packages/pyFOLDER/F5/__init__.py", line 843, in _set_member_session_enabled_state

    (self, self.pool, err))

 

  • There were several security improvements done in the REST API between v15 and v17, including that it used to accept anonymous local requests. It's likely that the script you're using was developed for v15 and no longer work on v17. 

    Can you share the exact process you're following that results in the failure, including where the scripts are that you're using? We'd need enough information to to reproduce the issue and make an update to wherever the script came from.