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