Commit Graph

456 Commits (708f0b07babcdea22a12e6a1b6132462b1003bc8)

Author SHA1 Message Date
James Cammarata 040893a677 Adding a config option to allow disabling locale settings upon module exec
Fixes #15138
9 years ago
Toshio Kuratomi 4b0aa1214c Ziploader
* Ziploader proof of concept (jimi-c)

* Cleanups to proof of concept ziploader branch:

* python3 compatible base64 encoding
* zipfile compression (still need to enable toggling this off for
  systems without zlib support in python)
* Allow non-wildcard imports (still need to make this recusrsive so that
  we can have module_utils code that imports other module_utils code.)
* Better tracebacks: module filename is kept and module_utils directory
  is kept so that tracebacks show the real filenames that the errors
  appear in.

* Make sure we import modules that are used into the module_utils files that they are used in.

* Set ansible version in a more pythonic way for ziploader than we were doing in module replacer

* Make it possible to set the module compression as an inventory var

This may be necessary on systems where python has been compiled without
zlib compression.

* Refactoring of module_common code:

* module replacer only replaces values that make sense for that type of
  file (example: don't attempt to replace python imports if we're in
  a powershell module).
* Implement configurable shebang support for ziploader wrapper
* Implement client-side constants (for SELINUX_SPECIAL_FS and SYSLOG)
  via environment variable.
* Remove strip_comments param as we're never going to use it (ruins line
  numbering)

* Don't repeat ourselves about detecting REPLACER

* Add an easy way to debug

* Port test-module to the ziploader-aware modify_module()

* strip comments and blank lines from the wrapper so we send less over the wire.

* Comments cleanup

* Remember to output write the module line itself in powershell modules

* for line in lines strips the newlines so we have to add them back in
9 years ago
Linus Arver 0814a37a76 examples/ansible.cfg: add vault_password_file 9 years ago
James Cammarata 2c20579a06 Add options to make includes 'static'
* Can be configured in the ansible.cfg for tasks/handlers individually
* If an included filename contains no vars or loops, it will be expanded
  in-place as if it were marked as static
9 years ago
Toshio Kuratomi 52e9209491 Don't create world-readable module and tempfiles without explicit user permission 9 years ago
Matthew Gamble 7b06ec79e3 Add documentation for squash_actions configuration setting 9 years ago
Toshio Kuratomi 512825455e Make ohai and facter work via module_utils Fact classes rather than in the setup module 9 years ago
Yannig Perré 88772b6003 Add a way to restrict gathered facts in Ansible:
- Using gather_subset options
- By ignoring ohai/chef or facter/puppet facts
9 years ago
Matt Clay ba1bcdfc17 Add noseclabel support to libvirt_lxc plugin. 9 years ago
Brian Coca e74ab3ecdd draft 1st release of ansible-console
porting @dominis 's ansible-shell tool from 1.9 and integrating it into ansible
added verbosity control
made more resilitent to several errors
added highlight color, to configurable colors
more resilient on exception and interruptions
prompt coloring, goes red and changes to # when using become = true and root
become setting is now explicit and not a toggle
9 years ago
Kishin Yagami 299c18d700 Support strategy_plugins setting in a configuration file 9 years ago
Brian Coca c24249c57d made max diff size configurable 9 years ago
Matt Davis 840cda741d Merge pull request #12363 from breathe/devel
allow ConfigureRemotingForAnsible.ps1 script from public zone
9 years ago
Michael Crilly e9fe5f201f $SubjectName variable unused; clean up
Having used this script several times today, I came to notice the $SubjectName variable, being passed in via the CLI, is essentially ignored when generating the SSL certificates, rendering it useless. I believe it's a good idea to have it in place, so I've updated the script to reflect this.

I also cleaned up some random new lines throughout the file, and expanded on a comment.

It might be worth going a step further and commenting the file fully, as most people reviewing this file won't be familiar with PowerShell (like I wasn't unitl a few days ago). It could be helpful.
9 years ago
Gabriel Burkholder c4ecbad663 Cleans up extra whitespace in ansible.cfg 9 years ago
James Cammarata 9112f5af3a Merge pull request #14535 from b4ldr/update_uptime_for_api_2
update uptime script to use version 2.0 of the api
9 years ago
Toshio Kuratomi 86b8dc0e79 Add a configuration setting that allows the user to specify printing of task arguments in the header.
Fixes #14554
9 years ago
Brian Coca 0a4642fcc2 added examples for new diff color configs 9 years ago
b4ldr 439baf004e update uptime script to use version 2.0 of the api 9 years ago
Brian Coca d3deb24ead output color is now configurable 9 years ago
Brian Coca 2bfb13bfb3 removed unused 'pattern' from ansible.cfg
also moved the config param to a 'deprecated' list in constants.py
added TODO for producing a deprecation warning for such vars
9 years ago
Luca Berruti 8ea45e8608 Make no_target_syslog consistent.
no_target_syslog = False --> do log on target
9 years ago
“Brice e8954e556a comment examples in default hosts file 9 years ago
Toshio Kuratomi 9caa2b0452 Revert "Update docs and example config for requiretty + pipelining change"
This reverts commit f873cc0fb5.

Reverting pipelining change for now due to hard to pin down bugs: #13410  #13411
9 years ago
Toshio Kuratomi f873cc0fb5 Update docs and example config for requiretty + pipelining change 9 years ago
James Cammarata efbc6054a4 Add variable compression option 9 years ago
Brian Coca 0712ec756b commented out all settings in exampmle ansible.cfg as we really only want to set when diff from defaults 9 years ago
bastianharren b39b474def stdout_callback instead of callback_stdout 9 years ago
Brian Coca b2fc5142eb moved sudo -S and -n into configurable flags as they might be absent in much older systems
if password is supplied exsiting -n would get remove from flags
9 years ago
Toshio Kuratomi cd9d6c8b5b Remove unused ca_file_path as it has not been hooked up to code for a long time (if ever) and is confusing people For instance, #12884 9 years ago
James Cammarata dce58a78c9 Make random cowsay truly random
Also adds a cowsay whitelist config option, because there are some
truly NSFW stencils that come with cowsay by default.
9 years ago
Ananya W Cleetus 45258b113d Update DOCUMENTATION.yml 9 years ago
Greg DeKoenigsberg 0a21e2ab4d Add github ID to documentation example 9 years ago
Brian Coca bb6141ec41 renamed managed_syslog to no_target_syslog 9 years ago
Brian Coca 37a918438b task logging revamp
* allow global no_log setting, no need to set at play or task level, but can be overriden by them
 * allow turning off syslog only on task execution from target host (manage_syslog), overlaps with no_log functionality
 * created log function for task modules to use, now we can remove all syslog references, will use systemd journal if present
 * added debug flag to modules, so they can make it call new log function conditionally
 * added debug logging in module's run_command
9 years ago
Nathaniel Cohen 8b6f8ff928 Document -SkipNetworkProfileCheck switch 9 years ago
Paul Freeman 87fc5640d4 Comments to explain retry_files_enabled and retry_files_save_path 9 years ago
Brian Coca 4aea1f6568 normalized plugin paths and names and configs 9 years ago
Nathaniel Cohen be452c1b27 allow ConfigureRemotingForAnsible.ps1 script to function from 'public' adapters
The current script fails on machines which have network interfaces designated
as connected to "Public" networks (choices for network designation being
Private, Domain, Public).  This commit changes the script to NOT prevent winrm
initialization when device is connected to a "Public" network.
9 years ago
Marius Gedminas 823677b490 Replace .iteritems() with six.iteritems()
Replace .iteritems() with six.iteritems() everywhere except in
module_utils (because there's no 'six' on the remote host).  And except
in lib/ansible/galaxy/data/metadata_template.j2, because I'm not sure
six is available there.
9 years ago
nitzmahone 74694b2b0d moved WinRM setup script test after config 9 years ago
Brian Coca 49eb95e2d1 some fixes to become/sudo
* now it uses -n to get immediate error if no password is supplied and one is needed,
   this should fix the issue with sudo hanging waiting for input.
 * made -k configurable, this can break changing become_users in play if left out,
   but opens up the possiblity of OTP support.
9 years ago
James Cammarata 7a9916422a Fixing up error handling for fetch_file ops in connection plugins
* enable batch mode (configurable with a config option, on by default)
  for sftp transfers, so we can catch errors more easily
* general cleanup in the local connection plugin and fetch action plugin

Fixes #11612
9 years ago
Brian Coca e9400e9ba5 added commented out callback options 9 years ago
Carlos E. Garcia 657495d13f minor spelling changes 9 years ago
Brian Coca 8bfbe44e5b introduced non changing ansible_managed 9 years ago
Brian Coca 0cd7942155 removed uneeded quotes 9 years ago
Brian Coca 9e37402cb7 added ramfs to selinux ignored filesystems
as reported in #11442
10 years ago
James Cammarata b6c52ce115 Allow role variables to be optionally kept in a private scope 10 years ago
Brian Coca a41caf722d added example of whitelisted callback 10 years ago
Brian Coca e2de336a23 made special treatment of certain filesystem for selinux configurable 10 years ago
Brian Coca 5f6db0e164 preliminary privlege escalation unification + pbrun
- become constants inherit existing sudo/su ones
- become command line options, marked sudo/su as deprecated and moved sudo/su passwords to runas group
- changed method signatures as privlege escalation is collapsed to become
- added tests for su and become, diabled su for lack of support in local.py
- updated playbook,play and task objects to become
- added become to runner
- added whoami test for become/sudo/su
- added home override dir for plugins
- removed useless method from ask pass
- forced become pass to always be string also uses to_bytes
- fixed fakerunner for tests
- corrected reference in synchronize action plugin
- added pfexec (needs testing)
- removed unused sudo/su in runner init
- removed deprecated info
- updated pe tests to allow to run under sudo and not need root
- normalized become options into a funciton to avoid duplication and inconsistencies
- pushed suppored list to connection classs property
- updated all connection plugins to latest 'become' pe

- includes fixes from feedback (including typos)
- added draft docs
- stub of become_exe, leaving for future v2 fixes
10 years ago
Brian Coca 17666a1939 changed default for new retry path to be teh same as current
also added commented out entries in ansible.cfg to show other options
10 years ago
Brian Coca 4fd760467b made inventory consistent in config file, deprecated old config hostfile 10 years ago
Brian Coca 78e1a7ed93 Revert "Fix: Add support for SSL protocol version configuration option" 10 years ago
Brian Coca 9ccabbb95e Merge pull request #9808 from swimlappy/sslconfig
Fix: Add support for SSL protocol version configuration option
10 years ago
Brian Coca 83e6c166f6 fixed bad exampel for library that was library_path, which of course did
not work
10 years ago
Toshio Kuratomi a5b3b59bd1 Comment remote_port in the example ansible.cfg so users do not override their .ssh/config settings by default 10 years ago
Willem Pienaar ac28652602 Fixed error handling for the enabling of PS Remoting 10 years ago
Jason Holland eedc51f213 Add support for SSL protocol version configuration option. Also fix 2 places where the SSL version was not being set properly. 10 years ago
Veres Lajos bf5d8ee678 typofixes - https://github.com/vlajos/misspell_fixer 10 years ago
Chris Church 116109468c Merge pull request #9481 from cipress/patch-1
fixes powershell upgrade script to work on different System architectures.
10 years ago
Chris Church 2f7348fddf Update firewall rules, error handling, other comment/whitespace cleanup. 10 years ago
cipress c1fc0ca4fd Found issue on different System architecture.
On x86 systems doesn't work so, starting by the line 63 we check if the architecture is x86 or x64.
10 years ago
Michael DeHaan e5116d2f9b changes for package loading of modules 10 years ago
Michael DeHaan 2064d26085 Add documentation about bin_ansible_callbacks setting. Standardization and cleanup. 10 years ago
James Cammarata eaa5257588 Replacing the issues template with the updated one from examples 10 years ago
Michael DeHaan a419ffdf41 Make command warnings off by default to minimize surprises. 10 years ago
Michael DeHaan fcb610dec4 Slightly trim down the warnings list based on some things being pretty common
for local usage.
10 years ago
nathansoz f0004b1604 $powershellpath is called as ".$powershellpath"
$powershell path is set to "C:\powershell" at line 27. This is fine, but on line 82 $powershellpath is called as ".$powershellpath\$filename". Because the path at line 27 is absolute, a period preceding the $powershellpath is not required at 82. It actually causes an error:

Start-Process : This command cannot be executed due to the error: Unknown error (0x80041002).
At C:\users\Nathan Sosnovske\Documents\ps2to3.ps1:81 char:14

Start-Process <<<< -FilePath ".$powershellpath\$filename" -ArgumentList /quiet
CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
Removing the period on line 82 before $powershellpath fixes this error.
10 years ago
Michael DeHaan 2629cd3fce Fix some copyrights, fix a misc test. 10 years ago
Michael DeHaan 7c5d23118b Update ISSUE_TEMPLATE.md
Make issue template slightly more verbose.
10 years ago
Trond Hindenes d568966e2c Added script for configuring winrm for Ansible
The script can be used to set up a windows host with WinRM with the least possible effort.
11 years ago
Matt Martz 2316b7785c Make sure the doc stubs for windows modules have proper license headers 11 years ago
Chris Church 2654f7b200 Add copyright header to main winrm test playbook. 11 years ago
Chris Church 43236ca0ed Add basic tests for win_get_url and win_msi modules. 11 years ago
Don Schenck 618b47cd77 Added -Wait flag to Start-Process
Must wait in order for script to be available
11 years ago
Don Schenck 9c4220832a Start-Process
Debugging
11 years ago
Don Schenck 8012fdc448 Start-Process line was wrong
Fixed
11 years ago
Don Schenck e2f5d40a6b Changed launch
Using Start-Process
11 years ago
Chris Church 5b85252043 Add tests for windows setup module. 11 years ago
Paul Durivage bceaf96fd6 Add comments 11 years ago
Don Schenck e5399b12b9 Pipe Get-Process to see what's running 11 years ago
Craig Ackerman cd3edf1eba Added FW commands to allow access to HTTPS listener 11 years ago
Craig Ackerman f42905a9cc Added commands to allow Windows firewall access to WinRM HTTPS listener 11 years ago
Paul Durivage 7e055ec6cc Remove unnecessary obj 11 years ago
Michael DeHaan e621fec7d3 Add notes on powershell script source. 11 years ago
Michael DeHaan 128be9ea27 File rename. 11 years ago
Michael DeHaan 7309b2ad2a Add explanation of windows upgrade details. 11 years ago
Don Schenck 7631c005ca Added logging to UpgradeToPS3.ps1
UpgradeToPS3.ps1 failed when tested with Ansible. Added logging output
to file C:\powershell\install.log.
11 years ago
Don Schenck ef968efa8b Fixed bugs related to .NET Framework version. Version 3.5 or higher is now
assumed.
11 years ago
Don Schenck 5b15194a0d PowerShell script to assure PowerShell 3 is installed
Will install PowerShell 3 if the machine has a lower version. WILL NOT
do anything if PowerShell 3 (or higher) is already installed.
11 years ago
James Cammarata 6069ff6e9e Adding a new system_warnings config option to supress warnings 11 years ago
James Cammarata 18d82d1eb6 Documentation/examples updates for new 1.6 accelerate options
Fixes #6692
11 years ago
Michael DeHaan e639b5382b Change default gathering policy, add to docs. 11 years ago
Brian Coca 18adf07fc6 changed setting values and updated docs 11 years ago
Brian Coca 4dfa40f18e added gathering control to ansible, defaults to 'smart' 11 years ago
Michael DeHaan 84f918d320 Merge pull request #6381 from franckcuny/doc-module-lang
Document the module_lang option.
11 years ago
Franck Cuny fb14b53130 Document the module_lang option.
Closes #6169.
11 years ago
James Cammarata 9730157525 Validate SSL certs accessed through urllib*
* Adds another module utility file which generalizes the
  access of urls via the urllib* libraries.
* Adds a new spec generator for common arguments.
* Makes the user-agent string configurable.

Fixes #6211
11 years ago
Dolph Mathews 8808e029f9 spelling correction for "separate"
s/seperate/separate/

http://en.wiktionary.org/wiki/separate
11 years ago
Michael DeHaan 16d3be03af Remove a few extra legacy variable feature references. 11 years ago
Richard C Isaacson 80ddd1ca75 Config resoution order correction and documentation. 11 years ago
John Barker b8967a231e Fix typos in ISSUE_TEMPLATE.md 11 years ago
James Tanner e0429a4004 Add an issue template 11 years ago
Michael DeHaan d07a3b5e9b AnsibleWorks -> Ansible 11 years ago
James Cammarata 02ce5af6df Added ANSIBLE_SSH_PIPELINING option to enable/disable pipelining support
Pipelining will be disabled by default, since it requires users remove
the 'requiretty' option from the servers sudoers configuration.
11 years ago
Michael DeHaan 31d0060de8 Standardized on yml suffix, so fix this example content filename. 11 years ago
Michael DeHaan 7490e3d61e Update ansible.cfg
Lookup plugins do not warrant settings in ansible.cfg.
11 years ago
a-sk 29a3bb744e Remove quotes aroung etcd_url value
I get errors like this with etcd_url = 'http://127.0.0.1:4001':
urllib2.URLError: <urlopen error unknown url type: 'http>
11 years ago
Jan-Piet Mens bd5cd8e652 Lookup plugin for etcd
with support for configurable etcd URL in ansible.cfg (and environment)
11 years ago
Michael DeHaan fee360f33e Add example.config and main documentation of the roles_path feature. 11 years ago
Thomas Omans 632232259a Adding config flag role_path for common/global roles
Using ANSIBLE_ROLE_PATH environment variable or role_path in ansible.cfg
can configure paths where roles will be searched for
extra paths will only be used as a backup once regular locations are exhausted
11 years ago
Michael DeHaan 65178290e7 Merge branch 'devel' of git://github.com/nextus/ansible into devel
Conflicts:
	lib/ansible/constants.py
11 years ago
James Cammarata b11e12652e Adding new accelerate settings to default config and docs 11 years ago
James Cammarata c8fa83c93f Minor tweaks to the skipped config wording and adding documentation 11 years ago
James Martin d5f20e6b21 Optionally display Skipping [host] messages. 11 years ago
nextus ca96d74572 #4227 in upstream repo 11 years ago
James Cammarata 848a966736 Adding example section to ansible.cfg for the control_path setting 11 years ago
James Cammarata 959138d00d Added accelerate_port to plays, and made it configurable 11 years ago
James Cammarata e09ce0a3a7 Commenting out default ssh arguments line in ansible.cfg
Also removing the ControlPath option, as it will now be auto-generated
if the ControlPersist option is set in the arguments.
11 years ago
James Cammarata ad595eadea Enable error_on_undefined_vars by default 11 years ago
Abhijit Menon-Sen 0c96d8af6e Add a nocolor setting to ansible.cfg 11 years ago
Ted M. Young 28e7a25143 Wrong target for link?
Came to here from http://www.ansibleworks.com/docs/bestpractices.html, but I think the link here meant to go to https://github.com/ansible/ansible-examples and not https://github.com/ansible/ansible-examples/tree/master/language_features?
11 years ago
Michael DeHaan 8a82b5c817 Slight revisement to configuration file comment. 12 years ago
Michael DeHaan cf6e1f8db9 Make it possible to tell paramiko to not record new host keys, which can be slow with a large number of hosts.
-c ssh is preferred in most cases if you have ControlPersist available, otherwise if you are comfortable you
can turn off recording while leaving host key checking on, etc.
12 years ago
Michael DeHaan c55adc9ac9 Default to 'smart' transport, which will use OpenSSH if it can support ControlPersist. 12 years ago
Michael DeHaan d96cedcad1 Example config file should use correct config setting. 12 years ago
Michael DeHaan 9db4f7a9a6 Makes host key checking the default behavior but can be disabled in ansible.cfg or by environment variable. 12 years ago
espro 3eeacaba81 Updated ansible.cfg to be more consistent
Updated the example ansible.cfg to be more consistent in spacing/commented lines
12 years ago
espro a00c7b0c08 Comment remote_user in ansible.cfg
remote_user should not be set in example config. This file is used in rpm .spec for /etc/ansible/ansible.cfg
12 years ago
espro e2cf3b2d29 Update ansible.cfg
Previous commit made config invalid.
12 years ago
Michael DeHaan bac81be3f9 Add undefined variables feature to example config file. 12 years ago
Michael DeHaan 637983cf31 cleanup example config file + Squashed commit of the following:
commit c36b66dc952dfff91043ecbca56cf3f1f8f00703
Merge: 240d7bf f4cf934
Author: Michael DeHaan <michael@ansibleworks.com>
Date:   Tue Jun 18 13:04:51 2013 -0400

    Merge branch 'unevaluated-vars' of git://github.com/lorin/ansible into lorin_undefined

    Conflicts:
    	lib/ansible/runner/__init__.py

commit f4cf934367
Merge: 2531440 07a1365
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu Jun 6 11:07:41 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit 253144045c
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu Jun 6 11:06:37 2013 -0400

    Fail template from file on undefined vars

    If config option is set, raise an exception if templating from a
    file and a variable is undefined.

commit aecb71d8b7
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Wed Jun 5 17:12:12 2013 -0400

    Add fail_on_undefined flag

    Add a fail_on_undefined flag to the template and template_from_string methods.

    If this flag is true, then re-raise the ninja2.excpetions.UndefinedError instead of
    swallowing it.

commit cbb1808f05
Merge: d4bbf49 41425fb
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Wed Jun 5 16:14:12 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit d4bbf492b0
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Mon Jun 3 19:46:13 2013 -0400

    template: Raise UndefinedError exception

    In template_from_string, raise an undefined error if it occurs.

    Have the caller catch it and throw an AnsibleUndefinedVariable

commit c947802805
Merge: 8d919d6 be33bcf
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Mon Jun 3 10:09:43 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit 8d919d6c97
Merge: 0f68ad8 b8630d2
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu May 30 16:27:48 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit 0f68ad8193
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu May 30 14:32:03 2013 -0400

    Optionally fail task on undefined variables

    This patch introduces a new configuration option called
    error_on_undefined_vars, which defaults to false.

    If this option is set to true, then a task which has unevaluated
    variables in its arguments will fail instead of running. Output looks
    like this:

        TASK: [set rabbitmq password] *************************************************
        fatal: [10.20.0.7] => Undefined variables: rabbitmq_user, rabbitmq_password
12 years ago
Michael DeHaan fda74110bd Merge pull request #3202 from trbs/20130613_docs_fix_ansible_cfg_loading_order
docs fix ansible cfg loading order
12 years ago
trbs a4223e119d fixed x-bits in git 12 years ago
trbs 653fac2f5c fix loading order of ansible.cfg in documentation 12 years ago
Michael DeHaan d51ec37a59 Add version added field to notification modules. 12 years ago
Michael DeHaan 9ca0289dee Fixup the module formatter to explain the EXAMPLES string as well. 12 years ago
Michael DeHaan 0748e86f0e Fix documentation about examples in modules so folks use the new style. 12 years ago
Matt Coddington 542eeeb5d6 add option to ignore $legacy variable style substitution 12 years ago
Michael DeHaan 8ef18c2f98 Don't set PasswordAuthentication=no here because the connection plugin will do that unless a password is actually specified with -k/--ask-pass. 12 years ago
Michael DeHaan 601c2db116 Add a note about where the playbook examples have moved to. 12 years ago
Michael DeHaan 5aad416ffe remove playbook examples from main repo. Fear not, these are now in the ansible/ansible-examples repo :) 12 years ago
Michael DeHaan 5342c35f7c Update zfs example 12 years ago
Michael DeHaan b4715cdb9c update user example 12 years ago
Michael DeHaan 8ac6c73803 Simplify description of upgraded_vars example 12 years ago
Michael DeHaan 4d8734f30c Update selective file sources example 12 years ago
Michael DeHaan ae810d3318 update role example 12 years ago
Michael DeHaan a911afaaf2 update roletest example 12 years ago