Esempio n. 1
0
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)
Esempio n. 2
0
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
Esempio n. 3
0
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(
Esempio n. 8
0
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)
Esempio n. 10
0
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]
Esempio n. 11
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