Cleanup after Policy update 05/11705/1
authorTommy Carpenter <tommy@research.att.com>
Mon, 11 Sep 2017 15:59:09 +0000 (11:59 -0400)
committerTommy Carpenter <tommy@research.att.com>
Mon, 11 Sep 2017 16:01:50 +0000 (12:01 -0400)
Issue-ID: DCAEGEN2-96
Change-Id: Iebc195340211faea6d0bcc834015117ba9ded09d
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
cdap/cdap_types.yaml
cdap/cdapplugin/cdapcloudify/cdap_plugin.py
cdap/cdapplugin/requirements.txt
cdap/cdapplugin/setup.py
cdap/demo_blueprints/cdap_hello_world.yaml
cdap/demo_blueprints/cdap_hello_world_reconfigure.sh

index f27b4b1..8d079c6 100755 (executable)
@@ -6,7 +6,7 @@ plugins:
   cdap_deploy:
     executor: central_deployment_agent
     package_name: cdapcloudify
-    package_version: 14.2.0
+    package_version: 14.2.1
 
 data_types:
     cdap_connections:
index 1de0173..6f4134e 100644 (file)
@@ -46,15 +46,17 @@ class BadConnections(NonRecoverableError):
 def _trigger_update(updated_policies):
     """
     Helper function for reconfiguring after a policy update
+
+    updated_policies is assumed to be a list of JSONs that are applicable to the brokers smart interface
     """
     for p in updated_policies:
         ctx.logger.info("Reconfiguring CDAP application via smart interface")
-        return discovery.reconfigure_in_broker(cdap_broker_name = ctx.instance.runtime_properties[SELECTED_BROKER],
-                                        service_component_name = ctx.instance.runtime_properties[SERVICE_COMPONENT_NAME],
-                                        config = p,
-                                        reconfiguration_type = "program-flowlet-smart",
-                                        logger = ctx.logger)
-
+        return discovery.reconfigure_in_broker(
+            cdap_broker_name = ctx.instance.runtime_properties[SELECTED_BROKER],
+            service_component_name = ctx.instance.runtime_properties[SERVICE_COMPONENT_NAME],
+            config = p,
+            reconfiguration_type = "program-flowlet-smart",
+            logger = ctx.logger)
 
 def _validate_conns(connections):
     """
@@ -107,19 +109,6 @@ def _services_calls_iterator(services_calls):
         for_config[s["config_key"]] = "{{ " + s["service_component_type"] + " }}" #will get bound by CBS
     return for_config
 
-
-######################
-# TEMPORARY!!!!!!
-# THIS WILL GO AWAY ONCE ALEX HAS A NODE TYPE AND PLUGIN
-######################
-@operation
-@Policies.populate_policy_on_node
-def policy_get(**kwargs):
-    """decorate with @Policies.populate_policy_on_node on dcae.policy node to
-    retrieve the latest policy_body for policy_id property and save it in runtime_properties
-    """
-    pass
-
 ######################
 # Cloudify Operations
 ######################
@@ -252,11 +241,7 @@ def app_smart_reconfigure(new_config_template, **kwargs):
     """
     try:
         ctx.logger.info("Reconfiguring CDAP application via smart interface")
-        discovery.reconfigure_in_broker(cdap_broker_name = ctx.instance.runtime_properties[SELECTED_BROKER],
-                                        service_component_name = ctx.instance.runtime_properties[SERVICE_COMPONENT_NAME],
-                                        config = new_config_template, #This keyname will likely change per policy handler
-                                        reconfiguration_type = "program-flowlet-smart",
-                                        logger = ctx.logger)
+        _trigger_update([new_config_template])
     except Exception as e:
         raise NonRecoverableError("CDAP Reconfigure error: {0}".format(e))
 
index 48ff425..a522688 100644 (file)
@@ -1,3 +1,3 @@
 --extra-index-url {{ TODO }}/simple
-dcaepolicy==0.0.3
+dcaepolicy==0.0.4
 uuid==1.30
index 8498473..56e05f4 100644 (file)
@@ -22,7 +22,7 @@ from setuptools import setup, find_packages
 
 setup(
     name = "cdapcloudify",
-    version = "14.2.0",
+    version = "14.2.1",
     packages=find_packages(),
     author = "Tommy Carpenter",
     author_email = "tommy at research dot eh tee tee dot com",
@@ -32,7 +32,7 @@ setup(
     url = "https://gerrit.onap.org/r/#/admin/projects/dcaegen2/platform/plugins",
     zip_safe=False,
     install_requires = [
-        "dcaepolicy==0.0.3",
+        "dcaepolicy==0.0.4",
         "uuid==1.30"
     ]
 )
index 197603f..f150cb0 100644 (file)
@@ -2,9 +2,8 @@ tosca_definitions_version: cloudify_dsl_1_3
 
 imports:
   - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
-  #- {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2 }}/type_files/cdap/14.0.2/cdap_types.yaml
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2 }}/type_files/cdap/14.2.0/cdap_types.yaml
-  #TODO: IMPORT ALEX'S TYPE FILE
+  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2 }}/type_files/cdap/14.2.1/cdap_types.yaml
+  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2 }}/type_files/dcaepolicy/0.0.1/node-type.yaml
 
 inputs:
   hello_world_jar_url:
@@ -13,25 +12,6 @@ inputs:
     type: string
     default : "cdap_broker"
 
-#TODO: THIS WILL GO AWAY ONCE TYPE FILE IS IMP[ORTED
-node_types:
-    dcae.nodes.policy:
-        derived_from: cloudify.nodes.Root
-        properties:
-            policy_id:
-                description: PK to policy
-                type: string
-                default: DCAE_alex.Config_empty-policy
-            policy_apply_mode:
-                description: choice of how to apply the policy update - none or script
-                type: string
-                default: none
-        interfaces:
-            cloudify.interfaces.lifecycle:
-                create:
-                    implementation: cdap_deploy.cdapcloudify.cdap_plugin.policy_get
-#TODO: THIS WILL GO AWAY ONCE TYPE FILE IS IMP[ORTED
-
 node_templates:
   hw_app_policy_test:
     type: dcae.nodes.policy
@@ -53,8 +33,8 @@ node_templates:
         'who'
       service_endpoints:
         [{"service_name" : "Greeting", "service_endpoint" : "greet", "endpoint_method" : "GET"}]
-      app_config: {"foo" : "foo-test"}
-      app_preferences: {"foo_updated" : "foo-pref-test"}
+      app_config: {"foo" : "you should never see this; it should be overwritten by policy"}
+      app_preferences: {"foo_updated" : "you should never see this; it should be overwritten by policy"}
       
     interfaces:
       cloudify.interfaces.lifecycle:
index c5df2f5..95efe60 100755 (executable)
@@ -1,4 +1,4 @@
 #!/bin/bash
-cfy executions start -d cdap-hello-world -w execute_operation -p '{"operation" : "reconfiguration.app_config_reconfigure", "node_ids" : ["hw_cdap_app"], "operation_kwargs" : {"new_config_template" : {"foo":"bar"}}, "allow_kwargs_override": true}'
-cfy executions start -d cdap-hello-world -w execute_operation -p '{"operation" : "reconfiguration.app_preferences_reconfigure", "node_ids" : ["hw_cdap_app"], "operation_kwargs" : {"new_config_template" : {"fooprefs":"barprefs"}}, "allow_kwargs_override": true}'
-cfy executions start -d cdap-hello-world -w execute_operation -p '{"operation" : "reconfiguration.app_smart_reconfigure", "node_ids" : ["hw_cdap_app"], "operation_kwargs" : {"new_config_template" : {"fooprefs":"SO SMARTTTTTT", "foo":"SO SMART AGAINNNNN"}}, "allow_kwargs_override": true}'
+cfy executions start -d cdap_hello_world -w execute_operation -p '{"operation" : "reconfiguration.app_config_reconfigure", "node_ids" : ["hw_cdap_app"], "operation_kwargs" : {"new_config_template" : {"foo":"bar-manual-update"}}, "allow_kwargs_override": true}'
+cfy executions start -d cdap_hello_world -w execute_operation -p '{"operation" : "reconfiguration.app_preferences_reconfigure", "node_ids" : ["hw_cdap_app"], "operation_kwargs" : {"new_config_template" : {"foo_updated":"foo-pref-manual-update"}}, "allow_kwargs_override": true}'
+cfy executions start -d cdap_hello_world -w execute_operation -p '{"operation" : "reconfiguration.app_smart_reconfigure", "node_ids" : ["hw_cdap_app"], "operation_kwargs" : {"new_config_template" : {"foo_updated":"SO SMARTTTTTT", "foo":"SO SMART AGAINNNNN"}}, "allow_kwargs_override": true}'