Always close mgo.Iter after use

The documentation for mgo.Itr says that the iterator should be closed after use. Reading the source the difference between Iter.Close() and Iter.Err() is the latter doesn't close the iterator (cursor), but both will return any error that occured so are interchangable in this respect.

Replace all the calls to Iter.Err() with Iter.Close, do some general cleanups and replace fmt.Errorf with errors.Errorf in affected functions.
Ignore empty machine addresses
Merge pull request #135 from davecheney/close-mongo-iterators

Always close mgo.Iter after use

The documentation for mgo.Itr says that the iterator should be closed after use. Reading the source the difference between Iter.Close() and Iter.Err() is the latter doesn't close the iterator (cursor), but both will return any error that occured so are interchangable in this respect.

Replace all the calls to Iter.Err() with Iter.Close, do some general cleanups and replace fmt.Errorf with errors.Errorf in affected functions.
mend
Merge pull request #136 from wallyworld/ignore-empty-machine-addresses

Ignore empty machine addresses

Older versions of juju could write empty machine addresses to state. This messes up the peer address selection when upgrading a nonha env to a ha one. So we add code to ignore such empty addresses.

Fixes: https://bugs.launchpad.net/juju-core/+bug/1329123
Action Watcher can optionally filter on prefix
Add tests for Unit.WatchActions
Refactor filterFn to make loop() function cleaner
one more refactor; simplify watcher struct
1. Don't use Tags internally 2. Log unexpected key value in watcher filterFn
Merge pull request #132 from johnweldon/unit-action-watcher

Unit Action Watcher

Add Unit.WatchActions for filtered action notifications by Unit
Change rsylog ruleset so that local messages are no longer dropped
Change syslog to not use a default ruleset
ryslog: fixing tests
Merge pull request #139 from wwitzel3/012-local-rsyslog

Fix rsyslog configuration for local provider

syslog/config: stop rsyslog breaking for local provider

The rsyslog configuration used to create a default ruleset that dropped all messages after forwarding juju ones onto the state servers. This broke rsyslog for users of the local provider, where the rsyslog configuration was your main machine (all non-juju messages were dropped).

The new config no longer uses a default ruleset. It still forwards juju messages and then only drops the juju ones which have already been handled.

https://bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/479592