Age | Commit message (Collapse) | Author |
|
|
|
Support a command line argument to the `upgrade`/`downgrade`
commands: `--no-permanent`, if this is set the release will be unpacked,
installed and be made current but not permanent, when the user
is confortable with the outcomehe can issue the same command a
second time without the `--no-permanent` option.
|
|
|
|
|
|
|
|
|
|
Instead of forcing the user to put the tarball package
with the expected name (<relname>.tar.gz)and in the
expected location (releases/<version>) symlink this
fixed file name to a tarball existing in one of three different
places (releases/, releases/<version>,
releases/<version>/<relname>.tar.gz).
Refactor the install/upgrade escript to make it more
dynamic, it now runs commands that are passed from
the start script while accepting a variable number
of arguments.
Add a `versions` command to the extended start
script that prints out the currently installed versions
and their status.
|
|
The second argument is actually the version and
not the package name.
|
|
Issue 1: If RELX_REPLACE_OS_VARS is true then existing vm.args (sys.config) file
is renamed to vm.arg.orig (sys.config.orig) and a new vm.args (sys.config) is
generated. However, if for some reason new vm.args (sys.config) is not generated
then system ends up without a valid vm.args (sys.config) file and keeps failing
thereafter.
Issue 2: Continuing from issue 1, if the system does not have sufficient
disk space or the current directory is immutable then new vm.args (sys.config)
will not be generated.
This patch tries to fix both the above issues by keeping the existing
vm.args (sys.config) untouched and creates a new vm.args (sys.config)
in /tmp directory
|
|
+Bi disables the erlang break functionality
|
|
useful if deploying erlang nodes via capistrano
when TERM is not set correctly attaching to the
node will result in weirdness
|
|
(see: http://erlang.org/pipermail/erlang-patches/2010-March/000883.html)
|
|
To allow manually loading and starting up
applications.
|
|
The first run would correctly replace the environment
variables, however it would also overwrite the original
vm.args and sys.config thus preventing any further
substitution in subsequent runs.
Dev mode runs were also broken, all runs after the
first were required to also define the
RELX_REPLACE_OS_VARS variable in order not to
overwrite the current vm.args with the original one,
this prevented simply attaching to an already running
node that was started this way.
Add tests to exercise this functionality.
|
|
When performing a relup that involves starting a new
application we need to inform release handler that the
code paths need to be updated to account for the new apps.
Otherwise the relup instruction application:start/2 will fail
since it is unable to find the .app file.
|
|
Fix for #478 Boot variable $ERTS_LIB_DIR not supplied in Windows scripts
|
|
Fix erts path discovery on Windows if the path contains spaces.
|
|
As described in http://erlang.org/doc/man/appup.html, when performing a relup
with soft purge:
If the value is soft_purge, release_handler:install_release/1
returns {error,{old_processes,Mod}}
|
|
|
|
|
|
I am submitting this on behalf of @povloid in
https://github.com/erlang/rebar3/issues/1183 who had the following to
say:
the set is not work into `@if` block, in this case the vareables args,
start_erl and description is empty. If we move this strings out of
`@if` block, the script work correctly.
|
|
Add missing -boot_var argument to Windows scripts when starting erlang.
Use different boot variables on Windows vs non-Windows.
The built-in $ROOT boot variable points to the erts directory on Windows
(dictated by erl.ini [erlang] Rootdir=) and so a boot variable $RELEASE_DIR
is made pointing to the release directory
|
|
|
|
|
|
|
|
get nodename from erlang, not hostname
|
|
|
|
|
|
The -X flag is not supported on BusyBox for example.
Using -t x should give the same behavior as -X.
|
|
|
|
|
|
|
|
|
|
Add ability to also run shell commands contained in the sys.config.
E.g.:
# In this example the node name defaults to name of the release
# and can be overriden at run-time, appended with current year
$ head -1 vm.args
-sname ${NODE_NAME:-$REL_NAME}$(date +%Y)
# If the $NAME is 'abc2015', and hostname is 'MyHost', below the 'node'
# parameter gets set to 'Abc2015@myhost'
$ grep node sys.config
{node, $(echo ${NAME^})@${HOSTNAME,,}}
|
|
This patch addresses the following issues:
* When RELX_REPLACE_OS_VARS is set, evaluation of environment vars
is done by the shell rather than awk, this allows to use more
powerful notation of environment variables in sys.config and vm.args
(e.g. `-sname abc@${HOSTNAME,,}` or `{myapp, [{user, ${USER:-unknown}}]}`
* Using shell vars rather than unnecessarily forking awk/grep/etc
|
|
|
|
bug description:
if vm.arg use '-sname xxx' option, When exec upgrade/install/unpack command, it will report "Hostname yyy is illegal" error.
|
|
|
|
|
|
Add rpc|rpcterms to nodetool usage
|
|
Regression fix on startup script improvements
|
|
Fixed a regression that occurs when using readlink
on a Mac, which crashes the startup script if the startup
script is not a link but an actual file (which is
the most common case)
|
|
|
|
Without a proper shebang many tools like lintian for debian
packages complain.
|
|
- Made the standard and extended startup scripts self-link-aware. This helps
with deployments that symlink the startup script to more standard
directories (i.e. /usr/local/bin). readlink is used, which comes
standard in all Unix-like distributions
- Made the inclusion of a custom sys.config not depend on a custom
vm.args file. This way you can use a custom sys.config without using
a custom vm.args file
|
|
'-N 4' option looks portable across all major flavors of *BSD, Linux, OSX
Adding this option prevents a strange case where 'od' can go to
100% CPU in restart scenarios
|
|
|
|
|
|
|
|
This commit removes the bashisms in `bin` and `extended_bin`.
Both of these scripts used `local` variables which are a bash
addition and aren't supported on Solaris/SmartOS /bin/sh. To keep
the local intention of the variables, they were renamed from $var to
$l_var.
In addition, `extended_bin` used `kill -SIGNAL $PID` which is also
not in Solaris `kill`.
|