15 Commits

Author SHA1 Message Date
Rohit Yadav
8da2462469
CLOUDSTACK-10333: Secure Live VM Migration for KVM (#2505)
This extends securing of KVM hosts to securing of libvirt on KVM
host as well for TLS enabled live VM migration. To simplify implementation
securing of host implies that both host and libvirtd processes are
secured with management server's CA plugin issued certificates.

Based on whether keystore and certificates files are available at
/etc/cloudstack/agent, the KVM agent determines whether to use TLS or
TCP based uris for live VM migration. It is also enforced that a secured
host will allow live VM migration to/from other secured host, and an
unsecured hosts will allow live VM migration to/from other unsecured
host only.

Post upgrade the KVM agent on startup will expose its security state
(secured detail is sent as true or false) to the managements server that
gets saved in host_details for the host. This host detail can be accesed
via the listHosts response, and in the UI unsecured KVM hosts will show
up with the host state of ‘unsecured’. Further, a button has been added
that allows admins to provision/renew certificates to KVM hosts and can
be used to secure any unsecured KVM host.

The `cloudstack-setup-agent` was modified to accept a new flag `-s`
which will reconfigure libvirtd with following settings:

    listen_tcp=0
    listen_tls=1
    tcp_port="16509"
    tls_port="16514"
    auth_tcp="none"
    auth_tls="none"
    key_file = "/etc/pki/libvirt/private/serverkey.pem"
    cert_file = "/etc/pki/libvirt/servercert.pem"
    ca_file = "/etc/pki/CA/cacert.pem"

For a connected KVM host agent, when the certificate are
renewed/provisioned a background task is scheduled that waits until all
of the agent tasks finish after which libvirt process is restarted and
finally the agent is restarted via AgentShell.

There are no API or DB changes.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2018-04-20 00:36:18 +05:30
Remi Bergsma
778b828af0 CLOUDSTACK-8443: display the right hypervisor type 2015-08-24 15:51:13 +02:00
Kishan Kavala
89854de18d CLOUDSTACK-6931: Set hypervisor.type in agent.properties using cloudstack-setup -t option. Default is kvm. 2014-06-19 11:31:23 +05:30
Hiroaki KAWAI
e9a6d47316 agent: fix network.bridge.type to be optional
New network.bridge.type was introduced, but for
buckward compatibility, the key should be optional.

Signed-off-by: Hiroaki KAWAI <kawai@stratosphere.co.jp>
2013-05-28 11:56:42 +09:00
Hiroaki KAWAI
a16b707250 CLOUDSTACK-2327: make cloud-setup-agent ovs aware
Ovs brcompat will be obsolete, so if network.bridge.type was
set to openvswitch, we'll use ovs command explicitly.

Signed-off-by: Hiroaki KAWAI <kawai@stratosphere.co.jp>
2013-05-27 16:30:32 +09:00
Wido den Hollander
70ae5fed77 agent: Fix a couple of typos in cloud-setup-agent
This tool needs a lot more work though!
2012-08-08 22:31:06 +02:00
David Nalley
c15948a3ef committing Chip Childers patches fixing licensing headers
Applying to the following directories:
* api
* deamonize
* agnet
* agent-simulator
* cloud-cli
2012-06-12 12:32:58 -04:00
Edison Su
82ab4fcde4 localstorage uuid is generated by uuidgen, other than from hostip+localstoragepath 2011-05-26 11:52:28 -04:00
Edison Su
736ed1ba69 rename cloud to cloudutils 2011-05-09 10:09:09 -04:00
Edison Su
cbf2b03e31 refactore cloud related tools 2011-05-06 19:54:52 -04:00
edison
5c73e46113 bug 7296: add kvm.public.network.device and kvm.private.network.device from UI
status 7296: resolved fixed
2010-12-04 20:01:10 -08:00
edison
d933f19d35 bug 5800: add cluster for KVM
TODO: need to make sure the host cpu is from the same vender in a cluster
2010-09-10 16:00:36 -07:00
edison
53df26daaa "Add host" for kvm:
The sequence:
1. add host in UI
2. scp setup_agent.sh to agent host, and execute it. This script receives hostip,zoneid, podid and guid, then runs "cloud-setup-agent" and "cloud-setup-console-proxy". Here, we assume that network/hostname and cloud-agent are already configed and installed.
3. Write a dummy kvm resource into the database, then wait for agent connects to server, by polling the database for every 1 minutes. If it finds the agent is in UP state in database, then return, or wait for at least 10 minutes.
2010-08-13 23:19:36 -07:00
edison
dc005b9b9c add setup_agent.sh, the first script running during add host
Make cloud-setup-agent/console-proxy in unattended mode
2010-08-11 19:31:07 -07:00
Manuel Amador (Rudd-O)
05c020e1f6 Source code committed 2010-08-11 09:13:29 -07:00