1. 31 Mar, 2014 3 commits
  2. 24 Mar, 2014 2 commits
  3. 19 Mar, 2014 3 commits
  4. 17 Mar, 2014 10 commits
    • Ilias Tsitsimpis's avatar
      burnin: Fix 'project_id' param in 'create_floatingip' · ff869536
      Ilias Tsitsimpis authored
      Until now, burnin was using a 'feature' version of kamaki
      where the 'create_floatingip' method had a 'project' parameter.
      This parameter was renamed to 'project_id' for uniformity with the
      other kamaki methods.
      These changes have been merged to 'develop' branch of kamaki and the API
      is not expected to be changed again. This patch changes the way burnin
      invokes 'create_floatingip' to use the 'project_id' parameter instead of
      the 'project' one.
    • Christos Stavrakakis's avatar
      cyclades: Change snf-dispatcher's default PID file · 12057ab7
      Christos Stavrakakis authored
      Rename snf-dispatcher's default PID file from 'snf_dispatcher.pid' to
    • Chris Stavrakakis's avatar
      Merge pull request #25 from iliastsi/feature-command-logger · abda6cc6
      Chris Stavrakakis authored
      All Synnefo's management commands are written as custom django-admin commands.
      This means that every management command is in fact a class that extends
      Django's BaseCommand class.
      Django's BaseCommand provides the attributes self.stdout and
      self.stderr and Django's documentation encourages the users to use these
      attributes if they wish to write to the console. Django doesn't provide an
      option to write the output to files and the user has to implement this
      explicitly when implementing the handle method.
      We would like to extend the above mechanism to allow every snf-manage
      command to log all stdout and stderr output on a unique filename under a given
      directory. The implementation should change nothing in the way that users write
      management commands (only acceptable change is that the new commands may have
      to inherit a new class and not the BaseCommand one). This means that
      existing management commands should play out of the box and also that the
      logging mechanism will globally apply to all of them.
      Commands that do not alter the state of the server (i.e. *-list and *-show
      commands) will be excluded from the logging mechanism.
    • Ilias Tsitsimpis's avatar
      Update Changelog about commands logging mechanism · 509eadb8
      Ilias Tsitsimpis authored
      Add an entry to the Changelog about the 'Logging mechanism for Synnefo
      management commands'.
      Closes #3: Log all stdout/stderr for snf-manage invocations
    • Ilias Tsitsimpis's avatar
      Log Synnefo management commands to files · acb76d93
      Ilias Tsitsimpis authored
      Create 'SynnefoOutputWrapper' which replaces Django's 'OutputWrapper'
      and logs the command and its output in a file.
      Ref #3: Log all stdout/stderr for snf-manage invocations
    • Ilias Tsitsimpis's avatar
      snf-common: Add 'LOG_DIR' setting · 4601e3fb
      Ilias Tsitsimpis authored
      'LOG_DIR' is the directory where log files are saved and is going to be
      used to determine where to store the management commands' output.
      Ref #3: Log all stdout/stderr for snf-manage invocations
    • Ilias Tsitsimpis's avatar
      Implement NewlineStreamHandler · 9ba131ce
      Ilias Tsitsimpis authored
      When StreamHandler writes a formatted log message to its stream, it adds
      a newline terminator. This behavior is inherited by FileHandler and the
      other classes which derive from it (such as the rotating file handlers).
      Starting with Python 3.2, the message terminator will be configurable.
      This has been done by adding a terminator attribute to StreamHandler,
      which when emitting an event now writes the formatted message to its
      stream first, and then writes the terminator. If you don't want newline
      termination for a handler, just set the handler instance's terminator
      attribute to the empty string.
      This class implements python's 3.2 StreamHandler.
      Ref #3: Log all stdout/stderr for snf-manage invocations
    • Ilias Tsitsimpis's avatar
      Use SynnefoCommand for django-admin commands · 276f8a76
      Ilias Tsitsimpis authored
      Instead of django's BaseCommand class, use out SynnefoCommand which
      takes care of logging the command and its output.
      Ref #3: Log all stdout/stderr for snf-manage invocations
    • Ilias Tsitsimpis's avatar
      Fix console output for management commands · 66c23906
      Ilias Tsitsimpis authored
      From Django's documentation:
        When you are using management commands and wish to provide console
        output, you should write to self.stdout and self.stderr, instead of
        printing to stdout and stderr directly.
      This patch fixes the managements commands to use the proper
      stdout/stderr objects.
      Ref #3: Log all stdout/stderr for snf-manage invocations
    • Ilias Tsitsimpis's avatar
      Logging mechanism for Synnefo management commands · 4d0684a9
      Ilias Tsitsimpis authored
      Design doc for the implementation of a logging mechanism for the
      Synnefo's management commands.
      Ref #3: Log all stdout/stderr for snf-manage invocations
  5. 14 Mar, 2014 8 commits
    • Ilias Tsitsimpis's avatar
      Add README files to every Synnefo component · 23ad28e1
      Ilias Tsitsimpis authored
      Update 'MANIFEST.in' files, and fix a bug where 'recursive-include'
      doesn't recognize directories with a trailing '/'.
    • Christos Stavrakakis's avatar
      cyclades: Unify arguments in management commands · 33b402be
      Christos Stavrakakis authored
      Unify the string listing that is used to describe the arguments that are
      accepted by snf-manage commands, and are displayed in the 'usage' of the
      commands' help message. Also, add the argument in some commands that it
      was missing.
    • Ilias Tsitsimpis's avatar
      Merge pull request #18 from cstavr/feature-dispatcher-check · 0401e6a9
      Ilias Tsitsimpis authored
      Tool for checking status of Cyclades update path.
      This patch series implements a tool for checking the status of Cyclades update path, which
      includes Ganeti, AMQP, snf-ganeti-eventd and snf-dispatcher. The tool is
      created as part of the snf-dispatcher and can be used by passing the
      '--status-check' option. Also, snf-ganeti-eventd is extended in order to send
      heartbeat messages.
    • Christos Stavrakakis's avatar
      cyclades: Tool for checking Cyclades update path · d868eb84
      Christos Stavrakakis authored
      Create a tool for checking the status of Cyclades update path, which
      includes Ganeti, AMQP, snf-ganeti-eventd and snf-dispatcher. The tool is
      created as part of the snf-dispatcher and can be used by passing the
      '--status-check' option.
      The tool sends a 'status-check' message to the running snf-dispatcher
      process (via AMQP) and then waits to get the status report from an
      exclusive queue. Respectively, the snf-dispatcher uses the Ganeti RAPI
      client to add a special tag to each Ganeti cluster (in dry-run mode),
      which will trigger snf-ganeti-eventd to send a heartbeat message to the
      AMQP broker. Dispatcher collects all these message and sends the status
      report back to the tool that triggered the status check.
      Closes #23
    • Christos Stavrakakis's avatar
      cyclades: Improve snf-dispatcher's help message · 6abdbdb2
      Christos Stavrakakis authored
      Add a description to snf-dispatcher's help message and improve the help
      message of some options.
    • Christos Stavrakakis's avatar
      gtools: Make the eventd send heartbeat messages · bcde02e1
      Christos Stavrakakis authored
      Make 'snf-ganeti-eventd' daemon to send heartbeat messages which can
      be used to check that the daemon is working correctly, i.e. that it is watching
      the Ganeti queue and that it can send messages to the AMQP broker. The
      daemon is triggered to send a heartbeat message by setting a special tag
      to the Ganeti cluster in 'dry-run' mode.
      Heartbeat messages are send with the 'eventd.heartbeat' routing key.
      Refs Issue #23
    • Christos Stavrakakis's avatar
      snf-common: Support 'no_ack' in AMQP clients · a82ae57c
      Christos Stavrakakis authored
      Enable the Synnefo AMQP clients to consume messages from the queues
      without requiring acknowledgments.
      Also, add the missing 'exclusive' argument in 'AMQPHaighaClient'.
    • Christos Stavrakakis's avatar
      snf-common: Suport 'Queue TTL' in AMQP clients · 267ba53d
      Christos Stavrakakis authored
      Extend the AMQP clients to support RabbitMQ's 'Queue TTL' extension, by
      passing the 'x-expires' argument when declaring a queue. This argument
      controls for how long a queue can be unused before it is automatically
  6. 13 Mar, 2014 4 commits
  7. 12 Mar, 2014 10 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.
    • 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.
    • Ilias Tsitsimpis's avatar
      snf-ci: Add copyright note · 71f3d114
      Ilias Tsitsimpis authored
    • 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>
    • 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
    • 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
    • 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.