<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 12 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Trebuchet MS";
        panose-1:2 11 6 3 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","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;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
.MsoChpDefault
        {mso-style-type:export-only;}
@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"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The source should always be the “upstream” of the Errata, Red Hat for any clones from Red Hat, your channel if it’s locally sourced and managed errata.  Errata
 are just documents that have links to updated packages with descriptions.  Clones don’t physically copy RPMs from sources, they get pointers to the same RPMs.  Same with Cloned errata, the package links in the clone point to the same updated packages as the
 source errata.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">So I created a new clone channel (RHEL 6 Client) with no errata in it and found an as yet uncloned RHT Errata<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div align="center">
<table class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%;background:#B4B19A;border:none;border-bottom:solid #B4B19A 1.0pt">
<tbody>
<tr>
<td width="5%" valign="top" style="width:5.0%;border:none;border-left:solid #B4B19A 1.0pt;background:#D8D8D8;padding:3.0pt 6.0pt 3.0pt 6.0pt">
<p class="MsoNormal"><span style="font-family:"Trebuchet MS","sans-serif";color:#333333"><a href="https://ep-sat01.lab.dlt.com/rhn/errata/details/Details.do?eid=20084"><span style="color:#0066CC;text-decoration:none">RHSA-2013:1142</span></a><o:p></o:p></span></p>
</td>
<td valign="top" style="border:none;background:#D8D8D8;padding:3.0pt 6.0pt 3.0pt 6.0pt">
<p class="MsoNormal"><span style="font-family:"Trebuchet MS","sans-serif";color:#333333">(none)<o:p></o:p></span></p>
</td>
<td valign="top" style="border:none;background:#D8D8D8;padding:3.0pt 6.0pt 3.0pt 6.0pt">
<p class="MsoNormal"><span style="font-family:"Trebuchet MS","sans-serif";color:#333333">Important: thunderbird security update<o:p></o:p></span></p>
</td>
<td valign="top" style="border:none;border-right:solid #B4B19A 1.0pt;background:#D8D8D8;padding:3.0pt 6.0pt 3.0pt 6.0pt">
<p class="MsoNormal"><span style="font-family:"Trebuchet MS","sans-serif";color:#333333">  <o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">We want to watch what happens to this errata as we run our script.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">** 88 Errata to clone from source<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Waiting to continue...<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">['RHSA-2013:1282', 'RHBA-2013:1276', 'RHBA-2013:1278', 'RHBA-2013:1271', <SNIP><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">'RHSA-2013:1140',
<b>'RHSA-2013:1142',</b> 'RHSA-2013:1144', 'RHBA-2013:1132', <SNIP><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">'RHBA-2013:0901', 'RHBA-2013:0893', 'RHSA-2013:0896', 'RHSA-2013:0897']<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">** 88 Advisories added to clone list for target<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Ok so it was in the original list from the source of "rhel-x86_64-client-6" and we added args for errata.cloneAsOriginal.  Here’s the output from that call.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">['CLA-2013:1282', 'CLA-2013:1276', 'CLA-2013:1278', 'CLA-2013:1271', 'CLA-2013:1270', <SNIP><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">'CLA-2013:1146', 'CLA-2013:1140',<b> 'CLA-2013:1142',</b> 'CLA-2013:1144', 'CLA-2013:1132', <SNIP><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">'CLA-2013:0893', 'CLA-2013:0896', 'CLA-2013:0897']<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">** 88 Cloned advisories pushed to the target channel<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">So it looks like the APIs can skip the publish step and clone straight to the channel.  There’s a way to do this via the GUI under Manage Software Channels
 -> Channel Name -> Errata tab.  This is a different workflow than from the Errata top level tab and Clone Errata.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">So my script really probably only needs the first two calls: build the list from channel A and clone to channel B, which will create new cloned errata where
 needed and merge with existing.  If that’s not your workflow .. then you probably want to create a few clones and play around.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I may have gone far afield with this answer … let me know if I didn’t get you what you needed.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">HTH,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Matt<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> spacewalk-list-bounces@redhat.com [mailto:spacewalk-list-bounces@redhat.com]
<b>On Behalf Of </b>wm-lists<br>
<b>Sent:</b> Wednesday, September 25, 2013 12:55 PM<br>
<b>To:</b> spacewalk-list@redhat.com<br>
<b>Subject:</b> Re: [Spacewalk-list] API. Merge single new errata and packages<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#500050">Thanks for the script.  I'll have to give that a try and see what the<br>
results are..<br>
<br>
My use case would be if, say, httpd is updated by Red Hat for a specific<br>
vulnerability and I wanted to progress only that advisory and associated<br>
packages through to my dev channels and on to the production channels in<br>
order to quickly implement it.  My errata flow is Red Hat --> DEV Channel<br>
-->PROD Channel<br>
<br>
So knowing that, where does the errata.clone call use as it's source?  If<br>
my prod channel's original channel is the dev channel, would it use that?<br>
<br>
Will</span><o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Wed, Sep 25, 2013 at 11:23 AM, Matt Micene <<a href="mailto:matt.micene@dlt.com" target="_blank">matt.micene@dlt.com</a>> wrote:<o:p></o:p></p>
<p class="MsoNormal">I knocked together this python script to look at the behavior of the API around cloning errata.  It looks to me like once you've published an errata, cloning it to the channel takes care of linking the package.<br>
<br>
So the script will wants a source, target and date range then lists all the available errata in the source, clones them to the target and then publishes anything that's left.<br>
<br>
This probably isn't the right workflow by a long shot (off the top of my head I think you'd probably want to get the unpublished list first maybe?), and there's no error checking but it may prove interesting just for the behavior.<br>
<br>
HTH,<br>
Matt<br>
<br>
<br>
> -----Original Message-----<br>
> From: <a href="mailto:spacewalk-list-bounces@redhat.com">spacewalk-list-bounces@redhat.com</a> [mailto:<a href="mailto:spacewalk-list-">spacewalk-list-</a><br>
> <a href="mailto:bounces@redhat.com">bounces@redhat.com</a>] On Behalf Of Matt Micene<br>
> Sent: Wednesday, September 25, 2013 9:09 AM<br>
> To: <a href="mailto:spacewalk-list@redhat.com">spacewalk-list@redhat.com</a><br>
> Subject: Re: [Spacewalk-list] API. Merge single new errata and packages<br>
><br>
> Will,<br>
><br>
> I haven't looked at the Errata workflow in a while but I believe the<br>
> next step isn't to mergePackages but to use the errata.publish call.<br>
><br>
> If you look at the UI after your clone step, the errata should show up<br>
> in the clone as unpublished.  The next step is publish, which moves the<br>
> package into the channel.  You can also use<br>
> errata.listUnpublishedErrata to make sure the errata you are trying to<br>
> merge are ready.<br>
><br>
> One thing to note, you say you are trying to merge a single errata.<br>
> errata.mergeErrata will merge all errata from the source channel<br>
> constrained by the date range or list.  While you are probably passing<br>
> a single value in that list, it may have odd side effects.  You may<br>
> want to look at the errata.clone* methods which only operate on the<br>
> provided list rather than using that list as a constraint.<br>
><br>
> HTH,<br>
> Matt<o:p></o:p></p>
<div>
<div>
<p class="MsoNormal">><br>
> > -----Original Message-----<br>
> > From: <a href="mailto:spacewalk-list-bounces@redhat.com">spacewalk-list-bounces@redhat.com</a> [mailto:<a href="mailto:spacewalk-list-">spacewalk-list-</a><br>
> > <a href="mailto:bounces@redhat.com">bounces@redhat.com</a>] On Behalf Of wm-lists<br>
> > Sent: Tuesday, September 24, 2013 8:45 PM<br>
> > To: <a href="mailto:spacewalk-list@redhat.com">spacewalk-list@redhat.com</a><br>
> > Subject: [Spacewalk-list] API. Merge single new errata and packages<br>
> ><br>
> > I'm sure there's a simple way to do this, but I'm probably over-<br>
> > complicating it.<br>
> > I'm looking to write a python script, that, given an Errata Advisory<br>
> > Name, will merge the Errata and associated package from one channel<br>
> > (say Red Hat source) to another channel (say our development<br>
> channel).<br>
> ><br>
> > I've got the Errata merge fine with the mergeErrata api call,<br>
> ><br>
> lient.channel.software.mergeErrata(key,channelinfo.get('clone_original'<br>
> > ), mychannel.get('label'),[errata])<br>
> ><br>
> > But there isn't a mergePackage that only merges one package.<br>
> ><br>
> > Any help or guidance?<br>
> ><br>
> > Thanks<br>
> > Will<br>
> ><br>
> > Sent from my iPhone<br>
> > Sent from my iPhone<br>
> ><br>
> > _______________________________________________<br>
> > Spacewalk-list mailing list<br>
> > <a href="mailto:Spacewalk-list@redhat.com">Spacewalk-list@redhat.com</a><br>
> > <a href="https://www.redhat.com/mailman/listinfo/spacewalk-list" target="_blank">
https://www.redhat.com/mailman/listinfo/spacewalk-list</a><br>
><br>
> _______________________________________________<br>
> Spacewalk-list mailing list<br>
> <a href="mailto:Spacewalk-list@redhat.com">Spacewalk-list@redhat.com</a><br>
> <a href="https://www.redhat.com/mailman/listinfo/spacewalk-list" target="_blank">
https://www.redhat.com/mailman/listinfo/spacewalk-list</a><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><br>
_______________________________________________<br>
Spacewalk-list mailing list<br>
<a href="mailto:Spacewalk-list@redhat.com">Spacewalk-list@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/spacewalk-list" target="_blank">https://www.redhat.com/mailman/listinfo/spacewalk-list</a><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>