1. 31 Mar, 2014 27 commits
    • 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>
      830b912a
    • 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 27 commits
    • 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
      command.
      
      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>
      19fa4790
  3. 18 Feb, 2014 27 commits
    • Ilias Tsitsimpis's avatar
      ci: Don't install kamaki from wheezy repos · 6685ff8d
      Ilias Tsitsimpis authored
      Install always the lates kamaki. This is needed because we may want to
      install a kamaki that supports new features but hasn't been release yet
      (i.e. isn't stable enough). Instead we upload it to the unstable repo.
      6685ff8d
  4. 09 Jan, 2014 27 commits
  5. 08 Jan, 2014 27 commits
    • 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
  6. 17 Dec, 2013 27 commits
  7. 02 Dec, 2013 27 commits
  8. 22 Nov, 2013 27 commits
  9. 21 Nov, 2013 27 commits
  10. 14 Nov, 2013 27 commits
  11. 11 Nov, 2013 27 commits
  12. 09 Oct, 2013 27 commits
  13. 08 Oct, 2013 27 commits
  14. 03 Oct, 2013 27 commits
  15. 02 Oct, 2013 27 commits
  16. 30 Sep, 2013 27 commits
  17. 25 Sep, 2013 27 commits
  18. 24 Sep, 2013 27 commits
    • Ilias Tsitsimpis's avatar
      ci: Support wheezy installation · a855eb60
      Ilias Tsitsimpis authored
      * Add new schema (one_node_wheezy) and rename the old
      one to one_node_squeeze.
      * Add new ci config file (ci_wheezy.conf) and rename the
      old one to ci_squeeze.conf.
      a855eb60
    • Ilias Tsitsimpis's avatar
      ci: Support wheezy installation · 8152c146
      Ilias Tsitsimpis authored
      * Add new schema (one_node_wheezy) and rename the old
      one to one_node_squeeze.
      * Add new ci config file (ci_wheezy.conf) and rename the
      old one to ci_squeeze.conf.
      8152c146