1. 13 Feb, 2014 1 commit
  2. 24 Jan, 2014 1 commit
  3. 23 Jan, 2014 1 commit
  4. 13 Jan, 2014 1 commit
  5. 10 Jan, 2014 1 commit
  6. 18 Dec, 2013 1 commit
  7. 17 Dec, 2013 1 commit
  8. 10 Dec, 2013 2 commits
    • Christos Stavrakakis's avatar
      cyclades: Add setting for Ganeti clone providers · af7fe40b
      Christos Stavrakakis authored
      Add new 'GANETI_CLONE_PROVIDERS' setting to containg the list of
      ExtStorage providers that support cloning. For these providers the
      hashmap of the image is passed as an ExtStorage parameter('origin').
      Also, since the disk is already filled with data, snf-image performs
      only customization and no data copying.
      af7fe40b
    • Christos Stavrakakis's avatar
      cyclades: Setting for max NICs per Ganeti instance · 38730188
      Christos Stavrakakis authored
      Add new 'GANETI_MAX_NICS_PER_INSTANCE' setting which represents the
      maximum number of NICs that is allowed for each Ganeti instance. The
      value of this setting must be less than 'max:nic-count` option of
      Ganeti's ipolicy.
      38730188
  9. 09 Dec, 2013 1 commit
  10. 08 Dec, 2013 1 commit
  11. 02 Dec, 2013 1 commit
  12. 29 Nov, 2013 1 commit
  13. 26 Nov, 2013 3 commits
  14. 15 Nov, 2013 1 commit
  15. 14 Nov, 2013 1 commit
  16. 13 Nov, 2013 2 commits
  17. 08 Nov, 2013 1 commit
  18. 06 Nov, 2013 2 commits
  19. 05 Nov, 2013 1 commit
    • Christos Stavrakakis's avatar
      cyclades: Fix default/forced server networking · 056eee6c
      Christos Stavrakakis authored
      Fix the default behaviour for networking of servers that are being
      created. There are two settings controlling this behaviour:
      
      * CYCLADES_DEFAULT_SERVER_NETWORKS: This setting contains list of
        networks to connect a newly created server to, if the user has not
        specified them explicitly in the POST /server API call. Each member of
        the list may be a network UUID, a tuple of network UUIDs,
        "SNF:ANY_PUBLIC_IPV4" [any public network with an IPv4 subnet
        defined], "SNF:ANY_PUBLIC_IPV6 [any public network with only an IPV6 subnet
        defined],  or "SNF:ANY_PUBLIC" [any public network].
      
        Access control and quota policy are enforced, just as if the user had
        specified the value of CYCLADES_DEFAULT_SERVER_NETWORKS in the content
        of the POST /call, after processing of "SNF:*" directives.
      
        Default value: ["SNF:ANY_PUBLIC"]
      
      * CYCLADES_FORCED_SERVER_NETWORKS: This setting contains a list of
        networks which every new server will be forced to connect to,
        regardless of the contents of the POST /servers call, or the value of
        CYCLADES_DEFAULT_SERVER_NETWORKS.  Its format is identical to that of
        CYCLADES_DEFAULT_SERVER_NETWORKS.
      
       No access control or quota policy are enforced.  The server will get
       all IPv4/IPv6 addresses needed to connect to the networks specified in
       CYCLADES_FORCED_SERVER_NETWORKS, regardless of the state of the
       floating IP pool of the user, and without allocating any floating IPs.
      
       Default value: ["SNF:ANY_PUBLIC_IPV6"]
      
      Also this commit changes how API handles requests that specify a public
      network without specifying a floating IP address: If the request does
      not contain the 'fixed_ip' attribute, the server will try to
      automatically use one of the free floating IP addresses of the user
      that are allocated from the specified network.
      056eee6c
  20. 04 Nov, 2013 3 commits
    • Christos Stavrakakis's avatar
      cyclades: Refactor code · a8819ad5
      Christos Stavrakakis authored
      Move code relative with allocating ips and floating IPs to 'logic.ips'
      module.
      a8819ad5
    • Christos Stavrakakis's avatar
      cyclades: Create server in public net with FIP · 227ccc21
      Christos Stavrakakis authored
      Remove 'floating_ips' extension attribute to POST /servers API call.
      Instead use the 'fixed_ip' attribute of 'networks' attribute to specify
      the IPv4 address of a floating IP. So in order to create a server
      connected to a private network and a public network, the 'networks'
      attribute will be:
      [{"uuid": "<private-network-uuid>"},
       {"uuid": "<floating-ip-network-uuid>",
        "fixed_ip": "<floating-ip-address>"}]
      227ccc21
    • Christos Stavrakakis's avatar
      cyclades: Forbid new ports no deleting network · 395f0023
      Christos Stavrakakis authored
      Do not allow creation of new ports and reservation of floating IPs on
      network that are being deleted. Currently the state of the network
      changes only when the network gets deleted from all backends. So we
      check if a network is being deleted by checking if the action of the
      network is 'DESTROY'.
      395f0023
  21. 02 Nov, 2013 3 commits
    • Christos Stavrakakis's avatar
      cyclades: Fix permissions when looking up ports · 136532c7
      Christos Stavrakakis authored
      Look up of ports should check the port userid and not the network
      userid.
      136532c7
    • Christos Stavrakakis's avatar
      cyclades: Create server with existing ports · 8c29b065
      Christos Stavrakakis authored
      Extend POST /servers API call to support creation of servers that will
      be using existing ports. Networking of the instance is defined via the
      'networks' attribute which can contain either network UUIDs or port
      UUIDs. In case of network UUIDs, the user can also request for a
      specific IPv4 address. For example:
      
      {"network":  [{"uuid": 41, "fixed_ip": "192.168.2.0"}, {"port": 42}]}
      
      This patch also changes the 'floating_ips' attribute to contain not
      IPv4 addresses of floating IPs, but the UUIDs of the floating IPs that
      the user want to connect to the instance.
      8c29b065
    • Christos Stavrakakis's avatar
      cyclades: Fix double double creation of IP log · 26cc9fd3
      Christos Stavrakakis authored
      The port creation command called 'associate_port_with_machine' function
      in order to associate the port with the machine and create an
      IPAddressLog entry. However, this is already done by the connect
      function which sends the job in the Ganeti backend. This resulted in
      duplicate entries in the IP accounting mechanism.
      26cc9fd3
  22. 01 Nov, 2013 1 commit
    • Christos Stavrakakis's avatar
      cyclades: Create ports without 'device_id' · 4b649f24
      Christos Stavrakakis authored
      Allow creation of ports that are not connected to any instance. Such
      ports will be in 'DOWN' state. To allow this, 'machine' attribute of
      NetworkInterface model has been made to allow null values. Finally, the
      'logic.ports' module has been remove, and the corresponding code has
      been merged into 'logic.servers' module.
      4b649f24
  23. 31 Oct, 2013 1 commit
    • Christos Stavrakakis's avatar
      cyclades: Add accounting for IP Addresses · c7834da6
      Christos Stavrakakis authored
      Create IPAddressLog DB table to hold information about allocation of IP
      addresses to virtual servers. The information that is currently saved
      contains the IP address, the ID of the virtual server, the ID of the
      virtual network along with the datetime that the address has been
      allocated and released from the server.
      
      An entry in this table is created every time a NetworkInterface card
      that has an associated IP address is created in DB. The entry is updated
      with the 'released_at' timestamp when the NIC is destroyed in Ganeti.
      Currently, only IP addresses from public networks (network.public=True)
      are stored in this table.
      
      This commit also includes a DB data migration for all already allocated
      IP addresses. However, the 'allocated_at' timestamp of this entries will
      not be correct.
      c7834da6
  24. 30 Oct, 2013 2 commits
  25. 29 Oct, 2013 1 commit
  26. 25 Oct, 2013 1 commit
  27. 24 Oct, 2013 1 commit
  28. 14 Oct, 2013 1 commit
    • Christos Stavrakakis's avatar
      cyclades: Refactor code for allocating IPs · 1fcb59b8
      Christos Stavrakakis authored
      Refactor code that was used for allocating IP addresses and creating
      NetworkInterfaces. The new code is more suitable to the new DB schema
      where each network may have many IPv4 subnets and each subnet may
      have many IP pools. Also, the new functions are using prefetch related
      to minimize the needed DB queries.
      1fcb59b8
  29. 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
  30. 09 Oct, 2013 1 commit
    • Christos Stavrakakis's avatar
      cyclades: Make API server tests pass · ea15eddf
      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.
      ea15eddf