Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zlib.error: Error -2 while preparing to decompress data: inconsistent stream state #1541

Open
benben17 opened this issue Oct 15, 2019 · 0 comments

Comments

@benben17
Copy link

when i exec this scripts ,
get this error ,but i got the VS INFO

Traceback (most recent call last): File "f5_vs_status.py", line 9, in from f5.bigip import ManagementRoot File "/usr/lib/python2.7/site-packages/f5_sdk-3.0.21-py2.7.egg/f5/bigip/init.py", line 20, in from icontrol.session import iControlRESTSession zlib.error: Error -2 while preparing to decompress data: inconsistent stream state

#!/usr/bin/env python

-- coding: utf-8 --

coding: UTF-8

import sys,os,commands
import collections,json
from utils.common import *
import utils.db_query as db_query
from f5.bigip import ManagementRoot
reload(sys)
sys.setdefaultencoding('utf8')

Connect to the BigIP and configure the basic objects

db = db_query.db_query()
class f5_api(object):
"""docstring for ClassName"""
def init(self, host,user,passwd,timeout=10):
self.host = host
self.user = user
self.passwd = passwd
self.timeout = timeout

def get_status(self):
	mgmt = ManagementRoot(self.host, self.user, self.passwd,timeout=self.timeout)
	virtuals = mgmt.tm.ltm.virtuals.get_collection()
	# pools = mgmt.tm.ltm.pools.get_collection()
	# for pool in pools:
	#     print json.dumps(pool.attrs)
	#     # for member in pool.members_s.get_collection():
	#     #     print json.dumps(member.attrs)

	# sys.exit(1)
	for virtual in virtuals:
		# print virtual.name,virtual.pool,virtual.enabled
		
		name = virtual.pool.split("/")
		vs_ip = virtual.destination.split("/")
		if len(name) != 3:
			continue
		else:
			pool_name = name[2]
	
		pool = mgmt.tm.ltm.pools.pool.load(name=pool_name, partition='Common')

		for m in pool.members_s.get_collection():
			sql =  '''replace into t_f5_vs_info 
			(device_ip,vs_name,vs_ip,vs_state,pool_name,server_name,server_address,server_state,c_time) 
			values ('{}','{}','{}','{}','{}','{}','{}','{}','{}') '''.format(
			self.host,virtual.name,vs_ip[2],virtual.enabled,pool_name,m.name,m.address,m.state,c_time)
			# print sql
			try:
				db.db_insert(sql)
				
			except Exception as e:
				print sql,e

if name == 'main':
device_list = db.get_f5()
cfg = get_config("f5")
for device in device_list:

	print cfg['password']
	device_ip = device[0]
	# passwd =  base64.b64decode(device[2]).decode("utf-8")
	print device_ip
	f5 = f5_api(host=device_ip,user=cfg['username'],passwd=cfg['password'])

	f5.get_status()

import sys,os,commands
import collections,json
from utils.common import *
import utils.db_query as db_query
from f5.bigip import ManagementRoot
reload(sys)
sys.setdefaultencoding('utf8')

Connect to the BigIP and configure the basic objects

db = db_query.db_query()
class f5_api(object):
"""docstring for ClassName"""
def init(self, host,user,passwd,timeout=10):
self.host = host
self.user = user
self.passwd = passwd
self.timeout = timeout

def get_status(self):
	mgmt = ManagementRoot(self.host, self.user, self.passwd,timeout=self.timeout)
	virtuals = mgmt.tm.ltm.virtuals.get_collection()
	# pools = mgmt.tm.ltm.pools.get_collection()
	# for pool in pools:
	#     print json.dumps(pool.attrs)
	#     # for member in pool.members_s.get_collection():
	#     #     print json.dumps(member.attrs)

	# sys.exit(1)
	for virtual in virtuals:
		# print virtual.name,virtual.pool,virtual.enabled
		
		name = virtual.pool.split("/")
		vs_ip = virtual.destination.split("/")
		if len(name) != 3:
			continue
		else:
			pool_name = name[2]
	
		pool = mgmt.tm.ltm.pools.pool.load(name=pool_name, partition='Common')

		for m in pool.members_s.get_collection():
			sql =  '''replace into t_f5_vs_info 
			(device_ip,vs_name,vs_ip,vs_state,pool_name,server_name,server_address,server_state,c_time) 
			values ('{}','{}','{}','{}','{}','{}','{}','{}','{}') '''.format(
			self.host,virtual.name,vs_ip[2],virtual.enabled,pool_name,m.name,m.address,m.state,c_time)
			# print sql
			try:
				db.db_insert(sql)
				
			except Exception as e:
				print sql,e

if name == 'main':
device_list = db.get_f5()
cfg = get_config("f5")
for device in device_list:
f5 = f5_api(host=device_ip,user=cfg['username'],passwd=cfg['password'])
f5.get_status()

@benben17 benben17 changed the title Traceback (most recent call last): File "f5_vs_status.py", line 9, in <module> from f5.bigip import ManagementRoot File "/usr/lib/python2.7/site-packages/f5_sdk-3.0.21-py2.7.egg/f5/bigip/__init__.py", line 20, in <module> from icontrol.session import iControlRESTSession zlib.error: Error -2 while preparing to decompress data: inconsistent stream state zlib.error: Error -2 while preparing to decompress data: inconsistent stream state Oct 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant