def METHOD_NAME(self, node, state='running'):
    action_type = self.DROPLET_STATE_MAP[state]
    droplet = self._manager.get_droplet(node.provider_node_id)
    actions = droplet.get_actions()
    action = None
    for item in actions:
        if item.type == action_type:
            action = item
            break
    else:
        raise Exception(
            "Unable to find action for {0}: {1}".format(
                state, action_type))
    timeout = 300
    start_time = start_time = time.time()
    while action.status != "completed":
        if time.time() - start_time > timeout:
            raise Exception("{0} node timed out".format(state))
        action.load()
    if action_type == "create":
        droplet.load()
        node.host_name = droplet.name
        node.ip_address = droplet.ip_address
        node.labels = droplet.tags
    node.state = action_type