1. 29 Oct, 2013 1 commit
  2. 24 Oct, 2013 2 commits
  3. 18 Oct, 2013 1 commit
  4. 14 Oct, 2013 3 commits
  5. 13 Oct, 2013 1 commit
  6. 11 Oct, 2013 1 commit
    • Christos Stavrakakis's avatar
      cyclades: Optimize DB queries of /servers API · 9ae370e6
      Christos Stavrakakis authored
      Use 'prefetch_related' attribute of Django queryset to prefetch the
      NetworkInterface and IPaddress objects that are related with a
      VirtualMachine object. Also, modify functions that operate on server
      NICs and IPs, to to use only the prefetched objects, which means that
      they can perform further filtering or ordering on objects because this
      is considered a new DB query and so will not get the cached objects.
      
      Also, return empty 'fqdn' and 'port_forwarding' attributes if the
      server has no public IP address.
      9ae370e6
  7. 10 Oct, 2013 1 commit
    • Christos Stavrakakis's avatar
      cyclades: Make logic tests pass · 2bd35f31
      Christos Stavrakakis authored
      Refactor Cyclades code so that it follows the new models for Networks,
      Subnets and IPAddresses. This refactor is not complete. Instead is the
      necessary refactor for making tests for server API calls succeed.
      2bd35f31
  8. 09 Oct, 2013 12 commits
  9. 07 Oct, 2013 3 commits
    • Christos Stavrakakis's avatar
      182a1fd2
    • Christos Stavrakakis's avatar
      cyclades: Refactor reconciliation of pools · 33fe9eb8
      Christos Stavrakakis authored
      Move reconciliation of IP pools from 'snf-manage reconcile-networks'
      to 'snf-manage reconcile-pools'. Also change the way reconciliation
      works: Instead of reconciling the IP pools in DB with the IP pools in
      Ganeti, the new reconciliation just checks that:
      * there is no IPv4 address that is used by more than one NICs
      * the only reserved values in the pools are the ones that are currently
        used by NICs
      The reason why reconciliation of pools with Ganeti has been removed is
      that there are too many race conditions, and that it may result in
      strange incosistencies. As far as external reservations is concerned,
      the new reconciliation mechanism just checks that each IP that is
      reserved in a Ganeti backend is also reserved in the Cyclades DB.
      33fe9eb8
    • Christos Stavrakakis's avatar
      cyclades: Make (network, ipv4) unique for each NIC · b7dae491
      Christos Stavrakakis authored
      Add a unique constraint to NetworkInterface model. This constraint
      asserts that the same IPv4 address from the same network will no be
      assigned to more than one NICs.
      b7dae491
  10. 02 Oct, 2013 3 commits
  11. 01 Oct, 2013 1 commit
  12. 20 Sep, 2013 1 commit
    • Christos Stavrakakis's avatar
      cyclades: Handle errors during vm creation · c99c44cb
      Christos Stavrakakis authored
      Commit #f2080d1 mocked an OP_INSTANCE_REMOVE when enqueuing an
      OP_INSTANCE_CREATE job to Ganeti failed. However, this may result in
      releasing IPs that may get reserved in Ganeti, because we can never
      really know if the job has reached Ganeti or not (e.g.  timeout).  For
      this reason, we should *never* delete the VM. Instead we mark the VM as
      being in error state.  The user must explicitly delete the server.  This
      has the downside, that we return 202 with the resulting VM being in
      ERROR state. However, this is the only way to be really secure.
      c99c44cb
  13. 10 Sep, 2013 1 commit
  14. 06 Sep, 2013 1 commit
    • Christos Stavrakakis's avatar
      cyclades: Fix bug in snf-dispatcher logic · a399119b
      Christos Stavrakakis authored
      This commit reverts commits #07602322 and #30514662 which introduced a
      bug in dispatcher's logic. These commit fixed the issue that, in a case
      the Cyclades DB is unsynced with Ganeti, a resource that does not exist
      in the Ganeti backend, it  will not be deleted from DB in case the
      remove job fails.
      
      This commits fixes this issue, by quering Ganeti each time a failed
      OP_INSTANCE_REMOVE or OP_NETWORK_REMOVE is processed.
      a399119b
  15. 07 Aug, 2013 1 commit
  16. 25 Jul, 2013 1 commit
  17. 24 Jul, 2013 1 commit
  18. 17 Jul, 2013 2 commits
    • Christos Stavrakakis's avatar
      cyclades: Fix exception message · f58b1628
      Christos Stavrakakis authored
      f58b1628
    • Christos Stavrakakis's avatar
      cyclades: Support IPv6 only networks · a0ad2412
      Christos Stavrakakis authored
      Make Cyclades support IPv6 only networks. Such networks will have
      the 'subnet' attribute set to None, in the same way that IPv4 only
      networks have the 'subnet6' attribute set to None.
      
      Because currently Ganeti does not support IPv6 only networks, we create the
      corresponding Ganeti network with a dummy IPv4 subnet(10.0.0.0/24) that will be
      never used, since Cyclades will connect instances to IPv6 networks with
      'address' attribute set to None.
      a0ad2412
  19. 10 Jul, 2013 1 commit
  20. 02 Jul, 2013 2 commits