1. 30 May, 2014 3 commits
    • Dimitris Aragiorgis's avatar
      deploy/ci: Remove dummy password in nodes.conf · 60b0b681
      Dimitris Aragiorgis authored
      Since snf-deploy image does passwd -d root the nodes will have
      empty password.
      
      Set UsePAM no and PermitEmptyPasswords yes in sshd_config in
      vcluster image.
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
      60b0b681
    • Dimitris Aragiorgis's avatar
      deploy/ci: Add dummy node · 8b69ad56
      Dimitris Aragiorgis authored
      Remove all roles from DEFAULT section in setups.conf. This way each
      setup has only the roles/nodes that are included in the corresponding
      section. Since currently the Context() class expects to find all
      roles in each setup (db, mq, etc.) we have to introduce a dummy node
      that eventually should not be used.
      
      Set DEFAULT_NODE and DEFAULT_CLUSTER to None. One should only
      specify the desired setup (with --setup option) and the nodes, and
      clusters should be derived from it.
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
      8b69ad56
    • Dimitris Aragiorgis's avatar
      deploy/ci: Change conf files for easy setup · 9eb64f50
      Dimitris Aragiorgis authored
      Update conf files to support three basic setups:
      
       synnefo: Used by ci in order to install the whole stack in one node
      with --autoconf
      
       qa: Three node setup with one development node and two ganeti nodes
      
       vc: Four node setup to test synnefo deployment on multinode virtual
      cluster
      
      So, we now have:
      
       snf-deploy synnefo --setup synnefo --autoconf
      
       snf-deploy ganeti-qa --setup qa
      
       snf-deploy vcluster --setup vc
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
      9eb64f50
  2. 20 May, 2014 2 commits
  3. 12 May, 2014 1 commit
  4. 02 May, 2014 1 commit
  5. 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
  6. 24 Sep, 2013 4 commits
  7. 20 Sep, 2013 1 commit
  8. 26 Jul, 2013 1 commit
    • Ilias Tsitsimpis's avatar
      ci: Redesign CI scripts · 0141c833
      Ilias Tsitsimpis authored
      Spawn VM to use as builder-slave.
      Build packages inside this VM.
      Deploy Synnefo using snf-deploy.
      Run unit tests.
      Run functional tests using burnin.
      0141c833