All of lore.kernel.org
 help / color / mirror / Atom feed
  • * Re: Passing LUA script via python rados execute
           [not found] <1fa1fa7d.AEEAIBzI4F8AAAAAAAAAAF3gdzcAADNJBWwAAAAAAACRXwBYpMPz@mailjet.com>
           [not found] ` <1fa1fa7d.AEEAIBzI4F8AAAAAAAAAAF3gdzcAADNJBWwAAAAAAACRXwBYpMPz-ImYt9qTNe79BDgjK7y7TUQ@public.gmane.org>
    @ 2017-02-15 23:42 ` Noah Watkins
           [not found]   ` <3177d648.AEQAH1DOmSwAAAAAAAAAAF3gdzcAADNJBWwAAAAAAACRXwBYphEb@mailjet.com>
      1 sibling, 1 reply; 11+ messages in thread
    From: Noah Watkins @ 2017-02-15 23:42 UTC (permalink / raw)
      To: nick; +Cc: ceph-devel
    
    Hi Nick,
    
    First thing to note is that in Kraken that object classes not
    whitelisted need to be enabled explicitly. This is in the Kraken
    release notes (http://docs.ceph.com/docs/master/release-notes/):
    
    tldr: add 'osd class load list = *' and 'osd class default list = *'
    to ceph.conf.
    
    - The ‘osd class load list’ config option is a list of object class
    names that the OSD is permitted to load (or ‘*’ for all classes). By
    default it contains all existing in-tree classes for backwards
    compatibility.
    
    - The ‘osd class default list’ config option is a list of object class
    names (or ‘*’ for all classes) that clients may invoke having only the
    ‘*’, ‘x’, ‘class-read’, or ‘class-write’ capabilities. By default it
    contains all existing in-tree classes for backwards compatibility.
    Invoking classes not listed in ‘osd class default list’ requires a
    capability naming the class (e.g. ‘allow class foo’).
    
    I suspect that will resolve the issue.
    
    If you've done that and it still doesn't work then the next thing I'd
    suggest is creating the target object before running the command.
    Operations on objects that don't exist sometimes seem non-intuitive to
    me.
    
    Let me know if that doesn't work and we can look at debugging further.
    
    Thanks,
    - Noah
    
    On Wed, Feb 15, 2017 at 1:11 PM, Nick Fisk <nick@fisk.me.uk> wrote:
    > Hi Noah,
    >
    > I'm trying to follow your example where you can pass a LUA script as json
    > when calling the rados execute function in Python. However I'm getting a
    > rados permission denied error saying its failed to read the test object I
    > have placed on the pool.
    >
    > I have also tried calling the cls_hello object class and this works, so I
    > believe its something to do with the LUA functionality that's causing it to
    > bomb out. This is running on Kraken.
    >
    > Any ideas would be gratefully received.
    >
    > Nick
    >
    > Ie
    > print json.dumps(cmd)
    > ret, data = ioctx.execute('test', 'lua', 'eval_json', json.dumps(cmd))
    >
    > Outputs
    > python radoslua.py --object-name=test --pool=rbd
    > {"handler": "upper", "script": "\n      function upper(input, output)\n
    > input_str = input:str()\n        upper_str = string.upper(input_str)\n
    > output:append(upper_str)\n      end\n      cls.register(upper)\n  "}
    > Traceback (most recent call last):
    >   File "radoslua.py", line 47, in <module>
    >     ret, data = ioctx.execute('test', 'lua', 'eval_json', json.dumps(cmd))
    >   File "rados.pyx", line 451, in rados.requires.wrapper.validate_func
    > (/tmp/buildd/ceph-11.2.0/obj-x86_64-linux-gnu/src/pybind/rados/pyrex/rados.c
    > :4439)
    >   File "rados.pyx", line 2657, in rados.Ioctx.execute
    > (/tmp/buildd/ceph-11.2.0/obj-x86_64-linux-gnu/src/pybind/rados/pyrex/rados.c
    > :34056)
    > rados.PermissionError: Ioctx.read(rbd): failed to read test
    >
    
    ^ permalink raw reply	[flat|nested] 11+ messages in thread

  • end of thread, other threads:[~2017-02-21 21:59 UTC | newest]
    
    Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
    -- links below jump to the message on this page --
         [not found] <1fa1fa7d.AEEAIBzI4F8AAAAAAAAAAF3gdzcAADNJBWwAAAAAAACRXwBYpMPz@mailjet.com>
         [not found] ` <1fa1fa7d.AEEAIBzI4F8AAAAAAAAAAF3gdzcAADNJBWwAAAAAAACRXwBYpMPz-ImYt9qTNe79BDgjK7y7TUQ@public.gmane.org>
    2017-02-15 23:41   ` Passing LUA script via python rados execute Noah Watkins
    2017-02-15 23:42 ` Noah Watkins
         [not found]   ` <3177d648.AEQAH1DOmSwAAAAAAAAAAF3gdzcAADNJBWwAAAAAAACRXwBYphEb@mailjet.com>
    2017-02-16 21:00     ` Noah Watkins
         [not found]       ` <1cadb44c.ADsAAGb8C0gAAAAAAAAAAF3gdzcAADNJBWwAAAAAAACRXwBYphQY@mailjet.com>
    2017-02-16 22:17         ` Noah Watkins
         [not found]           ` <3a5eb209.AEEAIECau6cAAAAAAAAAAF3gdzcAADNJBWwAAAAAAACRXwBYp3rL@mailjet.com>
         [not found]             ` <3a5eb209.AEEAIECau6cAAAAAAAAAAF3gdzcAADNJBWwAAAAAAACRXwBYp3rL-ImYt9qTNe79BDgjK7y7TUQ@public.gmane.org>
    2017-02-18 19:55               ` Noah Watkins
         [not found]                 ` <CAB2gnbWXWcj=O1LKKMGCn2X6h_T46x9Ypaupy2u7wQHdBV2CJA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
    2017-02-18 22:39                   ` Nick Fisk
         [not found]                 ` <5ad9bb93.AEQAH3DlQ6gAAAAAAAAAAF3gdzcAADNJBWwAAAAAAACRXwBYqM0y@mailjet.com>
    2017-02-18 23:58                   ` Noah Watkins
    2017-02-19 20:15                 ` Patrick Donnelly
    2017-02-20  8:43                   ` Josh Durgin
         [not found]                     ` <10499347-8c11-83fb-9778-e95049668c6c-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
    2017-02-21 21:45                       ` Nick Fisk
         [not found]                     ` <c36e222c.AEEAIIaNAn4AAAAAAAAAAF3gdzkAADNJBWwAAAAAAACRXwBYrLT9@mailjet.com>
    2017-02-21 21:59                       ` Patrick Donnelly
    

    This is an external index of several public inboxes,
    see mirroring instructions on how to clone and mirror
    all data and code used by this external index.