~themue/juju-core/go-worker-firewaller-machineunits

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
package mstate

import (
	"labix.org/v2/mgo"
	"launchpad.net/juju-core/log"
)

func Dial(servers string) (st *State, err error) {
	log.Printf("opening state with servers: %q", servers)
	session, err := mgo.Dial(servers)
	if err != nil {
		return
	}
	db := session.DB("juju")
	st = &State{
		db:       db,
		charms:   db.C("charms"),
		machines: db.C("machines"),
		services: db.C("services"),
		units:    db.C("units"),
	}
	return
}

func (st *State) Close() (err error) {
	st.db.Session.Close()
	return
}