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

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



Hi Mike,

thanks a lot for your explanation!!

Cheers,
ben

On 23/02/2024 14:27, Michael Thomas wrote:
Hi Benoit,

If you put the rpm into a proper yum repository, then yum will be able to resolve the dependencies for you. Using yum to install a rpm file in the manner below doesn't give you the same dependency resolving benefits as using yum to install a package from a repository.

I suggest you put your new packages into a local yum repository accessible via http.

--Mike

On 2/23/24 07:06, Benoit Roland wrote:
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 tohtcondor-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


_______________________________________________
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/

_______________________________________________
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/