Giter VIP home page Giter VIP logo

erlang's Introduction

erlang Cookbook

Cookbook Version CI State OpenCollective OpenCollective License

Manages installation of Erlang via packages or source.

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.

Requirements

Platforms

  • Debian/Ubuntu 16.04+
  • RHEL/CentOS/Scientific/Amazon/Oracle 6+
  • Fedora
  • openSUSE

Chef

  • Chef 14+

Cookbooks

  • yum-epel
  • yum-erlang_solutions

Attributes

  • node['erlang']['install_method'] - Erlang installation method ("package", "source", or "esl" (for Erlang Solutions packages)).
  • node['erlang']['package']['version'] - OS specific version of Erlang package to install
  • node['erlang']['package']['install_epel_repository'] - Boolean flag indicating whether EPEL yum repository should be installed (in which case Erlang packages may be retrieved from there).
  • node['erlang']['source']['version'] - Version of Erlang/OTP to install from source.
  • node['erlang']['source']['url'] - URL of Erlang/OTP source tarball.
  • node['erlang']['source']['checksum'] - Checksum of the Erlang/OTP source tarball.
  • node['erlang']['source']['build_flags'] - Build flags for compiling Erlang/OTP.
  • node['erlang']['source']['cflags'] - CFLAGS for configuring Erlang/OTP.
  • node['erlang']['esl']['version'] - version specifier for Erlang Solutions packages.
  • node['erlang']['esl']['lsb_codename'] - override the code name used for ESL packages, useful for installing the packages on distributions that they don't make specific packages available (e.g., maverick vs precise).

Recipes

default

Manages installation of Erlang. Includes the package or source recipe depending on the value of node['erlang']['install_method'].

package

Installs Erlang from distribution packages.

source

Installs Erlang from source.

esl

Adds Erlang Solutions' package repositories on Debian, CentOS, and Ubuntu systems, and installs the esl-erlang package.

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

erlang's People

Contributors

alop avatar amurgatroyd avatar damacus avatar dje avatar don-code avatar eheydrick avatar harlanbarnes avatar hectcastro avatar iennae avatar jemc avatar joewilliams avatar jtimberman avatar kitchen-porter avatar lamont-granquist avatar majormoses avatar mancdaz avatar mattray avatar michaelklishin avatar nathenharvey avatar nickm4062 avatar pwelch avatar ramereth avatar rankink avatar renovate[bot] avatar salelkar-ibm avatar sethvargo avatar shortdudey123 avatar tas50 avatar xorima avatar xorimabot 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

erlang's Issues

Upload erlang 6.1.1 to Chef Supermarket

Supermarket is still showing v6.1.0 as the latest available version of this cookbook, but that version has buggy metadata that breaks installation with knife (knife cookbook site install erlang).

The metadata issue was fixed a month ago and there is a commit for the 6.1.1 release but the release was never tagged or uploaded to Chef Supermarket.

Please upload 6.1.1 to Supermarket. (And consider revoking 6.1.0 because of the broken installation.)

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

Allow newer yum cookbook

Cookbook version

4.1.0

Chef-client version

varies: v >= 12.5.1

Platform Details

varies: OEL6, centos7

Scenario:

I'd like to use newer yum cookbooks.

Even the latest erlang cookbook has the following dependency:

"yum":"~> 3.0"

Since then, yum cookbook has been updated to 5.0.0, to follow suit with recent chef client changes.

Install method should default to package

Cookbook version

[Version of the cookbook where you are encountering the issue]

Chef-client version

[Version of chef-client in your environment]

Platform Details

[Operating system distribution and release version. Cloud provider if running in the cloud]

Scenario:

[What you are trying to achieve and you can't?]

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?]

Expected Result:

[What are you expecting to happen as the consequence of above reproduction steps?]

Actual Result:

[What actually happens after the reproduction steps? Include the error output or a link to a gist if possible.]

Ubuntu 16.04/18.04 nox package

Cookbook version

7.0.0

Chef-client version

14.5.33

Platform Details

Ubuntu 18.04

Scenario:

Installing rabbitmq-server with using erlang cookbook

Steps to Reproduce:

  1. use rabbitmq cookbook with erlang cookbook
  2. install rabbitmq-server

Expected Result:

Can install rabbitmq-server.

Actual Result:

The following packages have unmet dependencies:
 rabbitmq-server : Depends: erlang-nox (>= 1:16.b.3) but it is not going to be installed or
                            esl-erlang (>= 1:16.b.3) but it is not installable
STDERR: E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

I want to revert #52. We can still install erlang-nox package on Ubuntu 16.04/18.04. I could install rabbitmq-server after installing erlang-nox package by hand.

This is rabbitmq cookbook problem. But #52 has comment like my suggestion.

Allow specifying a package version

Cookbook version

4.0.0

Chef-client version

12.13.37

Platform Details

RHEL6, RHEL7

Scenario:

https://github.com/chef-cookbooks/erlang/blob/master/recipes/package.rb#L47 installs the latest version.

Steps to Reproduce:

Run erlang::package recipe

Expected Result:

https://github.com/chef-cookbooks/erlang/blob/master/recipes/package.rb#L47 needs to allow the installation of user-specified version

Actual Result:

There is no version property of the package resource, so the latest is always installed.

Failing to install Erlang 20.1.7 on Ubuntu 16.04 amd64

Cookbook version

Erlang 5.1.0

Chef-client version

13.1.31

Platform Details

Ubuntu 16.04 amd64

Scenario:

Trying to install Erlang version 20.1.7

Steps to Reproduce:

in attributes/default.rb

default['erlang']['install_method'] = 'esl'
default['erlang']['esl']['version'] = '20.1.7'

in recipes/default.rb

include_recipe 'mycookbook::erlang'

in recipes/erlang.rb

include_recipe 'erlang::default'

Expected Result:

I expected erlang 2.0.1.7 to be installed

Actual Result:

Recipe: erlang::esl
  * apt_package[apt-transport-https] action install (up to date)
  * apt_repository[erlang_solutions_repo] action add
    * remote_file[/tmp/packer-chef-solo/local-mode-cache/cache/https___packages_erlang-solutions_com_debian_erlang_solutions_asc] action create
      - create new file /tmp/packer-chef-solo/local-mode-cache/cache/https___packages_erlang-solutions_com_debian_erlang_solutions_asc
      - update content in file /tmp/packer-chef-solo/local-mode-cache/cache/https___packages_erlang-solutions_com_debian_erlang_solutions_asc from none to 862320
      --- /tmp/packer-chef-solo/local-mode-cache/cache/https___packages_erlang-solutions_com_debian_erlang_solutions_asc   2018-02-02 09:24:58.643371300 +0000
      +++ /tmp/chef-rest20180202-2116-tx90tr       2018-02-02 09:24:58.643371300 +0000
      @@ -1 +1,53 @@
      +-----BEGIN PGP PUBLIC KEY BLOCK-----
      +Version: GnuPG v1.4.10 (GNU/Linux)
      +
      +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
      +ctmKvzuuerI6mVQjg/80PJ4fEV0=
      +=VAR1
      +-----END PGP PUBLIC KEY BLOCK-----
      - change mode from '' to '0644'
    * execute[apt-key add /tmp/packer-chef-solo/local-mode-cache/cache/https___packages_erlang-solutions_com_debian_erlang_solutions_asc] action run
      - execute apt-key add /tmp/packer-chef-solo/local-mode-cache/cache/https___packages_erlang-solutions_com_debian_erlang_solutions_asc
    * execute[apt-cache gencaches] action run
      - execute apt-cache gencaches
    * execute[apt-cache gencaches] action nothing (skipped due to action :nothing)
    * apt_update[erlang_solutions_repo] action nothing (skipped due to action :nothing)
    * file[/etc/apt/sources.list.d/erlang_solutions_repo.list] action create
      - create new file /etc/apt/sources.list.d/erlang_solutions_repo.list
      - update content in file /etc/apt/sources.list.d/erlang_solutions_repo.list from none to 6862a5
      --- /etc/apt/sources.list.d/erlang_solutions_repo.list       2018-02-02 09:24:59.247371300 +0000
      +++ /etc/apt/sources.list.d/.chef-erlang_solutions_repo20180202-2116-11xv9j.list     2018-02-02 09:24:59.247371300 +0000
      @@ -1 +1,2 @@
      +deb      "https://packages.erlang-solutions.com/debian/" xenial contrib
      - change mode from '' to '0644'
      - change owner from '' to 'root'
      - change group from '' to 'root'
    * execute[apt-cache gencaches] action run
      - execute apt-cache gencaches
    * apt_update[erlang_solutions_repo] action update
      - force update new lists of packages
      * directory[/var/lib/apt/periodic] action create (up to date)
      * directory[/etc/apt/apt.conf.d] action create (up to date)
      * file[/etc/apt/apt.conf.d/15update-stamp] action create_if_missing (up to date)
      * execute[apt-get -q update] action run
        - execute apt-get -q update


  * apt_package[esl-erlang] action install

    ================================================================================
    Error executing action `install` on resource 'apt_package[esl-erlang]'
    ================================================================================

    Mixlib::ShellOut::ShellCommandFailed
    ------------------------------------
    Expected process to exit with [0], but received '100'
    ---- Begin output of ["apt-get", "-q", "-y", "install", "esl-erlang=20.1.7"] ----
    STDOUT: Reading package lists...
    Building dependency tree...
    Reading state information...
    STDERR: E: Version '20.1.7' for 'esl-erlang' was not found
    ---- End output of ["apt-get", "-q", "-y", "install", "esl-erlang=20.1.7"] ----
    Ran ["apt-get", "-q", "-y", "install", "esl-erlang=20.1.7"] returned 100

For some reason the package cannot be found. However if I follow the instructions here: https://www.erlang-solutions.com/resources/download.html then the package is available:

petrik@Hobbes:~$ apt-cache madison esl-erlang
esl-erlang |   1:20.2.2 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |   1:20.1.7 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |     1:20.1 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |     1:20.0 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |   1:19.3.6 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |     1:19.3 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |   1:19.2.3 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |     1:19.2 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |   1:19.1.5 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |   1:19.0.7 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |   1:18.3.4 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |     1:18.3 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang |     1:18.2 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages
esl-erlang | 1:16.b.2.basho10 | http://binaries.erlang-solutions.com/debian xenial/contrib amd64 Packages

So that leads me to assume that I have not configured something correctly?

Please provision a recent (at least 20.3.x) OTP version by default

Cookbook version

12.x, 13.x

Chef-client version

12.x, 13.x

Platform Details

All.

Scenario:

Trying to provision an Erlang/OTP version which is reasonably up-to-date.

OTP 18.x and 19.x up to 19.3.6.4 are known to have major issues that affect servers that use TCP, e.g.
ERL-430 and ERL-448.

Dependent cookbooks such as RabbitMQ currently have to provide explicit instructions for this
cookbook so that a reasonably stable OTP version is guaranteed to be installed.

It would be really nice if this cookbook provisioned 20.2.x or at least 19.3.6.5 by default,
e.g. using the ESL installation method. I do recognize that it would be a breaking change
and would meet some opposition but for the next major version, it's the Right Thing to Do™.

Steps to Reproduce:

Add erlang::default to run list without modifying any node attributes.

Expected Result:

A reasonably recent (20.3.8 or later) version is provisioned if possible.

Actual Result:

An older version is provisioned (at best 19.2).

When building from source, not_if fails for any minor releases

There is a not_if in the bash block that evaluates 'erlang:display(erlang:system_info(otp_release)), halt().'; however, this command returns only the major release number of otp. So if the version is, say, 18.3, then the grep in that not_if will be looking for 18.3, but the eval will return the string "18".

The incredibly ugly command:

erl -eval '{ok, Version} = file:read_file(filename:join([code:root_dir(), "releases", erlang:system_info(otp_release), "OTP_VERSION"])), erlang:display(erlang:binary_to_list(Version)), halt().' -noshell

will retrieve the full erlang version for versions >= 17. See also http://stackoverflow.com/a/34326368/3757951

metadata.rb is missing in erlang version 1.5.7

Hello,

I just tried to install rabbitmq 3.11.0 cookbook but it fails as erlang 1.5.7 is failing to install :

knife cookbook site install rabbitmq                                                                                                                                                                                              100 ↵
Installing rabbitmq to /CC.mffrench/DEV/ariane.master/ariane.community.environment/Chef/cookbooks
Checking out the master branch.
Pristine copy branch (chef-vendor-rabbitmq) exists, switching to it.
Downloading rabbitmq from the cookbooks site at version 3.11.0 to /CC.mffrench/DEV/ariane.master/ariane.community.environment/Chef/cookbooks/rabbitmq.tar.gz
Cookbook saved: /CC.mffrench/DEV/ariane.master/ariane.community.environment/Chef/cookbooks/rabbitmq.tar.gz
Removing pre-existing version.
Uncompressing rabbitmq version 3.11.0.

...

Checking out the master branch.
Installing erlang to /CC.mffrench/DEV/ariane.master/ariane.community.environment/Chef/cookbooks
Checking out the master branch.
Pristine copy branch (chef-vendor-erlang) exists, switching to it.
Downloading erlang from the cookbooks site at version 1.5.7 to /CC.mffrench/DEV/ariane.master/ariane.community.environment/Chef/cookbooks/erlang.tar.gz
Cookbook saved: /CC.mffrench/DEV/ariane.master/ariane.community.environment/Chef/cookbooks/erlang.tar.gz
Removing pre-existing version.
Uncompressing erlang version 1.5.7.

...

 9 files changed, 27 insertions(+), 41 deletions(-)
 delete mode 100644 Chef/cookbooks/erlang/metadata.rb
Cookbook erlang version 1.5.7 successfully installed
ERROR: IOError: Cannot open or read /CC.mffrench/DEV/ariane.master/ariane.community.environment/Chef/cookbooks/erlang/metadata.rb!

This error looks like the same as the one I raised on the rabbitmq 3.10.0 chef cookbook (rabbitmq/chef-cookbook#233).

Tell me what you think.

Regards,

Mathilde

P.S : my chef versions :

chef -v                                                                                                                                                                                                                           100 ↵
Chef Development Kit Version: 0.2.1
knife -v
Chef: 11.14.6

esl-erlang or erlang?

Which package should be installed when we choose esl as install_method?

For v1.5.6 release:

  • esl-erlang will be installed for debian
  • erlang will be installed for rhel

Is this expected?

Pin should be a string not int?

Cookbook version

[7.0.0]

Chef-client version

[12.18.31]

Platform Details

[Ubuntu 16.04.1 LTS]

Scenario:

[install esl-erlang]

Chef::Exceptions::ValidationFailed
----------------------------------
Option pin_priority must be a kind of [String]!  You passed 700.

Cookbook Trace:
---------------
  /var/chef/cache/cookbooks/erlang/recipes/esl.rb:37:in `block in from_file'
  /var/chef/cache/cookbooks/erlang/recipes/esl.rb:34:in `from_file'
  /var/chef/cache/cookbooks/erlang/recipes/default.rb:23:in `from_file'
  /var/chef/cache/cookbooks/rabbitmq/recipes/default.rb:29:in `from_file'
  /var/chef/cache/cookbooks/sensu/recipes/rabbitmq.rb:82:in `from_file'
  /var/chef/cache/cookbooks/ts_sensu/recipes/server.rb:2:in `from_file'

Relevant File Content:
----------------------
/var/chef/cache/cookbooks/erlang/recipes/esl.rb:

 30:      key node['erlang']['esl']['repo']['key']
 31:      action :add
 32:    end
 33:
 34:    apt_preference 'erlang_solutions_repo' do
 35:      package_name 'esl-erlang'
 36:      pin "version #{node['erlang']['esl']['version']}"
 37>>     pin_priority 700
 38:      action :add
 39:      not_if { node['erlang']['esl']['version'].nil? }
 40:    end
 41:
 42:    package 'esl-erlang' do
 43:      version node['erlang']['esl']['version'] if node['erlang']['esl']['version']
 44:    end
 45:  when 'rhel'
 46:    if node['platform_version'].to_i <= 5

Cannot update erlang to newer version

Cookbook version

4.0.0

Chef-client version

Chef: 12.4.3

Platform Details

CentOS 7: 3.10.0-327.13.1.el7.x86_64

Scenario:

Trying to install 19.1-1 version of erlang

Steps to Reproduce:

I'm trying to install RabbitMQ via https://github.com/rabbitmq/chef-cookbook they use this erlang cookbook as dependency.
Firstly, I used default version of erlang but some rabbitmq plugins does not work with it. So I updated erlang version in attributes as shown bellow:

default['erlang']['install_method'] = 'esl'
default['erlang']['esl']['version'] = '19.1-1'
default['rabbitmq']['esl-erlang_package'] = 'esl-erlang-compat-R1801-1.noarch.rpm?raw=true'
default['rabbitmq']['esl-erlang_package_url'] = 'https://github.com/jasonmcintosh/esl-erlang-compat/blob/master/rpmbuild/RPMS/noarch/'

But chef fails to update already installed erlang. I had to remove previous installation manually and then rerun chef client.

Expected Result:

erlang should be updated if there is older version is installed

Actual Result:

Transaction check error:
file /usr/bin/epmd from install of esl-erlang-19.1-1.x86_64 conflicts with file from package erlang-erts-R16B-03.17.el7.x86_64
file /usr/bin/erl from install of esl-erlang-19.1-1.x86_64 conflicts with file from package erlang-erts-R16B-03.17.el7.x86_64
file /usr/bin/erlc from install of esl-erlang-19.1-1.x86_64 conflicts with file from package erlang-erts-R16B-03.17.el7.x86_64
file /usr/bin/escript from install of esl-erlang-19.1-1.x86_64 conflicts with file from package erlang-erts-R16B-03.17.el7.x86_64
file /usr/bin/run_erl from install of esl-erlang-19.1-1.x86_64 conflicts with file from package erlang-erts-R16B-03.17.el7.x86_64
file /usr/bin/to_erl from install of esl-erlang-19.1-1.x86_64 conflicts with file from package erlang-erts-R16B-03.17.el7.x86_64
file /usr/bin/dialyzer from install of esl-erlang-19.1-1.x86_64 conflicts with file from package erlang-dialyzer-R16B-03.17.el7.x86_64
file /usr/bin/typer from install of esl-erlang-19.1-1.x86_64 conflicts with file from package erlang-typer-R16B-03.17.el7.x86_64
file /usr/bin/ct_run from install of esl-erlang-19.1-1.x86_64 conflicts with file from package erlang-common_test-R16B-03.17.el7.x86_64

New installation method: bintray.com/rabbitmq-erlang

Would the maintainers of this cookbook consider a contribution that adds a new installation method that uses Bintray? Team RabbitMQ has been producing Debian and RPM packages of every patch release of OTP for the last several months. In our experience, this greatly improves latest patch version availability since ESL packages lag behind (a little birdie tells me because the process is not completely automated).

The Debian package is available for several distributions and is based on the official Debian packages.

The RPM package is stripped down and has an implicit OpenSSL dependency but nonetheless works well in practice for a lot of software, and significantly improves recent OTP patch release availability for RPM users.

I'd be happy to work on this if this has a chance of being accepted.

secondary_ip doesn't work

I'm trying to use the secondary_ip resource, and it is telling me that interface_id was not found.

chef run fails if attempting to downgrade Erlang version using this cookbook

Cookbook version

6.1.0

Chef-client version

14.2.0

Platform Details

Ubuntu 16.04

Scenario:

Install esl-erlang when a newer version is already installed

Steps to Reproduce:

Ensure esl-erlang is installed on target machine
Run erlang cookbook with erlang version set to lower version than currently installed

Expected Result:

apt-get downgrades erlang version

Actual Result:

apt-get throws error.
STDERR: E: Packages were downgraded and -y was used without --allow-downgrades

Ensuring --allow-downgrades is specified solves the issue.

Erlang version not found in yum via knife

Hi,

I'm having small trouble installing a specific version of erlang via knife. Dunno if this is an issue or a fail on my side.

Cookbook version

cookbook 'erlang', '~> 5.1.0'

Chef-client version

Chef Development Kit Version: 1.3.43
chef-client version: 12.19.36
delivery version: master (dd319aa632c2f550c92a2172b9d1226478fea997)
berks version: 5.6.4
kitchen version: 1.16.0

Platform Details

Centos 7 (64 bits), OVH cloud provider

Scenario:

I am trying to install a specific version of esl-erlang package using yum (19.3-1)

Steps to Reproduce:

I am trying to deploy an elixir (phoenix) app, and need a older version of erlang, mentioned above.

  • Create a role in chef-server. role json's attributes looks like this:
   "default_attributes": {
     "erlang": {
       "package": {
         "version": "19.3-1"
       },
       "source": {
         "version": "19.3-1"
       },
       "esl": {
         "version": "19.3-1"
       }
     }
   },
  • ran knife-ssh on this role to update all nodes with this role

Expected Result:

Instalation of the specified erlang version on node (using yum)

Actual Result:

After running knife ssh on the role of this node, there was an error in the console:

================================================================================
79.137.73.128     Error executing action `install` on resource 'yum_package[erlang]'
79.137.73.128     ================================================================================
79.137.73.128
79.137.73.128     Chef::Exceptions::Package
79.137.73.128     -------------------------
79.137.73.128     Version ["19.3-1"] of ["erlang"] not found. Did you specify both version and release? (version-release, e.g. 1.84-10.fc6)

After ssh-ing into the node and running
yum install esl-erlang-19.3
There was a package available

Installing:
 esl-erlang                                x86_64                                19.3-1

so the package is available when doing it manualy, but not when doing it via knife.

I might be specifying the version in my role.json badly, tried '19.3' and 19.3-1 but it didn't work...

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.