Thursday Apr 22, 2010

Pkgapp 3.4 Released

Yes, I've released it!

Photo © Lee TrujilloI've updated the Licensing agreements etc., packaged the files and released internally (only).  If you need it, you can call Sun Oracle Support and have them use the following Internal Only url (do not click this link, it is not available outside of the Sun Oracle network).  I have submitted two new packages (tars) to BigAdmin and we hope they will make it on the page sometime next week.  Keep checking the BigAdmin link.

Pkgapp 3.4 - http://surl/pkgapp

Changes in Pkgapp 3.4

Improvements

  1. On all platforms Pkgapp now utilizes the /proc filesystem to avoid locking issues (as seen on  Solaris) of the process instead of using pldd against the live process.  See “Ptools / Pstack Issues” of the Server Impact section.
  2. Removed old 3.2 code and reworked how the -a parameter checks are displayed (see the pdf guide for more detail).
  3. When -i (include core) is not used, renames the core/gcore file to - pkgapp-<hostid>-<corefile name>.  This will help Sun Oracle employees easily locate the core file based on the name.
  4. Enhanced the error checking with regard to usage options.
  5. Set umask on the tmp bin and databin locations to enhance security.

Fixes

  1. Fixed bug 6918386 pkgapp 3.3 fails when processing argument for parameter -a
  2. Fixed bug 6919793 Pkgapp 3.3: awk fails on excessive string length from a localized binary.
  3. Fixed bug 6920593 Pkgapp 3.3: missed capturing sparcv9 \*_db.so\* on Solaris
  4. Fixed an issue where Pkgapp would ignore the core (when provided via -c) when the -j parameter was given.

Example:

Solaris
root[/opt/pkgapp]#./pkgapp -itr -p 18101 -c /var/tmp/cores/core.18101 -a /opt/dsee7/lib/64/ns-slapd -s /var/tmp/storage
\* ------------------------------------------------------------------------------
\* Oracle Corporation CSD pkgapp 3.4 Solaris                         [04/22/2010]
\* ------------------------------------------------------------------------------
\* Checking install epoch/delta          [good, 772538 seconds]
\* Checking pkgapp path                  [using /opt/304-solaris]
\* Checking for locale en_US.UTF-8       [failed]
\* Checking for locale en_US.ISO8859-1   [failed]
\* Checking for locale en_US             [failed]
\* Checking for locale C                 [success]
\* Checking usage history                [not recently run]
\* OS release [Solaris]                  [5.10]
\* Platform/Type                         [SUNW,Sun-Blade-T6300 sparcv9]
\* Checking [-p] pid.                    [using pid 18101]
\* Checking [-a] path                    [using /opt/dsee7/lib/64/ns-slapd]
\* Process root                          [/opt/dsee7/lib/64/ns-slapd]
\* Checking [-c] core                    [using core /var/tmp/cores/core.18101]
\* Databin parameter [-s] checks         [reset to /var/tmp/storage]
\* Creating Databin directories          [/var/tmp/storage]
\* Databin used/created is               [/var/tmp/storage/pkgapp-042210-01]
\* Creating temp area                    [/tmp/pkgapp.15891/]
\* Checking corefile for a valid pldd    [pldd is good with 80 elements]
\* Checking if corefile is truncated     [CORE core.18101 is GOOD. Core contains 320 segments ]
\* Continuing...                         
\* Process binary                        [ns-slapd]
\* ns-slapd binary bit version           [64]
\* core.18101 bit version                [64]
\* Checking path [-a] to binary name     [success, path includes binary name]
\* Checking path [-a] exists             [success]
\* Locating ns-slapd                     [success]
\* Checking located ns-slapd is 64 bits..[success]
\* Binary located                        [/opt/dsee7/lib/64/ns-slapd]
\* Adding binary to pkgapp.pldd          [success]
\* Grabbing libs from /proc              [success]
\* Grabbing pstack from core             [success]
\* Grabbing pmap from core               [success]
\* Grabbing pcred from core              [success]
\* Grabbing pflags from core             [success]
\* Grabbing pargs from core              [success]
\* Grabbing [-i] core/gcore              [success]
\* Grabbing core/gcore cksum             [success]
\* Javatools [-j] not set                [skipped]
\* Grabbing /var/adm/messages            [success]
\* Grabbing uname -a                     [success]
\* Grabbing date/time                    [success]
\* Grabbing showrev -p                   [success]
\* Grabbing pkginfo -l                   [success]
\* Grabbing /etc/release                 [success]
\* Grabbing coreadm                      [success]
\* Grabbing ulimit -a                    [success]
\* Gathering 64 bit libraries            
\* Grabbing libs                         [success]
\* Making lib paths app/                 [success]
\* Making lib paths libs/                [success]
\* Linking libraries                     [success]
\* Libraries linked                      [109 ttl]
\*                                       
\* Using hostid for naming .tar.gz       [84aaaac8]
\* Writing file                          [pkgapp-84aaaac8-s-6000a-t6300i-zone8-sca11-100422-092800.tar.gz]
\*                                       
\* Done gathering files                  
\* Writing dbxrc & opencore.sh files     [success]
\* Writing coreinfo.sh file              [success]
\* Writing validate-libs.sh file         [success]
\* Writing manifest-100422-092800.log    [success]
\* Writing pkgapp-args-100422-092800     [success]
\* Creating final tarfile                [success]
\* Compressing tarfile                   [success]
\* End of runtime logging                
\* Saving history info                   [success]
\* Saving runtime log                    [success]
\* Saving Library list                   [success]
\* Saving Library list README            [success]
\* Removing [-r] temp area/files         [removed]
\*                                       
\* Operations Complete                   
\* Total runtime                         [1 minutes]
\* ------------------------------------------------------------------------------
\* Upload the following file(s) to http://supportfiles.sun.com Cores Directory at
Oracle
                                        
1) File(s) located in directory /var/tmp/storage/pkgapp-042210-01
                                        
                [ pkgapp-84aaaac8-s-6000a-t6300i-zone8-sca11-100422-092800.tar.gz ]
                                        


                                Thank you.
                                Customer Service Delivery
                                Global Systems Support


NOTES:
1) You can check for updates to this script here:
        BigAdmin - http://www.sun.com/bigadmin/scripts/indexSjs.html
        Blog - http://blogs.sun.com/Dirtracer

2) GDD information located here:
        Rel Notes - http://docs.sun.com/app/docs/doc/820-0437
        Docs - http://www.sun.com/service/gdd/index.xml
        Video - http://mediacast.sun.com/search?query=gdd
        Video - http://mediacast.sun.com/search?query=dirtracer

3) Please send all Bugs and RFE\\'s to the following address:
        Subject "pkgapp bug/rfe" - pkgapp-feedback_ww@oracle.com

4) See the following reference files.
        /var/tmp/pkgapp-history/runtime-100422-092800.log
        /var/tmp/pkgapp-history/history-100422-092800.log
        /var/tmp/pkgapp-history/library.list-100422-092800
        /var/tmp/pkgapp-history/library.list-100422-092800.README 
Linux
root [/opt/pkgapp]# ./pkgapp -itr -p 11716 -c /var/tmp/cores/core.11716 -a /opt/dsee7/lib/64/ns-slapd -s /var/tmp/storage
\* ------------------------------------------------------------------------------
\* Oracle Corporation CSD pkgapp 3.4 Linux			    [04/22/2010]
\* ------------------------------------------------------------------------------
\* Checking install epoch/delta		 [0 seconds]
\* Checking pkgapp path			 [using /opt/pkgapp]
\* Checking for locale en_US.utf8	 [success]
\* Checking usage history		 [not recently run]
\* OS Release [Linux]			 [2.6.9-5.EL]
\* Platform/Type				 [x86_64 x86_64]
\* Checking [-p] pid			 [using pid 11716]
\* Checking [-a] path			 [using /opt/dsee7/lib64/ns-slapd]
\* Process root				 [/opt/dsee7/lib64/ns-slapd]
\* Checking [-c] core			 [using core /var/tmp/cores/core.11716]
\* Databin parameter [-s] checks		 [reset to /var/tmp/storage]
\* Creating Databin directories		 [/var/tmp/storage]
\* Databin used/created is		 [/var/tmp/storage/pkgapp-042210-01]
\* Creating temp area			 [/tmp/pkgapp.11771/]
\* Process binary			 [ns-slapd]
\* ns-slapd binary bit version		 [64]
\* core.11716 bit version		 [64]
\* Checking path [-a] to binary name	 [success, path includes binary name]
\* Checking path [-a] exists		 [success]
\* Locating ns-slapd			 [success]
\* Checking located ns-slapd is 64 bits.	 [success]
\* Binary located			 [/opt/dsee7/lib64/ns-slapd]
\* Adding binary to pkgapp.pldd		 [success]
\* Grabbing libs from /proc		 [success]
\* Grabbing gdb backtrace		 [success]
\* Grabbing [-i] core/gcore		 [success]
\* Grabbing core/gcore cksum		 [success]
\* Javatools [-j] not available		 [skipped]
\* Grabbing /var/log/messages		 [success]
\* Grabbing uname -a			 [success]
\* Grabbing date/time			 [success]
\* Grabbing rpm -qa			 [success]
\* Grabbing /etc/redhat-release		 [success]
\* Grabbing ulimit -a			 [success]
\* Grabbing libs			 [success]
\* Making lib paths app/		 	 [success]
\* Making lib paths libs/		 [success]
\* Linking libraries1 of 71      	 [success]
\* Libraries linked			 [71 ttl]
\* 					
\* Using hostid for naming .tar.gz	 [120ad308]
\* Writing file				 [pkgapp-120ad308-s-6048a-x6250d-vbox1-gmp03.sun.com-100422-182724.tar.gz]
\* 					
\* Done gathering files			
\* Writing dbxrc & opencore.sh files	 [success]
\* Writing coreinfo.sh file		 [success]
\* Writing validate-libs.sh file		 [success]
\* Writing manifest-100422-182724.log	 [success]
\* Writing pkgapp-args-100422-182724	 [success]
\* Creating final tarfile		 [success]
\* Compressing tarfile			 [success]
\* End of runtime logging		
\* Saving history info			 [success]
\* Saving runtime log			 [success]
\* Saving Library list			 [success]
\* Saving Library list README		 [success]
\* Removing [-r] temp area/files		 [removed]
\* 					
\* Operations Complete			
\* Total runtime				 [0 minutes]
\* ------------------------------------------------------------------------------
\* Upload the following file(s) to http://supportfiles.sun.com Cores Directory at
Oracle
					
1) File(s) located in directory /var/tmp/storage/pkgapp-042210-01
					
		[ pkgapp-120ad308-s-6048a-x6250d-vbox1-gmp03.sun.com-100422-182724.tar.gz ]
					


				Thank you.
				Customer Service Delivery
				Global Systems Support


NOTES:
1) You can check for updates to this script here:
	BigAdmin - http://www.sun.com/bigadmin/scripts/indexSjs.html
	Blog - http://blogs.sun.com/Dirtracer

2) GDD information located here:
	Rel Notes - http://docs.sun.com/app/docs/doc/820-0437
	Docs - http://www.sun.com/service/gdd/index.xml
	Video - http://mediacast.sun.com/search?query=gdd
	Video - http://mediacast.sun.com/search?query=dirtracer

3) Please send all Bugs and RFE's to the following address:
	Subject "pkgapp bug/rfe" - pkgapp-feedback_ww@oracle.com

4) See the following reference files.
	/var/tmp/pkgapp-history/runtime-100422-182724.log
	/var/tmp/pkgapp-history/history-100422-182724.log
	/var/tmp/pkgapp-history/library.list-100422-182724
	/var/tmp/pkgapp-history/library.list-100422-182724.README

Enjoy,

Lee

Friday Nov 13, 2009

Pkgapp 3.3 Soon to be released!

Wow I've been busy but all for the good.  Photo © Lee Trujillo

I've been in development with SLX, internal Engineer Videos for DirTracer as well as DT7 (DirTracer 7) and now Pkgapp 3.3 development.

I've fixed a couple bugs, added a few enhancements and...changed its usage a bit... 

More on these changes later but here are some example run's in the mean time.

Pkgapp 3.3 Beta 5 Solaris

\* ----------------------------------------------------------------------------------
\* Sun Microsystems TSC pkgapp 3.3b5 Solaris                             [11/13/2009]
\* ----------------------------------------------------------------------------------
\* Checking install epoch/delta          [0 seconds]
\* Checking pkgapp path                  [using /opt/pkgapp]
\* Checking usage history                [not recently run]
\* OS release [Solaris]                  [5.10]
\* Platform/Type                         [SUNW,Sun-Blade-T6300 sparcv9]
\* Checking [-p] pid                     [using pid 20578]
\* Checking [-a] path                    [reset to /usr/lib]
\* Process root                          [/usr/lib]
\* Checking [-c] core                    [using core /var/tmp/cores/core.20578]
\* Databin parameter [-s] checks         [reset to /var/tmp/storage]
\* Creating Databin directories          [/var/tmp/storage]
\* Databin used/created is               [/var/tmp/storage/pkgapp-111309-01]
\* Creating temp area                    [/tmp/pkgapp.27404/]
\* Checking corefile for a valid pldd    [pldd is good with 36 elements]
\* Checking if corefile is truncated     [CORE core.20578 is GOOD. Core contains 106 segments ]
\* Continuing...                         
\* Process binary                        [sendmail]
\* sendmail binary bit version           [32]
\* Checking path [-a] to binary name     [success, path != binary name]
\* Checking path [-a] is a directory     [success]
\* Locating sendmail                     [success]
\* Checking located sendmail is 32 bit   [success]
\* Binary located                        [/usr/lib/sendmail]
\* Adding binary to pkgapp.pldd          [success]
\* Grabbing libs from /proc              [success]
\* Grabbing pstack from core             [success]
\* Grabbing pmap from core               [success]
\* Grabbing pcred from core              [success]
\* Grabbing pflags from core             [success]
\* Grabbing pargs from core              [success]
\* Grabbing [-i] core/gcore              [success]
\* Grabbing core/gcore cksum             [success]
\* Javatools [-j] not set                [skipped]
\* Grabbing /var/adm/messages            [success]
\* Grabbing uname -a                     [success]
\* Grabbing date/time                    [success]
\* Grabbing showrev -p                   [success]
\* Grabbing pkginfo -l                   [success]
\* Grabbing /etc/release                 [success]
\* Grabbing coreadm                      [success]
\* Grabbing ulimit                       [success]
\* Grabbing libs                         [success]
\* Making lib paths app/                 [success]
\* Making lib paths libs/                [success]
\* Linking libraries                     [success]
\* Libraries linked                      [80 ttl]
\*                                       
\* Using hostid for naming .tar.gz       [84aaaac8]
\* Writing file                          [pkgapp-84aaaac8-s-6000a-t6300i-zone8-sca11-091113-125258.tar.gz]
\*                                       
\* Done gathering files                  
\* Writing dbxrc & opencore.sh files     [success]
\* Writing validate-libs.sh file         [success]
\* Writing manifest-091113-125258.log    [success]
\* Writing pkgapp-args-091113-125258     [success]
\* Creating final tarfile                [success]
\* Compressing tarfile                   [success]
\* End of runtime logging                
\* Saving history info                   [success]
\* Saving runtime log                    [success]
\* Saving Library list                   [success]
\* Saving Library list README            [success]
\* Removing [-r] temp area/files         [left alone]
\*                                       
\* Operations Complete                   
\* Total runtime                         [0 minutes]
----------------------------------------------------------------------------------
Upload the following file(s) to your supportfiles.sun.com Cores Directory at Sun
                                        
1) File(s) located in directory /var/tmp/storage/pkgapp-111309-01
                                        
                [ pkgapp-84aaaac8-s-6000a-t6300i-zone8-sca11-091113-125258.tar.gz ]
                                        


                                Thank you.
                                Sun Software Technology Service Center (STSC)


NOTES:
1) You can check for updates to this script here:
        BigAdmin - http://www.sun.com/bigadmin/scripts/indexSjs.html
        Blog - http://blogs.sun.com/Dirtracer
        Sun Learning Exchange Video's - https://slx.sun.com/search/node/dirtracer

2) Release Notes and Guides located here:
        Docs - http://docs.sun.com/app/docs/doc/820-0437

3) GDD information located here:
        Docs - http://www.sun.com/service/gdd/index.xml

4) Please send all Bugs and RFE\\'s to the following address:
        Subject "pkgapp bug/rfe" - gdd-issue-tracker@sun.com

5) Please send all other questions etc to:
        Subject "pkgapp feedback" - gdd-feedback@sun.com

6) See the following reference files.
        /var/tmp/pkgapp-history/runtime-091113-125258.log
        /var/tmp/pkgapp-history/history-091113-125258.log
        /var/tmp/pkgapp-history/library.list-091113-125258
        /var/tmp/pkgapp-history/library.list-091113-125258.README


Pkgapp 3.3 Beta 5 Redhat (same as SuSe)

\* ----------------------------------------------------------------------------------
\* Sun Microsystems TSC pkgapp 3.3.b5 Redhat				 [11/13/2009]
\* ----------------------------------------------------------------------------------
\* Checking install epoch/delta		 [0 seconds]
\* Checking pkgapp path			 [using /opt/SUNWpkgapp]
\* Checking usage history		 [not recently run]
\* OS Release [Redhat]			 [2.6.9-5.EL]
\* Platform/Type				 [x86_64 x86_64]
\* Checking [-p] pid			 [using pid 686]
\* Checking [-a] path			 [reset to /opt/sun/dir/ds6/lib]
\* Process root				 [/opt/sun/dir/ds6/lib]
\* Checking [-c] core			 [using core /var/cores/core.686]
\* Databin parameter [-s] checks		 [reset to /var/tmp/storage]
\* Creating Databin directories		 [/var/tmp/storage]
\* Databin used/created is		 [/var/tmp/storage/pkgapp-111309-01]
\* Creating temp area			 [/tmp/pkgapp.11773/]
\* Process binary			 [ns-slapd]
\* ns-slapd binary bit version		 [32]
\* Checking path [-a] to binary name	 [success, path != binary name]
\* Checking path [-a] is a directory	 [success]
\* Locating ns-slapd			 [success]
\* Checking located ns-slapd is 32 bit	 [success]
\* Binary located			 [/opt/sun/dir/ds6/lib/ns-slapd]
\* Adding binary to pkgapp.pldd		 [success]
\* Grabbing libs from /proc		 [success]
\* Grabbing [-i] core/gcore		 [success]
\* Grabbing core/gcore cksum		 [success]
\* Javatools [-j] not set		 [skipped]
\* Grabbing /var/log/messages		 [success]
\* Grabbing uname -a			 [success]
\* Grabbing date/time			 [success]
\* Grabbing rpm -qa			 [success]
\* Grabbing /etc/redhat-release		 [success]
\* Grabbing ulimit			 [success]
\* Grabbing libs				 [success]
\* Making lib paths app/			 [success]
\* Making lib paths libs/		 [success]
\* Linking libraries8 of 68      	 [success]
\* Libraries linked			 [68 ttl]
\* 					
\* Using hostid for naming .tar.gz	 [120ad308]
\* Writing file				 [pkgapp-120ad308-s-6048a-x6250d-vbox1-gmp03.uk.sun.com-091113-205150.tar.gz]
\* 					
\* Done gathering files			
\* Writing dbxrc & opencore.sh files	 [success]
\* Writing coreinfo.sh file		 [success]
\* Writing validate-libs.sh file		 [success]
\* Writing manifest-091113-205150.log	 [success]
\* Writing pkgapp-args-091113-205150	 [success]
\* Creating final tarfile		 [success]
\* Compressing tarfile			 [success]
\* End of runtime logging		
\* Saving history info			 [success]
\* Saving runtime log			 [success]
\* Saving Library list			 [success]
\* Saving Library list README		 [success]
\* Removing [-r] temp area/files		 [left alone]
\* 					
\* Operations Complete			
\* Total runtime				 [0 minutes]
\* ----------------------------------------------------------------------------------
Upload the following file(s) to your supportfiles.sun.com Cores Directory at Sun
					
1) File(s) located in directory /var/tmp/storage/pkgapp-111309-01
					
		[ pkgapp-120ad308-s-6048a-x6250d-vbox1-gmp03.uk.sun.com-091113-205150.tar.gz ]
					


				Thank you.
				Sun Software Technology Service Center (STSC)


NOTES:
1) You can check for updates to this script here:
	BigAdmin - http://www.sun.com/bigadmin/scripts/indexSjs.html
	Blog - http://blogs.sun.com/Dirtracer
	Sun Learning Exchange Video's - https://slx.sun.com/search/node/dirtracer

2) Release Notes and Guides located here:
	Docs - http://docs.sun.com/app/docs/doc/820-0437

3) GDD information located here:
	Docs - http://www.sun.com/service/gdd/index.xml
	Video - https://slx.sun.com/search/node/GDD
	Video - https://slx.sun.com/search/node/DIRTRACER

4) Please send all Bugs and RFE\\'s to the following address:
	Subject "pkgapp bug/rfe" - gdd-issue-tracker@sun.com

5) Please send all other questions etc to:
	Subject "pkgapp feedback" - gdd-feedback@sun.com

6) See the following reference files.
	/var/tmp/pkgapp-history/runtime-091113-205150.log
	/var/tmp/pkgapp-history/history-091113-205150.log
	/var/tmp/pkgapp-history/library.list-091113-205150
	/var/tmp/pkgapp-history/library.list-091113-205150.README


Lee

Thursday Jul 30, 2009

DirTracer, Pkgapp and SLX

Alo all,

I received good news from the Big Admin admins today, the new DirTracer and Pkgapp versions are online!

The following versions are now available here on Big Admin. For information on the latest changes in this update, please see my previous blog - DT 6.0.7 Coming soon!

DirTracer 6.0.7 Photo © Lee Trujillo

Pkgapp 3.2

I have also released the SLX 02 DirTracer Quickstart on SLX (Sun Learning Exchange) - "This video is a Quickstart guide to getting DirTracer6 running in a short amount of time using Configurator 6. I also step through a real example of how DirTracer runs using the config file created by Configurator."

Finally, I am in production of the latest DirTracer SLX video "Server Impact".  Using Slamd, Cacti and DirTracer I plan on showing exactly what impact a Directory Server will see from DirTracer runs based on different run/problem types.  More on this later.

Cheers!

Lee

Thursday Jul 23, 2009

Multiple DirTracer iterations - What not to do.

Hey all,

Quick tech tip here. 

We recently came across a situation where a Customer ran DirTracer 3 separate times in the same second; one for each of the three instances on a single system.  Each config file had the correct configuration for each instance but all three were used at the same time.

Example: Using a wrapper script to launch all 3 in the same second.

#!/bin/sh

nohup ./dirtracer -f ./dirtracer.config.1 &

nohup ./dirtracer -f ./dirtracer.config.2 &

nohup ./dirtracer -f ./dirtracer.config.3 &

As a result, DirTracer is launched 3 times in the same second and each see's that there is no existing sub-databin inside /var and only 1 sub-databin is created; i.e. /var/072309-01. 

<snip>

\* Using config file                     [./dirtracer.config.1]
\* Using config file                     [./dirtracer.config.2]
\* Using config file                     [./dirtracer.config.3]
\* Dirtracer mainloop will run for     \* Dirtracer mainloop will run for      \* Dirtracer mainloop will run for   

[100 sec. Between 1 & 2 min.]
[100 sec. Between 1 & 2 min.]
[100 sec. Between 1 & 2 min.]
\* Databin parameter check 1             \* Databin parameter check 1             \* Databin parameter check 1         

[success]
[success]
[success]
\* Databin parameter check 2             \* Databin parameter check 2             \* Databin parameter check 2         

[success]
[success]
[success]
\* Databin Found                         [/var]
\* Databin Found                         [/var]
\* Databin Found                         [/var]
\* Databin used is                       \* Databin used is                       \* Databin used is                   

[/var/072309-01]
[/var/072309-01]

[/var/072309-01]

<snip>

To ensure DirTracer runs properly and uses a separate sub databin (as intended) the following workaround can be used.

#!/bin/sh

nohup ./dirtracer -f ./dirtracer.config &

sleep 1

nohup ./dirtracer -f ./dirtracer.config &

sleep 1

nohup ./dirtracer -f ./dirtracer.config &

By giving DirTracer a 1 second delay between executions gives it enough time to notice there is an exiting sub-databin in the intended path and increment the sub-databin number.

Example:

myzone root[/var/tmp/data]# ls -l
drwxr-xr-x  11 root     root          30 Jul 23 14:48 072309-01
drwxr-xr-x  11 root     root          30 Jul 23 14:48 072309-02
drwxr-xr-x  11 root     root          30 Jul 23 14:48 072309-03

Hope this helps...

Cheers,

Lee


About

A Tech Blog about the Sun Java Systems Dirtracer Toolkit. Dirtracer and this blog written and maintained by Lee Trujillo an Oracle Senior Principal Support Engineer.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today