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

Re: [HTCondor-users] building condor rpm metapackage (to avoid circular dependencies)



Hello Tim,

thanks a lot for your answer!

I have added the definition of my own package in the condor.spec file [1] and have build the package using the script [2].

1. Trying a yum install afterwards on the same machine (RHEL8):

yum install condor-c4p-23.5.0-0.202402230417.el8.x86_64.rpm

gives me:

Error:
ÂProblem: conflicting requests
ÂÂ - nothing provides condor = 23.5.0-0.202402230417.el8 needed by condor-c4p-23.5.0-0.202402230417.el8.x86_64 from @commandline
ÂÂ - nothing provides condor-credmon-mytoken = 23.5.0-0.202402230417.el8 needed by condor-c4p-23.5.0-0.202402230417.el8.x86_64 from @commandline
ÂÂ - nothing provides python3-condor = 23.5.0-0.202402230417.el8 needed by condor-c4p-23.5.0-0.202402230417.el8.x86_64 from @commandline


2. Running the command which takes into account the dependencies:

yum install condor-23.5.0-0.202402230417.el8.x86_64.rpm condor-credmon-mytoken-23.5.0-0.202402230417.el8.x86_64.rpm python3-condor-23.5.0-0.202402230417.el8.x86_64.rpm
condor-c4p-23.5.0-0.202402230417.el8.x86_64.rpm


is working fine on the machine.

3. Skipping "condor-c4p-23.5.0-0.202402230417.el8.x86_64.rpm" and running:

yum install condor-23.5.0-0.202402230417.el8.x86_64.rpm condor-credmon-mytoken-23.5.0-0.202402230417.el8.x86_64.rpm python3-condor-23.5.0-0.202402230417.el8.x86_64.rpm

is also working fine and equivalent to the command # 2.

3. Going into puppet, with the following lines for the installation:
package:
  c4p-condor:
    ensure: present
    provider: rpm
    source: 'https://www.bwsyncandshare.kit.edu/s/Fxc5HFpTzbbmypq/download/condor-c4p-23.5.0-0.202402230417.el8.x86_64.rpm'
and running the puppet agent on the RHEL8 machine gives me an error message similar to the one mentioned above:

Error: Execution of '/usr/bin/rpm -i https://www.bwsyncandshare.kit.edu/s/Fxc5HFpTzbbmypq/download/condor-c4p-23.5.0-0.202402230417.el8.x86_64.rpm' returned 1: error: Failed dependencies:
ÂÂ condor = 23.5.0-0.202402230417.el8 is needed by condor-c4p-23.5.0-0.202402230417.el8.x86_64
ÂÂ condor-credmon-mytoken = 23.5.0-0.202402230417.el8 is needed by condor-c4p-23.5.0-0.202402230417.el8.x86_64
ÂÂ python3-condor = 23.5.0-0.202402230417.el8 is needed by condor-c4p-23.5.0-0.202402230417.el8.x86_64


4. Implementing into puppet the dependencies via:
exec:
  install-condor:
    command: '/bin/yum install -y https://www.bwsyncandshare.kit.edu/s/kKAeCApfbC5jHgG/download/condor-23.5.0-0.202402230417.el8.x86_64.rpm 
              https://www.bwsyncandshare.kit.edu/s/sANxGQRi45ox4iS/download/condor-credmon-mytoken-23.5.0-0.202402230417.el8.x86_64.rpm 
              https://www.bwsyncandshare.kit.edu/s/RZbmDAQjzrmfAz5/download/python3-condor-23.5.0-0.202402230417.el8.x86_64.rpm 
              https://www.bwsyncandshare.kit.edu/s/AQJJqoM5XwxCEKR/download/condor-c4p-23.5.0-0.202402230417.el8.x86_64.rpm'
  
is not working (while it is, when directly installing on the machine) and gives the error message:

Âerror: Failed dependencies:
ÂÂ Âcondor = 23.5.0-0.202402230417.el8 is needed by (installed) python3-condor-23.5.0-0.202402230417.el8.x86_64
ÂÂ Âcondor = 23.5.0-0.202402230417.el8 is needed by (installed) condor-credmon-mytoken-23.5.0-0.202402230417.el8.x86_64
ÂÂ Âcondor = 23.5.0-0.202402230417.el8 is needed by (installed) condor-c4p-23.5.0-0.202402230417.el8.x86_64


5. Skiping "condor-c4p" and implementing in puppet:
exec:
  install-condor:
    command: '/bin/yum install -y https://www.bwsyncandshare.kit.edu/s/kKAeCApfbC5jHgG/download/condor-23.5.0-0.202402230417.el8.x86_64.rpm 
             https://www.bwsyncandshare.kit.edu/s/sANxGQRi45ox4iS/download/condor-credmon-mytoken-23.5.0-0.202402230417.el8.x86_64.rpm 
             https://www.bwsyncandshare.kit.edu/s/RZbmDAQjzrmfAz5/download/python3-condor-23.5.0-0.202402230417.el8.x86_64.rpm'
is not working either (while it is, when directly installing on the machine) and I got the error message:

Failed dependencies:
ÂÂ Âcondor = 23.5.0-0.202402230417.el8 is needed by (installed) python3-condor-23.5.0-0.202402230417.el8.x86_64
ÂÂ Âcondor = 23.5.0-0.202402230417.el8 is needed by (installed) condor-credmon-mytoken-23.5.0-0.202402230417.el8.x86_64


These are my observations.

Maybe I am doing something wrong.

About the circular dependencies, I need to redo the rpms without "condor-c4p", and will send you my observations in another email.

Otherwise, it will become messy.

Thanks a lot again!

Cheers,
ben

[1] https://github.com/benoitroland/C4P-HTCondor/blob/devel_rhel8/build/packaging/rpm/condor.spec
[2] https://github.com/benoitroland/C4P-HTCondor/blob/devel_rhel8/c4p-condor-utils/build-c4p-condor.sh

On 22/02/2024 23:50, Tim Theisen wrote:

Hello Ben,

I'd like to know more about the circular dependency that you are seeing. I'd like to get rid of it. We install condor with Puppet and have not observed that issue.

To define your own package, add the following to your condor.spec file

%package -n mycondor
Summary: Benoit Roland's aggregate condor package
Group: Applications/System
Requires: %name = %version-%release
Requires: %name-credmon-mytoken = %version-%release
Requires: python3-%name = %version-%release

%description -n mycondor
Include dependencies for Benoit Roland's typical installation

%files -n mycondor

So, then you just install mycondor.

...Tim

P.S. Help me get rid of any circular dependency.

On 2/21/24 04:52, Benoit Roland wrote:
Dear all,

to have the condor version with my Helmoltz AAI CredMon installed on our login node, I need to run the command:

yum install -y condor-credmon-mytoken-23.5.0-0.202402200404.el8.x86_64.rpm condor-23.5.0-0.202402200404.el8.x86_64.rpm python3-condor-23.5.0-0.202402200404.el8.x86_64.rpm

because of the circular dependency between the packages.

This was fine for my test setup.

But I would like to deploy this condor version via puppet, and puppet can not handle packages with circular dependencies.

That's the reason why I was asking, if there exists some condor.spec file producing a condor metapackage, like the one I would access from the condor repo?

Thanks a lot in advance for your help!

Cheers,
ben



On 20/02/2024 15:26, Benoit Roland wrote:
Dear all

IÂsuccessfullyÂbuildÂ23.5.0ÂcondorÂrpmsÂusingÂtheÂx86_64_AlmaLinux8-23050000Âcontainer with the script [1],
addingÂtoÂtheÂexistingÂcode someÂpluginsÂtoÂproduceÂ[2],ÂmonitorÂandÂrefreshÂ[3,4]ÂHelmhotzÂAAIÂaccessÂtokens.

AfterÂtheÂbuildingÂprocessÂusingÂthe modified condor.spec file [5],ÂIÂretrieveÂtheÂrpmsÂlocallyÂand proceed with a yum install with theÂfollowing rpms of interest for me:
yum install -y condor-credmon-mytoken-23.5.0-0.202402200404.el8.x86_64.rpm condor-23.5.0-0.202402200404.el8.x86_64.rpm python3-condor-23.5.0-0.202402200404.el8.x86_64.rpm

This is working fine.

My question is about the creation of a metapackage.
Is there an available spec file that I could you use in order to produce a single rpm?

Thanks a lot in advance for your answer and help!

Cheers,
ben

[1] https://github.com/benoitroland/C4P-HTCondor/blob/devel_rhel8/c4p-condor-utils/build-c4p-condor.sh
[2] https://github.com/benoitroland/C4P-HTCondor/blob/devel_rhel8/src/condor_credd/condor_credmon_oauth/condor_producer_mytoken
[3] https://github.com/benoitroland/C4P-HTCondor/blob/devel_rhel8/src/condor_credd/condor_credmon_oauth/condor_credmon_mytoken
[4] https://github.com/benoitroland/C4P-HTCondor/blob/devel_rhel8/src/condor_credd/condor_credmon_oauth/credmon/CredentialMonitors/MytokenCredmon.py
[5] https://github.com/benoitroland/C4P-HTCondor/blob/devel_rhel8/build/packaging/rpm/condor.spec


_______________________________________________
HTCondor-users mailing list
To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx with a
subject: Unsubscribe
You can also unsubscribe by visiting
https://lists.cs.wisc.edu/mailman/listinfo/htcondor-users

The archives can be found at:
https://lists.cs.wisc.edu/archive/htcondor-users/
-- 
Tim Theisen (he, him, his)
Release Manager
HTCondor & Open Science Grid
Center for High Throughput Computing
Department of Computer Sciences
University of Wisconsin - Madison
4261 Computer Sciences and Statistics
1210 W Dayton St
Madison, WI 53706-1685
+1 608 265 5736