blob: d85d3facc597b486ac5b5cfa26ee9d74089c90cb [file] [log] [blame]
Adam Israel3c17db82017-03-30 21:39:26 -04001#!/usr/bin/env python3
2##
3# Copyright 2016 Canonical Ltd.
4# All rights reserved.
5#
6# Licensed under the Apache License, Version 2.0 (the "License"); you may
7# not use this file except in compliance with the License. You may obtain
8# a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15# License for the specific language governing permissions and limitations
16# under the License.
17##
18import sys
19sys.path.append('lib')
20
21from charms.reactive import main
22from charms.reactive import set_state
23from charmhelpers.core.hookenv import action_fail, action_name
24
25"""
26`set_state` only works here because it's flushed to disk inside the `main()`
27loop. remove_state will need to be called inside the action method.
28"""
29set_state('actions.{}'.format(action_name()))
30
31try:
32 main()
33except Exception as e:
34 action_fail(repr(e))