Jason Gerard DeRose
39dfffd280
Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2
2008-10-24 15:11:27 -06:00
Jason Gerard DeRose
f80beb948b
Added ipalib/constants.py; added Env._load_config() method along with comprehensive unit tests for same
2008-10-24 15:07:07 -06:00
Rob Crittenden
34520981ee
Don't allow service-add to create host/ principals
2008-10-24 14:17:20 -04:00
Rob Crittenden
8788afe184
Use posixAccount instead of person to identify users
...
Add output_for_cli to service-find
2008-10-24 11:41:39 -04:00
Rob Crittenden
6a8026f974
If a password is supplied then this host will be bulk-enrolled
...
A bulk-enrolled host does not get a kerberos service principal until
enrollment time.
2008-10-24 11:41:38 -04:00
Jason Gerard DeRose
2ec0312eb6
Finished doodle with stricter version of Environment
2008-10-24 01:51:36 -06:00
Jason Gerard DeRose
59a2cffff4
IPAError now more appropriately subclasses from StandardError instead of Exception
2008-10-23 21:21:51 -06:00
Rob Crittenden
d2b46f176e
Use common display function for user-show and user-find.
...
Add --all option to user-find
Fix command-line help to make sense on searches as well
2008-10-23 14:36:24 -04:00
Rob Crittenden
06a82bf4b6
Fix ipa command running in server_context=True
...
Make the LDAP host and port environment variables
More changes so that commands have a shell return value
lite-xmlrpc no longer hardcodes the kerberos credentials cache location
2008-10-23 11:00:50 -04:00
Rob Crittenden
1daf319a19
Implement the host commands
...
In order for this to work against a v1 database the update host.update needs to
be applied
2008-10-22 17:54:04 -04:00
Rob Crittenden
f189b02996
Return a value to the shell that called ipa
2008-10-22 17:52:32 -04:00
Jason Gerard DeRose
f8ffede3b9
Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2
2008-10-21 17:35:42 -06:00
Rob Crittenden
245969858d
Implement group member add/remove
...
Add gidNumber to the group command-line
2008-10-21 16:33:34 -04:00
Rob Crittenden
3cbb5c6eeb
Don't import servercore
2008-10-21 16:32:45 -04:00
Rob Crittenden
8d07faed4d
Update the command-line options to more closely match v1
2008-10-21 16:32:30 -04:00
Rob Crittenden
bc5edcf893
Gracefully handle keyboard interrupts (^C)
2008-10-21 14:42:13 -04:00
Jason Gerard DeRose
5e0a0fa745
In second example in NameSpace docstring, renamed 'member' class to 'Member' to make the example clearer
2008-10-21 08:47:08 -06:00
Jason Gerard DeRose
603baf6b10
Fixed typos in tables in docstrings for Attribute and Method
2008-10-21 08:42:52 -06:00
Rob Crittenden
475265ed37
Implement --all option to display all attributes.
...
Still need to strip the dn when not doing all.
2008-10-21 09:32:48 -04:00
Rob Crittenden
6b998ed479
Make boolean options work like standard OptionParser booleans
2008-10-21 09:32:48 -04:00
Jason Gerard DeRose
658ba6dc33
Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2
2008-10-20 22:32:10 -06:00
Rob Crittenden
8c54f730c0
Framework for doing password changes
...
Need mechanism to prompt for new password twice and verify they are the same
2008-10-20 22:41:53 -04:00
Jason Gerard DeRose
461f547e6a
Added docstring (with example) to frontend.Attribute class
2008-10-20 20:28:24 -06:00
Jason Gerard DeRose
c818fe1d2d
Added docstring (with examples) to frontend.Method class
2008-10-20 19:57:02 -06:00
Jason Gerard DeRose
ac0a019605
Reworked 'plugins' command to use output_for_cli()
2008-10-20 18:57:03 -06:00
Jason Gerard DeRose
bb978e591b
Fixed bug in DefaultFrom where impleied keys were using entire func_code.co_varnames instead of an approprate slice
2008-10-20 16:45:32 -06:00
Rob Crittenden
d615e4dafb
Port pwpolicy plugin to use b_ldap
...
Add basic output_for_cli() function to user-show
2008-10-20 16:12:19 -04:00
Martin Nagy
18e74643a6
Add comments in config.py and fix Environment.get()
2008-10-20 19:54:30 +02:00
Jason Gerard DeRose
77a378bd61
Some PEP-257 and reStructuredText cleanup in plugable.py
2008-10-18 01:02:31 -06:00
Jason Gerard DeRose
5c5641e8c2
Added some more examples to Param docstrings
2008-10-18 00:16:22 -06:00
Jason Gerard DeRose
675fadc641
Some PEP-257 and reStructuredText fixes in ipalib/aci.py, ipa_server/ipaldap.py
2008-10-17 23:25:50 -06:00
Jason Gerard DeRose
80ccf8b1c6
Reworked load_plugins so it doesn't use imp.load_module() to load from the plugins/ sub-packages, which previously caused them to be loaded multiple times when runnig the doctests
2008-10-17 22:09:50 -06:00
Jason Gerard DeRose
721982870e
Removed generic Command.output_for_cli() method; CLI.run_interactive() now only calls output_for_cli() if it has been implemented
2008-10-17 21:05:03 -06:00
Jason Gerard DeRose
f1eb74e22c
make-test now runs doctests also; fixed several broken doctests
2008-10-17 20:50:34 -06:00
Jason Gerard DeRose
8322138f38
Added new Param.flags attribute (set with flags=foo kwarg)
2008-10-17 19:34:26 -06:00
Jason Gerard DeRose
f7b7fa5553
Cleaned up ipalib package-level docstring, removed broken cross-referce to
2008-10-17 19:11:26 -06:00
Martin Nagy
3a80297b04
Reworking Environment, moved it to config.py
2008-10-17 23:11:51 +02:00
Rob Crittenden
ae8370be44
Port f_service to LDAP backend
...
Add new keyword, 'filter', that can be passed to the search function.
This is globbed onto the filter that is auto-created.
2008-10-17 19:20:23 -04:00
Rob Crittenden
b045f22069
Add mod_python-based XML-RPC server.
...
Use -e kerberos on the command-line to use the mod_python server, otherwise
it defaults to use the simple-server URL.
2008-10-16 23:33:44 -04:00
Rob Crittenden
f777f72de6
Use the search fields from the configuration when searching
...
Generalize the attribute -> objectclass search helper
2008-10-16 15:00:30 -04:00
Rob Crittenden
5748fce84c
Remove references to ipa_server.* and port group plugin to ldap backend
2008-10-16 10:59:03 -04:00
Rob Crittenden
12f1e7fdf7
Remove all references to ipa_server.* from user plugin
2008-10-16 10:32:20 -04:00
Rob Crittenden
1a8317ff74
Port group-add to use LDAP backend
...
Have create and update return the record that was just added/modified
2008-10-15 17:46:01 -04:00
Rob Crittenden
14a33d4619
Fix some remaining merge issues and don't use forward() in user-*lock()
2008-10-15 16:50:46 -04:00
Rob Crittenden
3268b65ae0
Initial implementation of a generic search routine.
2008-10-15 16:12:27 -04:00
Jason Gerard DeRose
af7c0ee595
Resolved conficts in Rob's merge
2008-10-15 12:24:15 -06:00
Rob Crittenden
789a248daa
Port user-mod to use ldap update() method
2008-10-15 09:58:29 -04:00
Rob Crittenden
e7937f2944
Add missing * to *kw to make it pass named arguments instead of positional
2008-10-15 09:57:49 -04:00
Rob Crittenden
f7c044495a
Port user_del to CrudBackend
...
Override output_for_cli() to generate nicer output
2008-10-14 22:48:57 -04:00
Rob Crittenden
cfc8450efd
Port user-show to new CrudBackend framework
2008-10-14 22:22:01 -04:00
Rob Crittenden
1c3f81852c
Move some functionality from user-add to the backend ldap create function
2008-10-14 21:28:06 -04:00
Jason Gerard DeRose
0ebdbaa450
Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2
2008-10-14 15:45:57 -06:00
Rob Crittenden
30664cde88
Move some functionality from user-add to the backend ldap create function
2008-10-14 17:46:36 -04:00
Martin Nagy
ff88652a40
Convert string values to boolean when generating environment
2008-10-14 21:22:44 +02:00
Jason Gerard DeRose
9788800aa4
More work on making user-add use Backend.ldap
2008-10-14 02:23:56 -06:00
Jason Gerard DeRose
1480224724
Started roughing out user_add() using api.Backend.ldap; added Command.output_for_cli() to take care of formatting print output
2008-10-14 01:45:30 -06:00
Jason Gerard DeRose
20fa90cfb6
Some small cleanup on Environment, filled in docstrings
2008-10-14 00:39:23 -06:00
Jason Gerard DeRose
149912d0e7
Added ldap.get_user_dn() method
2008-10-14 00:38:17 -06:00
Jason Gerard DeRose
446037fd60
Added Object.get_dn() method; added corresponding unit tests
2008-10-13 23:26:24 -06:00
Jason Gerard DeRose
22669f1fc2
CLI.run_interactive() now uses Param.cli_name instead of Param.name for prompts and errors
2008-10-13 22:00:18 -06:00
Jason Gerard DeRose
2357360e2a
Command.params are now sorted the same way as Object.params (make user-add prompt for first, last before login)
2008-10-13 21:53:03 -06:00
Jason Gerard DeRose
b6dcd183a6
CLI now maps Param.cli_name to Param.name
2008-10-13 20:31:10 -06:00
Jason Gerard DeRose
8674086b85
Param now takes cli_name kwarg that sets Param.cli_name attribute
2008-10-13 17:24:23 -06:00
Jason Gerard DeRose
367143adf3
Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2
2008-10-13 15:39:14 -06:00
Rob Crittenden
6d2705b363
Implement user lock and unlock
2008-10-13 17:17:00 -04:00
Rob Crittenden
19465318ce
Fix up a comment
2008-10-13 15:17:31 -04:00
Rob Crittenden
fc9f057792
Initial implementation of password policy
2008-10-13 15:01:08 -04:00
Rob Crittenden
0ebaad6462
Do a more specific search for the user
2008-10-13 14:59:48 -04:00
Jason Gerard DeRose
225e2b0c93
Added CrudBackend abstract class defining generic CRUD API
2008-10-13 09:50:29 -06:00
Rob Crittenden
39ad5ccffa
Stub out delegations
...
Add ACI class
2008-10-11 00:49:05 -04:00
Rob Crittenden
250734aea5
Fix syntax error
2008-10-10 14:38:09 -04:00
Rob Crittenden
75bad44c27
Enable the verbose flag to pass thru xmlrpc
2008-10-10 05:23:00 -04:00
Rob Crittenden
42cdca3e83
Use new options handler
2008-10-10 03:40:52 -04:00
Rob Crittenden
dbe49423ab
Start service principal plugin
2008-10-10 03:36:57 -04:00
Rob Crittenden
5d2a99925d
Implement group-mod
2008-10-10 03:36:57 -04:00
Rob Crittenden
8a97b3e8a8
Implement group-del
2008-10-10 03:36:57 -04:00
Rob Crittenden
5c07d97865
Slight change to how exceptions are handled
2008-10-10 03:36:57 -04:00
Rob Crittenden
83bb41faeb
Mechanism to convert from xmlrpclib.Fault to an IPAError exception
...
Include slew of new exceptions, not all of which are used yet
2008-10-10 03:36:56 -04:00
Rob Crittenden
672c07566d
Implement user-del
...
rename is_user_unique() to user_exists()
2008-10-10 03:36:56 -04:00
Jason Gerard DeRose
87390665f6
crud.Add.get_args() and get_options() now yield static values in takes_args, takes_options after the automagic ones
2008-10-09 11:33:35 -06:00
Jason Gerard DeRose
887016e69d
Base Command.execute() method now raises NotImplementedError; updated unit tests
2008-10-08 18:18:13 -06:00
Jason Gerard DeRose
b7fe92f44f
Reorganized Command methods so it is easier to understand and added lots of docstrings
2008-10-08 18:01:22 -06:00
Jason Gerard DeRose
fec6fc2e8c
Fixed example in raise_TypeError() docstring (thanks, mnagy)
2008-10-07 22:35:45 -06:00
Jason Gerard DeRose
7721443a62
Moved ipalib/tests/ into tests/test_ipalib/
2008-10-07 20:41:15 -06:00
Jason Gerard DeRose
b2b5b904bc
Made package-level docstrings more consistent so they read better in generated documentation
2008-10-07 20:07:16 -06:00
Jason Gerard DeRose
c747c12fb2
Merge branch 'master' of git://git.engineering.redhat.com/users/rcritten/freeipa2
2008-10-07 17:00:36 -06:00
Martin Nagy
732785b997
Add tests for config.py
2008-10-08 00:07:44 +02:00
Martin Nagy
4a1c4a3fe3
Implement argument parsing for the CLI
2008-10-08 00:07:44 +02:00
Martin Nagy
4a68c719f0
Implement config file reading
2008-10-08 00:07:44 +02:00
Rob Crittenden
db9d8dd3e0
Implement a real user_find and move existing user_find to user_show
2008-10-07 06:15:34 -04:00
Rob Crittenden
e012e860b4
Implement user-mod
2008-10-07 04:31:22 -04:00
Rob Crittenden
69bc5ad77a
Add some more supporting functions
...
Do a little bit more error handling and checking
2008-10-07 02:10:15 -04:00
Rob Crittenden
cb795fa14b
Add group plugin, routine to get cn=ipaconfig
2008-10-04 05:17:11 -04:00
Rob Crittenden
7e4b0a072e
Implement user-find and user-add backend functions so they work over XML-RPC
...
Change port to 8880 to not conflict with a running IPA v1 instance
Encode incoming values from unicode as utf-8 before sending to LDAP
2008-10-04 01:50:59 -04:00
Jason Gerard DeRose
3ffbaac64c
Backend.xmlrpc and simple-server.py now use the xmlrpc_marshal() and xmlrpc_unmarshal() functions respectively
2008-10-02 19:42:06 -06:00
Jason Gerard DeRose
d84e27f0d4
Added ipalib/util.py with xmlrpc_marshal() and xmlrpc_unmarshal() functions; added corresponding unit tests
2008-10-02 19:09:13 -06:00
Jason Gerard DeRose
ed3a5855f3
-m
2008-10-02 17:51:50 -06:00
Jason Gerard DeRose
993b9f4f63
Command.get_default() now only returns a defaults for required values
2008-10-02 17:46:48 -06:00
Martin Nagy
149429f305
Environment is now subclassed from object, rather then dict. Added tests for Environment and config.py
2008-10-02 17:22:41 -06:00
Jason Gerard DeRose
6000b6b5c6
Implemented basic Command.forward() method
2008-10-02 17:02:24 -06:00
Jason Gerard DeRose
0e137110c7
Started on skeleton for xmlrcp client/server
2008-10-02 16:12:19 -06:00
Jason Gerard DeRose
2507b7c674
Clarified docstrings in */plugins/__init__.py; renamed ipa_server/plugins/ipa_ldap.py to b_ldap.py
2008-10-01 16:17:02 -06:00
Jason Gerard DeRose
c846c7d91f
Removed the everything except the envtest command and the user related plugins from f_user.py
2008-10-01 16:10:41 -06:00
Jason Gerard DeRose
e963be1dda
Renamed plugins/example.py to plugins/f_user.py
2008-10-01 15:56:04 -06:00
Jason Gerard DeRose
cc93e45e13
Removed depreciated override.py module
2008-10-01 15:53:21 -06:00
Jason Gerard DeRose
af6653f607
Added skeleton for kerberos backend
2008-10-01 15:50:04 -06:00
Jason Gerard DeRose
7ee0ccd90d
Fixed unit tests; changed example.py so it doesn't import servercore
2008-09-30 20:27:52 -06:00
Rob Crittenden
77e6c99f9d
Migrate to new source tree layoute
2008-09-30 19:37:35 -06:00
Rob Crittenden
b965e558b5
Rebase XML-RPC client and server
...
Fix error handling in server to return exceptions generated in library code
2008-09-30 19:37:35 -06:00
Martin Nagy
afdc721038
Add support for environment variables, change tests accordingly
2008-09-29 17:45:14 -06:00
Jason Gerard DeRose
d77907d2d0
373: Replaced type_ optional arg to Param.__init__() with pure kw arg type; updated unit tests and related code
2008-09-27 01:30:39 +00:00
Jason Gerard DeRose
8901b9a837
372: Started work on docstring for Param class
2008-09-27 00:31:59 +00:00
Jason Gerard DeRose
031daabcc4
371: Added examples to parse_param_spec() docstring and changed syntax guide into a reStructuredText table
2008-09-26 23:41:51 +00:00
Jason Gerard DeRose
7bbd81d831
370: Added detailed examples to decstring for DefaultFrom class
2008-09-26 22:52:15 +00:00
Jason Gerard DeRose
aa45ec616a
369: Added Object.backend attribute used to associated it with a particular backend component
2008-09-26 02:43:11 +00:00
Jason Gerard DeRose
0c3ebe0bef
367: Implementing basics of loading plugins out of tree
2008-09-25 23:21:41 +00:00
Jason Gerard DeRose
ac88500382
366: Ported user_* example Commands to crud base classes; added user_show example command
2008-09-25 03:58:42 +00:00
Jason Gerard DeRose
55ba8e9d0b
365: Implemented find.get_args(), find.get_options(); added corresponding unit tests
2008-09-25 03:47:22 +00:00
Jason Gerard DeRose
ddbe3ae934
364: Implemented Mod.get_args, Mod.get_options(); added corresponding unit tests
2008-09-25 03:42:38 +00:00
Jason Gerard DeRose
152f3089e1
363: Added Object.params_minus_pk instance attribute
2008-09-25 03:27:40 +00:00
Jason Gerard DeRose
c303a06a94
362: Implemented Get.get_args() and Del.get_args(); added corresponding unit tests
2008-09-25 03:14:12 +00:00
Jason Gerard DeRose
023f612921
361: Implemented crud.Add.get_options() method; added corresponding unit tests
2008-09-25 02:13:16 +00:00
Jason Gerard DeRose
9f704e001d
360: Removed Method.get_options() default implementation; cleaned up unit tests for Method
2008-09-25 01:52:34 +00:00
Jason Gerard DeRose
54c97b4948
359: Added Object.primary_key instance attribute; added corresponding unit tests
2008-09-25 01:44:53 +00:00
Jason Gerard DeRose
4267422793
358: Cleaned up private methods in Object
2008-09-25 01:04:10 +00:00
Jason Gerard DeRose
e84dd7a69d
357: Some experimenting with the example plugins
2008-09-25 00:58:16 +00:00
Jason Gerard DeRose
4747563a80
356: Modified Method.get_options() to now pull from self.obj.params(); updated unit tests for Method.get_options()
2008-09-25 00:42:38 +00:00
Jason Gerard DeRose
79b33ad366
355: Object.set_api() now creates Object.params namespace by merging takes_params and properties together intelegintly
2008-09-25 00:00:58 +00:00
Jason Gerard DeRose
f531f7da81
354: Added NameSpace.__todict__() method that returns copy of NameSpace.__map; updated NameSpace unit test to also test __todict__()
2008-09-24 23:49:44 +00:00
Jason Gerard DeRose
be2e323bbf
353: The Object.parms instance attribute is now created in Object.set_api() instead of in Object.__init__()
2008-09-24 23:29:15 +00:00
Jason Gerard DeRose
c3b09b2116
352: Now removed Object.Property property and added in its place Object.properties instance attribute
2008-09-24 23:19:34 +00:00
Jason Gerard DeRose
3d6ab69b46
351: Removed Object.Method property and added in its place Object.methods instance attribute
2008-09-24 22:19:43 +00:00
Jason Gerard DeRose
e2a680d7c9
350: If Param default_from kwarg is callable but not a DefaltFrom instances, the instance is created implicity
2008-09-24 22:05:01 +00:00
Jason Gerard DeRose
755ea8d0c2
349: Improved clarity of local variables in Param.__init__()
2008-09-24 21:57:34 +00:00
Jason Gerard DeRose
250a01b5b7
348: If no keys are passed to DefaultFrom.__init__(), the keys from callback.func_code.co_varnames are used; updated DefaultFrom unit tests to test this usage
2008-09-24 21:46:37 +00:00
Jason Gerard DeRose
566d5ea02a
347: Added primary_key instance attribute to Param and corresponding kwarg; expanded unit tests for Param.__init__()
2008-09-24 21:29:15 +00:00
Jason Gerard DeRose
5479a349a8
346: Added skeleton framework for crud.py module and corresponding test_crud.py module
2008-09-24 20:17:53 +00:00
Jason Gerard DeRose
63a26bd604
345: Moved server code from Rob into ipa_server/ package
2008-09-24 19:56:07 +00:00
Jason Gerard DeRose
f8bb60f02d
344: Added Param.__clone__() method; added corresponding unit tests
2008-09-24 19:45:46 +00:00
Jason Gerard DeRose
a79434584e
343: create_param() function no longer parses the param spec itself but relies on Param.__init__() to do it
2008-09-24 18:44:43 +00:00
Jason Gerard DeRose
97f0310a4c
342: Added unit test that TypeError is raised when Param() is created with extra kw args
2008-09-24 18:33:25 +00:00
Jason Gerard DeRose
06d7fb42ec
341: Param now only takes type_=ipa_types.Unicode() as an optional positional arg, and the rest as pure kwargs
2008-09-24 18:27:14 +00:00
Jason Gerard DeRose
792bf7b1d0
340: Changed default for Param.required to True
2008-09-24 18:02:00 +00:00
Jason Gerard DeRose
11a07008b8
339: Added parse_param_spec() function and corresponding unit tests
2008-09-24 17:55:29 +00:00
Jason Gerard DeRose
744406958d
337: Some cleanup in Params; added docstrings for most all Param methods
2008-09-24 07:56:31 +00:00
Jason Gerard DeRose
fb57b91937
336: Param.__dispatch() now returns None for any in (None, '', u'', tuple(), []) regardless whether Param is multivalue
2008-09-24 07:05:43 +00:00
Jason Gerard DeRose
e63c462f31
335: If Command.__convert_scalar() is called with None, it now returns None instead of raising TypeError
2008-09-24 06:48:27 +00:00
Jason Gerard DeRose
4215da30ad
334: Renamed Command.__multivalue() helper method to Command.dispatch()
2008-09-24 06:36:48 +00:00
Jason Gerard DeRose
1125d420bd
333: Param.convert() now uses name Param.__multivalue() helper method as Param.normalize()
2008-09-24 06:35:19 +00:00
Jason Gerard DeRose
6bedb15674
332: Param.normalize() now returns None if multivalue and len() == 0
2008-09-24 06:25:12 +00:00