- 17 Dec, 2013 1 commit
-
-
Dionysis Grigoropoulos authored
* Add a function logic/utils.py to check the length of a string and raise an API fault with the corresponding message. * Check the length of the name of servers/ports/networks/subnets
-
- 10 Dec, 2013 2 commits
-
-
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.
-
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.
-
- 09 Dec, 2013 1 commit
-
-
Christos Stavrakakis authored
-
- 08 Dec, 2013 1 commit
-
-
Christos Stavrakakis authored
-
- 02 Dec, 2013 1 commit
-
-
Stratos Psomadakis authored
-
- 29 Nov, 2013 1 commit
-
-
Giorgos Korfiatis authored
Also add 2013 in package COPYRIGHT files.
-
- 26 Nov, 2013 3 commits
-
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
Improve log and exception messages when failing to connect new server to default and forced server networks.
-
Christos Stavrakakis authored
Fix image ID for both 'vlmc' and 'archipelago' ext providers.
-
- 15 Nov, 2013 1 commit
-
-
Giorgos Korfiatis authored
Commission to be issued depends on extra parameters for some actions, e.g., on the flavor when resizing a vm.
-
- 14 Nov, 2013 1 commit
-
-
Christos Stavrakakis authored
Move check about deleting a port from a public network. This check is only enforced in the API, but is allowed in logic layer, e.g. snf-manage commands.
-
- 13 Nov, 2013 2 commits
-
-
Christos Stavrakakis authored
Check drained flag only if network actions is not destroy. When network is being destroyed the network is automatically marked as drained to exclude it from IP allocations.
-
Christos Stavrakakis authored
-
- 08 Nov, 2013 1 commit
-
-
Christos Stavrakakis authored
* Export 'SNF:DRAINED' status for drained networks. * Do not allow creation of new ports in drained networks. * Do not allow allocation of new IPs in drained networks.
-
- 06 Nov, 2013 2 commits
-
-
Christos Stavrakakis authored
-
Christos Stavrakakis authored
Do not allow any action, other than 'DESTROY' in servers that are in 'ERROR' state. If the server is in 'ERROR' state then the corresponding Ganeti instance may not exist, so all actions will fail.
-
- 05 Nov, 2013 1 commit
-
-
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.
-
- 04 Nov, 2013 3 commits
-
-
Christos Stavrakakis authored
Move code relative with allocating ips and floating IPs to 'logic.ips' module.
-
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>"}]
-
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'.
-
- 02 Nov, 2013 3 commits
-
-
Christos Stavrakakis authored
Look up of ports should check the port userid and not the network userid.
-
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.
-
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.
-
- 01 Nov, 2013 1 commit
-
-
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.
-
- 31 Oct, 2013 1 commit
-
-
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.
-
- 30 Oct, 2013 2 commits
-
-
Christos Stavrakakis authored
Merge code for creating ports that was duplicated between 'logic.servers' and 'logic.ports' modules.
-
Christos Stavrakakis authored
Neutron API defines the 'BUILD' status. This commit renames BUILDING state of NIC to BUILD.
-
- 29 Oct, 2013 1 commit
-
-
Christos Stavrakakis authored
-
- 25 Oct, 2013 1 commit
-
-
Christos Stavrakakis authored
-
- 24 Oct, 2013 1 commit
-
-
Marios Kogias authored
snf-manage floating-ip-attach <address> --machine <server_id/router_id>
-
- 14 Oct, 2013 1 commit
-
-
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.
-
- 10 Oct, 2013 1 commit
-
-
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.
-
- 09 Oct, 2013 5 commits
-
-
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.
-
Christos Stavrakakis authored
This commit just replaces all references to FloatingIP objects with references to IPAddress object, in order to be able to just load the code. But the code is left unchanged, so all tests will fail.
-
Christos Stavrakakis authored
Use NICs UUID instead of index to generate firewall tags. Make the 'set_firewall_profile' action to take the NICs ID as argument. Also, update the firewall settings.
-
Christos Stavrakakis authored
Extend NetworkInterface model with the 'ip_type' attribute to show whether the IP is a floating or fixed. Signed-off-by:
Christos Stavrakakis <cstavr@grnet.gr>
-
Christos Stavrakakis authored
Since Ganeti 2.8, it is supported to refer to devices (NICs and Disks) not only by their index but also by their name or UUID. This commit updates Synnefo to refer to devices by their name. Synnefo will set the name of the devices which will be a UUID. We do not use Ganeti's UUIDs because the UUID can not be known, until the NIC is created in the VM. Modify backend methods for connecting and removing a NIC from a VM, to not refer to NICs by index, but use the NICs backend_uuid. Also, set the name of the NIC to the backend_uuid, when creating a NIC. API relevant methods, will create a NIC object in BUILDING state, instead of creating the NIC when the message arrives from the backend. Modify NetworkInterface model: * remove 'dirty' attribute since it is no longer needed * make index null, since when the NIC is in building state, the index can not be known. * add property for getting the UUID of the NIC in the Ganeti backend. Fix relevant tests.
-
- 07 Oct, 2013 1 commit
-
-
Christos Stavrakakis authored
Created function for renaming a server.
-
- 27 Sep, 2013 1 commit
-
-
Giorgos Korfiatis authored
The server_command decorator commits the just created object and retrieves it back from the database. Return the latter, because the former is stale in memory.
-