-
-
Save renoirb/6722890 to your computer and use it in GitHub Desktop.
# | |
# How to install automatically Oracle Java 7 under Salt Stack | |
# | |
# Thanks Oracle for complicating things :( | |
# | |
# 1. Create a java/ folder in your salt master | |
# 2. Paste this file in init.sls | |
# 3. salt '*' state.sls java | |
# | |
# Source: | |
# * https://github.com/log0ymxm/salt-jvm/blob/master/init.sls | |
# * http://architects.dzone.com/articles/puppet-installing-oracle-java | |
# | |
oracle-ppa: | |
pkgrepo.managed: | |
- humanname: WebUpd8 Oracle Java PPA repository | |
- ppa: webupd8team/java | |
oracle-license-select: | |
cmd.run: | |
- unless: which java | |
- name: '/bin/echo /usr/bin/debconf shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections' | |
- require_in: | |
- pkg: oracle-java7-installer | |
- cmd: oracle-license-seen-lie | |
oracle-license-seen-lie: | |
cmd.run: | |
- name: '/bin/echo /usr/bin/debconf shared/accepted-oracle-license-v1-1 seen true | /usr/bin/debconf-set-selections' | |
- require_in: | |
- pkg: oracle-java7-installer | |
oracle-java7-installer: | |
pkg: | |
- installed | |
- require: | |
- pkgrepo: oracle-ppa |
I seem to be getting an error here:
ID: oracle-ppa
Function: pkgrepo.managed
Result: False
Comment: Failed to examine repo 'oracle-ppa': Error: 'python-apt' package not installed
Do I need to install python-apt before?
On http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html ist says:
Update October 20, 2016:
...
So, if you want to set Oracle Java 8 as default, no matter what other Java versions are installed, make sure that you install the oracle-java8-set-default package
@JJ You should have python-software-properties
installed (it includes python-apt
). From Salt docs:
On Ubuntu systems, the python-software-properties package should be installed for better support of PPA repositories.
INFO ] Completed state [git] at time 23:40:59.970228 duration_in_ms=322.06
local:
----------
ID: git-deps
Function: pkg.installed
Name: git
Result: False
Comment: Failed to get virtual package information (E:Type 'oracle-ppa' is not known on line 16 in source list /etc/apt/sources.list)
Started: 23:40:59.648168
Duration: 322.06 ms
Changes:
Summary for local
------------
Succeeded: 0
Failed: 1
------------
Total states run: 1
Total run time: 322.060 ms
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
salt-call state.highstate --retcode-passthrough --log-level=info --force-color
Stdout from the command:
local:
----------
ID: git-deps
Function: pkg.installed
Name: git
Result: False
Comment: Failed to get virtual package information (E:Type 'oracle-ppa' is not known on line 16 in source list /etc/apt/sources.list)
Started: 23:40:59.648168
Duration: 322.06 ms
Changes:
Summary for local
In my case keyserver has been unavailable so I've used - keyserver: hkp://keyserver.ubuntu.com:80 which seems to got a problem fixed.
You might want to consider using prereq
, so the debconf selects only run when pkg.installed
is triggered, e.g.
https://github.com/felixhummel/saltstates/blob/master/java/oracle.sls
Thanks for sharing!
You might also need to install debconf-utils to get the debconf state. Also I prefer to require that all data comes from pillar, no defaults:
Tested on Debian Wheezy