cloudstack/ui/scripts
Rohit Yadav 0a0ea4c642 APPLE-FR29: Secure KVM Live VM Migration (FRO-93)
This extends securing of KVM hosts to securing of libvirt on KVM
host as well for TLS enabled live VM migration.

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 reconfigured libvirtd with following settings that enables only
TLS:
    listen_tcp=0
    listen_tls=1
    tcp_port="16509"
    auth_tcp="none"
    tls_port=”16514”
    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-03-21 14:13:57 +05:30
..
ui FR26: Update rule permission of a role permission (#48) 2017-08-23 18:18:58 +02:00
ui-custom FR12 (CLOUDSTACK-9993): Secure Agent Communications (#38) 2017-09-26 09:19:31 +05:30
accounts.js FR20: Allow native CloudStack users to change password from the UI 2017-05-30 14:23:38 +05:30
accountsWizard.js CLOUDSTACK-8562: DB-Backed Dynamic Role Based API Access Checker 2016-04-25 14:52:02 +05:30
affinity.js CLOUDSTACK-7779: UI > affinity group action filter > extend scope from local to global. 2014-10-23 16:19:04 -07:00
autoscaler.js Fix Externalization of hard-coded label strings 2014-09-17 13:59:13 -07:00
cloud.core.callbacks.js CLOUDSTACK-8642: SSO Method not allowed bug fix. Due to CLOUDSTACK-8505 and commit 1c81b241e7 2015-07-16 21:44:58 +05:30
cloudStack.js CLOUDSTACK-8562: DB-Backed Dynamic Role Based API Access Checker 2016-04-25 14:52:02 +05:30
configuration.js CLOUDSTACK-6543 Sort domain lists in UI 2015-04-17 15:18:16 +02:00
dashboard.js CLOUDSTACK-8285: check and update IP capacity states based on allocation state 2015-02-25 16:46:12 +05:30
docs.js CLOUDSTACK-8457: SAML auth plugin improvements for production usage 2015-06-29 12:25:02 +02:00
domains.js Fr21 ldap account binding and prerequisites (#57) 2018-03-05 11:57:38 +01:00
events.js CLOUDSTACK-6543 Sort domain lists in UI 2015-04-17 15:18:16 +02:00
globalSettings.js CLOUDSTACK-7816: UI > Global Settings > add "Baremetal Rack Configuration" section. 2014-10-30 11:27:38 -07:00
installWizard.js api: avoid sending sensitive data in api response 2015-03-11 16:34:11 +05:30
instanceWizard.js CLOUDSTACK-8075: UI > Instances menu > Add Instance > Select template/ISO > "shared" tab > select a shared template, click Next button => fix error "unable to find matched template object". 2014-12-17 10:58:43 -08:00
instances.js metrics: Increase UI width, fix metrics ui issues 2016-01-20 12:57:09 +01:00
lbStickyPolicy.js Fix Externalization of hard-coded label strings 2014-09-17 13:59:13 -07:00
metrics.js FR17: Metrics fix 2017-03-30 11:59:35 +05:30
network.js CLOUDSTACK-8231: Fixed UI empty drop-down list for LB rules 2015-05-29 21:19:26 +02:00
plugins.js Plugin API: Support multiple JS includes per plugin 2014-01-27 12:39:36 -08:00
projects.js CLOUDSTACK-6543 Sort domain lists in UI 2015-04-17 15:18:16 +02:00
regions.js CLOUDSTACK-6543 Sort domain lists in UI 2015-04-17 15:18:16 +02:00
roles.js FR26: Update rule permission of a role permission (#48) 2017-08-23 18:18:58 +02:00
sharedFunctions.js CLOUDSTACK-8562: DB-Backed Dynamic Role Based API Access Checker 2016-04-25 14:52:02 +05:30
storage.js FR-17: KVM, Xen and VMware support + UI with Marvin test 2017-03-27 09:53:40 +05:30
system.js APPLE-FR29: Secure KVM Live VM Migration (FRO-93) 2018-03-21 14:13:57 +05:30
templates.js CLOUDSTACK-8766: Fix infinite scrolling pagination for zonal iso/template listing 2015-08-28 13:06:13 +05:30
vm_snapshots.js UI code cleanup: Fix trailing commas in JS 2013-09-24 11:16:13 -07:00
vpc.js CLOUDSTACK-7915: Remove hard-coded values for Load Balancer algorithms in UI 2014-11-25 11:56:34 +05:30
zoneWizard.js CLOUDSTACK-8301: Enable configuring local storage use for system VMs at zone level 2015-08-08 22:41:52 +05:30