Plugins for configuration manager
[ta/cm-plugins.git] / activators / src / ovsconfigactivator.py
1 #! /usr/bin/python
2 # Copyright 2019 Nokia
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #    http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 from cmframework.apis.cmactivator import CMGlobalActivator
17
18
19 class ovsconfigactivator(CMGlobalActivator):
20     """ OVS config activator plugin class. """
21
22
23     CLOUD_HOSTS = 'cloud.networking'
24     PLAYBOOK = '/opt/openstack-ansible/playbooks/ovs_config.yaml'
25
26     def __init__(self):
27         super(ovsconfigactivator, self).__init__()
28
29     def get_subscription_info(self):
30         return self.CLOUD_HOSTS
31
32     def activate_set(self, props):
33         self._activate()
34
35     def activate_delete(self, props):
36         self._activate()
37
38     def activate_full(self, target):
39         self._activate(target=target)
40
41     def _activate(self, target=None):
42         self.run_playbook(self.PLAYBOOK, target)