Synnefo: Issueshttps://code.grnet.gr/2014-01-30T16:35:57+02:00Greek Research and Technology Network's projects
Redmine Bug #5011 (Closed): Pithos backend open hashfile bughttps://code.grnet.gr/issues/50112014-01-30T16:35:57+02:00Chrysostomos Nanakoscnanakos@admin.grnet.gr
<p>"/usr/lib/python2.7/dist-packages/pithos/backends/lib/hashfiler/filemapper.py", <br />line 83, in map_retr<br /> with self._get_rear_map(maphash, 0) as rmap:<br /> File <br />"/usr/lib/python2.7/dist-packages/pithos/backends/lib/hashfiler/context_file.py", <br />line 145, in <i>enter</i><br /> fdesc = open(name, 'rb+')<br />IOError: [Errno 13] Permission denied: <br />'/srv/pithos/data/maps/*/*/*/********</p>
<p>snf-pithos-backend tries to open a hashfile in RW mode in a filesystem which has no access. The exception handling doesn't seem to check the specific error code (EACCES) leading to an unhandled and misleading error.</p> Bug #4979 (Closed): Server creation fails with invalid 'networks' inputhttps://code.grnet.gr/issues/49792014-01-24T17:27:13+02:00Christos Stavrakakiscstavr@admin.grnet.gr
<p>Code for creating a server seems to not validate the 'networks' field of the<br />request, and so fails with Type/Attribute erros.</p>
<p>Traceback (most recent call last):</p>
<pre><code>File "/usr/lib/python2.7/dist-packages/snf_django/lib/api/__init__.py", line 119, in wrapper<br /> response = func(request, *args, **kwargs)</code></pre>
<pre><code>File "/usr/lib/python2.7/dist-packages/synnefo/api/servers.py", line 401, in create_server<br /> networks=networks)</code></pre>
<pre><code>File "/usr/lib/python2.7/dist-packages/django/db/transaction.py", line 224, in inner<br /> return func(*args, **kwargs)</code></pre>
<pre><code>File "/usr/lib/python2.7/dist-packages/synnefo/logic/servers.py", line 177, in create<br /> ports = create_instance_ports(userid, networks)</code></pre>
<pre><code>File "/usr/lib/python2.7/dist-packages/synnefo/logic/servers.py", line 567, in create_instance_ports<br /> ports = create_ports_for_request(user_id, networks)</code></pre>
<pre><code>File "/usr/lib/python2.7/dist-packages/synnefo/logic/servers.py", line 702, in create_ports_for_request<br /> return [_port_for_request(user_id, network) for network in networks]</code></pre>
<pre><code>File "/usr/lib/python2.7/dist-packages/synnefo/logic/servers.py", line 706, in _port_for_request<br /> port_id = network_dict.get("port")</code></pre>
<p>AttributeError: 'int' object has no attribute 'get'</p> Bug #4966 (Closed): Lock users table within the signup view transactionhttps://code.grnet.gr/issues/49662014-01-22T15:32:50+02:00Kostas Papadimitriou
<p>During the registration process astakos checks for existing user entries which share the same email. If found those entries get deleted so that they will be replaced with the newly created user.</p>
<p>The query should lock the users table during the user creation transaction in order to prevent erroneus race conditions during simultaneous signups.</p> Bug #4941 (Closed): Save plankton properties in separate entries in the pithos backendhttps://code.grnet.gr/issues/49412014-01-16T16:52:31+02:00Sofia Papagiannaki
<p>The entry length is too limited for saving all the properties in a json string and results in the following error:<br /><pre>
DataError: (DataError) value too long for type character varying(256)
'UPDATE attributes SET value=%(value)s WHERE attributes.serial = %(serial_1)s AND attributes.domain = %(domain_1)s AND attributes.key = %(key_1)s' {'domain_1': 'plankton', 'serial_1': 1698304, 'key_1': 'plankton:properties', 'value': '{"partition_table": "msdos", "osfamily": "linux", "users": "root openfiler ofguest", "root_partition": "2", "exclude_assign_hostname": "yes", "exclude_task_assignhostname": "yes", "exclude_assignhostname": "yes", "os": "linux", "swap": "3:1028", "description": "Openfiler 2.99"}'}
</pre></p>
<p>Moreover, there should be also a migration of the existing plankton properties.</p> Bug #4795 (Closed): Exception thrown, 'file' object has no attribute 'reset' during rstimporthttps://code.grnet.gr/issues/47952013-12-20T11:45:10+02:00Vangelis Koukis
<p>During rstimport to the CMS:</p>
<pre>
File "/usr/lib/pymodules/python2.6/django/forms/forms.py", line 121, in is_valid
return self.is_bound and not bool(self.errors)
File "/usr/lib/pymodules/python2.6/django/forms/forms.py", line 112, in _get_errors
self.full_clean()
File "/usr/lib/pymodules/python2.6/django/forms/forms.py", line 267, in full_clean
self._clean_fields()
File "/usr/lib/pymodules/python2.6/django/forms/forms.py", line 287, in _clean_fields
value = getattr(self, 'clean_%s' % name)()
File "/usr/lib/python2.6/dist-packages/cloudcms/forms.py", line 99, in clean_import_file
tmpfile = self.get_tmp_file(f)
File "/usr/lib/python2.6/dist-packages/cloudcms/forms.py", line 91, in get_tmp_file
f.file.reset()
File "/usr/lib/python2.6/tempfile.py", line 376, in __getattr__
a = getattr(file, name)
AttributeError: 'file' object has no attribute 'reset'
</pre> Bug #4779 (Closed): UI: New machine Wizard: "+ create new IP" should not appear when out of IPshttps://code.grnet.gr/issues/47792013-12-18T18:06:03+02:00Vangelis Koukis
<p>The option to create a new IP should not appear during the New Machine Wizard,<br />since the UI already knows I'm out of IPs.</p> Feature #4201 (Closed): Check that IPv6 network is /64https://code.grnet.gr/issues/42012013-07-31T18:37:44+03:00Christos Stavrakakiscstavr@admin.grnet.gr
<p>Check that IPv6 network is /64, since it is required by mac2eui64.</p> Feature #4199 (Closed): ci: Read-only config filehttps://code.grnet.gr/issues/41992013-07-31T16:40:38+03:00Christos Stavrakakiscstavr@admin.grnet.gr
<p>Do not update the configuration file, because:<br />1) is tracked by the repository<br />2) The order of sections/options changes.</p>
<p>Use a different method for finding the temporary configuration file. (e.g. a build serial ?)</p> Feature #4194 (Closed): ci: Get branch from repositoryhttps://code.grnet.gr/issues/41942013-07-30T15:10:00+03:00Christos Stavrakakiscstavr@admin.grnet.gr
<p>Try to guess the branch to test from the repository. Most time the<br />branch that you want to test is the active repo branch.</p> Feature #4193 (Closed): ci: Get credentials by kamakirchttps://code.grnet.gr/issues/41932013-07-30T15:08:24+03:00Christos Stavrakakiscstavr@admin.grnet.gr
<p>Get credentials by .kamakirc, instead of defining them in the config file.<br />Also add option to specify which kamaki 'cloud' to use.</p> Feature #4192 (Closed): ci: Get flavor by namehttps://code.grnet.gr/issues/41922013-07-30T15:06:36+03:00Christos Stavrakakiscstavr@admin.grnet.gr
<p>It would be better to define flavors by name, or specs, instead of UUID. Also,<br />this option could be a list of flavors to try.<br />e.g.: flavors=C8R4096D40_archipelago, C5R2048D10_drbd</p> Bug #4041 (Closed): snf-webproject should not depend on snf-branding, snf-django-libhttps://code.grnet.gr/issues/40412013-06-19T12:51:07+03:00Constantinos Venetsanopoulos
<p>Now snf-webproject depends on snf-branding, snf-django-lib which in turn depends on python-astakosclient.<br />This should not happen.</p> Bug #4037 (Closed): Erroneous navigation when using step header links in machine create wizardhttps://code.grnet.gr/issues/40372013-06-18T15:47:48+03:00Kostas Papadimitriou
<p>Machine create wizard raises a javascript exception when user is steping back from step 4 to step 3 by clicking the 3rd step header (the error is not raised if user just clicks on the 'previous' button).</p>
<p>It seems that 3rd step header is missing the `id` attribute used to identify the step we want to navigate the user to.</p> Feature #3871 (Closed): Quotas for active CPUs and memoryhttps://code.grnet.gr/issues/38712013-05-29T15:42:19+03:00Christos Stavrakakiscstavr@admin.grnet.gr
<p>Change 'cyclades.cpu' and 'cyclades.ram' quota to refer to active/running<br />cpus and memory.</p> Feature #3870 (Closed): Implement resizing of VMshttps://code.grnet.gr/issues/38702013-05-29T15:40:38+03:00Christos Stavrakakiscstavr@admin.grnet.gr
<p>Implement 'resize' action of servers API, in order to be able to resize a server.<br />A server can only be resized to a flavor that has the same disk size and disk template.<br />Also a server can only be resized if it is not running (operstate="STOPPED").</p>