From 00b602d67df6074e84acbae635314177f1db50a3 Mon Sep 17 00:00:00 2001 From: Ramana Juvvadi Date: Wed, 11 May 2011 09:57:48 -0500 Subject: Modified the README --- README | 85 ++++++++++++++++++++++++++++-------------------------------------- 1 file changed, 36 insertions(+), 49 deletions(-) (limited to 'README') diff --git a/README b/README index 0a7ce0dc..033ec174 100644 --- a/README +++ b/README @@ -1,3 +1,4 @@ + Keystone: Identity Service ========================== @@ -60,14 +61,41 @@ Or using pip: RUNNING KEYSTONE: ----------------- +During development, you can simply run + + $ bin/keystone-auth + +It dumps stdout and stderr onto the terminal. + +In production, stdout and stderr need to be closed and all theoutput needs tobe redirected to a log file. +Once the package is installed through setup tools, RPM, deb, or ebuild keystone-control is installed +as /usr/sbin/keystone-control. Typically, it will be started a script in /etc/init.d/keystoned + +keystone-control can invoke keystone-auth and start the keystone daemon with + + $ /usr/sbin/keystone-control auth start + +It writes the process id of the daemon into /var/run/keystone/keystine-auth.pid. he daemon can be stopped with + + $ /usr/sbin/keystone-control auth stop + +keystone-control has the infrastructure to start and stop multiple servers keystone-xxx + + +The developenmt of keystone-control itself can be done like this + From the topdir - $ bin/keystone-control --config-file etc/keystone.conf --pid-file=pidfile auth + $ bin/keystone-control --pid-file pidfile auth -The "start" command invokes bin/keystone-auth. During development you can also run +config.py takes the config file from topdir/etc/keystone.conf - $ bin/keystone-auth etc/keystone.conf +If the keystone package is also intalled on the system +/etc/keystone.conf or /etc/keystone/keystone.conf has higher priority +than top_dir/etc/keystone.conf. If you are also doing development on a +system that has keystone.conf installed in /etc/you need to disambiguate it by + $ bin/keystone-control --confg-file etc/keystone.conf --pid-file pidfile auth RUNNING TEST SERVICE: @@ -90,7 +118,6 @@ DEMO CLIENT: $ cd echo/echo $ python echo_client.py - INSTALLING KEYSTONE: -------------------- @@ -98,11 +125,6 @@ INSTALLING KEYSTONE: $ sudo python setup.py install -RUNNING KEYSTONE (Eventlet Server): ------------------------------------ - sudo keystone (start|stop|restart) - - INSTALLING TEST SERVICE: ------------------------ @@ -124,16 +146,11 @@ To clean the test database $ sqlite3 keystone/keystone.db < test/kill.sql -To run unit tests: - - $ python test/unit/test_identity.py - To run client demo (with all auth middleware running locally on sample service): $ python echo/echo/echo.py $ python echo/echo/echo_client.py - To perform contract validation and load testing, use SoapUI (for now). Using SOAPUI: @@ -152,45 +169,15 @@ Unit Test on Identity Services In order to run the unit test on identity services start the auth sever $ cd test/unit - $ ../../bin/keystone-control --config-file ../..etc/keystone.conf --pid-file=pidfile auth start - -Once the Identity service is running, go to unit test/unit directory - - $ python test_identity.py - -You can run a sbuset of tests the following way - $ grep class test_identity.py - -You get something like - - -class identity_test(unittest.TestCase): -class authorize_test(identity_test): -class validate_token(authorize_test): -class tenant_test(unittest.TestCase): -class create_tenant_test(tenant_test): -class get_tenants_test(tenant_test): -class get_tenant_test(tenant_test): -class update_tenant_test(tenant_test): -class delete_tenant_test(tenant_test): -class tenant_group_test(unittest.TestCase): -class create_tenant_group_test(tenant_group_test): -class get_tenant_groups_test(tenant_group_test): -class get_tenant_group_test(tenant_group_test): -class update_tenant_group_test(tenant_group_test): -class delete_tenant_group_test(tenant_test): -class global_group_test(unittest.TestCase): -class create_global_group_test(global_group_test): -class create_tenant_group_test(tenant_group_test): + $ ../../bin/keystone-auth -You can choose any class you like to test - - $ python test_identity.py delete_tenant_test +There are 8 groups of tests. They can be run individually or as an entire colection. To run the entire test suite run -For more on unit testing please refer + $ python test_keystone - $ python test_identity --help +A test can also be run individually e.g. + $ python test_token DATABASE SCHEMA -- cgit From 7424db60b25a45e84a0fe7481d6eca5ea94e835c Mon Sep 17 00:00:00 2001 From: Ramana Juvvadi Date: Wed, 11 May 2011 10:50:24 -0500 Subject: Modified the README for keystone-control issue --- README | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'README') diff --git a/README b/README index 033ec174..824fa679 100644 --- a/README +++ b/README @@ -67,6 +67,9 @@ During development, you can simply run It dumps stdout and stderr onto the terminal. + +RUNNING KEYSOTNE IN AS ROOT IN PRODUCTION +--------------------------------------------- In production, stdout and stderr need to be closed and all theoutput needs tobe redirected to a log file. Once the package is installed through setup tools, RPM, deb, or ebuild keystone-control is installed as /usr/sbin/keystone-control. Typically, it will be started a script in /etc/init.d/keystoned @@ -82,7 +85,10 @@ It writes the process id of the daemon into /var/run/keystone/keystine-auth.pid. keystone-control has the infrastructure to start and stop multiple servers keystone-xxx -The developenmt of keystone-control itself can be done like this +DEVELOPMENT OF keystone-control +------------------------------- + +During the development of keystone-control can be started as a user instead of root From the topdir @@ -92,11 +98,16 @@ config.py takes the config file from topdir/etc/keystone.conf If the keystone package is also intalled on the system /etc/keystone.conf or /etc/keystone/keystone.conf has higher priority -than top_dir/etc/keystone.conf. If you are also doing development on a +than /etc/keystone.conf. If you are also doing development on a system that has keystone.conf installed in /etc/you need to disambiguate it by $ bin/keystone-control --confg-file etc/keystone.conf --pid-file pidfile auth +Also, keystone-control calls keystone-auth and it need to be in the PATH + + $ export PATH=/bin:$PATH + + RUNNING TEST SERVICE: --------------------- -- cgit