Hello Guys,
I was trying to setup power maangement for our servers from cobbler
using API.
But, the remote.py code doesn't seem to take user/password input. From
what is explained on
http://www.cobblerd.org/manuals/2.4.0/5/6_-_Power_Management.html, I
can supply power-user and power-pass at run time.
It fails,
# cobbler system poweron --name=foo --power-user=X --power-pass=Y
Usage: cobbler [options]
cobbler: error: no such option: --power-user
For us, I want to run power commands using API. Command line wont make
much sense for security purpose.
So, I had to modify remote.py to take user/password
+++ remote.py 2014-01-27 06:13:46.766923325 +0000
@@ -1982,7 +1982,7 @@
return True
- def power_system(self,object_id,power=None,token=None,logger=None):
+ def
power_system(self,object_id,power=None,token=None,user=None,password=None,logger=None):
"""
Internal implementation used by background_power, do not call
directly if possible.
@@ -1991,13 +1991,13 @@
obj = self.__get_object(object_id)
self.check_access(token, "power_system", obj)
if power=="on":
- rc=self.api.power_on(obj, user=None, password=None,
logger=logger)
+ rc=self.api.power_on(obj, user, password, logger=logger)
elif power=="off":
- rc=self.api.power_off(obj, user=None, password=None,
logger=logger)
+ rc=self.api.power_off(obj, user, password, logger=logger)
elif power=="status":
- rc=self.api.power_status(obj, user=None, password=None,
logger=logger)
+ rc=self.api.power_status(obj, user, password, logger=logger)
elif power=="reboot":
- rc=self.api.reboot(obj, user=None, password=None,
logger=logger)
+ rc=self.api.reboot(obj, user, password, logger=logger)
Do you guys think if this could get into the main code? Or am I
missing something?
James can correct me if I'm wrong, but you are supposed to set the user
and password on the Power Management tab of your System entry.
Regards,
Eduardo Kienetz