Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EPEL and Pulp repos not deployed #164

Closed
ccnifo opened this issue Sep 8, 2016 · 9 comments
Closed

EPEL and Pulp repos not deployed #164

ccnifo opened this issue Sep 8, 2016 · 9 comments

Comments

@ccnifo
Copy link
Contributor

ccnifo commented Sep 8, 2016

pulp::install relies on yum to install pulp RPMs, but the repos.fedorapeople.org and EPEL repos mentioned in the Pulp doc are not deployed.
I suppose managing them in this module would be logical, ideally with a switch to make it optional. Do you agree? If yes, do you have any comments regarding how to implement it?

@riton
Copy link

riton commented Sep 8, 2016

BTW, current pulp main class design does not protect against resource containment and something like

class { '::setup_my_repositories': } ->
class { '::pulp': }

leads to a chicken and egg problem.
pulp packages will try to install before any repository defined in the setup_my_repositories class get actually available.

Would you mind using anchors / contain ?
This would solve this problem as discussed here ?

@rgarrigue
Copy link

I got issues with repo and managed to get it working like this

Yumrepo <| |> ~> Exec['yum-cache'] -> Package <| |>

    # Solves conflict between compat-qpid-* et qpid-*
    yumrepo { 'epel':
      exclude => 'compat-qpid*',
    }
    # From https://repos.fedorapeople.org/repos/pulp/pulp/rhel-pulp.repo
    yumrepo { 'pulp-2-stable':
      baseurl             => 'https://repos.fedorapeople.org/repos/pulp/pulp/stable/2/$releasever/$basearch/',
      descr               => 'Pulp 2 Production Releases',
      enabled             => true,
      gpgcheck            => true,
      gpgkey              => 'https://repos.fedorapeople.org/repos/pulp/pulp/GPG-RPM-KEY-pulp-2',
      skip_if_unavailable => true,
    }
    ~>
    exec { 'yum-cache':
      command => '/usr/bin/yum clean all; /usr/bin/yum makecache',
    }
    ->
    class { '::pulp': ........ }

@ekohl
Copy link
Member

ekohl commented Mar 7, 2017

In our installer we rely on other modules to do this. EPEL is already needed by our installer and otherwise puppet-foreman does this for us. The pulp repos are installed by katello-release. I'm not sure what the best solution here is.

@ekohl
Copy link
Member

ekohl commented Mar 8, 2017

Yesterday I looked into this. The difficulty with this is that in the katello context we have our own repository while community members might prefer the pulp-2-stable repo you linked. Then there's also Fedora which already includes the packages itself. We could add a class for this where you can select the source, but it may become quite complex.

@rgarrigue
Copy link

That's what other are doing, especially if u wanna go for up-to-date packages, VS distro's shipped ones. Here's Nginx example from doc :

class{'nginx':
    manage_repo => true,
    package_source => 'nginx-mainline'
}

@ekohl
Copy link
Member

ekohl commented Mar 9, 2017

I agree it can be useful and I'll work on it, though I don't think we'll ever manage EPEL from this module.

@ekohl
Copy link
Member

ekohl commented Apr 15, 2017

I submitted #229 as optional inclusions. I'm not sure if and how to expose this in init.pp. Maybe a manage_repo and repo_source argument or combined in one where an empty source means no source.

What do other people think of this?

@rgarrigue
Copy link

👍 for manage_repo and repo_source, but not combined: I wouldn't know how to ask for a managed repo with default value, which happen when I wrap the pulp class in a profiles::pulp

@ekohl
Copy link
Member

ekohl commented Aug 27, 2017

I've submitted the related PR and I believe that's the best we can currently do. I'd rather not manage EPEL and I've also chosen not to include a repo_source parameter. Most users will expect upstream repositories and those in the Katello scenario will already have it enabled through other means.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants