def getJobsStats(): jobService=ts.job.JobService filtre=Filter() filtre.objectType='job' filtre.expression="JobInfoVO.startDate within_last_months 1" result=jobService.findJobRefs(filtre) number=len(result) return str(number)
def get_policies(platform, sw_policy_filter=None, patch_policy_filter=None): policies = {} policies['sw'] = None policies['patch'] = None swps = ts.swmgmt.SoftwarePolicyService wpps = ts.swmgmt.WindowsPatchPolicyService if sw_policy_filter: swpf = Filter() swpf.expression = "(software_policy_platform_id EQUAL_TO %s) & (%s)" % (platform.id, sw_policy_filter) swpf.objectType = 'software_policy' sw_policies = swps.findSoftwarePolicyRefs(swpf) #print sw_policies if len(sw_policies) > 0: policies['sw'] = sw_policies if patch_policy_filter: wppf = Filter() wppf.expression = "(patch_policy_platform_id EQUAL_TO %s) & (%s)" % (platform.id, patch_policy_filter) wppf.objectType = 'patch_policy' patch_policies = wpps.findWindowsPatchPolicyRefs(wppf) if len(patch_policies) > 0: policies['patch'] = patch_policies return policies
def map_by_platform_facility(facility_filter, platform_filter, server_filter, chunk=50): result_map_array = [] fac_filter = Filter() fac_filter.expression = facility_filter fac_filter.objectType = 'facility' plat_filter = Filter() plat_filter.expression = platform_filter plat_filter.objectType = 'platform' srv_filter = Filter() srv_filter.expression = server_filter srv_filter.objectType = 'server' target_facilities = ts.locality.FacilityService.findFacilityRefs(fac_filter) target_platforms = ts.device.PlatformService.findPlatformRefs(plat_filter) #print target_facilities #print target_platforms for facility in target_facilities: for platform in target_platforms: combined_filter = Filter() combined_filter.expression = "(%s)&(device_facility_id EQUAL_TO %s)&(device_platform_id EQUAL_TO %s)" % ( server_filter, facility.id, platform.id) servers = ts.server.ServerService.findServerRefs(combined_filter) i = 0 print 'MAP Result: %s results for: %s' % (len(servers), combined_filter.expression) if len(servers) > 0: for batch_iter in batch(servers, chunk): result_dict = {} result_dict['facility'] = facility result_dict['platform'] = platform result_dict['chunk'] = i server_array = [] for srv in batch_iter: server_array.append(srv) result_dict['target_servers'] = server_array result_map_array.append(result_dict) i = i + 1 return result_map_array
user_role_service=ts.fido.UserRoleService folder_service=ts.folder.FolderService except: print "Error initializing services to HPSA" sys.exit(2) ###END INTIALIZATION # Script specific functions # Main Script if (__name__ == '__main__'): target_folder=FolderRef(long(opts.folder)) role_filter=Filter() role_filter.expression='UserRoleVO.roleName CONTAINS PATCH' role_filter.objectType='user_role' roles=user_role_service.findUserRoleRefs(role_filter) access_levels=['READ','X'] if len(roles)>0: role_acls=[] for role in roles: for access_level in access_levels: print "ACL: %s rights to %s. Folder: %s" % (access_level,role.name,target_folder.name) access_acl=FolderACL() access_acl.folder=target_folder access_acl.role=role access_acl.accessLevel=access_level role_acls.append(access_acl) folder_service.addFolderACLs(role_acls,1,1)
try: server_service=ts.server.ServerService server_script_service=ts.script.ServerScriptService device_group_service=ts.device.DeviceGroupService auth_service=ts.fido.AuthorizationService virtual_service = ts.v12n.V12nVirtualServerService hv_service = ts.v12n.V12nHypervisorService except: print "Error initializing services to HPSA" sys.exit(2) sh_info=[] server_filter = Filter() server_filter.expression="(%s)" % (opts.filter) server_filter.objectType='v12n_virtual_machine' server_refs=virtual_service.findV12nVirtualServerRefs(server_filter) shvos=virtual_service.getV12nVirtualServerVOs(server_refs) for sh in shvos: print sh.detail.name server={} server['name']=sh.detail.name server['hypervisor']=sh.hypervisor.name hv_vo = hv_service.getV12nHypervisorVO(sh.hypervisor) hv_hw_vo = server_service.getServerHardwareVO(hv_vo.server) server['hypervisor_cpu_count'] = len(hv_hw_vo.cpus) server['hypervisor_cpu_model'] = hv_hw_vo.cpus[0].model sh_info.append(server) print sh_info keys=['name','hypervisor',
mergedList = patchBlackList + re.sub(r'\s', '', opts.blacklist).split(',') patchBlackList = mergedList patchWhiteList=None if opts.whitelist: patchWhiteList = re.sub(r'\s', '', opts.whitelist).split(',') for p in platformRefs: platformDeviceGroup = platform_service.getPlatformDeviceGroup(p) logger.info("Platform %s to DeviceGroup: %s (%s)" % (p.name, platformDeviceGroup.name, platformDeviceGroup.id)) for platformRef in platformRefs: platformObject = {} platformObject["platform"] = platformRef hfFilter = Filter() hfFilter.objectType = "patch_unit" hfFilter.expression = '(patch_unit_platform_id = %s)' % platformRef.id if opts.begin_date: hfFilter.expression = "%s & (PatchVO.createdDate GREATER_THAN_OR_EQUAL_TO %d)" % ( hfFilter.expression, convertToEpoch(opts.begin_date)) if opts.end_date: hfFilter.expression = "%s & (PatchVO.createdDate LESS_THAN_OR_EQUAL_TO %d)" % ( hfFilter.expression, convertToEpoch(opts.end_date)) platformObject["hotfix"] = GetPatchRefsByFilter(type="hotfix", filter=hfFilter, whitelist=patchWhiteList, blacklist=patchBlackList) platformObject["update_rollup"] = GetPatchRefsByFilter(type="update_rollup", filter=hfFilter,
patchBlackList = mergedList patchWhiteList = None if opts.whitelist: patchWhiteList = re.sub(r'\s', '', opts.whitelist).split(',') for p in platformRefs: platformDeviceGroup = platform_service.getPlatformDeviceGroup(p) logger.info("Platform %s to DeviceGroup: %s (%s)" % (p.name, platformDeviceGroup.name, platformDeviceGroup.id)) for platformRef in platformRefs: platformObject = {} platformObject["platform"] = platformRef hfFilter = Filter() hfFilter.objectType = "patch_unit" hfFilter.expression = '(patch_unit_platform_id = %s)' % platformRef.id if opts.begin_date: hfFilter.expression = "%s & (PatchVO.createdDate GREATER_THAN_OR_EQUAL_TO %d)" % ( hfFilter.expression, convertToEpoch(opts.begin_date)) if opts.end_date: hfFilter.expression = "%s & (PatchVO.createdDate LESS_THAN_OR_EQUAL_TO %d)" % ( hfFilter.expression, convertToEpoch(opts.end_date)) platformObject["hotfix"] = GetPatchRefsByFilter( type="hotfix", filter=hfFilter, whitelist=patchWhiteList, blacklist=patchBlackList) platformObject["update_rollup"] = GetPatchRefsByFilter(
from pytwist import * from pytwist.com.opsware.search import Filter # Create a TwistServer object. ts = twistserver.TwistServer() # Authenticate by passing an SA username and password try: ts.authenticate('admin', 'opsware_admin') except: print "Authentication failed." sys.exit(2) # Construct a search filter. filter = Filter() filter.expression = 'ServerVO.name *=* "%s"' % 'rhel55' filter.objectType = 'device' # Get a reference to ServerService. serverservice = ts.server.ServerService # Perform the search, returning server references. serverRef = serverservice.findServerRefs(filter) print "-------server %s" % serverRef # Contruct a search filter. filter = Filter() filter.expression = 'AuditTaskVO.name *=* "%s"' % 'policy1' filter.objectType = 'audit_task' # Get a reference to AuditTaskService. auditservice = ts.compliance.sco.AuditTaskService # Perform the search, returning server references.
server_service = ts.server.ServerService user_role_service = ts.fido.UserRoleService folder_service = ts.folder.FolderService except: print "Error initializing services to HPSA" sys.exit(2) ###END INTIALIZATION # Script specific functions # Main Script if (__name__ == '__main__'): target_folder = FolderRef(long(opts.folder)) role_filter = Filter() role_filter.expression = 'UserRoleVO.roleName CONTAINS PATCH' role_filter.objectType = 'user_role' roles = user_role_service.findUserRoleRefs(role_filter) access_levels = ['READ', 'X'] if len(roles) > 0: role_acls = [] for role in roles: for access_level in access_levels: print "ACL: %s rights to %s. Folder: %s" % ( access_level, role.name, target_folder.name) access_acl = FolderACL() access_acl.folder = target_folder access_acl.role = role access_acl.accessLevel = access_level role_acls.append(access_acl) folder_service.addFolderACLs(role_acls, 1, 1)
from pytwist.com.opsware.script import ServerScriptJobArgs # Create a TwistServer object. ts = twistserver.TwistServer() # Authenticate by passing an SA username and password try: ts.authenticate('admin','opsware_admin') except: print "Authentication failed." sys.exit(2) # Construct a search filter. filter = Filter() filter.expression = 'ServerVO.name *=* "%s"' % 'rhel55' filter.objectType = 'device' # Get a reference to ServerService. serverservice = ts.server.ServerService # Perform the search, returning server references. serverRef = serverservice.findServerRefs(filter) print "-------server %s" % serverRef # Contruct a search filter. filter.expression = 'ServerScriptVO.name *=* "%s"' % 'hello world' filter.objectType = 'server_script' # Get a reference to ScriptService. scriptservice = ts.script.ServerScriptService # Perform the search, returning server references. scriptRef = scriptservice.findServerScriptRefs(filter)[0]
import sys sys.path.append("/opt/opsware/agent/pylibs") from pytwist import * from pytwist.com.opsware.search import Filter # Create a TwistServer object. ts = twistserver.TwistServer() # Authenticate by passing an SA username and password try: ts.authenticate('admin', 'opsware_admin') except: print "Authentication failed." sys.exit(2) # Construct a search filter. filter = Filter() filter.expression = 'ServerVO.name *=* "%s"' % (sys.argv[1]) filter.objectType = 'device' # Get a reference to ServerService. serverservice = ts.server.ServerService # Perform the search, returning a tuple of references. servers = serverservice.findServerRefs(filter) # Print some attrs for server in servers: vo = serverservice.getServerVO(server) print "Name: " + vo.name print " Management IP: " + vo.managementIP print " OS Version: " + vo.osVersion