[ECODP-dev] Problems with paster commands ?
Dimitrios Mexis
dimitrios.mexis at tenforce.com
Mon Jun 17 09:23:27 UTC 2013
Hi John,
for sure will try the operation as many times as needed. But on Friday I
remember that I was using the api keys for sysadmin. and in the end I tried
to do even some "exchange of keys" in the case something I moved from db
to db totally wrong.
Thanks for your immediate answers
Dimitrios
On Mon, Jun 17, 2013 at 11:02 AM, John Glover <john.glover at okfn.org> wrote:
> Hi Dimitrios,
>
> We did not provide those bash scripts so you will have to look at problems
> with them on your side. If you have a CKAN paster command or API command
> that is not behaving as expected then I will be happy to look at it if you
> provide an example.
>
> In that error message you seem to be getting a NotAuthorized error. If
> this is using a API command, you need to double check that you are using a
> valid API key for a sysadmin user.
>
> To list sysadmins:
> /applications/ecodp/users/ecodp/ckan/ecportal/bin/paster --plugin=ckan
> sysadmin list -c /applications/ecodp/users/ecodp/ckan/conf/ecportal.ini
>
> To view their API keys:
> /applications/ecodp/users/ecodp/ckan/ecportal/bin/paster --plugin=ckan
> user <user ID> -c /applications/ecodp/users/ecodp/ckan/conf/ecportal.ini
>
> Regards,
> John
>
>
> On 14 June 2013 10:53, Dimitrios Mexis <dimitrios.mexis at tenforce.com>wrote:
>
>> Running the following commands like :
>> ./ckan_create_publ_user.sh mexis acp b850f583-0639-4521-9eae-3d6da8d52b5e
>> http://*192.168.39.102*
>>
>> OR
>>
>> ./ckan_create_publ_user.sh mexis acp 6812eaea-404a-4c72-a6de-8f45ab4d7e95
>> http://*192.168.33.87*
>>
>> where 102 is the Test machine you have been provided, and 87 is our test
>> machine.
>> *87 has migrated data from 1.7 version. while 102 is 1.8.*
>>
>> *produce both the error [below we copied the script ] :*
>> *Traceback (most recent call last):*
>> * File "/applications/ecodp/users/ecodp/ckan/ecportal/bin/paster", line
>> 9, in <module>*
>> * load_entry_point('PasteScript==1.7.5', 'console_scripts',
>> 'paster')()*
>> * File
>> "/applications/ecodp/users/ecodp/ckan/ecportal/lib/python2.6/site-packages/paste/script/command.py",
>> line 104, in run*
>> * invoke(command, command_name, options, args[1:])*
>> * File
>> "/applications/ecodp/users/ecodp/ckan/ecportal/lib/python2.6/site-packages/paste/script/command.py",
>> line 143, in invoke*
>> * exit_code = runner.run(args)*
>> * File
>> "/applications/ecodp/users/ecodp/ckan/ecportal/lib/python2.6/site-packages/paste/script/command.py",
>> line 238, in run*
>> * result = self.command()*
>> * File
>> "/applications/ecodp/users/ecodp/ckan/ecportal/src/ckan/ckan/lib/cli.py",
>> line 595, in command*
>> * self.add()*
>> * File
>> "/applications/ecodp/users/ecodp/ckan/ecportal/src/ckan/ckan/lib/cli.py",
>> line 704, in add*
>> * user_dict = logic.get_action('user_create')(context, data_dict)*
>> * File
>> "/applications/ecodp/users/ecodp/ckan/ecportal/src/ckanext-ecportal-release-v1.8.1/ckanext/ecportal/logic.py",
>> line 381, in user_create*
>> * return logic.action.create.user_create(new_context, data_dict)*
>> * File
>> "/applications/ecodp/users/ecodp/ckan/ecportal/src/ckan/ckan/logic/action/create.py",
>> line 673, in user_create*
>> * _check_access('user_create', context, data_dict)*
>> * File
>> "/applications/ecodp/users/ecodp/ckan/ecportal/src/ckan/ckan/logic/__init__.py",
>> line 210, in check_access*
>> * raise NotAuthorized(msg)*
>> *ckan.logic.NotAuthorized: You are not authorized to create new users*
>> * % Total % Received % Xferd Average Speed Time Time Time
>> Current*
>> * Dload Upload Total Spent Left
>> Speed*
>> *118 988 109 988 0 82 959 79 0:00:01 0:00:01
>> --:--:-- 881*
>> *{"help": "Make an object (e.g. a user, dataset or group) a member of a
>> group.\n\n If the object is already a member of the group then the capacity
>> of the\n membership will be updated.\n\n You must be authorized to edit the
>> group.\n\n :param id: the id or name of the group to add the object to\n
>> :type id: string\n :param object: the id or name of the object to add\n
>> :type object: string\n :param object_type: the type of the object being
>> added, e.g. ``'package'``\n or ``'user'``\n :type object_type: string\n
>> :param capacity: the capacity of the membership\n :type capacity:
>> string\n\n :returns: the newly created (or updated) membership\n :rtype:
>> dictionary\n\n ", "success": true, "result": {"capacity": "editor",
>> "state": "active", "table_id": "User: None", "table_name": "user",
>> "revision_id": "df664eec-fa69-475b-9101-f832fe205ee4", "group_id":
>> "d8701996-6f54-4d50-afeb-4a797f8005a0", "id":
>> "a9f43462-5804-4a2f-8d1f-0288a0b37fbc"}}*
>>
>>
>>
>> *The relevant script is :*
>> *#!/bin/bash*
>> *
>> *
>> *if [ $# -lt 4 ] ; then*
>> * echo "4 arguments are mandatory"*
>> * echo "arg1 the username"*
>> * echo "arg2 the publishers acronym"*
>> * echo "arg3 the sysadmin api key"*
>> * echo "arg4 the frontend prefix in the form http://\$FRONTEND"*
>> * exit*
>> * fi*
>> *
>> *
>> *source ./paster.sh*
>> *
>> *
>> *
>> *
>> *# arg1 is username*
>> *# password will be prompted*
>> *# arg2 is publisher acronym, lower cased e.g. cnect*
>> *# arg3 is the sysadmin api key*
>> *# arg4 is the frontend hostname/ip-address prefix of the form http://
>> $FRONTEND*
>> *
>> *
>> *# create a new user*
>> *
>> *
>> *# Run the paster command, referencing the .ini file*
>> *paster --plugin=ckan user add $1 -c $CKAN_INI*
>> *USERDESC=`paster --plugin=ckan user $1 -c $CKAN_INI`*
>> *
>> *
>> *# alternative 1: insert via updating the group information*
>> *#GroupDef=`curl -X POST "$4/data/api/3/action/group_show" -d "{\"id\":
>> \"$2\"}" -H "Authorization: $3"`*
>> *#GroupDef2=`echo $GroupDef | sed -e "s/^.*result...{/{/" | sed -e
>> "s/}$//" `*
>> *#echo $GroupDef*
>> *
>> *
>> *#GroupDef3=`echo $GroupDef2 | sed -e "s/users\": \[/users\":
>> \[{\"name\": \"$1\", \"capacity\": \"editor\"},/" `*
>> *#echo $GroupDef3*
>> *
>> *
>> *#GroupUpdate=`curl -X POST "$4/data/api/3/action/group_update" -d
>> "$GroupDef3" -H "Authorization: $3"`*
>> *
>> *
>> *
>> *
>> *# alternative 2: insert via a specific call*
>> *UserID=` echo $USERDESC | sed -e "s/ name.*//" | sed -e "s/^.*id=//" `*
>> *GroupUpdate2=`curl -X POST "$4/data/api/3/action/member_create" -d
>> "{\"id\": \"$2\", \"object\": \"$UserID\", \"object_type\": \"user\",
>> \"capacity\": \"editor*
>> *\"}" -H "Authorization: $3"`*
>> *echo $GroupUpdate2*
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.okfn.org/mailman/private/ecodp-dev/attachments/20130617/0025b116/attachment.html>
More information about the ecodp-dev
mailing list