LEFT | RIGHT |
1 package apiserver | 1 package apiserver |
2 | 2 |
3 import ( | 3 import ( |
4 "code.google.com/p/go.net/websocket" | 4 "code.google.com/p/go.net/websocket" |
5 "fmt" | 5 "fmt" |
6 "launchpad.net/juju-core/charm" | 6 "launchpad.net/juju-core/charm" |
7 "launchpad.net/juju-core/juju" | 7 "launchpad.net/juju-core/juju" |
8 "launchpad.net/juju-core/log" | 8 "launchpad.net/juju-core/log" |
9 "launchpad.net/juju-core/state" | 9 "launchpad.net/juju-core/state" |
10 "launchpad.net/juju-core/state/api" | 10 "launchpad.net/juju-core/state/api" |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 Deltas: deltas, | 274 Deltas: deltas, |
275 }, err | 275 }, err |
276 } | 276 } |
277 | 277 |
278 func (aw srvClientAllWatcher) Stop() error { | 278 func (aw srvClientAllWatcher) Stop() error { |
279 return aw.w.(*multiwatcher.Watcher).Stop() | 279 return aw.w.(*multiwatcher.Watcher).Stop() |
280 } | 280 } |
281 | 281 |
282 // ServiceSet implements the server side of Client.ServerSet. | 282 // ServiceSet implements the server side of Client.ServerSet. |
283 func (c *srvClient) ServiceSet(p params.ServiceSet) error { | 283 func (c *srvClient) ServiceSet(p params.ServiceSet) error { |
284 » return juju.ServiceSet(c.root.srv.state, p) | 284 » svc, err := c.root.srv.state.Service(p.ServiceName) |
| 285 » if err != nil { |
| 286 » » return err |
| 287 » } |
| 288 » return svc.SetConfig(p.Options) |
285 } | 289 } |
286 | 290 |
287 // ServiceSetYAML implements the server side of Client.ServerSetYAML. | 291 // ServiceSetYAML implements the server side of Client.ServerSetYAML. |
288 func (c *srvClient) ServiceSetYAML(p params.ServiceSetYAML) error { | 292 func (c *srvClient) ServiceSetYAML(p params.ServiceSetYAML) error { |
289 » return juju.ServiceSetYAML(c.root.srv.state, p) | 293 » svc, err := c.root.srv.state.Service(p.ServiceName) |
| 294 » if err != nil { |
| 295 » » return err |
| 296 » } |
| 297 » return svc.SetConfigYAML([]byte(p.Config)) |
290 } | 298 } |
291 | 299 |
292 // ServiceGet returns the configuration for a service. | 300 // ServiceGet returns the configuration for a service. |
293 func (c *srvClient) ServiceGet(args params.ServiceGet) (params.ServiceGetResults
, error) { | 301 func (c *srvClient) ServiceGet(args params.ServiceGet) (params.ServiceGetResults
, error) { |
294 return statecmd.ServiceGet(c.root.srv.state, args) | 302 return statecmd.ServiceGet(c.root.srv.state, args) |
295 } | 303 } |
296 | 304 |
297 // Resolved implements the server side of Client.Resolved. | 305 // Resolved implements the server side of Client.Resolved. |
298 func (c *srvClient) Resolved(p params.Resolved) error { | 306 func (c *srvClient) Resolved(p params.Resolved) error { |
299 » return statecmd.Resolved(c.root.srv.state, p) | 307 » unit, err := c.root.srv.state.Unit(p.UnitName) |
| 308 » if err != nil { |
| 309 » » return err |
| 310 » } |
| 311 » return unit.Resolve(p.Retry) |
300 } | 312 } |
301 | 313 |
302 // ServiceExpose changes the juju-managed firewall to expose any ports that | 314 // ServiceExpose changes the juju-managed firewall to expose any ports that |
303 // were also explicitly marked by units as open. | 315 // were also explicitly marked by units as open. |
304 func (c *srvClient) ServiceExpose(args params.ServiceExpose) error { | 316 func (c *srvClient) ServiceExpose(args params.ServiceExpose) error { |
305 return statecmd.ServiceExpose(c.root.srv.state, args) | 317 return statecmd.ServiceExpose(c.root.srv.state, args) |
306 } | 318 } |
307 | 319 |
308 // ServiceUnexpose changes the juju-managed firewall to unexpose any ports that | 320 // ServiceUnexpose changes the juju-managed firewall to unexpose any ports that |
309 // were also explicitly marked by units as open. | 321 // were also explicitly marked by units as open. |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
647 func (ws *watchers) stopAll() { | 659 func (ws *watchers) stopAll() { |
648 ws.mu.Lock() | 660 ws.mu.Lock() |
649 defer ws.mu.Unlock() | 661 defer ws.mu.Unlock() |
650 for _, w := range ws.ws { | 662 for _, w := range ws.ws { |
651 if err := w.w.Stop(); err != nil { | 663 if err := w.w.Stop(); err != nil { |
652 log.Errorf("state/api: error stopping %T watcher: %v", w
, err) | 664 log.Errorf("state/api: error stopping %T watcher: %v", w
, err) |
653 } | 665 } |
654 } | 666 } |
655 ws.ws = make(map[string]*srvWatcher) | 667 ws.ws = make(map[string]*srvWatcher) |
656 } | 668 } |
LEFT | RIGHT |