<html 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=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><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:"Segoe UI Emoji";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* 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:#954F72;
        text-decoration:underline;}
.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></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Thank you Zdenek for your response. Your inputs do help us understand this better.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Best regards</p><p class=MsoNormal>LN</p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:zkabelac@redhat.com">Zdenek Kabelac</a><br><b>Sent: </b>Wednesday, July 31, 2019 4:24 PM<br><b>To: </b><a href="mailto:lvm-devel@redhat.com">LVM2 development</a>; <a href="mailto:lns@portworx.com">Lakshmi Narasimhan Sundararajan</a><br><b>Subject: </b>Re: Reg unusual deployment within containers</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Dne 30. 07. 19 v 15:25 Lakshmi Narasimhan Sundararajan napsal(a):</p><p class=MsoNormal>> Hi Team,</p><p class=MsoNormal>> </p><p class=MsoNormal>> Thanks for being so prompt last time, I wanted to see whether I could be lucky </p><p class=MsoNormal>> again <span style='font-family:"Segoe UI Emoji",sans-serif'>😊</span></p><p class=MsoNormal>> </p><p class=MsoNormal>> My deployment of lvm2 is in an uncontrolled environment, so the host can be </p><p class=MsoNormal>> running any version.</p><p class=MsoNormal>> </p><p class=MsoNormal>> My software stack runs within a container, as an infrastructure. So to be </p><p class=MsoNormal>> always stable, it has to have very little dependency or moving components outside.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It's worth to note (before you start to ask) that lvm2  does NOT support usage</p><p class=MsoNormal>within containers.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>When you do such solution - you need to resolve lots of tricky issues and </p><p class=MsoNormal>adapt usage to your local limited constrains.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>But there is no 'generic' support for running lvm2 command within i.e. docker </p><p class=MsoNormal>image.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> </p><p class=MsoNormal>> The first up easy question:</p><p class=MsoNormal>> 1/ can lvm2 be built as a static binary with no external dependency? Any </p><p class=MsoNormal>> pointers to this ?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Nope - there is no static binary support for a long time.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The key issue is - lot of things these days depends on udev (&systemd behind).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So any static build of lvm2 with built-in udev/systemd libraries is not going </p><p class=MsoNormal>to works since the last thing systemd cares about is 'future' compatibility.</p><p class=MsoNormal>We try to do that in lvm2 - which is much smaller project and it's very hard.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So you can't expect 'static' builds to appear in this dynamic environment -</p><p class=MsoNormal>it would be big challenging task on it's own....</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> 2/  The software stack bundles lvm2 package within the infrastructure </p><p class=MsoNormal>> container as well.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Well - we do NOT support this. All these builds do their own hacking.</p><p class=MsoNormal>It's all done without any support from lvm2 side.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> So I wish to understand the impact of the above bundling, with possibly two </p><p class=MsoNormal>> copies of daemons and cache and udev running within/and outside the container.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We wish to understand this as well :)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It simply can't work - and we tell this to any container developer who asks...</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Please do let me know if this bundle approach is a feasible approach to take </p><p class=MsoNormal>> to production? What possible issues that may come up that cannot be handled </p><p class=MsoNormal>> correctly, if any.  I am coming more from design validation, because you are </p><p class=MsoNormal>> the experts with how its designed internally. Looking forward to hearing your </p><p class=MsoNormal>> opinions.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Properly configured lvm2 is bound to installed system - which present </p><p class=MsoNormal>installed kernel version, udev, systemd and other surrounding apps.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We don't understand how anyone is imagining, he can use 'random' i.e. Docker </p><p class=MsoNormal>image with random instance of lvm2 within image, no udev processing and lots </p><p class=MsoNormal>of other things missing and expects all will work...</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So you need to ask these question authors of those project ;) since we really </p><p class=MsoNormal>would like to know these answers ourself ;)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So far we can only advice using of lvm2 within VM  (i.e. qemu)...</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>IMHO lot of developers these days believe that container is just 'faster VM',</p><p class=MsoNormal>and they have no idea how wrong they are...</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Regards</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Zdenek</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>