1. 31 Mar, 2014 3 commits
    • Dimitris Aragiorgis's avatar
      deploy: Change gunicorn file only if Archip is installed · c17df384
      Dimitris Aragiorgis authored
      Currently cyclades and pithos require a specific gunicorn setup
      with GeventArchipelagoWorker. Plus they require a config
      file that is included in snf-pithos-app; pithos.conf.py
      This file must be installed both in pithos and cyclades. Therefore
      we have it as a template and install it under /etc/archipelago.
      Add archipelago.conf template in order to customize SEGMENT_SIZE.
      For the above responsible is Archip component.
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
    • Dimitris Aragiorgis's avatar
      deploy: Install python-svipc explicitly · 830b912a
      Dimitris Aragiorgis authored
      ..since adding it to setup.py results to:
      pkg_resources.DistributionNotFound: svipc
      Note that `pip search svipc` does not return any python module.
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
    • Dimitris Aragiorgis's avatar
      deploy: Add Archipelago support · 5d95eea0
      Dimitris Aragiorgis authored
      Extend snf-deploy to support installation and configuration of
      Archipelago related packages are found in apt.dev unstable an in
      ceph's repo, which are added to the source.list.
      A new nfs mount point is created /srv/archip and two new components,
      Archip and ArchipGaneti are added to be included in pithos, cyclades,
      ganeti and master roles.
  2. 14 Mar, 2014 1 commit
  3. 12 Mar, 2014 4 commits
    • Dimitris Aragiorgis's avatar
      deploy: Remove old fabfile · 6f9c1490
      Dimitris Aragiorgis authored
      ..and replace it with the `fabfile2.py`.
      Update Copyright dates.
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
    • Dimitris Aragiorgis's avatar
      deploy/ci: Small refactor regarding ssh/ddns keys · f1efbb09
      Dimitris Aragiorgis authored
      In case `keygen` founds the keys it does nothing. If `--force` is
      passed then it re-creates the keys.
      Currently ci installs the deploy package during `build` command.
      Move keygen action from ci's `deploy_synnefo` phase to the
      `build_synnefo` phase.
      Do not use the `--force` flag so that deploy can be re-entrant on
      any level.
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
    • Dimitris Aragiorgis's avatar
      deploy: Add state dir and use it for status · 19fa4790
      Dimitris Aragiorgis authored
      Introduce new setting in [dirs] section of deploy.conf: `state`.
      Override this setting with `--state-dir` option (useful when running
      deploy from source).
      This dir is currently used to store snf-deploy's `snf_deploy_status`
      file, that shows which components on which nodes have been
      installed. Do not update this file if `--dry-run` is used.
      Additionally introduce `--templates-dir` option that overrides
      `template` setting in [dirs] section of `deploy.conf`.
      Note that override options do not modify the configuration files.
      Changes are performed in the execution context of each snf-deploy
      To run snf-deploy from source use:
      $ python setup.py develop
      $ snf-deploy keygen -c conf -t files -s /tmp
      $ snf-deploy all --autoconf -c conf -t files -s /tmp
      Add the above setting to snf-ci's schema files.
      Update Copyright dates.
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
    • Dimitris Aragiorgis's avatar
      deploy: Create the ddns and .ssh dirs · e329c2be
      Dimitris Aragiorgis authored
      These dirs are needed to store the ddns and .ssh files created by
      snf-deploy keygen. All these files should reside in the template dir
      since are going to be moved to target nodes.
      Add those dirs in .gitignore since we don't want to track any temp
      files created if we run snf-deploy from source.
      Update Copyright dates.
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
  4. 07 Mar, 2014 1 commit
  5. 28 Feb, 2014 2 commits
  6. 13 Feb, 2014 3 commits
  7. 03 Feb, 2014 1 commit
  8. 29 Jan, 2014 5 commits
  9. 28 Jan, 2014 1 commit
  10. 27 Jan, 2014 2 commits
  11. 21 Jan, 2014 1 commit
  12. 20 Jan, 2014 1 commit
  13. 16 Jan, 2014 1 commit
  14. 09 Jan, 2014 3 commits
  15. 08 Jan, 2014 4 commits
    • Dimitris Aragiorgis's avatar
      More pep8 fixes related to snf-deploy · f8c8467d
      Dimitris Aragiorgis authored
      Those fixes concern errors that are introduced in latest
      pep8 version (and not the wheezy's one).
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
    • Dimitris Aragiorgis's avatar
    • Dimitris Aragiorgis's avatar
      Huuuuge snf-deploy refactor · df284363
      Dimitris Aragiorgis authored
      Introduce the concept of Roles and Components.
      Roles are ns, mq, db, nfs, astakos, cyclades, pithos, cms, stats,
      ganeti, master, and client.
      Each role consists of various SynnefoComponents which  should define:
      * commands to check installation prerequisites (check)
      * packages to install (REQUIRED_PACKAGES)
      * commands to prepare installation (prepare)
      * configuration templates (configure)
      * reload commands (restart)
      * initialization commands (initialize)
      * test commands (test)
      SynnefoComponents are unaware of fabric environment. They
      get initialized with a Host object and a Env object.
      Host includes all the necessary info for the installation node
      (ip, hostname, alias, fqdn..) and Env includes all the configuration info
      (created after parsing config files)
      After defining components, fabfile should just do the following:
      def setup_somerole_role():
      In case you want to run a component's specific method just run
      RunComponentMethod(SomeComponent, "method_name", *args, **kwargs)
      During a role setup you might have to retrieve info from other
      components already installed (user token, backend id, etc.) Use
      'execute' fabric method and fill env object with required info.
      Make deployment re-entrant.
      Check if specific component is already installed and if yes then skip it.
      Currently this is done on node/component level. The component's
      status on a target node is either ok or nothing.
      Introduce conflicting components.
      Two components might not be able/or should not coexist in the same
      node, e.g. NFS and Mount. These conflicts are defined in CONFLICTS
      dict in roles.py.
      Sync ci and deploy conf files.
      ci: Change node's password in nodes.conf
      Always enable CSRF. Install CMS only if it resides on different
      node than pithos, cyclades and astakos.
      Add copyright headers.
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
    • Dimitris Aragiorgis's avatar
  16. 18 Dec, 2013 1 commit
  17. 17 Dec, 2013 2 commits
  18. 10 Dec, 2013 1 commit
  19. 09 Dec, 2013 1 commit
  20. 04 Dec, 2013 2 commits