

You're a risk-taker, and you follow your passions. You're determined to take on the world and succeed on your own terms. Whether in the arts, science, engineering, business, or politics, you fearlessly express your own vision of the world. You're not afraid of a fight, and you're not afraid to bet your future on your own abilities. If you find a job boring or stifling, you're already preparing your resume. You believe in doing what you love, and you're not willing to settle for an ordinary life.
I've had wont off for some time, it gets hot in my office. Anyway, I started it back up and I can't ssh into the box. I can't restart ssh:
# svcadm restart ssh
# ps -ef | grep ssh
root 250 232 0 10:45:28 console 0:00 grep ssh
# cd /var/svc/log
# tail network-ssh:default.log
[ Apr 2 10:42:55 Stopping because service disabled. ]
[ Apr 2 10:42:55 Executing stop method (:kill) ]
[ Apr 2 10:51:37 Executing start method ("/lib/svc/method/sshd start") ]
[ Apr 2 10:51:44 Method "start" exited with status 0 ]
[ Apr 3 12:46:02 Stopping because service disabled. ]
[ Apr 3 12:46:02 Executing stop method (:kill) ]
[ Apr 3 12:55:53 Executing start method ("/lib/svc/method/sshd start") ]
[ Apr 3 12:56:00 Method "start" exited with status 0 ]
[ Apr 13 22:37:28 Stopping because service disabled. ]
[ Apr 13 22:37:28 Executing stop method (:kill) ]
Thinking I wasn't doing the right ps options:
# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 0 0 0 10:34:00 ? 0:34 sched
root 1 0 0 10:34:03 ? 0:00 /sbin/init
root 2 0 0 10:34:03 ? 0:00 pageout
root 3 0 0 10:34:03 ? 0:00 fsflush
root 7 1 0 10:34:05 ? 0:03 /lib/svc/bin/svc.startd
root 9 1 0 10:34:06 ? 0:05 /lib/svc/bin/svc.configd
root 197 1 0 10:34:21 ? 0:00 /usr/lib/utmpd
root 110 1 0 10:34:17 ? 0:00 /usr/lib/power/powerd
root 84 1 0 10:34:17 ? 0:00 /usr/lib/sysevent/syseventd
root 111 1 0 10:34:17 ? 0:00 /usr/lib/picl/picld
root 192 7 0 10:34:20 console 0:00 -sh
root 99 1 0 10:34:17 ? 0:00 /usr/sbin/nscd
root 253 232 0 10:48:15 console 0:00 ps -ef
root 232 192 0 10:37:08 console 0:00 tcsh
daemon 115 1 0 10:34:18 ? 0:00 /usr/lib/crypto/kcfd
Not much at all is running!
Okay, I rebooted to see if anything came up on the console. (Note, I tend to reboot when I don't understand something. It seems to drive other people crazy.) And I see:
cannot mount '/zoo': directory is not empty use legacy mountpoint to allow this behavior, or use the -O flag svc:/system/filesystem/local:default: WARNING: /usr/sbin/zfs mount -a failed: exit status 1 Apr 21 10:34:20 svc.startd[7]: svc:/system/filesystem/local:default: Method "/lib/svc/method/fs-local" failed with exit status 95.
Right away, I should check /var/svc/log/system-filesystem-local:default.log, but I'll take my sweet time getting there. :>
First, I find that svcs -x will tell me info:
# svcs -x svc:/system/filesystem/local:default (local file system mounts) State: maintenance since Fri Apr 21 10:34:20 2006 Reason: Start method exited with $SMF_EXIT_ERR_FATAL. See: http://sun.com/msg/SMF-8000-KS See: /var/svc/log/system-filesystem-local:default.log Impact: 28 dependent services are not running. (Use -v for list.) svc:/network/rpc/gss:default (Generic Security Service) State: uninitialized since Fri Apr 21 10:34:07 2006 Reason: Restarter svc:/network/inetd:default is not running. See: http://sun.com/msg/SMF-8000-5H See: gssd(1M) Impact: 14 dependent services are not running. (Use -v for list.) svc:/network/rpc/smserver:default (removable media management) State: uninitialized since Fri Apr 21 10:34:08 2006 Reason: Restarter svc:/network/inetd:default is not running. See: http://sun.com/msg/SMF-8000-5H See: rpc.smserverd(1M) Impact: 3 dependent services are not running. (Use -v for list.) svc:/application/print/server:default (LP print server) State: disabled since Fri Apr 21 10:34:07 2006 Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: lpsched(1M) Impact: 1 dependent service is not running. (Use -v for list.)
If you do a 'svcs -xv' you can get more detailed info. That lead me to looking at http://sun.com/msg/SMF-8000-5H, which in turn had me restarting services. That did not work. So I then went to the link to http://sun.com/msg/SMF-8000-KS. This lead me to look at the log files.
# tail system-filesystem-local:default.log
[ Apr 13 22:37:39 Executing stop method (null) ]
[ Apr 19 11:21:21 Executing start method ("/lib/svc/method/fs-local") ]
WARNING: /usr/sbin/zfs mount -a failed: exit status 1
[ Apr 19 11:21:22 Method "start" exited with status 95 ]
[ Apr 21 10:14:41 Executing start method ("/lib/svc/method/fs-local") ]
WARNING: /usr/sbin/zfs mount -a failed: exit status 1
[ Apr 21 10:14:42 Method "start" exited with status 95 ]
[ Apr 21 10:34:19 Executing start method ("/lib/svc/method/fs-local") ]
WARNING: /usr/sbin/zfs mount -a failed: exit status 1
[ Apr 21 10:34:20 Method "start" exited with status 95 ]
Sweet, what happens if I try '/usr/sbin/zfs mount -a' manually?
# /usr/sbin/zfs mount -a cannot mount '/zoo': directory is not empty use legacy mountpoint to allow this behavior, or use the -O flag # ls -la /zoo total 6 drwxr-xr-x 3 root root 512 Apr 6 21:46 . drwxr-xr-x 42 root root 1024 Mar 29 12:33 .. dr-xr-xr-x 2 root root 512 Apr 6 21:46 isos
Now, did I manage to, sometime in the recent past, create a directory directly in /zoo? Or is there an 'isos' filesystem?
# zfs list NAME USED AVAIL REFER MOUNTPOINT zoo 24.3G 110G 10.5K /zoo zoo/home 623M 9.39G 16.5K /export/zfs zoo/home/coach 12.5K 9.39G 12.5K /export/zfs/coach zoo/home/haynest 12.5K 9.39G 12.5K /export/zfs/haynest zoo/home/kanigix 8K 9.39G 8K /export/zfs/kanigix zoo/home/loghyr 12.5K 9.39G 12.5K /export/zfs/loghyr zoo/home/morgan 12.5K 9.39G 12.5K /export/zfs/morgan zoo/home/mrx 12.5K 9.39G 12.5K /export/zfs/mrx zoo/home/nfsv2 12.5K 9.39G 12.5K /export/zfs/nfsv2 zoo/home/nfsv3 12.5K 9.39G 12.5K /export/zfs/nfsv3 zoo/home/nfsv4 362K 9.39G 264K /export/zfs/nfsv4 zoo/home/nfsv4@monday 97.5K - 108K - zoo/home/spud 12.5K 9.39G 12.5K /export/zfs/spud zoo/home/stacy 12.5K 9.39G 12.5K /export/zfs/stacy zoo/home/tdh 622M 9.39G 622M /export/zfs/tdh zoo/home/thomas 12.5K 9.39G 12.5K /export/zfs/thomas zoo/isos 20.9G 110G 20.9G /zoo/isos zoo/local 9K 110G 9K /zoo/local zoo/scratch 43.7M 110G 43.7M /zoo/scratch zoo/x86 2.78G 110G 2.78G /zoo/x86
Okay, there is a filesystem. But, if we look at the directory entry again, it is quite recent and I think much newer than when I created the zoo pool:
# ls -la /zoo total 6 drwxr-xr-x 3 root root 512 Apr 6 21:46 . drwxr-xr-x 42 root root 1024 Mar 29 12:33 .. dr-xr-xr-x 2 root root 512 Apr 6 21:46 isos # ls -la /zoo/isos/ total 4 dr-xr-xr-x 2 root root 512 Apr 6 21:46 . drwxr-xr-x 3 root root 512 Apr 6 21:46 ..
Lets delete the directory and see what happens:
# rm -rf /zoo/isos/ # /usr/sbin/zfs mount -a #
And lets reboot to get a clean slate:
# ps -ef |
*****************************************************************************
*
* Starting Desktop Login on display :0...
*
* Wait for the Desktop Login screen before logging in.
*
*****************************************************************************
grep ssh
root 575 217 0 11:00:18 console 0:00 grep ssh
root 408 1 0 11:00:02 ? 0:00 /usr/lib/ssh/sshd
And does ssh work?
[tdh@adept log]> ssh wont Password: Last login: Tue Apr 11 12:41:41 2006 from adept.internal. Sun Microsystems Inc. SunOS 5.11 snv_36 October 2007
Sweet!
I'm so used to doing the following:
# echo "route add default 10.1.194.254" > /etc/rc2.d/S76addroutes # reboot
But with smf, that won't work. Instead, you need to look at defaultrouter(4):
# echo "10.1.194.254" > /etc/defaultrouter # reboot
So a question was why the reboot? Well, I encountered the problem after I manually added the route and then when the system naturally rebooted. I.e., I deal a lot with lab machines and when testing fixes, they might go down several times in a hour. I don't want to manually add the route each time and my old way wasn't working any more.
So I managed to really hose one of the lab machines. I entered:
# eeprom boot-file=kdmb # reboot
Instead of:
# eeprom boot-file=kmdb # reboot
And now the system won't boot. Furthermore, the installation failed to properly build a /boot/grub/menu.lst, so I can't get to the failsafe kernel. Both problems need to be fixed.
The first thing to do is to PXE boot the system and at the install prompt, go for single user mode:
Configuring devices.lt/init
1. Solaris Interactive (default)
2. Custom JumpStart
3. Solaris Interactive Text (Desktop session)
4. Solaris Interactive Text (Console session)
5. Apply driver updatesText (Desktop session)
6. Single user shellve Text (Console session)
5. Apply driver updates
Enter the number of your choice.r
Selected: 6
Enter the number of your choice.r
Single user shell
PROCESSING etc/user_attr
Searching for installed OS instances...
PROCESSING etc/vfstab
Solaris Nevada snv_37 X86 was found on /dev/dsk/c1d0s0.
Do you wish to have it mounted read-write on /a? [y,n,?] y
mounting /dev/dsk/c1d0s0 on /a
Solaris Nevada snv_37 X86 was found on /dev/dsk/c1d0s0.
Starting shell.have it mounted read-write on /a? [y,n,?] ERROR: Input is required.
Notice that the console interaction sucks. Just an observation...
Anyway, simple, right:
# eeprom boot-file=kmdb # reboot
Wrong, it still will not reboot. The eeprom settings have not changed afterwards. If we look at eeprom(1M), we find the settings are stored in /boot/solaris/bootenv.rc. So, reboot with PXE and:
# cd /boot # cd solaris # ls -la total 12 drwxr-xr-x 4 root sys 512 Apr 3 12:46 . drwxr-xr-x 5 root sys 512 Apr 3 12:46 .. drwxr-xr-x 2 root sys 512 Apr 3 12:46 bin lrwxrwxrwx 1 root root 38 Apr 3 12:46 bootenv.rc -> ../../tmp/root/boot/solaris/bootenv.rc drwxr-xr-x 2 root sys 512 Apr 3 12:46 devicedb -rw-r--r-- 1 root sys 361 Mar 28 00:27 filelist.ramdisk # more bo* # # Copyright 2005 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License, Version 1.0 only # (the "License"). You may not use this file except in compliance # with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] #
Okay, a safe boot from the network, so we are building a ramdisk? Yes:
# df -h Filesystem size used avail capacity Mounted on /ramdisk:a 130M 126M 0K 100% / /devices 0K 0K 0K 0% /devices ctfs 0K 0K 0K 0% /system/contract proc 0K 0K 0K 0% /proc mnttab 0K 0K 0K 0% /etc/mnttab swap 1.9G 184K 1.9G 1% /etc/svc/volatile objfs 0K 0K 0K 0% /system/object swap 1.9G 324K 1.9G 1% /tmp /tmp/dev 1.9G 324K 1.9G 1% /dev fd 0K 0K 0K 0% /dev/fd /dev/dsk/c1d0s0 32G 3.2G 28G 11% /a
Where is the real file?
# cd / # find . -name bootenv.rc ./boot/solaris/bootenv.rc ./tmp/root/boot/solaris/bootenv.rc ./a/var/sadm/pkg/SUNWrmodr/save/pspool/SUNWrmodr/reloc/boot/solaris/bootenv.rc ./a/boot/solaris/bootenv.rc ./a/bfu.child/boot/solaris/bootenv.rc ./a/bfu.conflicts/boot/solaris/bootenv.rc ./a/bfu.parent/boot/solaris/bootenv.rc ./.tmp_proto/root/boot/solaris/bootenv.rc
Oh yeah, during the boot, we told it to mount our root filesystem:
# more ./a/boot/solaris/bootenv.rc # # Copyright 2005 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License, Version 1.0 only # (the "License"). You may not use this file except in compliance # with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # echo "boot-file=kmdb" >> ./a/boot/solaris/bootenv.rc
This doesn't add up, but lets also fix /boot/grub/menu.list at the same time.
# cd /a # vi xxx I don't know what kind of terminal you are on - all I have is 'unknown'. [Using open mode] "xxx" [New file] #---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Solaris Nevada snv_30 X86 kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive #---------------------END BOOTADM-------------------- #---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Solaris failsafe kernel /boot/multiboot kernel/unix -s -B console=ttya module /boot/x86.miniroot-safe #---------------------END BOOTADM-------------------- :wq "xxx" [New file] 11 lines, 426 characters # cat xxx >> /a/boot/grub/menu.lst
The good news is that it did appear to fix the issue with grub. The bad news is:
panic: cannot open kdmb Press any key to reboot
Now I don't have to PXE boot anymore. And low and behold:
# more bootenv.rc # # Copyright 2005 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License, Version 1.0 only # (the "License"). You may not use this file except in compliance # with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # pwd /a/boot/solaris # cat bootenv.rc | grep -v ^# setprop kbd-type 'US-English' setprop ata-dma-enabled '1' setprop atapi-cd-dma-enabled '1' setprop ttyb-rts-dtr-off 'false' setprop ttyb-ignore-cd 'true' setprop ttya-rts-dtr-off 'false' setprop ttya-ignore-cd 'true' setprop ttyb-mode '9600,8,n,1,-' setprop ttya-mode '9600,8,n,1,-' setprop lba-access-ok '1' setprop bootpath '/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a' setprop console 'ttya' setprop boot-file 'kdmb' boot-file=kmdb
Crap, it has to be my console over telnet! Lets fix the first form and remove the second later.
# sed 's/kdmb/kmdb/' bootenv.rc > xxx # diff bootenv.rc xxx 41c41 < setprop boot-file 'kdmb' --- > setprop boot-file 'kmdb' # cp xxx bootenv.rc # reboot
And it works!
Loading kmdb... SunOS Release 5.11 Version obso 64-bit Copyright 1983-2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.ronment variables" DEBUG enabled Hostname: plagae 'US-English'
Now, what was I doing before I got locked out?
My article on OpenSolaris: The Model is in the April 2006 issue of ;login: The USENIX Magazine. You'll need a Usenix login to read it online, or you can wait until April 2007 to see it. In the next issue, I'll have an into to ZFS.
I get paid to fix NFS bugs and also to look for them. When I see something weird, I jump to the conclusion that it is a bug. You'd think I got a commission on them.
Anyway, I thought I'd share what after some thought, is not a bug:
# man mdb getcwd: Permission denied
Now, I'm pretty sure I'm sitting under my homedir and the first thought is a stale filehandle.
# pwd /home/th199096/dtrace
Okay, perhaps we caught a cached value, let's try again:
# man mdb getcwd: Permission denied
What is going on here?
The answer is most likely that the pwd is not driving traffic across the wire - sometimes it is implemented in the shell. But the man command is going across the wire. If we look at the export:
# mount | grep th199096/home/th199096 on hera-home1.central:/export/home1/41/th199096 remote/read/write/setuid/devices/xattr/dev=4c80002 on Mon Apr 10 17:04:13 2006
I really want to look at the share permissions, but hera-home1 is locked down tight. Which leads to why this is failing. Since my homedir is shared to labs and there is no control over who has root on a random machine, the export does not have wide open root permissions. A quick and dirty test:
[th199096@integrable ~/dtrace]> pwd /home/th199096/dtrace [th199096@integrable ~/dtrace]> man mdb Reformatting page. Pl
So I can get there via my normal UID. I'm not used to real tight development homedir servers.
We had a friendly today versus the team I coached last year. I think they played normally, I instead got 2 new players in at goal. I also gave my normal goalie more time on the field. We really held them in the first half and got blown away in the second half.
The game was real physical - the majority of my current team was called the Thunder in the Fall '05 season and came in second to the Conquerors. We also played them to a tie earlier in the season (we think we won, the ref stopped keeping score in the rain). But it just gets physical when we play them. I know the Monster steps his game up - these are the kids who used to not pass to him last year.
Anyway, here is a typical scene from today:
I know the Conqueror, in red, is tugging on the shirt of the Phantom. The arm is in the right position and you can see the shirt bunch up a bit. I also know the kid. Now, I can't tell as much if my kid is tugging at the front of the shorts of the Conqueror. I checked other pictures and can't see anything normally on the front of the shorts.
And just to show I'm not trying to vent, here is one of a blatant handball by my striker:
Last week he got blown on two of these and while he didn't get caught this time, it is a bad habit to learn. There were plenty of other handballs and fouls called today. The kid in the background was on the dominant team of last year. We got one of the other two players from that team. I've noticed that this kid has learned to play his position, while my player feels he can move anywhere on the field. On the whole, I thought we did much better on positioning.
I saw another game earlier, the team that beat us last week. I noticed that while they were very good at playing positions, the other team seemed to pick them apart. But, in all honesty, once their forwards learn to pass the ball in from the wings, they will be better off.
I also mentioned that the Monster plays big against the Conquerors. Here is a snap of him defending against an ex-teammate:
I'm not sure they got much past him as a defender. I put him in goal for a quarter and while he got scored on, he showed really good form and confidence. I have several kids whose game gets really thrown off if they can't shake things off. My biggest pet peeve right now is kids (and/or parents) being negative about the skills of other kids. You don't have to lie, but you should be able to find something positive to say. Pick something very specific, not an "Atta boy!", and build from there. And there is never an excuse for telling a teammate, "You suck!" I've had that happen at practice (the kid sat), but not during a game - I don't care how good that kid was, or thought he was, he would be sitting at that point.
But anyway, the Monster has lately been playing much better in practice than in the games. I think it is resentment at having to stop being a sweeper (and also swarm ball) and having to learn to stay in position. I'd rather play a 3-1-1 than the 3-0-2 which is really prevalent with other teams. The 3-1-1 gets an extra man on the opponents side of the field, but at the expense of teaching the midfielder and the defender how to play their responsibilities. You can't count on the midfielder getting back in time.
He did play up to his skill level today. I've started to notice he is watching the middle and looking to see if someone is behind him. Another big improvement is on his marking. He was of the mind that you wanted to be in front of your man. I talked to him about it Thursday and how if your eyes are facing the man (and ball), you can make a better play. He didn't let his man get behind him today.
So the kids lost their last game 5-2. We then missed the finals by a point. We had 3 goals disallowed in the last game - any one of which would have given us a tying point for the finals. We would have then lost the first tie breaker - head-to-head with the team which beat us in the last game. But if we had got all three goals, we would have gone into a mini-game.
I was happier with the play of the kids - they showed some playing of position. I also wasn't yelling at them afterwards that they would be running laps in practice - unlike the coach the game before ours.
One of my goalies, who by the way had a great game, asked to not play goalie in the third quarter. My 3rd goalie had a sore throat and wasn't in form. The other available goalie was going in the fourth quarter. I told him he could ask the other goalie, who I think initially said okay. But he went by his dad and started looking miserable - it would mean he wouldn't be out on offense. I told the first boy I really wanted to win, but not enough to force a kid to play goalie for three quarters. I knew he also wanted more time on the field. I promised him he didn't have to play goalie at all the next league game.
I typically have a policy of not asking me to play a position during a game. But I was actually happy with all aspects of the exchange. The first boy had to come to coach - it wasn't his dad. The second kid wasn't forced to do something he clearly did not want to do. And I handled it in front of parents. I know in an idle setting, I'd have an office and they would sit calmly outside, alone, waiting for me to rule. But, I was okay with this outcome.
It turns out our next game is a friendly - i.e., it doesn't count in the league standings. Not that we get to see those, it might upset the kids. I'm going to put different kids in at goalie and try to get the goalies more time on the field.
By the way, the Monster sat down two quarters again - it was easiest thing I could do to balance the time for all 9 kids. But now, ironically, I'm upset at myself for restricting his playing time. I guess my parenting hat is on now.
Part of me wants to publish the criteria I use to distribute playing time - trying to balance the fairness of a rec league versus a desire shared by us all to win games. The other part has made the observation that it they want to be part of the decision making process, then they can volunteer their time just as easily as I do.
As for the BASC Tournament, I'm sure my team will be out there again next year. And if I continue to be unhappy about the level of officiating, I guess I should take the O8 class and do something about it.
We got beat the first game 11-2 by a team out of the first pool. Our offense was better than their defense, we just missed missed our shots. I'm not talking that their goalie made saves, no, we just missed. Once we went down 3-1, we lost desire. After that, the other team did play some really good positioning with their offense.
We won the second game against a team which bunched up as much as we did: 5-4. We had a 15 minute rain delay (they have a lightning meter and called it for a bit). I think the storm helped us - they bonded as they huddled in the back of a van:
One of my favorite newspaper games as a kid was the Spot the Ball. In the Scottish newspapers, they would show a scene from a match, where the ball had been sent on goal. Your job was to place an 'X' (maybe you got 10 marks) on where the ball was located. You sent in some money and waited to see if you won. Well, in this variant, you need to play spot the goalie. There are 5 Phantoms in the picture and 2 little brothers. Where is the fifth Phantom?
Some other pictures I liked include the Monster trotting:
And the Striker doing his magic. He has very good ball control and wants the back of the net - even though I made him play goalie for a quarter today. Anyway, time to tango:
We lost our league game, I tried to losen the boys up by bringing a large playground ball for the pregame and I let them run wild with it. The monster broke it in the second quarter bouncing on it. Some parents started complaining about game time. The kids are guaranteed 2 quarters each game. But with 6 on the field and 9 players, that means a player gets to be in 3 quarters for 2 out of 3 games and only in 2 quarters the 3rd game.
But it gets complicated when kids don't show up, so with only 6 players for game 4, all of them got to play the entire game. But that doesn't mean the kids who missed the game get special consideration at the next game. My son missed the first tournament game (prior commitment for him and my wife), but that didn't mean he got out of his sitting down 2 quarters in the league game.
And when they leave in the middle of a game (like one during the storm break today), it really messes things up. Or if the parents don't come to the whole game. Anyway, of the 3 kids who had to sit down for 2 quarters in the league game, 2 sets of parents complained about it. My wife and I were just happy the Monster was there to play and didn't bug the coach about it. I appreciated the thought from that set of parents.
I started coaching for two reasons:
Baseball is much harder to coach for fair playing time - you have to also account for infield time. With Soccer, I find the kids naturally gravitate to positions (just watch them play without an adult directing) and it is easier to make the kids happier. Anyway, because of the baseball, I'm very aware of how much the kids play and try to spread it about.
I think I have to be a bit more strict about this also occuring during a game. The kids, and perhaps the parents, should feel comfortable asking me about this after a game, but not during.
And the last pool game will be fun. We need to win to advance. Even then, we either need the team we played today to:
If we lose, we need the team we played today to lose as well. If they win, then they go. Otherwise, I think all 3 of us in the pool will be tied and might have to go to a penalty shoot-out. It gets complicated, but it could happen. So, the best thing to do is just win and then worry about the rest.
My game strategy (and the kid's playing time) will change as a goal is scored on us and then what the score is going into the fourth quarter.