cloudstack/ui/scripts
Nicolas Vazquez e86bb41e0e CLOUDSTACK-10146: Bypass Secondary Storage for KVM templates (#2379)
This feature allows using templates and ISOs avoiding secondary storage as intermediate cache on KVM. The virtual machine deployment process is enhanced to supported bypassed registered templates and ISOs, delegating the work of downloading them to primary storage to the KVM agent instead of the SSVM agent.

Template and ISO registration:
- When hypervisor is KVM, a checkbox is displayed with 'Direct Download' label.
- API methods registerTemplate and registerISO are both extended with this new parameter directdownload.
- On template or ISO registration, no download job is sent to SSVM agent, CloudStack would only persist an entry on template_store_ref indicating that template or ISO has been marked as 'Direct Download' (bypassing Secondary Storage). These entries are persisted as:
template_id = Template or ISO id on vm_template table
store_id NULL
download_state = BYPASSED
state = Ready
(Note: these entries allow users to deploy virtual machine from registered templates or ISOs)
- An URL validation command is sent to a random KVM host to check if template/ISO location can be reached. Metalink are also supported by this feature. In case of a metalink, it is fetched and URL check is performed on each of its URLs.
- Checksum should be provided as indicated on #2246: {ALGORITHM}CHKSUMHASH
- After template or ISO is registered, it would be displayed in the UI

Virtual machine deployment:
When a 'Direct Download' template is selected for deployment, CloudStack would delegate template downloading to destination storage pool via destination host by a new pluggable download manager.
Download manager would handle template downloading depending on URL protocol. In case of HTTP, request headers can be set by the user via vm_template_details. Those details should be persisted as:
Key: HTTP_HEADER
Value: HEADERNAME:HEADERVALUE

In case of HTTPS, a new API method is added uploadTemplateDirectDownloadCertificate to allow user importing a client certificate into all KVM hosts' keystore before deployment.
After template or ISO is downloaded to primary storage, usual entry would be persisted on template_spool_ref indicating the mapping between template/ISO and storage pool.
2018-01-09 12:22:18 +05:30
..
ui CLOUDSTACK-10126: Separate Subnet for SSVM and CPVM (#2368) 2018-01-05 13:19:03 +05:30
ui-custom CLOUDSTACK-10101: Present the full domain name when listing user's domains in SAML2 plugin (#2280) 2017-10-10 10:12:03 +05:30
accounts.js CLOUDSTACK-10129: Allow navigation from VRs to account, network, instances (#2306) 2017-11-09 02:09:14 +05:30
accountsWizard.js CLOUDSTACK-8562: DB-Backed Dynamic Role Based API Access Checker 2016-05-11 09:45:19 +05:30
affinity.js Removed leading tabs from ui/scripts/*.js 2015-08-07 11:58:13 +02:00
autoscaler.js CLOUDSTACK-9229: Autoscale policy creation failing in VPC due to zoneid missing in createAutoScaleVmProfile 2016-01-13 15:47:06 +05:30
cloud.core.callbacks.js CLOUDSTACK-9408 for the move away from download.cloud.com 2017-04-20 11:35:36 +05:30
cloudStack.js CLOUDSTACK-9768: Time displayed for events in UI is incorrect 2017-02-02 12:59:25 +05:30
configuration.js CLOUDSTACK-10102: New network type L2 (#2281) 2017-12-20 17:07:39 +05:30
dashboard.js CLOUDSTACK-10059: Dashboard ignores resource value that is less than 1% 2017-08-31 16:11:58 +02:00
docs.js CLOUDSTACK-10146: Bypass Secondary Storage for KVM templates (#2379) 2018-01-09 12:22:18 +05:30
domains.js CLOUDSTACK-10117: Account ldap binding (#2381) 2018-01-06 22:58:28 +05:30
events.js CLOUDSTACK-10129: UX improvements and event timeline 2017-12-23 09:22:44 +05:30
globalSettings.js Removed leading tabs from ui/scripts/*.js 2015-08-07 11:58:13 +02:00
installWizard.js api: avoid sending sensitive data in api response 2015-03-11 16:34:56 +05:30
instanceWizard.js Merge release branch 4.6 to 4.7 2016-01-28 13:31:26 +01:00
instances.js CLOUDSTACK-10129: UX improvements and event timeline 2017-12-23 09:22:44 +05:30
lbCertificatePolicy.js CLOUDSTACK-8672 : NCC Integration with CloudStack. 2017-07-20 12:42:43 +05:30
lbStickyPolicy.js CLOUDSTACK-8744 Add missing localization (l10n) for several parts in the UI 2015-08-18 11:16:14 +01:00
metrics.js CLOUDSTACK-10129: UX improvements and event timeline 2017-12-23 09:22:44 +05:30
network.js CLOUDSTACK-10189: Adding nuage VSD managed network support to CloudStack (#2360) 2017-12-28 14:55:15 +05:30
plugins.js Plugin API: Support multiple JS includes per plugin 2014-01-27 12:39:36 -08:00
projects.js Add to project detail page: cpu,memory,template,storage and VMs count 2016-08-08 20:04:55 -04:00
regions.js CLOUDSTACK-8672 : NCC Integration with CloudStack. 2017-07-20 12:42:43 +05:30
roles.js CLOUDSTACK-10044: Update role permission (#2236) 2017-08-11 12:24:50 +02:00
sharedFunctions.js CLOUDSTACK-10129: UX improvements and event timeline 2017-12-23 09:22:44 +05:30
storage.js CLOUDSTACK-10129: UX improvements and event timeline 2017-12-23 09:22:44 +05:30
system.js CLOUDSTACK-10109: Enable dedication of public IPs to SSVM and CPVM (#2295) 2018-01-06 23:14:30 +05:30
templates.js CLOUDSTACK-10146: Bypass Secondary Storage for KVM templates (#2379) 2018-01-09 12:22:18 +05:30
vpc.js CLOUDSTACK-10189: Adding nuage VSD managed network support to CloudStack (#2360) 2017-12-28 14:55:15 +05:30
zoneWizard.js CLOUDSTACK-9044: Add RBD Primary Storage to the Zone Wizard. 2015-11-08 18:22:39 +01:00