Merge "Enable Neutron LBaaS Integration"
[apex-tripleo-heat-templates.git] / puppet / services / opendaylight-api.yaml
index 1e7aa47..da92518 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: ocata
+heat_template_version: pike
 
 description: >
   OpenDaylight SDN Controller.
@@ -28,7 +28,7 @@ parameters:
   OpenDaylightFeatures:
     description: List of features to install with ODL
     type: comma_delimited_list
-    default: ["odl-netvirt-openstack","odl-netvirt-ui"]
+    default: ["odl-netvirt-openstack","odl-netvirt-ui","odl-jolokia"]
   OpenDaylightApiVirtualIP:
     type: string
     default: ''
@@ -37,6 +37,10 @@ parameters:
     description: Mapping of service endpoint -> protocol. Typically set
                  via parameter_defaults in the resource registry.
     type: json
+  ServiceData:
+    default: {}
+    description: Dictionary packing service data
+    type: json
   ServiceNetMap:
     default: {}
     description: Mapping of service_name -> network name. Typically set
@@ -46,6 +50,14 @@ parameters:
   DefaultPasswords:
     default: {}
     type: json
+  RoleName:
+    default: ''
+    description: Role name on which the service is applied
+    type: string
+  RoleParameters:
+    default: {}
+    description: Parameters specific to the role
+    type: json
 
 outputs:
   role_data:
@@ -59,12 +71,36 @@ outputs:
         opendaylight::extra_features: {get_param: OpenDaylightFeatures}
         opendaylight::enable_dhcp: {get_param: OpenDaylightEnableDHCP}
         opendaylight::odl_bind_ip: {get_param: [ServiceNetMap, OpendaylightApiNetwork]}
-        opendaylight::nb_connection_protocol: {get_param: OpenDayLightConnectionProtocol}
+        opendaylight::nb_connection_protocol: {get_param: OpenDaylightConnectionProtocol}
         tripleo.opendaylight_api.firewall_rules:
               '137 opendaylight api':
                 dport:
                   - {get_param: OpenDaylightPort}
                   - 6640
                   - 6653
+                  - 2550
       step_config: |
         include tripleo::profile::base::neutron::opendaylight
+      upgrade_tasks:
+        - name: Check if opendaylight is deployed
+          command: systemctl is-enabled opendaylight
+          tags: common
+          ignore_errors: True
+          register: opendaylight_enabled
+        - name: "PreUpgrade step0,validation: Check service opendaylight is running"
+          shell: /usr/bin/systemctl show 'opendaylight' --property ActiveState | grep '\bactive\b'
+          when: opendaylight_enabled.rc == 0
+          tags: step0,validation
+        - name: Stop opendaylight service
+          tags: step1
+          when: opendaylight_enabled.rc == 0
+          service: name=opendaylight state=stopped
+        - name: Removes ODL snapshots, data, journal directories
+          file:
+            state: absent
+            path: /opt/opendaylight/{{item}}
+          tags: step2
+          with_items:
+            - snapshots
+            - data
+            - journal