~jimbaker/pyjuju/relation-ids-whitespace-separated

« back to all changes in this revision

Viewing changes to juju/control/remove_unit.py

merge subordinate control changes [r=hazmat] [f=958378 ]

This includes support in deploy, add/remove-unit and status

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
from twisted.internet.defer import inlineCallbacks
4
4
 
 
5
from juju.errors import JujuError
5
6
from juju.state.service import ServiceStateManager, parse_service_name
6
7
from juju.control.utils import get_environment
7
8
 
39
40
            service_name = parse_service_name(unit_name)
40
41
            service_state = yield service_manager.get_service_state(
41
42
                service_name)
 
43
            if (yield service_state.is_subordinate()):
 
44
                raise JujuError("Subordinate services acquire units from "
 
45
                                "their principal service.")
 
46
 
42
47
            unit_state = yield service_state.get_unit_state(unit_name)
43
48
            yield service_state.remove_unit_state(unit_state)
44
49
            log.info("Unit %r removed from service %r",