Add bw-compat. for "refactor MAAS power processing"

  * Auto-convert:
    power_password => power_pass
    power_nova_id => nova_id
    power_os_tenantname => os_tenantname
    power_os_username => os_username
    power_os_password => os_password
    power_os_authurl => os_authurl
  * Add notify about

Change-Id: Ice1afd9b77d9428c42e3ef905f85990ad5030640
Closes-Bug: PROD-24570 (PROD:24570)
Related-Bug: PROD-21897 (PROD:21897)
diff --git a/README.rst b/README.rst
index 50765d1..88d3358 100644
--- a/README.rst
+++ b/README.rst
@@ -137,7 +137,8 @@
             power_type: ipmi
             power_address: '192.168.10.10'
             power_user: bmc_user
-            power_password: bmc_password
+            # power_password: bmc_password  # Old format,please use new one
+            power_pass: bmc_password
             #Optional (for legacy HW)
             power_driver: LAN
           distro_series: xenial
@@ -153,7 +154,8 @@
             power_type: ipmi
             power_address: '192.168.10.10'
             power_user: bmc_user
-            power_password: bmc_password
+            # power_password: bmc_password  # Old format,please use new one
+            power_pass: bmc_password
             #Optional (for legacy HW)
             power_driver: LAN
           distro_series: xenial
@@ -511,6 +513,37 @@
             source: cfg01.local
             host: 192.168.0.11
 
+MAAS service power_parameters defintion with OpenStack Nova power_type:
+
+.. code-block:: yaml
+
+    maas:
+      region:
+        machines:
+          cmp1:
+            power_type: nova
+            power_parameters: # old style, deprecated
+              power_nova_id: hostuuid
+              power_os_tenantname: tenant
+              power_os_username: user
+              power_os_password: password
+              power_os_authurl: http://url
+
+
+.. code-block:: yaml
+
+    maas:
+      region:
+        machines:
+          cmp1:
+            power_type: nova
+            power_parameters: # new style
+              nova_id: hostuuid
+              os_tenantname: tenant
+              os_username: user
+              os_password: password
+              os_authurl: http://url
+
 Test pillars
 ==============
 
diff --git a/_modules/maas.py b/_modules/maas.py
index b0f5bb2..c02f104 100644
--- a/_modules/maas.py
+++ b/_modules/maas.py
@@ -421,9 +421,46 @@
             'mac_addresses': machine_pxe_mac,
             'power_type': power_data.get('power_type', 'manual'),
         }
-        for k,v in power_data.items():
+        for k, v in power_data.items():
             if k == 'power_type':
                 continue
+            elif k == 'power_password':
+                data['power_parameters_power_pass'] = v
+                LOG.warning(
+                    "Deprecated power parameter:power_password passed! "
+                    "Please change key name to 'power_pass'! ")
+                continue
+            elif k == 'power_nova_id':
+                data['power_parameters_nova_id'] = v
+                LOG.warning(
+                    "Deprecated power parameter:power_nova_id passed! "
+                    "Please change key name to 'nova_id'! ")
+                continue
+            elif k == 'power_os_tenantname':
+                data['power_parameters_os_tenantname'] = v
+                LOG.warning(
+                    "Deprecated power parameter:power_os_tenantname passed! "
+                    "Please change key name to 'os_tenantname'! ")
+                continue
+            elif k == 'power_os_username':
+                data['power_parameters_os_username'] = v
+                LOG.warning(
+                    "Deprecated power parameter:power_os_username passed! "
+                    "Please change key name to 'os_username'! ")
+                continue
+            elif k == 'power_os_password':
+                data['power_parameters_os_password'] = v
+                LOG.warning(
+                    "Deprecated power parameter:power_os_password passed! "
+                    "Please change key name to 'os_password'! ")
+                continue
+            elif k == 'power_os_authurl':
+                data['power_parameters_os_authurl'] = v
+                LOG.warning(
+                    "Deprecated power parameter:power_os_authurl passed! "
+                    "Please change key name to 'os_authurl'! ")
+                continue
+
             data_key = 'power_parameters_{}'.format(k)
             data[data_key] = v
         return data