If you do not want to save username/password in the config and thus expose it on cobbler system report --name=system-name, there is an option to provide user/pass on cobbler system reboot --name=system-name --power-user=X --power-pass=Y as documented on http://www.cobblerd.org/manuals/2.4.0/5/6_-_Power_Management.html. But it doesn't work ATM. So, I had to modify remote.py code to pass these arguments via API. 

Thanks,

Nitin
Linkedin Corp

On Monday, January 27, 2014, Eduardo Bacchi Kienetz <ebacchi@linux.vnet.ibm.com> wrote:
On 01/27/2014 04:40 AM, nitin wrote:
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

_______________________________________________
cobbler-devel mailing list
cobbler-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/cobbler-devel