Re: A download location for cephadm (take 2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday, May 18, 2023 4:58:30 PM EDT Kaleb Keithley wrote:
> On Thu, May 18, 2023 at 9:57 AM John Mulligan <phlogistonjohn@xxxxxxxxxxxxx>
> wrote:
> > Unfortunately, I don't think this RPM derived cephadm is appropriate for
> > general uses. RPM mangles the shebang line to something RH-distro specific
> > so
> 
> That's not entirely accurate.
> 
> Packaging guidelines these days say that the python shebang should be
> /usr/bin/python3. I believe that's true even for Debian and Ubuntu.
> 

Agreed!


> Some developers think it's smart to use #! /usr/bin/env python. In gluster
> we had a mix of that and some #! /usr/bin/python or #! /usr/bin/python2
> shebangs. These were all changed to #! /usr/bin/python3. (Obviously on old
> distros like RHEL7 it needs to be /usr/bin/python2 and in gluster we added
> some sed magic to the glusterfs.spec to fix them at build time. Before its
> EOL, RHEL7 was one of the last major distros still using python2.)
> 
> On Fedora, RHEL, and SUSE, rpmbuild will whine about incorrect shebangs
> during the build. It may even change them, I don't remember at this point.
> IIRC, if it changes them, it changes them to /usr/bin/python3.

Interesting.... when I wrote that I had just looked at a non-zipapp version of 
cephadm that was extracted from the RPM and it had a weird "system python" 
shebang (`/usr/libexec/platform-python -s`) see: 
`https://download.ceph.com/rpm-17.2.6/el8/noarch/  and download the `cephadm` 
the system extracted there.  I was worried, but had not confirmed that rpmbuild 
was still doing that.

I should probably get access to a proper main/reef build and see what the 
result is before saying more on this. :-)


> 
> > this `cephadm` wouldn't work properly on distros like debian, ubuntu, etc.
> 
> If all the shebangs are #! /usr/bin/python3 — either in the source to start
> with, or changed by the rpmbuild — they work on Debian and Ubuntu just
> fine. Or they should. If they don't, there's a different problem.
> 

OK, that's good news. With the new zipapp compilation we have the ability to 
force the shebang to be something we explicitly set (like "/usr/bin/python3"). 
As of this moment it takes whatever shebang is default for python's zipapp 
module & function.


> If cephadm is a separate package (for some definition of package) I have to
> wonder why you're *not* working on adding them to Fedora and CentOS Storage
> SIG, where Ceph and several related packages are already being packaged for
> wide consumption.

cephadm is part of the packages. For RPM it is one of the many sub-packages in 
ceph.spec.in.  For another example, see the same dir linked above and the file 
`cephadm-17.2.6-0.el8.noarch.rpm`. That's probably the "best" way to get it on 
one's system. However, there's been a long standing workflow that one can 
aqucuire a "standalone" cephadm and bootstrap using that.
See https://docs.ceph.com/en/pacific/cephadm/install/#install-cephadm
and the curl based installation section. This is a workflow that is currently 
broken on "main" and "reef" and we're trying to replace/replicate.

For exactly what systems and workflows we expect to use the curl based workflow, 
I'm not clear on but the idea may be to support other distros that have 
docker/podman support (because containers!). But I haven't been working on 
cephadm long enough to know - perhaps Adam will chime in here. :-)


_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx




[Index of Archives]     [CEPH Users]     [Ceph Devel]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux