Commit 5c0f721c authored by Sebastien Gardoll's avatar Sebastien Gardoll
Browse files

fix some warnings and add shutdown instructions for swarm under linux

parent b3304b08
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 5181bd2b8280e663a350317fc93a53af
config: 4d3597b4651c71301cf359fad5392948
tags: 645f666f9bcd5a90fca523b33c5a78b7
+14 −4
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ Notes
- If you have a Linux kernel security module installed (like selinux), we assume
  that you know how to configure it for docker and swarm cluster.
- If you want to run ESGF on a cluster of hosts, the sections Docker CE
  installation and Firewall configuration are suffisants.
  installation and Firewall configuration are sufficient.

Tested versions
===============
@@ -59,7 +59,7 @@ ports have to be open (direction INPUT and OUTPUT, states NEW and ESTABLISHED):
and of course, TCP port 22 (ssh) have to be open.

We also believe that localhost interface must have full access so as to connect
to the ESGF componants.
to the ESGF components.

Examples of iptables configuration::

@@ -92,7 +92,7 @@ Virtualization infrastructure
Docker Machine is a command line tool that automate the creation of Virtual 
Machines (VMs) with an minimalist image of Linux with Docker engine installed.
Nevertheless, Docker Machine relies on a virtualization infrastructure.
Under Linux systems, you got planty of choices: KVM, Xen, VirtualBox, etc.
Under Linux systems, you got plenty of choices: KVM, Xen, VirtualBox, etc.

This `link <https://docs.docker.com/machine/drivers/>`__ lists the supported 
virtualization infrastructures by Docker Inc. Although KVM is not supported 
@@ -155,6 +155,8 @@ docker machines and the creation of the swarm cluster::
  # and setup a swarm cluster with these VMs where node0 is the swarm manager
  scripts/setup_swarm_cluster.sh -d kvm -n 2

Creating VMs can take few minutes.

Note that you can pass arguments to the Docker Machine driver with the command
line option -a. For example, if you want to set the VMs RAM size to 2048 Mo
(faster VMs ; default is 1024 Mo)::
@@ -169,6 +171,14 @@ About managing docker machine VMs::
  eval $(docker-machine env node0) # so as to issue docker commands with 
                                   # the node0 environment

As an example, these instructions completely shutdown ESGF stack and VMs::

  bash # don't mess with variable environment settings because
  eval $(docker-machine env node0) # we have switch to the node0 context
  docker stack rm esgf-stack # so as to shutdown ESGF stack because node0 is the swarm manager
  exit # optionally exit the subprocess bash
  docker-machine rm node0 # node1 nodei and so onto
  
Associate the IP address of the Swarm manager node to the hostname
you intend to use to access the ESGF services. For example if 
$ESGF_HOSTNAME=my-node.esgf.org::
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ Recommended naming rules for git:


Diagram
======
=======

Schematic representation of how Git branches are created and tagged when working on a specific release.

+2 −0
Original line number Diff line number Diff line
@@ -22,3 +22,5 @@ Table of Contents:
   versioning_guideline.rst
   git_workflow.rst
   esgf_solr.rst
   testing_guide.rst
+4 −16
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ Execution
   ESGF services will be deployed. For example, on a Swarm cluster of 3
   nodes, the following tags could be assigned::

      eval $(docker-machine env node1)
      docker node update --label-add esgf_front_node=true node1
      docker node update --label-add esgf_db_node=true node1
      docker node update --label-add esgf_idp_node=true node1
@@ -65,27 +66,14 @@ Execution
   minutes, depending on your internet connection speed, 
   since several large images need to be downloaded to the various nodes in the Swarm)::

      eval $(docker-machine env node1)
      docker stack deploy -c docker-stack.yml esgf-stack
      docker service ls

*  When all services are deployed, test the following URLs, replacing
   "my-node.esgf.org" with your value of $ESGF_HOSTNAME:

   * Docker visualizer tool: http://my-node.esgf.org:8080/
   * Solr admin interface: https://my-node.esgf.org/solr/#/
   * ESGF search API: http://my-node.esgf.org/esg-search/search
   * ESGF IdP: https://my-node.esgf.org/esgf-idp/
   * CoG home project: https://my-node.esgf.org/projects/testproject/. The first time, login with:

     * openid=https://my-node.esgf.org/esgf-idp/openid/rootAdmin and
     * password=changeit

   * TDS: https://my-node.esgf.org/thredds
 
   * ORP: https://my-node.esgf.org/esg-orp/
   * SLCS: https://my-node.esgf.org/slcs/admin/
*  When all services are deployed, execute the tests described in the :ref:`testing_guide`.

*  Clean up: remove the full ESGF stack from the Swarm::

     eval $(docker-machine env node1)
     docker stack rm esgf-stack
Loading