IdP and LDAP
Notes taken from Shibboleth v3 work. Grinders can be recycled, but Salt commands will have to be changed by someone who understands our Salt setup better.
ssh to grinder-master
grinder-master static IP: 54.244.88.132
Updating nodes(run on 54.244.88.132):
mv file.crt /var/www/dist/ salt "*" cmd.run "curl -o http://54.244.88.132/dist/file.crt /path/to/file.crt"
e.g.
cp tests/saml2sso_idp/test.properties /var/www/dist/ salt -G "roles:idp" cmd.run "curl -o /opt/shibboleth-idp/conf/logback.xml http://54.244.88.132/dist/logback.xml"
Interesting Paths:
/opt/jetty/ /opt/shibboleth-idp/ /opt/grinder-framework/
Starting jetty:
salt -G "roles:idp" cmd.run "cd /opt/shibboleth-idp/jetty-base/ && nohup java -jar /opt/jetty/start.jar >> /dev/null &"
Stopping jetty:
salt -G "roles:idp" cmd.run "kill \$(ps aux | grep '[j]etty' | awk '{print \$2}')"
Restarting jetty:
salt -G "roles:idp" cmd.run "kill \$(ps aux | grep '[j]etty' | awk '{print \$2}') && sleep 10 && cd /opt/shibboleth-idp/jetty-base/ && nohup java -jar /opt/jetty/start.jar >> /dev/null &"
Checking jetty:
salt -G "roles:idp" cmd.run "ps -ef | grep jetty"
Starting The Grinder Console:
Either figure out X-Windows and
ssh -X 54.244.88.132 cd /opt/grinder-framework/ ./bin/console.sh
or
ssh 54.244.88.132 vncserver :1
Connect to grinder:5901 using VNC client
Open terminal in Ubuntu
cd /opt/grinder-framework/ ./bin/console.sh
Changing test parameters:
Host new config file at 54.244.88.132/var/www/dist/
salt -G "roles:grinder" cmd.run "curl -o /opt/grinder-framework/tests/saml2sso_idp/test.properties http://54.244.88.132/dist/test.properties && curl -o /opt/grinder-framework/tests/saml2sso_idp/test.py http://54.244.88.132/dist/test.py"
Initializing agents:
salt -G "roles:grinder" cmd.run "cd /opt/grinder-framework && ./bin/agent.sh saml2sso_idp &"
Checking on agents:
salt -G "roles:grinder" cmd.run "ps -ef | grep agent"
Killing agents:
salt -G "roles:grinder" cmd.run "kill \$(ps aux | grep '[a]gent.sh' | awk '{print \$2}')"
The modified load testing script can either randomly choose one of 500000 users or do repeated SSO as a single user to emulate slightly more realistic load; just change test.py.