Adding handling joined/changed flags

This commit is contained in:
lolwww 2019-06-27 21:45:54 +03:00
parent 2410041dd3
commit 7c74781e58

View File

@ -12,11 +12,36 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from charms.reactive import Endpoint
from charms.reactive import (
Endpoint,
clear_flag,
set_flag,
when,
when_any,
)
class CinderBackupProvides(Endpoint):
@when('endpoint.{endpoint_name}.joined')
def joined(self):
set_flag(self.expand_name('{endpoint_name}.connected'))
@when('endpoint.{endpoint_name}.changed')
def changed(self):
set_flag(self.expand_name('{endpoint_name}.available'))
clear_flag(self.expand_name('endpoint.{endpoint_name}.changed'))
@when_any('endpoint.{endpoint_name}.broken',
'endpoint.{endpoint_name}.departed')
def departed(self):
flags = (
self.expand_name('{endpoint_name}.available'),
self.expand_name('{endpoint_name}.connected'),
)
for flag in flags:
clear_flag(flag)
def publish(self, name, configuration):
for relation in self.relations:
relation.to_publish['backend_name'] = name