Exemplo n.º 1
0
def create_pbm_session(stub):
    """
    Creates a session with the VMware Storage Policy API

    Sample Usage:

    create_pbm_session(service_instance._stub)
    """
    import pyVmomi
    import ssl
    # Make compatible with both Python2/3
    try:
        from http import cookies
    except ImportError:
        import Cookie as cookies

    session_cookie = stub.cookie.split('"')[1]
    http_context = VmomiSupport.GetHttpContext()
    cookie = cookies.SimpleCookie()
    cookie["vmware_soap_session"] = session_cookie
    http_context["cookies"] = cookie
    VmomiSupport.GetRequestContext()["vcSessionCookie"] = session_cookie
    hostname = stub.host.split(":")[0]

    context = None
    if hasattr(ssl, "_create_unverified_context"):
        context = ssl._create_unverified_context()
    pbm_stub = pyVmomi.SoapStubAdapter(host=hostname,
                                       version="pbm.version.version1",
                                       path="/pbm/sdk",
                                       poolSize=0,
                                       sslContext=context)
    pbm_si = pbm.ServiceInstance("ServiceInstance", pbm_stub)

    return pbm_si
Exemplo n.º 2
0
def pbm_connect(stub_adapter, disable_ssl_verification=False):
    """Connect to the VMware Storage Policy Server

    :param stub_adapter: The ServiceInstance stub adapter
    :type stub_adapter: SoapStubAdapter
    :param disable_ssl_verification: A flag used to skip ssl certificate
        verification (default is False)
    :type disable_ssl_verification: bool
    :returns: A VMware Storage Policy Service content object
    :rtype: ServiceContent
    """

    if disable_ssl_verification:
        import ssl
        if hasattr(ssl, '_create_unverified_context'):
            ssl_context = ssl._create_unverified_context()
        else:
            ssl_context = None
    else:
        ssl_context = None

    VmomiSupport.GetRequestContext()["vcSessionCookie"] = \
        stub_adapter.cookie.split('"')[1]
    hostname = stub_adapter.host.split(":")[0]
    pbm_stub = SoapStubAdapter(host=hostname,
                               version="pbm.version.version1",
                               path="/pbm/sdk",
                               poolSize=0,
                               sslContext=ssl_context)
    pbm_si = pbm.ServiceInstance("ServiceInstance", pbm_stub)
    pbm_content = pbm_si.RetrieveContent()
    return pbm_content
 def get_pbm_connection(self, vpxd_stub):
     VmomiSupport.GetRequestContext()["vcSessionCookie"] = \
         vpxd_stub.cookie.split('"')[1]
     hostname = vpxd_stub.host.split(":")[0]
     pbm_stub = SoapStubAdapter(
         host=hostname,
         version="pbm.version.version11",
         path="/pbm/sdk",
         poolSize=0,
         sslContext=ssl._create_unverified_context())
     pbm_si = pbm.ServiceInstance("ServiceInstance", pbm_stub)
     pbm_content = pbm_si.RetrieveContent()
     return pbm_content
Exemplo n.º 4
0
def connectToSpbm(stub, context):
    hostname = stub.host.split(":")[0]
    sessionCookie = stub.cookie.split('"')[1]
    VmomiSupport.GetRequestContext()["vcSessionCookie"] = sessionCookie

    pbmStub = SoapStubAdapter(
        host=hostname,
        path="/pbm/sdk",
        version="pbm.version.version2",
        sslContext=context,
    )
    pbmStub.cookie = stub.cookie
    pbmSi = pbm.ServiceInstance("ServiceInstance", pbmStub)
    return pbmSi
Exemplo n.º 5
0
Arquivo: opid.py Projeto: free-Zen/pvc
def SetOpId(opId=None, prefix=None, show=False):
    '''
   Set/Generate the opID that will show up in the logs of remote VMODL calls.
   '''
    # If no opId is supplied, generate a new one
    if not opId:
        opId = "%x" % random.randint(0, (2**32) - 1)

    if prefix:
        opId = prefix + opId

    if show:
        print "Using opId: %s" % opId

    reqCtx = VmomiSupport.GetRequestContext()
    reqCtx["operationID"] = opId
Exemplo n.º 6
0
def GetStorageManager(vcHost):
   smsStub = None
   vpxdStub = connect.GetStub()
   sessionCookie = vpxdStub.cookie.split('"')[1]
   httpContext = VmomiSupport.GetHttpContext()
   cookie = Cookie.SimpleCookie()
   cookie["vmware_soap_session"] = sessionCookie
   httpContext["cookies"] = cookie

   VmomiSupport.GetRequestContext()["vcSessionCookie"] = sessionCookie
   smsStub = SoapStubAdapter(host=vcHost, ns = "sms/4.0",
                                path = "/sms/sdk",
                                poolSize=0)

   si = Sms.ServiceInstance("ServiceInstance", smsStub)
   return si.QueryStorageManager()
Exemplo n.º 7
0
def connectLocal():
    '''
	connect and do stuff on local machine
	'''
    global si  #

    # Connect to localhost as dcui
    # User "dcui" is a local Admin that does not lose permissions
    # when the host is in lockdown mode.
    si = pyVim.connect.Connect(host='localhost', user='******')
    if not si:
        raise SystemExit("Failed to connect to localhost as 'dcui'.")

    atexit.register(pyVim.connect.Disconnect, si)

    # set out ID in context to be used in request - so we'll see it in logs
    reqCtx = VmomiSupport.GetRequestContext()
    reqCtx["realUser"] = '******'
    return si
Exemplo n.º 8
0
def GetPbmConnection(stub, context=None):
    sessionCookie = stub.cookie.split('"')[1]
    httpContext = VmomiSupport.GetHttpContext()
    cookie = Cookie.SimpleCookie()
    cookie["vmware_soap_session"] = sessionCookie
    httpContext["cookies"] = cookie
    VmomiSupport.GetRequestContext()["vcSessionCookie"] = sessionCookie
    hostname = stub.host.split(":")[0]

    pbmStub = pyVmomi.SoapStubAdapter(
        host=hostname,
        version="pbm.version.version1",
        path="/pbm/sdk",
        poolSize=0,
        sslContext=context)
    pbmSi = pbm.ServiceInstance("ServiceInstance", pbmStub)
    pbmContent = pbmSi.RetrieveContent()

    return (pbmSi, pbmContent)
def GetPbmConnection(vpxdStub):
    import Cookie
    import pyVmomi
    sessionCookie = vpxdStub.cookie.split('"')[1]
    httpContext = VmomiSupport.GetHttpContext()
    cookie = Cookie.SimpleCookie()
    cookie["vmware_soap_session"] = sessionCookie
    httpContext["cookies"] = cookie
    VmomiSupport.GetRequestContext()["vcSessionCookie"] = sessionCookie
    hostname = vpxdStub.host.split(":")[0]

    context = None
    if hasattr(ssl, "_create_unverified_context"):
        context = ssl._create_unverified_context()
    pbmStub = pyVmomi.SoapStubAdapter(host=hostname,
                                      version="pbm.version.version1",
                                      path="/pbm/sdk",
                                      poolSize=0,
                                      sslContext=context)
    pbmSi = pbm.ServiceInstance("ServiceInstance", pbmStub)
    pbmContent = pbmSi.RetrieveContent()

    return (pbmSi, pbmContent)
Exemplo n.º 10
0
 def __exit__(self, *args):
     reqCtx = VmomiSupport.GetRequestContext()
     reqCtx['operationID'] = ""
Exemplo n.º 11
0
 def __enter__(self, name=None):
     opID = GenOpId(self.name)
     reqCtx = VmomiSupport.GetRequestContext()
     reqCtx['operationID'] = opID
     Log("%s opID=%s" % (self.name, opID))