summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrode Nordahl <frode.nordahl@gmail.com>2019-03-28 13:59:10 +0100
committerGitHub <noreply@github.com>2019-03-28 13:59:10 +0100
commitbd3640f68d9742bfbf186aa40f070c9504141da0 (patch)
tree981a4ad70ff44f7d802fea731e23b0cf28dd0a71
parente614834c32f5ca588ae00e509b85bc5a1cf8b3ef (diff)
parent6ab7eaa93e9931cd55fc811180270516283f9072 (diff)
downloadcharm-interface-websso-fid-service-provider-master.zip
charm-interface-websso-fid-service-provider-master.tar.gz
charm-interface-websso-fid-service-provider-master.tar.bz2
Merge pull request #1 from thedac/reactive-standardsHEADmaster
Use standard reactive flags
-rw-r--r--provides.py42
1 files changed, 32 insertions, 10 deletions
diff --git a/provides.py b/provides.py
index fc0aed3..033a052 100644
--- a/provides.py
+++ b/provides.py
@@ -1,4 +1,4 @@
-# Copyright 2017 Canonical Ltd
+# Copyright 2019 Canonical Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -12,19 +12,41 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import uuid
-
-from charms.reactive import hook
-from charms.reactive import set_flag, clear_flag
-from charms.reactive import Endpoint
+from charms.reactive import (
+ Endpoint,
+ clear_flag,
+ set_flag,
+ when,
+ when_any,
+)
class WebSSOFIDServiceProviderProvides(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, protocol_name, idp_name, user_facing_name):
# can have multiple dashboard charms in general, therefore,
# all relation objects and all units must be handled
# to_publish/relation_set work on a per-relation basis
- for rel in self.relations:
- rel.to_publish['protocol-name'] = protocol_name
- rel.to_publish['idp-name'] = idp_name
- rel.to_publish['user-facing-name'] = user_facing_name
+ for rel in self.relations:
+ rel.to_publish['protocol-name'] = protocol_name
+ rel.to_publish['idp-name'] = idp_name
+ rel.to_publish['user-facing-name'] = user_facing_name

This mirror site include all the OpenStack related repositories under: openstack, openstack-dev and openstack-infra.

NOTE: All repositories are updated every one hour.

Usage

For Git Clone
 git clone http://git.trystack.cn/openstack/nova.git 
For DevStack

Add GIT_BASE, NOVNC_REPO and SPICE_REPO variables to local.conf file.

[[local|localrc]]

# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git