Bug 666: Fix window_size overflow with Paramiko
[osm/N2VC.git] / tests / charms / layers / broken / reactive / simple.py
1 from charmhelpers.core.hookenv import (
2 action_get,
3 action_fail,
4 action_set,
5 status_set,
6 )
7 from charms.reactive import (
8 clear_flag,
9 set_flag,
10 when,
11 when_not,
12 )
13 import charms.sshproxy
14
15
16 @when('sshproxy.configured')
17 @when_not('simple.installed')
18 def install_simple_proxy_charm():
19 """Post-install actions.
20
21 This function will run when two conditions are met:
22 1. The 'sshproxy.configured' state is set
23 2. The 'simple.installed' state is not set
24
25 This ensures that the workload status is set to active only when the SSH
26 proxy is properly configured.
27 """
28 set_flag('simple.installed')
29 status_set('active', 'Ready!')
30
31
32 @when('actions.touch')
33 def touch():
34 raise Exception("I am broken.")
35 err = ''
36 try:
37 filename = action_get('filename')
38 cmd = ['touch {}'.format(filename)]
39 result, err = charms.sshproxy._run(cmd)
40 except Exception:
41 action_fail('command failed:' + err)
42 else:
43 action_set({'output': result})
44 finally:
45 clear_flag('actions.touch')