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
}
|