<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>I&#8217;m trying to create a new system profile using perl through the XMLRPC API.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Things work great using python, but when I try to use either of the above perl interfaces, I&#8217;m not able to actually write any of the new objects I&#8217;ve created:<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Reading items works a charm, and it looks like the calls themselves are succeeding, but the host never shows up in a:<o:p></o:p></p><p class=MsoNormal>#[root@spacewalk cobbler]# cobbler system list | grep test<o:p></o:p></p><p class=MsoNormal>#<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>I&#8217;m wondering what&#8217;s going wrong here; am I not authenticating properly?<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>I&#8217;ve tried using both XML::RPC and XMLRPC::Lite, and get similar results, where reads work fine, but nothing actually &#8216;sticks&#8217;<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Here&#8217;s the script that I&#8217;m using for XMLRPC::Lite<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>#!/usr/bin/perl<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>use strict;<o:p></o:p></p><p class=MsoNormal>use warnings;<o:p></o:p></p><p class=MsoNormal>use XMLRPC::Lite;<o:p></o:p></p><p class=MsoNormal>use Data::Dumper;<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>my $username = 'api-user';<o:p></o:p></p><p class=MsoNormal>my $password = 'sapi-user';<o:p></o:p></p><p class=MsoNormal>my $proto = 'http://';<o:p></o:p></p><p class=MsoNormal>my $servername = 'spacewak';<o:p></o:p></p><p class=MsoNormal>my $api = '/cobbler_api';<o:p></o:p></p><p class=MsoNormal>my $url = $proto . $servername . $api;<o:p></o:p></p><p class=MsoNormal>my $name = 'vacsld01test';<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>my $conn = XMLRPC::Lite-&gt;proxy('https://vacslp01spacewalk.cucbc.com/cobbler_api');<o:p></o:p></p><p class=MsoNormal>my $token = $conn-&gt;login($username, $password)-&gt;result();<o:p></o:p></p><p class=MsoNormal>my $object = $conn-&gt;new_system($token)-&gt;result();<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>$conn-&gt;modify_system($object, 'name', $name, $token)-&gt;result();<o:p></o:p></p><p class=MsoNormal>$conn-&gt;modify_system($object, 'hostname', $name, $token)-&gt;result();<o:p></o:p></p><p class=MsoNormal>$conn-&gt;save_system($object, $token)-&gt;result();<o:p></o:p></p><p class=MsoNormal>$conn-&gt;sync($token)-&gt;result();<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>/var/log/cobbler/cobbler.log has:<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - INFO | authenticate; ['api-user', True]<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - INFO | REMOTE new_item(system); user(api-user)<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - DEBUG | authorize; ['api-user', 'new_system', None, None, True]<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - DEBUG | REMOTE api-user authorization result: True; user(?)<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - INFO | REMOTE modify_item(system); user(api-user); object_id(___NEW___system::o0X5NLQrLsh9rXGhtvbuts56aTY6zb4JfQ==); attribute(name)<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - DEBUG | authorize; ['api-user', 'modify_system', &lt;cobbler.item_system.System instance at 0x14350560&gt;, 'name', True]<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - DEBUG | REMOTE api-user authorization result: True; user(?)<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - INFO | REMOTE modify_item(system); user(api-user); object_id(___NEW___system::o0X5NLQrLsh9rXGhtvbuts56aTY6zb4JfQ==); attribute(hostname)<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - DEBUG | authorize; ['api-user', 'modify_system', &lt;cobbler.item_system.System instance at 0x14350560&gt;, 'hostname', True]<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - DEBUG | REMOTE api-user authorization result: True; user(?)<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - INFO | REMOTE save_item(system); user(api-user); object_id(___NEW___system::o0X5NLQrLsh9rXGhtvbuts56aTY6zb4JfQ==)<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - DEBUG | authorize; ['api-user', 'save_system', &lt;cobbler.item_system.System instance at 0x14350560&gt;, None, True]<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - DEBUG | REMOTE api-user authorization result: True; user(?)<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - INFO | add_item(system); ['vacsld01test']<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - DEBUG | get_items; ['system']<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - INFO | REMOTE sync; user(api-user)<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - DEBUG | authorize; ['api-user', 'sync', None, None, True]<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - DEBUG | REMOTE api-user authorization result: True; user(?)<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - INFO | sync<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - INFO | running pre-sync triggers<o:p></o:p></p><p class=MsoNormal>Thu Nov&nbsp; 8 16:03:46 2012 - INFO | cleaning trees<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>I&#8217;m using:<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>cobbler2-2.0.11-4.el5 ( CentOS 5.8)<o:p></o:p></p><p class=MsoNormal>perl v5.10.1<o:p></o:p></p><p class=MsoNormal>XMLRPC::Lite 0.715<o:p></o:p></p></div></body></html>