- Nov 25, 2010
-
-
Michael Hanselmann authored
Don't ask … all I say is distcheck. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 24, 2010
-
-
Michael Hanselmann authored
Only versions of the format “x.y.z” and “x.y.z~(rc|beta)N” (for N>0) are allowed. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Currently, the coverage reports include the unittests themselves, and this skewes unfairly the reports, as the coverage for the tests is very high (since they all run). To fix this, we export the ganeti temp dir from run-in-temp-dir, and we use that to exclude the tests directory. The patch also fixes a but related to multiple directories to be omitted (--omit a --omit b is wrong, it needs to be --omit a,b). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Nov 19, 2010
-
-
Iustin Pop authored
This imports the 2.1.8 NEWS entry and adds the 2.2.2 one, then updates the configure.ac version. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Nov 17, 2010
-
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Since the contents of the dict is validated via the ForceDictType, we can simply require that it is a dict here. The previous check was wrong, as it was copied from the HV checks (which also doesn't verify the leaf dict type). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Nov 09, 2010
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
A new script, autotools/check-tar, is used to check the resulting .tar.gz file for unwanted contents like wrong file owners or permissions. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 27, 2010
-
-
Michael Hanselmann authored
This should avoid cases like commit f64de30f where the release date was forgotten from NEWS. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 26, 2010
-
-
Michael Hanselmann authored
By default all names are checked (LUCreateInstance, name_check). In some cases it can be useful to disable this check, but doing so was not allowed for remote imports. One should be aware, however, that using this feature can lead to rename script failures when importing a remote instance without the proper name, e.g.: “Failed to run rename script for inst1 on node node3.example.com: OS rename script failed (exited with exit code 1), last lines in the log file:\nCannot rename from inst2.example.com to inst1:\nInstance has a different hostname (inst2)” Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 25, 2010
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 22, 2010
-
-
Iustin Pop authored
A simple typo… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Oct 19, 2010
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 15, 2010
-
-
Apollon Oikonomopoulos authored
This patch disables the SSL session ID cache for all cURL operations. This is needed because http.HttpBase's PyOpenSSL implementation does not currently set a context using SSL_set_session_id_context(3SSL), cURL tries to re-use the session ID and, according to SSL_set_session_id_context(3SSL): If the session id context is not set on an SSL/TLS server and client certificates are used, stored sessions will not be reused but a fatal error will be flagged and the handshake will fail. Ideally, session caching should be either controlled, or disabled in HttpBase, however PyOpenSSL does not seem to implement SSL_CTX_set_session_cache_mode nor SSL_CTX_set_session_id_context which are used for these purposes (it seems that only M2Crypto's SSL module supports these). Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
The way we currently call pylint, the exact order it inspect modules in lib/http/ depends on the filesystem order. This is not good, and if lib/http/server.py is loaded before lib/http/__init__.py, it will throw a "R0921:763:HttpMessageReader: Abstract class not referenced" (as that class is used in server.py). For the short-term fix, we just add server.py after "ganeti", so that it gets parsed (again?) and pylint sees the usage of the class. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 14, 2010
-
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
* stable-2.2: Require aclocal 1.11.1 or above for devel/release Revert "Require aclocal 1.11.1 or above for autogen.sh" Set list of trusted SSL CAs for client to verify Require aclocal 1.11.1 or above for autogen.sh Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 13, 2010
-
-
Guido Trotter authored
1.11.1 is the version in squeeze and lucid, and we know it works. We also know that 1.10.1 in hardy and lenny doesn't, nor do 1.10 in etch and 1.9.6 in dapper. We haven't tested any other version. With older versions python.m4 is buggy, and results in the package being built not working on python 2.6 (which uses dist-packages rather than site-packages as a module directory). Version comparison is done component-by-component, over a bash array. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
The comparison is incorrect, and the check also breaks daily work on autobuilders and older distros. This reverts commit dbc4dda7. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Also fixes some wrapping issues, and one typo. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com> (cherry picked from commit f8409165) Conflicts: man/gnt-instance.sgml (re-wrapped)
-
- Oct 12, 2010
-
-
Apollon Oikonomopoulos authored
As per SSL_CTX_set_client_CA_list(3SSL), set the list of acceptable CAs advertised to SSL clients to include the server's own certificate. This evidently fixes the pycurl/gnutls RPC client. During the TLS Handshake, when client verification is requested, the Server sends a CertificateRequest message which states that the client should send a valid certificate as a response. The CertificateRequest message contains a section called "certificate_authorities", which, according to the standard, is a list of the Distinguished Names (DNs) of acceptable certification authorities. The client uses this list to send a certificate signed by one of the acceptable CAs. Under OpenSSL's server implementation, this list must be set manually using some appropriate call, otherwise the list is empty. TLS 1.0[1] does not state whether the list may be left blank, whereas TLS 1.1[2] and 1.2[3] state that in case the list is blank, then the client *may* send any certificate of a valid type (valid types are specified elsewhere in the handshake). OpenSSL clients seem to obey the behaviour specified in TLS 1.1+, whereas at least curl+GnuTLS does not send any certificates if the list is empty (which is not wrong per the spec, but also evidently not configurable). [1] http://tools.ietf.org/html/rfc2246 [2] http://tools.ietf.org/html/rfc4346 [3] http://tools.ietf.org/html/rfc5246 Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> Reviewed-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Guido Trotter authored
1.11.1 is the version in squeeze and lucid, and we know it works. We also know that 1.10.1 in hardy and lenny doesn't, nor do 1.10 in etch and 1.9.6 in dapper. We haven't tested any other version. With older versions python.m4 is buggy, and results in the package being built not working on python 2.6 (which uses dist-packages rather than site-packages as a module directory). The autogen.sh interpreter is changed to bash, as we need to use the [[ builtin to compare versions with "<". [ doesn't have that functionality, and we can't of course rely on dpkg, which won't be installed on all distributions. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 11, 2010
-
-
Iustin Pop authored
This patch solves the very slow (~8-9 seconds) gnt-instance modify behaviour. Well, it solves in general the slow RPC behaviour, but it was most visible in that LU. It seems that curl's behaviour with regard to file uploads (via PUT) and the 'Expect' header are interacting badly with our http server. First, our http server doesn't properly handle this header. According to RFC 2616: Requirements for HTTP/1.1 origin servers: Upon receiving a request which includes an Expect request-header field with the "100-continue" expectation, an origin server MUST either respond with 100 (Continue) status and continue to read from the input stream, or respond with a final status code. Our server doesn't do this, and hence it triggers this behaviour in curl (from the curl FAQ): 4.16 My HTTP POST or PUT requests are slow! libcurl makes all POST and PUT requests (except for POST requests with a very tiny request body) use the "Expect: 100-continue" header. This header allows the server to deny the operation early so that libcurl can bail out already before having to send any data. This is useful in authentication cases and others. However, many servers don't implement the Expect: stuff properly and if the server doesn't respond (positively) within 1 second libcurl will continue and send off the data anyway. You can disable libcurl's use of the Expect: header the same way you disable any header, using -H / CURLOPT_HTTPHEADER, or by forcing it to use HTTP 1.0. This behaviour was detected by watching the captured traffic (in non-SSL mode), where between the initial HTTP headers (ending with the Expect one), there was a ~1-2 second pause until curl was sending the body. Properly RTFM-ing would have saved ~1 day of digging around, but hey… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 08, 2010
-
-
Guido Trotter authored
* commit 'v2.2.0.1': Release Ganeti 2.2.0.1 Conflicts: NEWS - merge configure.ac - keep 2.2.1~rc0 version Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Luca Bigliardi <shammash@google.com>
-
Guido Trotter authored
2.2.0 was built with old autotools, and it's incompatible with Python 2.6. Rebuilding with a newer autotools version fixes this. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Luca Bigliardi <shammash@google.com>
-
- Oct 07, 2010
-
-
Michael Hanselmann authored
Also update NEWS. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
This time, we re-establish the old pri/sec nodes corretly. Unfortunately this will require now a 3-node cluster at least for drbd instances, hence it's somewhat suboptimal, but… The other option would be to move it simply from p:s to s:p and then back to p:s, without involving a third node (for DRBD case), but I think that moving it to a completely separate node is slightly better for testing. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 06, 2010
-
-
Iustin Pop authored
The instance move tests were moving the instance from node pair (A,_) to (B, A), and left it there. This patch makes sure that the first step moves the instance to (B,A) but the second one back to (A,B), so that the instance is left on the same primary node. The original secondary node is lost though, if I read the code correctly. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 05, 2010
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Use utils.CommaJoin to add spaces after comma, clean up code a bit. Before: Tag(s) 'bar','baz','foo','moo' not found After: Tag(s) 'bar', 'baz', 'foo', 'moo' not found Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Retrieving tags can be done while the lock is shared. Only writing needs to be exclusive. Also add a FIXME for cluster tags, where the code currently doesn't use any locks except the config lock. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This fixes issue 125 (http://code.google.com/p/ganeti/issues/detail?id=125 ) Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This will be used by LUXI client programs to display the VG name. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This will make this test work again. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
When moving a single instance within the same cluster, the NIC is not allowed to re-use an existing MAC address. To avoid this, NIC parameters must be overridden. BE, HV, OS and NIC parameters can be overridden after applying this patch. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This function will also be used in tools/move-instance. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Miguel Di Ciurcio Filho authored
Using hugepages, KVM instances can get a good performance boost. To activate that, we need to pass the -mem-path argument to KVM along with the mount point of the hugetlbfs file system on the node. For the sake of memory availability computation, we use the -mem-prealloc argument when enabling hugepages, so KVM will reserve all hugepages it needs when it starts. This avoids allocating an instance on a node that will not have enough pages in case other instance needs more than what is available after it boots. Signed-off-by:
Miguel Di Ciurcio Filho <miguel.filho@gmail.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Per the mailing list discussion, rename _oss to _os, both in cluster parameters and in the rest of the code. This is just an s/_oss/_os, with the exception of a small bit of cleanup around the helper_os function in cmdlib.py. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-