ALAHYANE Rachid wrote:
Hi,

As I don't know how to specify the xmlrpc_uri in the bootstrap() method, I modified this file /usr/lib/python2.6/site-packages/ipalib/constants.py.

I put this line ('xmlrpc_uri', 'https://server.domain.org/ipa/xml') instead ('xmlrpc_uri', 'http://localhost:8888/ipa/xml')

How about:

api.bootstrap(context='webservices', debug=True, xmlrpc_uri='https://luna.greyoak.com/ipa/xml')

Here is the execution of my_script inside the ipython console

---------------------------------------------------------------
In [1]: from ipalib import api

In [2]: api.bootstrap_with_global_options(context='webservices')
Out[2]: (<Values at 0x889ee8c: {'debug': None, 'conf': None, 'env': None, 'verbose': None}>,
 [])

In [3]: api.finalize()

In [4]: api.env.xmlrpc_uri
Out[4]: u'https://server.domain.org/ipa/xml'

In [5]: api.Backend.xmlclient.connect()

In [6]: api.Command.user_show(u'admin')
---------------------------------------------------------------------------
ConversionError                           Traceback (most recent call last)

/var/www/<ipython console> in <module>()

/usr/lib/python2.6/site-packages/ipalib/frontend.pyc in __call__(self, *args, **options)
    399         self.validate(**params)
    400         (args, options) = self.params_2_args_options(**params)
--> 401         ret = self.run(*args, **options)
    402         if (
    403             isinstance(ret, dict)

/usr/lib/python2.6/site-packages/ipalib/frontend.pyc in run(self, *args, **options)
    668         if self.api.env.in_server:
    669             return self.execute(*args, **options)
--> 670         return self.forward(*args, **options)
    671
    672     def execute(self, *args, **kw):

/usr/lib/python2.6/site-packages/ipalib/frontend.pyc in forward(self, *args, **kw)
    689         Forward call over XML-RPC to this same command on server.
    690         """
--> 691 return self.Backend.xmlclient.forward(self.name <http://self.name>, *args, **kw)
    692
    693     def finalize(self):

/usr/lib/python2.6/site-packages/ipalib/rpc.pyc in forward(self, name, *args, **kw)
    412             if e.faultCode in self.__errors:
    413                 error = self.__errors[e.faultCode]
--> 414                 raise error(message=e.faultString)
    415             raise UnknownError(
    416                 code=e.faultCode,

ConversionError: invalid 'uid': Only one value is allowed

Is there anything interesting logged on the server?

With debug=True you get a lot more output, might show something as well.

rob



---------------------------------------------------------------

Hem, Yet another problem :(

Well, thanks for your continued patience with this. You're the first one out of our group to be using ipalib independently. Hopefully at the end of this we'll have another example of a way to use it.

cheers

rob


---
Meilleures salutations / Best Regards

Rachid ALAHYANE



2010/4/22 ALAHYANE Rachid <afk...@gmail.com <mailto:afk...@gmail.com>>

    Thank you for answer, now I get this error :
    -----------------------------------------------------
    NetworkError: cannot connect to u'http://localhost:8888/ipa/xml':
    Permission denied
    -----------------------------------------------------

    How can I specify my ipa server address. Can I do this in the
api.bootstrap() method ? What is the difference between api.bootstrap()
    and api.bootstrap_with_global_options()  ?

    ---
    Meilleures salutations / Best Regards

    Rachid ALAHYANE



    2010/4/22 Jason Gerard DeRose <jder...@redhat.com
    <mailto:jder...@redhat.com>>

        On Wed, 2010-04-21 at 15:21 -0400, Rob Crittenden wrote:
         > ALAHYANE Rachid wrote:
         > > Here is my apache logs :
         > >
        
------------------------------------------------------------------------------------------------
         > > ==> /var/log/httpd/error_log <==
         > > [Wed Apr 21 20:02:51 2010] [warn] mod_python (pid=1529,
         > > interpreter='rpcserver.domain.org
        <http://rpcserver.domain.org> <http://rpcserver.domain.org>'):
         > > Module directory listed in "sys.path". This may cause
        problems. Please
         > > check code. File being imported is
         > > "/usr/lib/python2.6/site-packages/webservices/account.py".
         > > [Wed Apr 21 20:02:51 2010] [notice] mod_python (pid=1529,
         > > interpreter='rpcserver.domain.org
        <http://rpcserver.domain.org> <http://rpcserver.domain.org>'):
         > > Importing module
        '/usr/lib/python2.6/site-packages/webservices/account.py'
         > > /usr/lib/python2.6/site-packages/mod_python/importer.py:32:
         > > DeprecationWarning: the md5 module is deprecated; use
        hashlib instead
         > >   import md5
         > > ipa: ERROR: Could not create log_dir '/root/.ipa/log'
         > > ipa: ERROR: could not load plugin module
         > > '/usr/lib/python2.6/site-packages/ipalib/plugins/migration.py'
         > > Traceback (most recent call last):
         > >   File
        "/usr/lib/python2.6/site-packages/ipalib/plugable.py", line 533,
         > > in import_plugins
         > >     __import__(fullname)
         > >   File
        "/usr/lib/python2.6/site-packages/ipalib/plugins/migration.py",
         > > line 33, in <module>
         > >     from ipaserver.plugins.ldap2 import ldap2
         > >   File
        "/usr/lib/python2.6/site-packages/ipaserver/__init__.py", line
         > > 33, in <module>
         > >     api.bootstrap(context='server', debug=True, log=None)
         > >   File
        "/usr/lib/python2.6/site-packages/ipalib/plugable.py", line 380,
         > > in bootstrap
         > >     self.__doing('bootstrap')
         > >   File
        "/usr/lib/python2.6/site-packages/ipalib/plugable.py", line 365,
         > > in __doing
         > >     '%s.%s() already called' % (self.__class__.__name__, name)
         > > StandardError: API.bootstrap() already called
         >
         > Very strange. You explicitly set the context to 'webservices'
        and this
         > backtrace shows it as 'server' which is why migration.py is
        trying to
         > load ldap2 (and blowing up).
         >
         > Jason, any ideas?

        Okay, took me a while to realize what's going on... in alpha2 we
        were
        still running the server under mod_python (we have since switched to
        mod_wsgi).

        In alpha2, when ipaserver is imported, ipaserver/__init__.py
        tries to
        import mod_python (which would indicate we are running under the
        Apache
        process).  When mod_python could be imported, we always
        initialized IPA
        for use in the server.  The worked fine for us at the time, but it
        obviously causes problems when trying to use the library from
        another
        mod_python handler.

        I recommend you try working with the current code from git,
        where this
        implied initialization has been removed:

           git clone git://git.fedorahosted.org/git/freeipa.git
        <http://git.fedorahosted.org/git/freeipa.git>

        I attached a script that I use to install a bunch of
        dependencies for
        building the rpm (or srpm).

        After you have these dependencies installed, you can then build and
        install ipa doing something like this:

           cd freeipa
           make rpms
           yum install --nogpgcheck dist/rpms/*.rpm
           ipa-server-install


        Hope this helps!

         > rob




_______________________________________________
Freeipa-users mailing list
Freeipa-users@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-users

Reply via email to