1. 31 Mar, 2014 2 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>
      c17df384
    • Dimitris Aragiorgis's avatar
      deploy: Add Archipelago support · 5d95eea0
      Dimitris Aragiorgis authored
      Extend snf-deploy to support installation and configuration of
      Archipelago.
      
      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.
      5d95eea0
  2. 12 Mar, 2014 1 commit
    • 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>
      e329c2be
  3. 29 Jan, 2014 4 commits
  4. 28 Jan, 2014 1 commit
  5. 27 Jan, 2014 1 commit
  6. 20 Jan, 2014 1 commit
  7. 09 Jan, 2014 1 commit
  8. 08 Jan, 2014 1 commit
    • 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:
      
      @roles("somerole")
      def setup_somerole_role():
        SetupSynnefoRole("SomeRole")
      
      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>
      df284363
  9. 18 Dec, 2013 1 commit
  10. 04 Dec, 2013 1 commit
  11. 03 Dec, 2013 1 commit
  12. 02 Dec, 2013 2 commits
  13. 22 Nov, 2013 1 commit
  14. 21 Nov, 2013 1 commit
  15. 11 Nov, 2013 1 commit
  16. 29 Oct, 2013 2 commits
  17. 09 Oct, 2013 1 commit
  18. 08 Oct, 2013 1 commit
  19. 03 Oct, 2013 2 commits
  20. 30 Sep, 2013 1 commit
  21. 25 Sep, 2013 2 commits
  22. 24 Sep, 2013 11 commits