1. 31 Mar, 2014 40 commits
  2. 12 Mar, 2014 40 commits
    • Ilias Tsitsimpis's avatar
      snf-ci: Test a pull request · a69e3638
      Ilias Tsitsimpis authored
      Add option '--pull-request' to snf-ci. This option gets a Github
      pull-request url (e.g. 'https://github.com/grnet/synnefo/pull/id') and
      runs the testsuite in a sophisticated way.
      
      Sophisticated means that it will not just check the remote branch from
      which the pull request originated. Instead it will checkout the branch
      for which the pull request is indented (e.g. grnet:develop) and apply
      the pull request over it. This way it checks the pull request against
      the branch this pull request targets.
      a69e3638
    • Ilias Tsitsimpis's avatar
      snf-ci: Don't get the schema files from local repo · 9543eafc
      Ilias Tsitsimpis authored
      snf-ci used to find the schema files in the local repo and upload them
      to the testing server. This is wrong since one can choose to test a
      different branch that the one he has currently checked out, so snf-ci
      will use the wrong schema files.
      
      This patch fixes the above problem by instructing snf-ci to use the
      schema files it finds in the repo cloned inside the testing server.
      9543eafc
    • Ilias Tsitsimpis's avatar
      snf-ci: Add copyright note · 71f3d114
      Ilias Tsitsimpis authored
      71f3d114
    • 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>
      f1efbb09
    • 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
    • Ilias Tsitsimpis's avatar
      snf-ci: Use Synnefo's API to determine the ssh port · 9583e0bc
      Ilias Tsitsimpis authored
      The API provides port translation for every server. Use this to
      determine the ssh port of 'demo.synnefo.org' and replace the hard
      coded values in the code.
      
      Closes #15
      9583e0bc
    • Alex Pyrgiotis's avatar
      ci: Add uninstall option · 7516c35e
      Alex Pyrgiotis authored
      The uninstall option uses the "--uninstall" switch of `python setup.py
      develop`. The behavior of the "--uninstall" switch can be found in the
      setuptools docs [1].
      
      [1] https://pythonhosted.org/setuptools/setuptools.html#develop
      7516c35e
    • Alex Pyrgiotis's avatar
      ci: Add ssh port option · ea312629
      Alex Pyrgiotis authored
      Add an option to connect to a specific ssh port of the created VM.
      It is mainly useful when running ci from a VM in demo.synnefo.org. In
      this case, we don't want to deduct the ssh port from the returned
      server IP since the demo's DNAT applies only to connections out of the
      demo's private network.
      ea312629
  3. 11 Mar, 2014 40 commits
  4. 21 Feb, 2014 40 commits
  5. 18 Feb, 2014 40 commits
  6. 13 Feb, 2014 40 commits
  7. 11 Feb, 2014 40 commits
    • Ilias Tsitsimpis's avatar
      snf-ci: Fix the branch name for pithos webclient · dcd21004
      Ilias Tsitsimpis authored
      When cloning the pithos webclient, snf-ci tries to checkout a branch
      with the same name as the synnefo one (if such branch exists). To do so
      it gets the list of all branches using the 'git branch' command. But
      'git branch' uses the pager and so the command's output is filled with
      garbage. This patch fixes that by telling git to not use the pager.
      dcd21004
  8. 07 Feb, 2014 40 commits
    • Ilias Tsitsimpis's avatar
      snf-ci: Fix the branch name for pithos webclient · e39a8ba2
      Ilias Tsitsimpis authored
      When cloning the pithos webclient, snf-ci tries to checkout a branch
      with the same name as the synnefo one (if such branch exists). To do so
      it gets the list of all branches using the 'git branch' command. But
      'git branch' uses the pager and so the command's output is filled with
      garbage. This patch fixes that by telling git to not use the pager.
      e39a8ba2
    • Ilias Tsitsimpis's avatar
      snf-ci: Search all public networks · 3bfa6241
      Ilias Tsitsimpis authored
      When creating a new floating IP try all public networks
      until we find one that is not full.
      3bfa6241
  9. 09 Jan, 2014 40 commits
  10. 08 Jan, 2014 40 commits
    • Ilias Tsitsimpis's avatar
      snf-ci: Alter AstakosClient to CachedAstakosClient · a7e20ed5
      Ilias Tsitsimpis authored
      Kamaki changed its API and now AstakosClient has been renamed to
      CachedAstakosClient whereas the AstakosClient class points to the
      astakosclient package.
      a7e20ed5
    • 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
  11. 23 Dec, 2013 40 commits
  12. 17 Dec, 2013 40 commits
  13. 16 Dec, 2013 40 commits
  14. 09 Dec, 2013 40 commits
  15. 04 Dec, 2013 40 commits
  16. 02 Dec, 2013 40 commits