Step D: Downgrade Node B - AWS Elemental Delta

This is version 2.3 of the AWS Elemental Delta documentation. This is the latest version. For prior versions, see the Previous Versions section of AWS Elemental Delta Documentation.

Step D: Downgrade Node B

The node must be in a working state prior to downgrade. If the node is in a degraded state (for example, the web interface isn't responding), the downgrade fails.

If you're not using a health checker, remove the reference to node B from the load balancer prior to downgrade. For assistance, see product documentation specific to the load balancer.

Perform these steps at the hardware unit for node B.

  1. From a Linux prompt, log in with the elemental user credentials. Once you are logged in, the initial directory is /home/elemental.

  2. Enter the following command:

    [elemental@hostname ~]$ chmod 755
  3. Enter the following command to stop the node:

    sudo service elemental_se stop
  4. If you're not downgrading from Delta version 2.3.1, skip this step. If you are downgrading from 2.3.1, delete the filter_stats RabbitMQ queue by using the following steps:

    1. From a Linux command prompt, locate the RabbitMQ username and password in the following directory: /etc/elemental/rabbitmq

    2. Navigate to the RabbitMQ web interface using the following address: http://delta.hostname:15672

    3. Log in to the RabbitMQ interface and choose the Queues tab.

    4. Choose filter_stats.

    5. Expand the Delete/purge section and choose Delete.

  5. Make sure that the node has timed out on the web interface before running the prepare for downgrade script.

    [elemental@hostname ~]$ sudo /opt/elemental_se/web/script/ -i ./elemental_production_delta_<version>

    These are the guidelines for the version to use in the script:

    • If you meet the conditions in Downgrade Special Consideration, run the script for version 2.1.3.

    • If you don't meet the conditions for special consideration, run the script for the version that you're downgrading to.

  6. Enter this command to remove the existing package cache.

    [elemental@hostname ~]$ sudo rm -r /var/cache/yum/local/
  7. Run the installer as follows:

    [elemental@hostname ~]$ sudo sh ./elemental_production_delta_<version>.run –-skip-all –xeula --start --downgrade --restore-db <path/to/database/backup>


    • version: If you meet the downgrade special conditions, the version is 2.1.3. Otherwise, use the version that you're downgrading to.

    • --skip-all: Skips the configuration prompts you followed the first time you installed. The existing configuration is unchanged.

    • -xeula: Skips the prompts to read through the EULA. You are prompted once to accept it.

    • --start: Specifies to start the services without being prompted.

    • --downgrade: Tells the installer that an earlier version is being installed.

    • --restore-db <path>: Installs the backup file that you identified earlier. Specify just the filename, in this format: elemental_production_delta_n.n.n.nnnnnn_yyyy-mm-dd_hh-mm-ss

    The installer looks for the database file you specified and checks that it is a compatible version. If the file is not found or is not compatible, the downgrade fails.

    The installer automatically stops the software, if it is running. You are prompted to accept the EULA (end user license agreement).

    The new software is installed. During installation, the database is restored. Finally, all services except elemental_se are automatically restarted.


    During downgrade, the logs display a RubyVersionMismatch error. This is expected and doesn't affect the downgrade process. For reference, the full error is as follows: /opt/elemental-ruby/lib/ruby/gems/1.9.1/gems/bundler-1.11.2/lib/bundler/definition.rb:402:in `validate_ruby!': Your Ruby version is 1.9.3, but your Gemfile specified 2.3.6 (Bundler::RubyVersionMismatch)

  8. Once installation is complete, you might be prompted to reboot:

    Installation and configuration complete! . . . NOTE: You must reboot your system to finish the installation!

    Do not reboot yet. Instead, switch to node A, as described below.


    You must not reboot node B yet because doing so would cause node B to become a Leader (along with node A), which would cause serious conflicts.

  9. If you're not prompted to reboot, you are prompted to start elemental_se:

    Would you like to start the Elemental service now? [Y]

    Do not respond to this prompt! Instead, switch to node A, as described below.


    You must not restart node B yet because doing so would cause node B to become a leader (along with node A), which would cause serious conflicts.