Add oper_vcpus instance status field
This introduces a new instance status field, named "oper_vcpus".It contains the actual number of VCPUs an instance is using asseen by the hypervisor.
Signed-off-by: Balazs Lecz <leczb@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Merge branch 'devel-2.1'
Conflicts: qa/qa-sample.json (trivial) qa/qa_cluster.py (trivial)
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Luca Bigliardi <shammash@google.com>
QA, burnin: allow selection of reboot types
After some more investigation, only the soft reboot type fails for Xen3.4 (due to the reboot/uptime time counter). As such, it's better toallow selective testing, since we do want to test in general theseopcodes/the command line script....
Add a QA option to disable reboots during burnin
Since we have seen cases where (repeated) reboots are not supported(e.g. Xen 3.4+), we need to be able to control this in the QAconfiguration.
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Merge branch 'stable-2.1'
Remove rapi-user and rapi-pass from qa-sample.json
After commit 725ec2f10019c35bafeb1aabfce6f14174bf4f46 they are unused.
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
RAPI client: Switch to pycURL
Currently the RAPI client uses the urllib2 and httplib modules fromPython's standard library. They're used with pyOpenSSL in a very fragileway, and there are known issues when receiving large responses from a RAPIserver....
qa: fix gnt-instance modify -t drbd
We need to pass the secondary node name, not a dict, which is an invalidvalue.
qa: shutdown instance before trying disk convert
Because we have to. :)
Signed-off-by: Guido Trotter <ultrotter@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Update a comment in qa-sample.json
Fix the sentence to say what it means.
qa_rapi: Test inter-cluster instance move script
This test moves an instance on the same cluster and, if successful,moves it back. While not testing a real move between two clusters,this is certainly better than nothing.
Signed-off-by: Michael Hanselmann <hansmi@google.com>...
RAPI changes for instance moves
Two new resources are added:- /2/instances/$name/prepare-export- /2/instances/$name/export
The documentation for the existing resource for creating instances is updatedfor remote imports. The RAPI client is extended for the new resources....
Conflicts: daemons/ganeti-noded lib/daemon.py lib/rapi/baserlib.py lib/rapi/rlib2.py lib/utils.py
Signed-off-by: Luca Bigliardi <shammash@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
QA: Test instance creation/deletion via RAPI client
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
RAPI QA: Use RAPI client
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
QA: Add function create temporary backup file
QA: Restore RAPI cert after “gnt-cluster renew-crypto”
The RAPI tests will depend on the certificate.
RAPI QA: Test instance creation/removal via RAPI
RAPI QA: Support for request body
- Add support for sending JSON-encoded body to RAPI daemon (required to test more complex resources)- Expand names when testing resources against config
qa: enable early release during parallel burnin
With this, the burnin sequence on big clusters should be (much?) faster.The patch also fixes the parallel setting (before it was alwaysenabled).
Signed-off-by: Iustin Pop <iustin@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Conflicts: lib/utils.py: Trivial
qa: Use qa_utils.UploadFile to upload rapi_users file
Just using “echo” would use whatever umask is set in the shell,in addition to potentially showing the password in the processlist.
Signed-off-by: Michael Hanselmann <hansmi@google.com>Reviewed-by: René Nussbaumer <rn@google.com>
QA: fix reimporting instance with different name
Since the original instance still exists, we need to use a different MACfor its NIC.
QA: Make the rapi credential handling less involving
Signed-off-by: René Nussbaumer <rn@google.com>Reviewed-by: Michael Hanselmann <hansmi@google.com>
Merge remote branch 'devel-2.1'
QA: Make sure RAPI credentials are setup on cluster init
This patch makes sure that the Ganeti RAPI credentials are setup,if any, on cluster init time.
Signed-off-by: René Nussbaumer <rn@google.com>Reviewed-by: Iustin Pop <iustin@google.com>
Adding QA RAPI tests for activate-disks and deactivate-disks calls
Signed-off-by: René Nussbaumer <rn@google.com>Reviewed-by: Guido Trotter <ultrotter@google.com>
Add cluster domain secret
Information exchanged between different clusters via untrustedthird parties (e.g. for remote instance import/export) must besigned with a secret shared between all involved clusters toensure the third party doesn't modify the information....
Merge remote branch 'origin/devel-2.1'
Conflicts: lib/bootstrap.py: Trivial lib/constants.py: Trivial
Rightname confd's HMAC key
Currently, the ganeti-confd's HMAC key is called “cluster HMAC key” orsimply “HMAC key” everywhere. With the implementation of inter-clusterinstance moves, another HMAC key will be introduced for signing criticaldata. They can not be the same, so this patch clarifies the purpose of the...
Implement QA tests for disk template changes
The new test depends on the drbd type tests being enabled, and testconversion to plain and back to drbd.
Implement replacing cluster certs and keys via “gnt-cluster renew-crypto”
Recent changes to “gnt-cluster verify” made it complain on expiring SSLcertificates. While it was possible to replace the SSL certificates andother cluster secrets manually before, doing so was cumbersome. Cluster...
Adding qa tests for gnt-os modify
This adds basic qa tests for gnt-os modify
Add command line options for instance removal on export
Implement instance rename QA tests
QA: improve usability with cluster-init: False
When not initialising the cluster, consider all nodes are added, so thatmulti-node tests (e.g. export, replace) work correctly (if there arenodes, of course).
Signed-off-by: Iustin Pop <iustin@google.com>...
Add QA test for “gnt-node {list,modify,repair}-storage”
Replace all xrange() with range()
Fix RAPI QA, broken by NIC parameters changes
This also adds the new nic.links query field.
Fix QA test for “gnt-node evacuate”
Before the arguments weren't valid.
QA: remove the --default-hypervisor option
This option is gone since 1ac0f5e6d2f06a5bf12815e1b92d1338af32833c,fixing the QA suite to deal with this.
QA: call ganeti-confd --version
Move rapi to GetDaemonPort
Currently rapi is the only daemon which accepts a port option, ratherthan querying its own port from services, and failing back to thedefault if not found. Changing this to conform to what other daemons do.
Also update the ganeti-rapi(8) manpage...
Merge branch 'next' into branch-2.1
Get rid of constants.RAPI_ENABLE
This constant is unused, except in qa. Removing it since it's always True.
This patch also removes the unused qa_rapi.PrintRemoteAPIWarningfunction, and removes a comment about temporary constants "until we havecluster parameters"....
Introduce OS api version 15
Also, since Ganeti 2.1 will be compatible with both 10 and 15, changethe OS_API_VERSION constant to be an OS_API_VERSIONS set, and update theplaces in the code that used that constat to use something else.
In particular: - in the qa for now we just create a fake version 10 OS...
Fix QA and documentation about no initrd case
In Ganeti 1.2, “none” was used to signify no initrd. In 2.0 we havechanged to “no_” as a prefix (i.e. “-H no_initrd_path”) and thus wedocument in the manpage this.
The QA suite is changed accordingly.
QA: add support for burnin rename
This patch adds support for optionally doing the rename burnin test, andadds an example to the sample QA file. To disable, either remove orspecify an empty rename target.
Reviewed-by: imsnah
Fix one more RAPI QA test
This was skipped in the previous QA patch.
QA: switch RAPI to https
Since we by default now use SSL for RAPI, we need to switch the QAtests to SSL too.
Reviewed-by: amishchenko
Revive RAPI QA tests for 2.0-style RAPI
This patch fixes the RAPI QA tests to work with today's RAPI code andalso does some other minor improvements: - QA: only create the cluster if so configured (‘create-cluster’ key), this allows running parts of the QA suite against existing clusters...
QA: add burnin parameters (parallel, http-check)
This patch adds burnin parameters for --parallel and --http-checkoptions to the burnin script.
Reviewed-by: ultrotter
Update QA scripts to new cluster parameters
There are still issues, especially with "gnt-instance modify" andresetting values. However, this is a start.
Update scripts and qa config for changed hypervisor names.
QA: Remove dry run mode
It didn't work as planned because some commands depend on the returnvalue or output of some operations.
Reviewed-by: iustinp
QA: Use pseudo-tty via SSH
This gives continous output instead it being buffered.
Add vim modeline to qa-sample.json
Vim doesn't recognize the format automatically.
QA: Convert configuration from YAML to JSON
We no longer use YAML in Ganeti at all. This patch converts the QAconfiguration from YAML to JSON. JSON doesn't support comments andI had to use a hack with fields starting with '#'.
QA: Try to run more scripts with --version
This patch also sorts the list.
Reviewed-by: schreiberal
QA: Always accept added node's SSH key
QA: Do not upload known_hosts file anymore
The cluster no longer keeps individual host's SSH key, but ratheraliases all of them to the cluster name.
Copy qa_utils.AssertIn from 1.2 branch
Apparently it was forgotten when import the remote API QA tests.
Whitespace fixes for remote API QA checks
Remove QA hook functionality
To my knowledge they're used nowhere and it's at least slightlyconfusing to people adding new QA checks.
Migrate RAPI QA to trunk.
Use a single Makefile.am instead of many
This change allows us to use cleaner dependencies betweendirectories. The build system is basically rewritten in large partsand may contain bugs.
Forward-port: Fix two problems in QA scripts
- Failover back to original node in instance failure test- Exclude secondary node from list of potential nodes in replace-disks test
Forward-port: Add QA tests for “gnt-instance reboot”
Forward-port: Add QA test for “gnt-instance replace-disks”
Forward-port changes made to readd in 1.2
qa_node.py: Fix typo in messagecmdlib.py: Don't add readded node to node listganeti-qa.py: Make sure readd isn't done for master node
Add --readd option to “gnt-node add”
This allows us to readd a node after it failed and required areinstallation or replacement.
Add QA test for “gnt-instance console”
Remove the option to create md/drbd7 instances
This patch removes the options that allow to create local_raid1 orremote_raid1 instances. It also modifies the documentation and removesthese disk templates from burnin and from qa.
Implement QA tests for gnt-cluster rename
Some changes on disk failure tests
Change comments to printed information, some cleanup. These changesare from November 2007. The test is not perfect yet.
Code style updates for QA code.
Add QA tests for gnt-instance modify
This patch adds QA tests for most of the possible parameters in theinstance modify operation (exception being the MAC), and modifies thesample QA file to run this test.
It also tests the no-modification test, but that is a weak one: we only...
Allow selection of hypervisor type in QA
This patch allows the selection of the hypervisor type for the QAprocess; this is useful when testing hypervisor-independent changes thatdon't require a Xen setup.
The patch also fixes the OS name in the sample QA config file provided....
Remove qa tests for gnt-instance start/stop
Those tests were added in the wrong place. This patch removes them. One daywe'll implement proper command line regression testing and they should go inthere.
Test start/stop aliases in qa
This tests both that those two aliases have not been removed and also thataliases handling hasn't been broken.
Various code style fixes for strings.
- When line wrapping is needed, move spaces to the next line.- Remove embedded line breaks from error messages.
Add comment about PEP 318 to qa_utils.py.
Call more hooks during QA tests.
List loading hooks in QA.
Add hook for logging.
This may help to debug problems in QA tests.
Abort if tests for disk templates remote_raid1 and drbd are enabled.
Implement disk templates for burnin from QA.
Add two comments to qa-sample.yaml.
Add basic QA tests for DRBD 8.