Git Product home page Git Product logo

yum-epel's Introduction

yum-epel Cookbook

Cookbook Version CI State OpenCollective OpenCollective License

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS , CentOS Stream and Scientific Linux (SL), Oracle Linux (OL).

The yum-epel cookbook takes over management of the default repositoryids shipped with epel-release.

Below is a table showing which repositoryids we manage that are shipped by default via the epel-release package:

Repo ID EL 7 EL 8 EL 9 CentOS Stream 8 CentOS Stream 9
epel ✔️ ✔️ ✔️ ✔️ ✔️
epel-debuginfo ✔️ ✔️ ✔️ ✔️ ✔️
epel-next ✔️ ✔️
epel-next-debuginfo ✔️ ✔️
epel-next-source ✔️ ✔️
epel-next-testing ✔️ ✔️
epel-next-testing-debug ✔️ ✔️
epel-next-testing-source ✔️ ✔️
epel-source ✔️ ✔️ ✔️ ✔️ ✔️
epel-testing ✔️ ✔️ ✔️ ✔️ ✔️
epel-testing-debuginfo ✔️ ✔️ ✔️ ✔️ ✔️
epel-testing-source ✔️ ✔️ ✔️ ✔️ ✔️

Requirements

Platforms

  • RHEL/CentOS and derivatives

Chef

  • Chef 12.15+

Maintainers

This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit sous-chefs.org or come chat with us on the Chef Community Slack in #sous-chefs.

Cookbooks

  • none

Attributes

See individual repository attribute files for defaults.

Recipes

  • yum-epel::default Generates yum_repository configs for the standard EPEL repositories. By default the epel repository is enabled. For CentOS Stream, the epel-next repository is also enabled.

Usage Example

To disable the epel repository through a Role or Environment definition

default_attributes(
  :yum => {
    :epel => {
      :enabled => {
        false
       }
     }
   }
 )

Uncommonly used repositoryids are not managed by default. This is speeds up integration testing pipelines by avoiding yum-cache builds that nobody cares about. To enable the epel-testing repository with a wrapper cookbook, place the following in a recipe:

node.default['yum']['epel-testing']['enabled'] = true
node.default['yum']['epel-testing']['managed'] = true
include_recipe 'yum-epel'

More Examples

Point the epel repositories at an internally hosted server.

node.default['yum']['epel']['enabled'] = true
node.default['yum']['epel']['mirrorlist'] = nil
node.default['yum']['epel']['baseurl'] = 'https://internal.example.com/centos/7/os/x86_64'
node.default['yum']['epel']['sslverify'] = false

include_recipe 'yum-epel'

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers!

https://opencollective.com/sous-chefs#backers

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

https://opencollective.com/sous-chefs/sponsor/0/website https://opencollective.com/sous-chefs/sponsor/1/website https://opencollective.com/sous-chefs/sponsor/2/website https://opencollective.com/sous-chefs/sponsor/3/website https://opencollective.com/sous-chefs/sponsor/4/website https://opencollective.com/sous-chefs/sponsor/5/website https://opencollective.com/sous-chefs/sponsor/6/website https://opencollective.com/sous-chefs/sponsor/7/website https://opencollective.com/sous-chefs/sponsor/8/website https://opencollective.com/sous-chefs/sponsor/9/website

yum-epel's People

Contributors

andytson avatar bmhughes avatar brianhays avatar chasebolt avatar clockwerx avatar cwebberops avatar damacus avatar don-code avatar iennae avatar kitchen-porter avatar knightorc avatar makern avatar ngerakines avatar ramereth avatar renovate[bot] avatar royaldark avatar salelkar-ibm avatar svanzoest avatar tas50 avatar thelinuxninja avatar xorima avatar xorimabot avatar ziggythehamster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yum-epel's Issues

ERROR: TypeError: no implicit conversion of nil into String

Cookbook version

2.1.2

Chef-client version

Chef: 13.6.4

Platform Details

Red Hat Enterprise Linux Server release 7.4 (Maipo), AWS

Scenario:

site install

Steps to Reproduce:

knife cookbook site install yum-epel

Expected Result:

gets installed / copied in the chef-repo

Actual Result:

]$ knife cookbook site install yum-epel
Installing yum-epel to /home/ec2-user/alpha-chefrepo/cookbooks
Checking out the master branch.
Pristine copy branch (chef-vendor-yum-epel) exists, switching to it.
Downloading yum-epel from Supermarket at version 2.1.2 to /home/ec2-user/alpha-chefrepo/cookbooks/yum-epel.tar.gz
Cookbook saved: /home/ec2-user/alpha-chefrepo/cookbooks/yum-epel.tar.gz
Removing pre-existing version.
Uncompressing yum-epel version 2.1.2.
Removing downloaded tarball
No changes made to yum-epel
Checking out the master branch.
Installing compat_resource to /home/ec2-user/alpha-chefrepo/cookbooks
Checking out the master branch.
Creating pristine copy branch chef-vendor-compat_resource
ERROR: TypeError: no implicit conversion of nil into String

Add Amazon Linux2

The version of Amazon Linux currently implemented is only 1.0.
Add version 2.0

Gracefully fail for non yum systems

Cookbook v4.0.0 fails in default recipe if platform family is not redhat/centos/amazon on the ".each". If this cookbook is included/called from a non-yum system, would be better to no-op and move along. Could either set an empty array in attributes or add a guard in the recipe. Not sure which way y'all would prefer to address it.

I'm having a problem with the ca-certificates

Specifically:
---- Begin output of yum -q -y makecache --disablerepo=* --enablerepo=epel ----
==> default: STDOUT:
==> default: STDERR: Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
==> default: ---- End output of yum -q -y makecache --disablerepo=* --enablerepo=epel ----
==> default: Ran yum -q -y makecache --disablerepo=* --enablerepo=epel returned 1

is reported by the cookbook execution every time this is with version 0.6.2.

Manually running :
sudo yum upgrade ca-certificates --disablerepo=epel
Resolves this issue. I'm new to Chef, but going to try forking and fixing and will comment back.

include_config in yum-epel recipe

I was noticing the include_config directive in the yum-epel repository and I cannot find any documentation on what this does? Is this a remnant of some prior code?

Can't unset mirrorlist

I have a deployment scenario in which I only want to use a specific baseurl for the repos. I can set this just fine with attributes, however there does not seem to be a way to unset mirrorlist.

yum-epel issues on Fedora

Hello!

It appears that including yum-epel on a Fedora platform_family breaks yum with this file:

# cat /etc/yum.repos.d/epel.repo 
# This file was generated by Chef
# Do NOT modify this file by hand.

[epel]
name=Ye Ole Rpm Repo
enabled=1
failovermethod=priority
gpgcheck=1
sslverify=1

Would you all consider not depositing a file at all for fedora, so that yum-epel works similarly to apt and yum cookbooks, where they just don't do anything if they are included on a platform_family they don't apply to?

Thanks!

mirrorlist is missing in /etc/yum.repo.d/epel-testing.repo

Cookbook version

0.7.1

Chef-client version

Chef: 12.4.1

Platform Details

CentOS 6.3 x86_64

Scenario:

From v0.7.1 attribute name in epel-testing.rb is changed then yum command raise error.
Because gpgkey and mirrorlist are missing in /etc/yum.repo.d/epel-testing.repo.

# This file was generated by Chef
# Do NOT modify this file by hand.

[epel-testing]
name=Extra Packages for $releasever - $basearch - Testing 
enabled=1
failovermethod=priority
gpgcheck=1

Steps to Reproduce:

After converge yum-epel cookbook try to yum update.

$ yum update

Expected Result:

Setting up Update Process

Actual Result:

Error: Cannot find a valid baseurl for repo: epel-testing

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/ci.yml
  • sous-chefs/.github 3.1.1
  • actions/checkout v4
  • actionshub/chef-install 3.0.0
  • actionshub/test-kitchen 3.0.0
.github/workflows/stale.yml
  • actions/stale v9

  • Check this box to trigger a request for Renovate to run again on this repository

GPG keys should not be loaded over HTTP

It seems very insecure to load the GPG keys used to verify all packages over unprotected HTTP connections.

Is there any reason not to change all the urls in the default attributes to HTTPS?

Some platforms even come with locally installed GPG keys for epel and this cookbook simply overwrites the local path with an insecure remote url. The local key should really be used for these platforms. On amazon linux for example the proper url for the GPG key would be file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

metadata.rb format is invalid

Cookbook version

1.0.1

Chef-client version

12.12.15

Platform Details

CentOS 6

Scenario:

When trying to re-publish this cookbook to an internal supermarket, the supermarket plugin says that the metadata.rb format is incorrect.

Steps to Reproduce:

Publish with knife supermarket share:

/opt/chefdk/bin/knife supermarket share yum-epel "Other" --config <my_knife_rb> --supermarket-site <my_supermarket_site> --cookbook-path .

Expected Result:

Cookbook publishes successfully without error.

Actual Result:

knife cookbook share returns the following error:

/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-12.12.15/lib/chef/cookbook/metadata.rb:763:in `new_args_format': The dependency specification syntax you are using is no longer valid. You may not (Chef::Exceptions::ObsoleteDependencySyntax)
specify more than one version constraint for a particular cookbook.
Consult https://docs.chef.io/config_rb_metadata.html for the updated syntax.

Called by: depends 'yum', ">= 3.6", "< 5.0"

NoMethodError: No resource or method named `yum_repository' for `ChefCompat::Recipe "default"'

Cookbook version

latest (2.0.0)

Chef-client version

12.10.24

Platform Details

CentOS 7.3 inside the kitchen vm.
Debian 8.6 on workstation

Scenario:

Using the cookbook.

Steps to Reproduce:

[If you are filing an issue what are the things we need to do in order to repro your problem? How are you using this cookbook or any resources it includes?]

  • Create a new cookbook
  • Add depends yum-epel to a dependent cookbook's metadata.rb
  • Put include_recipe 'yum-epel' if platform_family?('rhel') in the default recipe.
  • Run kitchen converge <centos-instance-suite>

Expected Result:

The resource should converge on a centos instance.

Actual Result:

  NoMethodError
  -------------
  No resource or method named `yum_repository' for `ChefCompat::Recipe "default"'

Detailed traceback at https://gist.github.com/knightsamar/3137173169a058c1a331afb6c50e65b4

Low Priority - Consider adding Oracle Linux Support

I know it's a pain to test because there isn't a bento for oracle linux, but you may consider adding Oracle Linux support. It seems like it would be very straight forward and simple to add. Harder to test of course.

I made a base linux cookbook and had a client that used Oracle Linux (Not sure why), and went to add it and after a little rabbit holing I found this cookbook didn't have the platform dependency in the metadata.

Hah if I had an Oracle bento quick to grab I'd get off my lazy butt and fork for you guys etc.

4.x released drops support for Oracle EL

👻 Brief Description

yum-epel 4.x fails on Oracle Enterprise Linux

🥞 Cookbook version

4.0.0

👩‍🍳 Chef-Infra Version

Cinc 15, Chef 14

🎩 Platform details

Oracle Platform (specifically 7.4)

Steps To Reproduce

Steps to reproduce the behavior:

  1. Have an Oracle EL host running < 4.0.0
  2. Update environment pin

➕ Additional context

We've been running yum-epel against OEL 7.4 images for a few years supporting Oracle DB intallations. These are our only Oracle Linux installs so we don't really do much with them, but the epel sources work fine since it's really just RH7 rebranded.

3.x had this stanza in attributed/default
default['yum-epel']['repos'] = %w( epel epel-debuginfo epel-source epel-testing epel-testing-debuginfo epel-testing-source )

Which basically works for everything - if you apply the recipe, it works.

4.x has, instead:

value_for_platform( %w(redhat centos) => { .... 'amazon' => {

Chef defines OEL as:
chef_version=15.14.0 platform=oracle platform_version=7.4

It is probably sufficient just to add 'oracle' to the first platform set.

Version constrait on yum in 0.6.6 may be overly restrictive

Cookbook version

0.6.6

Chef-client version

12.8.1

Platform Details

Berkshelf

Scenario:

Version contrait on yum was updated:

-depends 'yum', '~> 3.2'
+depends 'yum', '~> 3.10.0'

However this may be overly restrictive. The make_cache option appeared in 3.3, so its unclear to me why 3.10 is a minimum. Furthermore, the new version lock will restrict to 3.10.x in the future. This conflicts with other cookbooks that also have strong version constraints.

Steps to Reproduce:

In my case the conflict is with a specific version of openstack-common:

Unable to satisfy the following requirements:

- `yum (~> 3.5.4)` required by `openstack-common-11.5.1`
- `yum (~> 3.10.0)` required by `yum-epel-0.6.6`

Expected Result:

Actual Result:

Some packages not found with epel repo config from this cookbook

Cookbook version

2.1.2

Chef-client version

13.4.24

Platform Details

Centos 7.4, vagrant box bento/centos-7.4

Scenario:

I need to install libargon2 package

Steps to Reproduce:

Set up an empty vagrant box with bento/centos-7.4 and use the yum-epel::default recipe. Vagrantfile we use for this can be found here: https://gist.github.com/daften/088d7bd55f97a24994ac545eaec7ed1e
Afterwards, perform a yum update and yum search libargon2

Expected Result:

To see two packages: libargon2 and libargon2-devel in the list.

Actual Result:

No results are shown. If I install epel through the rpm package (yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm), the packages are found. The two configs for epel.repo:

epel.repo from yum-epel:

# This file was generated by Chef
# Do NOT modify this file by hand.

[epel]
name=Extra Packages for 7 - $basearch
enabled=1
failovermethod=priority
fastestmirror_enabled=0
gpgcheck=1
gpgkey=https://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-7&arch=$basearch

epel.repo from the rpm package:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
...

If I add the metalink line from the rpm package repo config to the config generated by this cookbook, the packages are found. My knowledge of yum repositories is not big enough atm to find out what causes this. Any input is welcome.

Cannot find a valid baseurl for repo error after upgrading from 2.0.0 to 2.10

Cookbook version

2.1.0

Chef-client version

12.10.24

Platform Details

Red Hat Enterprise Linux Server release 7.2 (Maipo) on AWS, based on ami-d1315fb1

With version 2.0.0 of the yum-epel cookbook, I had this in epel.repo:

[ec2-user@mybox ~]$ cat /etc/yum.repos.d/epel.repo
# This file was generated by Chef
# Do NOT modify this file by hand.

[epel]
name=Extra Packages for $releasever - $basearch
enabled=1
failovermethod=priority
gpgcheck=1
gpgkey=https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-7&arch=$basearch

After updating to 2.1.0 and running a converge it changed it to this:

[ec2-user@mybox ~]$ cat /etc/yum.repos.d/epel.repo
# This file was generated by Chef
# Do NOT modify this file by hand.

[epel]
name=Extra Packages for $releasever - $basearch
enabled=1
failovermethod=priority
gpgcheck=1
gpgkey=https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-$releasever&arch=$basearch

(differences on the gpgkey and mirrorlist lines)

Now everything I try to do with yum results in errors:

[ec2-user@mybox ~]$ sudo yum makecache
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos


 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>

     4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: epel/7Server/x86_64

the `mirrorlist` default value should be changed in the `epel.rb` attributes for linux 6 and 7

There appears to be this logic loop in the cookbook attribute file:

  case node['platform_version'].to_i
  when 5
    default['yum']['epel']['description'] = 'Extra Packages for Enterprise Linux 5 - $basearch'
    default['yum']['epel']['mirrorlist'] = 'http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch'
    default['yum']['epel']['gpgkey'] = 'http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL'
  when 6
    default['yum']['epel']['description'] = 'Extra Packages for Enterprise Linux 6 - $basearch'
    default['yum']['epel']['mirrorlist'] = 'https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch'
    default['yum']['epel']['gpgkey'] = 'https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6'
  when 7
    default['yum']['epel']['description'] = 'Extra Packages for Enterprise Linux 7 - $basearch'
    default['yum']['epel']['mirrorlist'] = 'https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch'
    default['yum']['epel']['gpgkey'] = 'https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7'
  end
end

the default mirrorlist works fine on 5, which uses http://mirrors.fedoraproject.org/mirrorlist?repo=. but 6 and 7 then start using https://mirrors.fedoraproject.org/metalink?repo=.

The 'metalink' reference in the url does not seem to work by default and should be switched back to refence 'mirrorlist'. Its true wrapper cookbooks can override this (which I do). but it would be convenient to have this fixed in the community cookbook as well.

Deprecated messages on converge

When using yum-epel, the following deprecated message is thrown when converging. Is this something that will be addressed going forward?

   Deprecated features used!
     baseurl nil currently does not overwrite the value of baseurl. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :baseurl, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:24:in `block (2 levels) in from_file'
     cost nil currently does not overwrite the value of cost. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :cost, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:25:in `block (2 levels) in from_file'
     enablegroups nil currently does not overwrite the value of enablegroups. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :enablegroups, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:28:in `block (2 levels) in from_file'
     exclude nil currently does not overwrite the value of exclude. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :exclude, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:29:in `block (2 levels) in from_file'
     fastestmirror_enabled nil currently does not overwrite the value of fastestmirror_enabled. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :fastestmirror_enabled, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:31:in `block (2 levels) in from_file'
     http_caching nil currently does not overwrite the value of http_caching. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :http_caching, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:34:in `block (2 levels) in from_file'
     include_config nil currently does not overwrite the value of include_config. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :include_config, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:35:in `block (2 levels) in from_file'
     includepkgs nil currently does not overwrite the value of includepkgs. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :includepkgs, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:36:in `block (2 levels) in from_file'
     keepalive nil currently does not overwrite the value of keepalive. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :keepalive, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:37:in `block (2 levels) in from_file'
     max_retries nil currently does not overwrite the value of max_retries. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :max_retries, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:38:in `block (2 levels) in from_file'
   hange your code to explicitly accept nil using "property :metadata_expire, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:39:in `block (2 levels) in from_file'
     mirror_expire nil currently does not overwrite the value of mirror_expire. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :mirror_expire, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:40:in `block (2 levels) in from_file'
     mirrorlist_expire nil currently does not overwrite the value of mirrorlist_expire. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :mirrorlist_expire, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:42:in `block (2 levels) in from_file'
     password nil currently does not overwrite the value of password. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :password, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:43:in `block (2 levels) in from_file'

       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:44:in `block (2 levels) in from_file'
     proxy nil currently does not overwrite the value of proxy. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :proxy, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:45:in `block (2 levels) in from_file'
     proxy_username nil currently does not overwrite the value of proxy_username. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :proxy_username, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:46:in `block (2 levels) in from_file'
     proxy_password nil currently does not overwrite the value of proxy_password. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :proxy_password, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:47:in `block (2 levels) in from_file'
     report_instanceid nil currently does not overwrite the value of report_instanceid. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :report_instanceid, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:48:in `block (2 levels) in from_file'
     skip_if_unavailable nil currently does not overwrite the value of skip_if_unavailable. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :skip_if_unavailable, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:50:in `block (2 levels) in from_file'
     source nil currently does not overwrite the value of source. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :source, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:51:in `block (2 levels) in from_file'
     sslcacert nil currently does not overwrite the value of sslcacert. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :sslcacert, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:52:in `block (2 levels) in from_file'
     sslclientcert nil currently does not overwrite the value of sslclientcert. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :sslclientcert, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:53:in `block (2 levels) in from_file'
     sslclientkey nil currently does not overwrite the value of sslclientkey. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :sslclientkey, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:54:in `block (2 levels) in from_file'
     sslverify nil currently does not overwrite the value of sslverify. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :sslverify, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:55:in `block (2 levels) in from_file'
   be set to nil instead. Please change your code to explicitly accept nil using "property :timeout, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:56:in `block (2 levels) in from_file'
     username nil currently does not overwrite the value of username. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :username, [MyType, nil]", or stop setting this value to nil. at 1 location:
       - /tmp/kitchen/cookbooks/yum-epel/recipes/default.rb:57:in `block (2 levels) in from_file'

yum makecache failing since v0.6.2

Using your kitchen tests at least more current versions of CentOS seems to now be failing. I did not try all distros listed in test-kitchen but CentOS 6.5 and CentOS 7.0 are currently not completing convergence. I'm having to pin to 0.6.0 for now to work around this issue.

CentOS 6.5:

             - execute yum clean all --disablerepo=* --enablerepo=epel


             ================================================================================
             Error executing action `run` on resource 'execute[yum-makecache-epel]'
             ================================================================================

             Mixlib::ShellOut::ShellCommandFailed
             ------------------------------------
             Expected process to exit with [0], but received '1'
             ---- Begin output of yum -q makecache --disablerepo=* --enablerepo=epel ----
             STDOUT: 
             STDERR: Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
             ---- End output of yum -q makecache --disablerepo=* --enablerepo=epel ----
             Ran yum -q makecache --disablerepo=* --enablerepo=epel returned 1

             Resource Declaration:
             ---------------------
             # In /tmp/kitchen/cache/cookbooks/yum/providers/repository.rb

       61:   execute "yum-makecache-#{new_resource.repositoryid}" do
       62:     command "yum -q makecache --disablerepo=* --enablerepo=#{new_resource.repositoryid}"
       63:     action :nothing
       64:     only_if { new_resource.enabled }
       65:   end
       66: 

             Compiled Resource:
             ------------------
             # Declared in /tmp/kitchen/cache/cookbooks/yum/providers/repository.rb:61:in `block in class_from_file'

             execute("yum-makecache-epel") do
        action :nothing
        retries 0
        retry_delay 2
        default_guard_interpreter :execute
        command "yum -q makecache --disablerepo=* --enablerepo=epel"
        backup 5
        returns 0
        declared_type :execute
        cookbook_name "yum-epel"
        only_if { #code block }
             end


           ================================================================================
           Error executing action `create` on resource 'yum_repository[epel]'
           ================================================================================

           Mixlib::ShellOut::ShellCommandFailed
           ------------------------------------
           execute[yum-makecache-epel] (/tmp/kitchen/cache/cookbooks/yum/providers/repository.rb line 61) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
           ---- Begin output of yum -q makecache --disablerepo=* --enablerepo=epel ----
           STDOUT: 
           STDERR: Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
           ---- End output of yum -q makecache --disablerepo=* --enablerepo=epel ----
           Ran yum -q makecache --disablerepo=* --enablerepo=epel returned 1

           Resource Declaration:
           ---------------------
           # In /tmp/kitchen/cache/cookbooks/yum-epel/recipes/default.rb

            22:     yum_repository repo do
            23:       baseurl node['yum'][repo]['baseurl']
            24:       cost node['yum'][repo]['cost']
            25:       description node['yum'][repo]['description']
            26:       enabled node['yum'][repo]['enabled']
            27:       enablegroups node['yum'][repo]['enablegroups']
            28:       exclude node['yum'][repo]['exclude']
            29:       failovermethod node['yum'][repo]['failovermethod']
            30:       fastestmirror_enabled node['yum'][repo]['fastestmirror_enabled']
            31:       gpgcheck node['yum'][repo]['gpgcheck']
            32:       gpgkey node['yum'][repo]['gpgkey']
            33:       http_caching node['yum'][repo]['http_caching']
            34:       include_config node['yum'][repo]['include_config']
            35:       includepkgs node['yum'][repo]['includepkgs']
            36:       keepalive node['yum'][repo]['keepalive']
            37:       max_retries node['yum'][repo]['max_retries']
            38:       metadata_expire node['yum'][repo]['metadata_expire']
            39:       mirror_expire node['yum'][repo]['mirror_expire']
            40:       mirrorlist node['yum'][repo]['mirrorlist']
            41:       mirrorlist_expire node['yum'][repo]['mirrorlist_expire']
            42:       password node['yum'][repo]['password']
            43:       priority node['yum'][repo]['priority']
            44:       proxy node['yum'][repo]['proxy']
            45:       proxy_username node['yum'][repo]['proxy_username']
            46:       proxy_password node['yum'][repo]['proxy_password']
            47:       report_instanceid node['yum'][repo]['report_instanceid']
            48:       repositoryid node['yum'][repo]['repositoryid']
            49:       skip_if_unavailable node['yum'][repo]['skip_if_unavailable']
            50:       source node['yum'][repo]['source']
            51:       sslcacert node['yum'][repo]['sslcacert']
            52:       sslclientcert node['yum'][repo]['sslclientcert']
            53:       sslclientkey node['yum'][repo]['sslclientkey']
            54:       sslverify node['yum'][repo]['sslverify']
            55:       timeout node['yum'][repo]['timeout']
            56:       username node['yum'][repo]['username']
            57: 
            58:       action :create
            59:     end
            60:   end

           Compiled Resource:
           ------------------
           # Declared in /tmp/kitchen/cache/cookbooks/yum-epel/recipes/default.rb:22:in `block in from_file'

           yum_repository("epel") do
             action :create
             updated true
             updated_by_last_action true
             retries 0
             retry_delay 2
             default_guard_interpreter :default
             declared_type :yum_repository
             cookbook_name "yum-epel"
             recipe_name "default"
             description "Extra Packages for Enterprise Linux 6 - $basearch"
             enabled true
             failovermethod "priority"
             gpgcheck true
             gpgkey "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6"
             mirrorlist "https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch"
             repositoryid "epel"
             sslverify true
             mode "0644"
             make_cache true
           end


       Running handlers:
       [2015-06-25T14:37:49+00:00] ERROR: Running exception handlers
       Running handlers complete
       [2015-06-25T14:37:49+00:00] ERROR: Exception handlers complete
       Chef Client failed. 2 resources updated in 2.580087187 seconds
       [2015-06-25T14:37:49+00:00] FATAL: Stacktrace dumped to /tmp/kitchen/cache/chef-stacktrace.out
       [2015-06-25T14:37:49+00:00] ERROR: yum_repository[epel] (yum-epel::default line 22) had an error: Mixlib::ShellOut::ShellCommandFailed: execute[yum-makecache-epel] (/tmp/kitchen/cache/cookbooks/yum/providers/repository.rb line 61) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
       ---- Begin output of yum -q makecache --disablerepo=* --enablerepo=epel ----
       STDOUT: 
       STDERR: Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
       ---- End output of yum -q makecache --disablerepo=* --enablerepo=epel ----
       Ran yum -q makecache --disablerepo=* --enablerepo=epel returned 1
       [2015-06-25T14:37:50+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
>>>>>> Converge failed on instance <default-centos-65>.
>>>>>> Please see .kitchen/logs/default-centos-65.log for more details
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: SSH exited (1) for command: [sh -c '

sudo -E /opt/chef/bin/chef-client --local-mode --config /tmp/kitchen/client.rb --log_level auto --force-formatter --no-color --json-attributes /tmp/kitchen/dna.json --chef-zero-port 8889
']
>>>>>> ----------------------

CentOS 7.0

             - execute yum clean all --disablerepo=* --enablerepo=epel


             ================================================================================
             Error executing action `run` on resource 'execute[yum-makecache-epel]'
             ================================================================================

             Mixlib::ShellOut::ShellCommandFailed
             ------------------------------------
             Expected process to exit with [0], but received '1'
             ---- Begin output of yum -q makecache --disablerepo=* --enablerepo=epel ----
             STDOUT: 
             STDERR: One of the configured repositories failed (Unknown),
       and yum doesn't have enough cached data to continue. At this point the only
       safe thing yum can do is fail. There are a few ways to work "fix" this:

           1. Contact the upstream for the repository and get them to fix the problem.

           2. Reconfigure the baseurl/etc. for the repository, to point to a working
              upstream. This is most often useful if you are using a newer
              distribution release than is supported by the repository (and the
              packages for the previous distribution release still work).

           3. Disable the repository, so yum won't use it by default. Yum will then
              just ignore the repository until you permanently enable it again or use
              --enablerepo for temporary usage:

                  yum-config-manager --disable <repoid>

           4. Configure the failing repository to be skipped, if it is unavailable.
              Note that yum will try to contact the repo. when it runs most commands,
              so will have to try and fail each time (and thus. yum will be be much
              slower). If it is a very temporary problem though, this is often a nice
              compromise:

                  yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

             Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
             ---- End output of yum -q makecache --disablerepo=* --enablerepo=epel ----
             Ran yum -q makecache --disablerepo=* --enablerepo=epel returned 1

             Resource Declaration:
             ---------------------
             # In /tmp/kitchen/cache/cookbooks/yum/providers/repository.rb

       61:   execute "yum-makecache-#{new_resource.repositoryid}" do
       62:     command "yum -q makecache --disablerepo=* --enablerepo=#{new_resource.repositoryid}"
       63:     action :nothing
       64:     only_if { new_resource.enabled }
       65:   end
       66: 

             Compiled Resource:
             ------------------
             # Declared in /tmp/kitchen/cache/cookbooks/yum/providers/repository.rb:61:in `block in class_from_file'

             execute("yum-makecache-epel") do
        action :nothing
        retries 0
        retry_delay 2
        default_guard_interpreter :execute
        command "yum -q makecache --disablerepo=* --enablerepo=epel"
        backup 5
        returns 0
        declared_type :execute
        cookbook_name "yum-epel"
        only_if { #code block }
             end


           ================================================================================
           Error executing action `create` on resource 'yum_repository[epel]'
           ================================================================================

           Mixlib::ShellOut::ShellCommandFailed
           ------------------------------------
           execute[yum-makecache-epel] (/tmp/kitchen/cache/cookbooks/yum/providers/repository.rb line 61) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
           ---- Begin output of yum -q makecache --disablerepo=* --enablerepo=epel ----
           STDOUT: 
           STDERR: One of the configured repositories failed (Unknown),
            and yum doesn't have enough cached data to continue. At this point the only
            safe thing yum can do is fail. There are a few ways to work "fix" this:

       e repository and get them to fix the problem.

         2. Reconfigure the baseurl/etc. for the repository, to point to a working
            upstream. This is most often useful if you are using a newer
            distribution release than is supported by the repository (and the
            packages for the previous distribution release still work).

         3. Disable the repository, so yum won't use it by default. Yum will then
            just ignore the repository until you permanently enable it again or use
            --enablerepo for temporary usage:

                yum-config-manager --disable <repoid>

         4. Configure the failing repository to be skipped, if it is unavailable.
            Note that yum will try to contact the repo. when it runs most commands,
            so will have to try and fail each time (and thus. yum will be be much
            slower). If it is a very temporary problem though, this is often a nice
            compromise:

                yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

           Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
           ---- End output of yum -q makecache --disablerepo=* --enablerepo=epel ----
           Ran yum -q makecache --disablerepo=* --enablerepo=epel returned 1

           Resource Declaration:
           ---------------------
           # In /tmp/kitchen/cache/cookbooks/yum-epel/recipes/default.rb

            22:     yum_repository repo do
            23:       baseurl node['yum'][repo]['baseurl']
            24:       cost node['yum'][repo]['cost']
            25:       description node['yum'][repo]['description']
            26:       enabled node['yum'][repo]['enabled']
            27:       enablegroups node['yum'][repo]['enablegroups']
            28:       exclude node['yum'][repo]['exclude']
            29:       failovermethod node['yum'][repo]['failovermethod']
            30:       fastestmirror_enabled node['yum'][repo]['fastestmirror_enabled']
            31:       gpgcheck node['yum'][repo]['gpgcheck']
            32:       gpgkey node['yum'][repo]['gpgkey']
            33:       http_caching node['yum'][repo]['http_caching']
            34:       include_config node['yum'][repo]['include_config']
            35:       includepkgs node['yum'][repo]['includepkgs']
            36:       keepalive node['yum'][repo]['keepalive']
            37:       max_retries node['yum'][repo]['max_retries']
            38:       metadata_expire node['yum'][repo]['metadata_expire']
            39:       mirror_expire node['yum'][repo]['mirror_expire']
            40:       mirrorlist node['yum'][repo]['mirrorlist']
            41:       mirrorlist_expire node['yum'][repo]['mirrorlist_expire']
            42:       password node['yum'][repo]['password']
            43:       priority node['yum'][repo]['priority']
            44:       proxy node['yum'][repo]['proxy']

            46:       proxy_password node['yum'][repo]['proxy_password']
            47:       report_instanceid node['yum'][repo]['report_instanceid']
            48:       repositoryid node['yum'][repo]['repositoryid']
            49:       skip_if_unavailable node['yum'][repo]['skip_if_unavailable']
            50:       source node['yum'][repo]['source']
            51:       sslcacert node['yum'][repo]['sslcacert']
            52:       sslclientcert node['yum'][repo]['sslclientcert']
            53:       sslclientkey node['yum'][repo]['sslclientkey']
            54:       sslverify node['yum'][repo]['sslverify']
            55:       timeout node['yum'][repo]['timeout']
            56:       username node['yum'][repo]['username']
            57: 
            58:       action :create
            59:     end
            60:   end

           Compiled Resource:
           ------------------
           # Declared in /tmp/kitchen/cache/cookbooks/yum-epel/recipes/default.rb:22:in `block in from_file'

           yum_repository("epel") do
             action :create
             updated true
             updated_by_last_action true
             retries 0
             retry_delay 2
             default_guard_interpreter :default
             declared_type :yum_repository
             cookbook_name "yum-epel"
             recipe_name "default"
             description "Extra Packages for Enterprise Linux 7 - $basearch"
             enabled true
             failovermethod "priority"
             gpgcheck true
             gpgkey "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7"
             mirrorlist "https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch"
             repositoryid "epel"
             sslverify true
             mode "0644"
             make_cache true
           end


       Running handlers:
       [2015-06-25T14:42:19+00:00] ERROR: Running exception handlers
       Running handlers complete
       [2015-06-25T14:42:19+00:00] ERROR: Exception handlers complete
       Chef Client failed. 2 resources updated in 39.070935724 seconds
       [2015-06-25T14:42:19+00:00] FATAL: Stacktrace dumped to /tmp/kitchen/cache/chef-stacktrace.out
       [2015-06-25T14:42:19+00:00] ERROR: yum_repository[epel] (yum-epel::default line 22) had an error: Mixlib::ShellOut::ShellCommandFailed: execute[yum-makecache-epel] (/tmp/kitchen/cache/cookbooks/yum/providers/repository.rb line 61) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
       ---- Begin output of yum -q makecache --disablerepo=* --enablerepo=epel ----
       STDOUT: 
       STDERR: One of the configured repositories failed (Unknown),
        and yum doesn't have enough cached data to continue. At this point the only
        safe thing yum can do is fail. There are a few ways to work "fix" this:

            1. Contact the upstream for the repository and get them to fix the problem.

            2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

            3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>

            4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

       Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
       ---- End output of yum -q makecache --disablerepo=* --enablerepo=epel ----
       Ran yum -q makecache --disablerepo=* --enablerepo=epel returned 1
       [2015-06-25T14:42:19+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
>>>>>> Converge failed on instance <default-centos-70>.
>>>>>> Please see .kitchen/logs/default-centos-70.log for more details
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: SSH exited (1) for command: [sh -c '

sudo -E /opt/chef/bin/chef-client --local-mode --config /tmp/kitchen/client.rb --log_level auto --force-formatter --no-color --json-attributes /tmp/kitchen/dna.json --chef-zero-port 8889
']
>>>>>> ----------------------

Cannot install yum-epel

Cookbook version

2.1.2

Chef-client version

[Version of chef-client in your environment]

Platform Details

debian and ubuntu

Scenario:

ruby_build depends on this and this depends on compat_resource. Notably compat_resource has been depreciated and moved to boneyard, I don't know if that has anything to do with failure.

Steps to Reproduce:

knife supermarket install ruby_build ( which pulls this in as dep and this deps on compat_resource )

Expected Result:

This to install.

Actual Result:

DEBUG: Streaming download from https://supermarket.chef.io/api/v1/cookbooks/yum-epel/versions/2.1.2/download to tempfile /tmp/chef-rest20180131-4874-hb6ew2
DEBUG: content_encoding = '' initializing noop stream deflator.
DEBUG: Chef::HTTP::StreamHandler calling Chef::HTTP::ValidateContentLength::ContentLengthCounter#handle_chunk
DEBUG: Chef::HTTP::StreamHandler calling Chef::HTTP::Decompressor::NoopInflater#handle_chunk
DEBUG: Chef::HTTP::StreamHandler calling Chef::HTTP::ValidateContentLength::ContentLengthCounter#handle_chunk
DEBUG: Chef::HTTP::StreamHandler calling Chef::HTTP::Decompressor::NoopInflater#handle_chunk
DEBUG: Chef::HTTP calling Chef::HTTP::ValidateContentLength#handle_stream_complete
DEBUG: Content-Length validated correctly.
DEBUG: Chef::HTTP calling Chef::HTTP::RemoteRequestID#handle_stream_complete
DEBUG: Chef::HTTP calling Chef::HTTP::Decompressor#handle_stream_complete
DEBUG: Chef::HTTP calling Chef::HTTP::CookieManager#handle_stream_complete
DEBUG: Chef::HTTP calling Chef::HTTP::JSONOutput#handle_stream_complete
DEBUG: Chef::HTTP calling Chef::HTTP::JSONInput#handle_stream_complete
Cookbook saved: /tmp/kitchen/cookbooks/yum-epel.tar.gz
Removing pre-existing version.
Uncompressing yum-epel version 2.1.2.
Removing downloaded tarball
No changes made to yum-epel
Checking out the master branch.
Installing compat_resource to /tmp/kitchen/cookbooks
Checking out the master branch.
Creating pristine copy branch chef-vendor-compat_resource
DEBUG: Chef::HTTP calling Chef::HTTP::JSONInput#handle_request
DEBUG: Chef::HTTP calling Chef::HTTP::JSONOutput#handle_request
DEBUG: Chef::HTTP calling Chef::HTTP::CookieManager#handle_request
DEBUG: Chef::HTTP calling Chef::HTTP::Decompressor#handle_request
DEBUG: Chef::HTTP calling Chef::HTTP::RemoteRequestID#handle_request
DEBUG: Chef::HTTP calling Chef::HTTP::ValidateContentLength#handle_request
DEBUG: Initiating GET to https://supermarket.chef.io/api/v1/cookbooks/compat_resource
DEBUG: ---- HTTP Request Header Data: ----
DEBUG: Accept: application/json
DEBUG: Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3
DEBUG: X-REMOTE-REQUEST-ID: 130dfb7e-90f4-4e70-816e-ceed7098546d
DEBUG: ---- End HTTP Request Header Data ----
DEBUG: ---- HTTP Status and Header Data: ----
DEBUG: HTTP 1.1 200 OK
DEBUG: cache-control: max-age=0, private, must-revalidate
DEBUG: content-encoding: gzip
DEBUG: content-type: application/json; charset=utf-8
DEBUG: date: Wed, 31 Jan 2018 11:07:51 GMT
DEBUG: etag: W/"f880a34810485ffd5b8f40e65497db0c"
DEBUG: server: nginx/1.10.2
DEBUG: x-content-type-options: nosniff
DEBUG: x-frame-options: SAMEORIGIN
DEBUG: x-request-id: 259f5d7e-0ed1-4a9e-af44-d2d3e702f842
DEBUG: x-runtime: 0.040777
DEBUG: x-xss-protection: 1; mode=block
DEBUG: content-length: 1007
DEBUG: connection: Close
DEBUG: ---- End HTTP Status/Header Data ----
DEBUG: Chef::HTTP calling Chef::HTTP::ValidateContentLength#handle_response
DEBUG: Content-Length validated correctly.
DEBUG: Chef::HTTP calling Chef::HTTP::RemoteRequestID#handle_response
DEBUG: Chef::HTTP calling Chef::HTTP::Decompressor#handle_response
DEBUG: Decompressing gzip response
DEBUG: Chef::HTTP calling Chef::HTTP::CookieManager#handle_response
DEBUG: Chef::HTTP calling Chef::HTTP::JSONOutput#handle_response
DEBUG: Chef::HTTP calling Chef::HTTP::JSONInput#handle_response
/opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife/cookbook_site_download.rb:108:in basename': no implicit conversion of nil into String (TypeError) from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife/cookbook_site_download.rb:108:in replacement_cookbook'
from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife/cookbook_site_download.rb:50:in run' from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife/cookbook_site_install.rb:147:in download_cookbook_to'
from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife/cookbook_site_install.rb:98:in run' from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife/cookbook_site_install.rb:124:in block in run'
from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife/cookbook_site_install.rb:119:in each' from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife/cookbook_site_install.rb:119:in run'
from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife/cookbook_site_install.rb:124:in block in run' from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife/cookbook_site_install.rb:119:in each'
from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife/cookbook_site_install.rb:119:in run' from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife.rb:443:in block in run_with_pretty_exceptions'
from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/local_mode.rb:44:in with_server_connectivity' from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife.rb:442:in run_with_pretty_exceptions'
from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/knife.rb:220:in run' from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/lib/chef/application/knife.rb:160:in run'
from /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.7.16/bin/knife:25:in <top (required)>' from /usr/bin/knife:59:in load'
from /usr/bin/knife:59:in `

'

Error when installing with 'knife cookbook site install yum-epel'

I get this error when I try to install this cookbook:
ERROR: IOError: Cannot open or read /chef-repo/cookbooks/yum-epel/metadata.rb!

$ knife cookbook site install yum-epel
Installing yum-epel to /workspace/chef-repo/cookbooks
Checking out the master branch.
Creating pristine copy branch chef-vendor-yum-epel
Downloading yum-epel from the cookbooks site at version 0.6.0 to /chef-repo/cookbooks/yum-epel.tar.gz
Cookbook saved: /chef-repo/cookbooks/yum-epel.tar.gz
Removing pre-existing version.
Uncompressing yum-epel version 0.6.0.
removing downloaded tarball
1 files updated, committing changes
Creating tag cookbook-site-imported-yum-epel-0.6.0
Checking out the master branch.
Updating 662c3ad..ca575bc
Fast-forward
cookbooks/yum-epel/CHANGELOG.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cookbooks/yum-epel/README.md | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cookbooks/yum-epel/attributes/default.rb | 1 +
cookbooks/yum-epel/attributes/epel-debuginfo.rb | 28 ++++++++++++++++++++++++++++
cookbooks/yum-epel/attributes/epel-source.rb | 28 ++++++++++++++++++++++++++++
cookbooks/yum-epel/attributes/epel-testing-debuginfo.rb | 28 ++++++++++++++++++++++++++++
cookbooks/yum-epel/attributes/epel-testing-source.rb | 28 ++++++++++++++++++++++++++++
cookbooks/yum-epel/attributes/epel-testing.rb | 28 ++++++++++++++++++++++++++++
cookbooks/yum-epel/attributes/epel.rb | 28 ++++++++++++++++++++++++++++
cookbooks/yum-epel/metadata.json | 34 ++++++++++++++++++++++++++++++++++
cookbooks/yum-epel/recipes/default.rb | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
11 files changed, 489 insertions(+)
create mode 100644 cookbooks/yum-epel/CHANGELOG.md
create mode 100644 cookbooks/yum-epel/README.md
create mode 100644 cookbooks/yum-epel/attributes/default.rb
create mode 100644 cookbooks/yum-epel/attributes/epel-debuginfo.rb
create mode 100644 cookbooks/yum-epel/attributes/epel-source.rb
create mode 100644 cookbooks/yum-epel/attributes/epel-testing-debuginfo.rb
create mode 100644 cookbooks/yum-epel/attributes/epel-testing-source.rb
create mode 100644 cookbooks/yum-epel/attributes/epel-testing.rb
create mode 100644 cookbooks/yum-epel/attributes/epel.rb
create mode 100644 cookbooks/yum-epel/metadata.json
create mode 100644 cookbooks/yum-epel/recipes/default.rb
Cookbook yum-epel version 0.6.0 successfully installed
ERROR: IOError: Cannot open or read /chef-repo/cookbooks/yum-epel/metadata.rb!

aarch64 not supported

🗣️ Foreword

Thank for taking the time to fill this bug report fully. Without it we may not be able to fix the bug, and the issue may be closed without resolution.

👻 Brief Description

When the machine is aarch64 yum-epel is not installed, i.e. on here's what the chef attributes look like:

{
  "kernel": {
    "name": "Linux",
    "release": "4.18.0-193.28.1.el7.aarch64",
    "version": "#1 SMP Wed Oct 21 16:25:35 UTC 2020",
    "machine": "aarch64",
    "processor": "aarch64",

It looks like there was a PR to add arm 32 support #53 but not aarch64.

🥞 Cookbook version

yum-epel 3.3.0

👩‍🍳 Chef-Infra Version

Version of chef-client in your environment.

🎩 Platform details

Centos 7 - ARM
c6g.2xlarge - AWS Graviton 2

Steps To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

🚓 Expected behavior

A clear and concise description of what you expected to happen.

➕ Additional context

Add any other context about the problem here. e.g. related issues or existing pull requests.

Chef 13 support

Getting a bunch of offending values for this cookbook. here are the offending items i got today running chef-client v12.5.1. It seems both yum-centos and yum-epel cookbooks are in the same boat.

  baseurl nil currently does not overwrite the value of baseurl. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :baseurl, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:24:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:24:in `block (2 levels) in from_file'
  cost nil currently does not overwrite the value of cost. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :cost, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:25:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:25:in `block (2 levels) in from_file'
  enablegroups nil currently does not overwrite the value of enablegroups. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :enablegroups, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:28:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:28:in `block (2 levels) in from_file'
  exclude nil currently does not overwrite the value of exclude. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :exclude, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:29:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:29:in `block (2 levels) in from_file'
  failovermethod nil currently does not overwrite the value of failovermethod. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :failovermethod, [MyType, nil]", or stop setting this value to nil. at 1 location:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:30:in `block (2 levels) in from_file'
  fastestmirror_enabled nil currently does not overwrite the value of fastestmirror_enabled. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :fastestmirror_enabled, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:31:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:31:in `block (2 levels) in from_file'
  http_caching nil currently does not overwrite the value of http_caching. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :http_caching, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:34:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:34:in `block (2 levels) in from_file'
  include_config nil currently does not overwrite the value of include_config. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :include_config, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:35:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:35:in `block (2 levels) in from_file'
  includepkgs nil currently does not overwrite the value of includepkgs. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :includepkgs, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:36:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:36:in `block (2 levels) in from_file'
  keepalive nil currently does not overwrite the value of keepalive. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :keepalive, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:37:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:37:in `block (2 levels) in from_file'
  max_retries nil currently does not overwrite the value of max_retries. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :max_retries, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:38:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:38:in `block (2 levels) in from_file'
  metadata_expire nil currently does not overwrite the value of metadata_expire. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :metadata_expire, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:39:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:39:in `block (2 levels) in from_file'
  mirror_expire nil currently does not overwrite the value of mirror_expire. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :mirror_expire, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:40:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:40:in `block (2 levels) in from_file'
  mirrorlist_expire nil currently does not overwrite the value of mirrorlist_expire. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :mirrorlist_expire, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:42:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:42:in `block (2 levels) in from_file'
  password nil currently does not overwrite the value of password. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :password, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:43:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:43:in `block (2 levels) in from_file'
  priority nil currently does not overwrite the value of priority. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :priority, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:44:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:44:in `block (2 levels) in from_file'
  proxy nil currently does not overwrite the value of proxy. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :proxy, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:45:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:45:in `block (2 levels) in from_file'
  proxy_username nil currently does not overwrite the value of proxy_username. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :proxy_username, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:46:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:46:in `block (2 levels) in from_file'
  proxy_password nil currently does not overwrite the value of proxy_password. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :proxy_password, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:47:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:47:in `block (2 levels) in from_file'
  report_instanceid nil currently does not overwrite the value of report_instanceid. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :report_instanceid, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:48:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:48:in `block (2 levels) in from_file'
  skip_if_unavailable nil currently does not overwrite the value of skip_if_unavailable. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :skip_if_unavailable, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:50:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:50:in `block (2 levels) in from_file'
  source nil currently does not overwrite the value of source. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :source, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:51:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:51:in `block (2 levels) in from_file'
  sslcacert nil currently does not overwrite the value of sslcacert. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :sslcacert, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:52:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:52:in `block (2 levels) in from_file'
  sslclientcert nil currently does not overwrite the value of sslclientcert. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :sslclientcert, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:53:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:53:in `block (2 levels) in from_file'
  sslclientkey nil currently does not overwrite the value of sslclientkey. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :sslclientkey, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:54:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:54:in `block (2 levels) in from_file'
  sslverify nil currently does not overwrite the value of sslverify. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :sslverify, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:55:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:55:in `block (2 levels) in from_file'
  timeout nil currently does not overwrite the value of timeout. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :timeout, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:56:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:56:in `block (2 levels) in from_file'
  username nil currently does not overwrite the value of username. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :username, [MyType, nil]", or stop setting this value to nil. at 2 locations:
    - /var/chef/cache/cookbooks/yum-centos/recipes/default.rb:57:in `block (2 levels) in from_file'
    - /var/chef/cache/cookbooks/yum-epel/recipes/default.rb:57:in `block (2 levels) in from_file'

disable other repositories / get packages from epel

Cookbook version

2.1.1

Chef-client version

latest

Platform Details

Amazon Linux AMI release 2016.09 x86_64

Scenario:

I want to install some packages from the epel repository: nrpe, nagios-plugins-uptime
The problem is that the packages are also in the Amazon repository, but very outdated

How to disable amzn-main repository?

Steps to Reproduce:

yum_repository 'epel' do
description 'Extra Packages for Enterprise Linux'
mirrorlist 'http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch'
gpgkey 'http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6'
action :create
only_if { platform_family?('rhel') }
end

package ['nrpe', 'nagios-plugins', 'nagios-plugins-disk', 'nagios-plugins-load', 'nagios-plugins-uptime']

Expected Result:

nagios-plugins.x86_64 2.1.4-3.el6 epel
nagios-plugins-disk.x86_64 2.1.4-3.el6 epel
nagios-plugins-load.x86_64 2.1.4-3.el6 epel
nrpe.x86_64 2.15-7.el6 epel

Actual Result:

nagios-common.x86_64 3.5.1-1.8.amzn1 @amzn-main
nagios-plugins.x86_64 1.4.16-5.8.amzn1 @amzn-main
nagios-plugins-disk.x86_64 1.4.16-5.8.amzn1 @amzn-main
nagios-plugins-load.x86_64 1.4.16-5.8.amzn1 @amzn-main

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.