32 Commits

Author SHA1 Message Date
Rafael Weingärtner
b044f1bc96 CLOUDSTACK-9859: Retirement of midonet plugin (final removal) (#2285)
Following the component retirement process defined in [1], a vote thread was started in [2]. The community decided to retire this Midonet plugin. This task represents the final step of the retirement, which is the removal of the plugin from CloudStacks code base.

[1] https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=68720798
[2] http://markmail.org/message/qigrtfirwnmct4hr
2017-10-10 10:08:23 +05:30
Rohit Yadav
7ce54bf7a8 CLOUDSTACK-9993: Securing Agents Communications (#2239)
This introduces a new certificate authority framework that allows
pluggable CA provider implementations to handle certificate operations
around issuance, revocation and propagation. The framework injects
itself to `NioServer` to handle agent connections securely. The
framework adds assumptions in `NioClient` that a keystore if available
with known name `cloud.jks` will be used for SSL negotiations and
handshake.

This includes a default 'root' CA provider plugin which creates its own
self-signed root certificate authority on first run and uses it for
issuance and provisioning of certificate to CloudStack agents such as
the KVM, CPVM and SSVM agents and also for the management server for
peer clustering.

Additional changes and notes:
- Comma separate list of management server IPs can be set to the 'host'
  global setting. Newly provisioned agents (KVM/CPVM/SSVM etc) will get
  radomized comma separated list to which they will attempt connection
  or reconnection in provided order. This removes need of a TCP LB on
  port 8250 (default) of the management server(s).
- All fresh deployment will enforce two-way SSL authentication where
  connecting agents will be required to present certificates issued
  by the 'root' CA plugin.
- Existing environment on upgrade will continue to use one-way SSL
  authentication and connecting agents will not be required to present
  certificates.
- A script `keystore-setup` is responsible for initial keystore setup
  and CSR generation on the agent/hosts.
- A script `keystore-cert-import` is responsible for import provided
  certificate payload to the java keystore file.
- Agent security (keystore, certificates etc) are setup initially using
  SSH, and later provisioning is handled via an existing agent connection
  using command-answers. The supported clients and agents are limited to
  CPVM, SSVM, and KVM agents, and clustered management server (peering).
- Certificate revocation does not revoke an existing agent-mgmt server
  connection, however rejects a revoked certificate used during SSL
  handshake.
- Older `cloudstackmanagement.keystore` is deprecated and will no longer
  be used by mgmt server(s) for SSL negotiations and handshake. New
  keystores will be named `cloud.jks`, any additional SSL certificates
  should not be imported in it for use with tomcat etc. The `cloud.jks`
  keystore is stricly used for agent-server communications.
- Management server keystore are validated and renewed on start up only,
  the validity of them are same as the CA certificates.

New APIs:
- listCaProviders: lists all available CA provider plugins
- listCaCertificate: lists the CA certificate(s)
- issueCertificate: issues X509 client certificate with/without a CSR
- provisionCertificate: provisions certificate to a host
- revokeCertificate: revokes a client certificate using its serial

Global settings for the CA framework:
- ca.framework.provider.plugin: The configured CA provider plugin
- ca.framework.cert.keysize: The key size for certificate generation
- ca.framework.cert.signature.algorithm: The certificate signature algorithm
- ca.framework.cert.validity.period: Certificate validity in days
- ca.framework.cert.automatic.renewal: Certificate auto-renewal setting
- ca.framework.background.task.delay: CA background task delay/interval
- ca.framework.cert.expiry.alert.period: Days to check and alert expiring certificates

Global settings for the default 'root' CA provider:
- ca.plugin.root.private.key: (hidden/encrypted) CA private key
- ca.plugin.root.public.key: (hidden/encrypted) CA public key
- ca.plugin.root.ca.certificate: (hidden/encrypted) CA certificate
- ca.plugin.root.issuer.dn: The CA issue distinguished name
- ca.plugin.root.auth.strictness: Are clients required to present certificates
- ca.plugin.root.allow.expired.cert: Are clients with expired certificates allowed

UI changes:
- Button to download/save the CA certificates.

Misc changes:
- Upgrades bountycastle version and uses newer classes
- Refactors SAMLUtil to use new CertUtils

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-28 12:15:11 +02:00
Rohit Yadav
16913a9822 CLOUDSTACK-9842: Make UI JSP Free
We use some JSP file just for translation of strings in the UI. This is
achievable purely in JavaScript. This removes those JSPs, simplifies
translation usage and workflow (purely JS based). The l10n js (dictionary)
files are generated from existing messages.properties files during client-ui
code generation phase.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-09-28 12:26:43 +05:30
Sverrir A. Berg
0acd3c12a2 Convert patchviasocket to python (removes perl dependency for KVM agent)
As requested here: https://github.com/apache/cloudstack/pull/1495

No scripts are using perl so that install requirement can be removed.
The new scripts are using standard python packages only.
Includes extensive unit test.
2016-05-20 15:42:34 +00:00
Rohit Yadav
afcbd270b2 CLOUDSTACK-8562: Deprecate commands.properties
- Removes commands.properties file
- Fixes apidocs and marvin to be independent of commands.properties usage
- Removes bundling of commands.properties in deb/rpm packaging
- Removes file references across codebase

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-11 09:45:19 +05:30
Anshul Gangwar
aa7ae1b918 CLOUDSTACK-8416: added support for FIPS compliant checksum. It will now support md5, sha1, sha224, sha256, sha384 and sha512 checksums.
In same checksum parameter user can pass any of the above algorithms hash
This closes #196
2015-04-30 14:38:44 +05:30
Rohit Yadav
518853ab43 packaging: updated hardcoded jasypt version to 1.9.2
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 43f39a1ec37de08e5b8e97dfd74a853c0aae76c7)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-04 04:04:30 +05:30
Rajesh Battala
67ff7dac82 CLOUDSTACK-7654 fixed issues with zip format templates. 2014-10-07 12:39:09 +05:30
Koushik Das
4607c26949 Revert "CLOUDSTACK-6834 : 3. Some description changes words like CloudStack etc 4. Change Default installation location if possible include version number 5. Mysql Connector Installer along with other dependecies 6. Add run Service Checkbox 7. Add ReadMe checkbox"
This reverts commit ce5061e107f743e52b23445fd97fcf60d8160ec6.
2014-07-04 10:04:04 +05:30
Damodar Reddy
ce5061e107 CLOUDSTACK-6834 : 3. Some description changes words like CloudStack etc 4. Change Default installation location if possible include version number 5. Mysql Connector Installer along with other dependecies 6. Add run Service Checkbox 7. Add ReadMe checkbox
Signed-off-by: Koushik Das <koushik@apache.org>
2014-07-03 17:43:00 +05:30
Damodar Reddy
0f2c66e6c9 CLOUDSTACK-6834: [Windows] 1. Added Port to the wizard to capture input from the admin.
Signed-off-by: Koushik Das <koushik@apache.org>
2014-06-12 12:37:00 +05:30
Damodar Reddy
23280a47b8 CLOUDSTACK-6702 : [Windows]Due to Progress bar changes mysql path was not getting read. Fixing the same.
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-06-11 11:25:02 +05:30
Tim Mackey
a8212d9ef4 Cleanup of Xen and XenServer terms. Cloned xen plugin creating a xenserver plugin, then removed xen plugin
Signed-off-by: Tim Mackey <tmackey@gmail.com>
Signed-off-by: Sebastien Goasguen <runseb@gmail.com>
2014-06-07 04:50:23 -04:00
Damodar Reddy
603eab751a CLOUDSTACK-6701, CLOUDSTACK-6702:
1. Integrate System Seed Template into MSI Installer
2. Added progress bar status messages for custom actions at needed places.

Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-06-04 12:23:33 +05:30
Damodar Reddy
8a210b50fb CLOUDSTACK-6702: Move all titles and descriptions to a property file or move to build properties
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-05-28 16:10:42 +05:30
Damodar Reddy
ce247a5592 CLOUDSTACK-6700 : Adding optionstheme.xml to include selectable options.
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-05-23 17:45:50 +05:30
Damodar Reddy
8f98cc304e CLOUDSTACK-6700 : Give Option to install or not MySql Server along with Main Installer on the same server.
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-05-23 16:25:38 +05:30
Damodar Reddy
61c765b230 CLOUDSTACK-6563: Integrating setuptools for python into MSI
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-05-20 14:57:44 +05:30
Damodar Reddy
aca7606a40 CLOUDSTACK-6563: Integrating dependencies as part of MSI installer so that those will get installed along with cloud stack installation 2014-05-16 10:50:32 +05:30
Damodar Reddy
29b4fe6d9f CLOUDSTACK-6271: The cloud-setup-databases was failing when your jasypt jar path has spaces in it's path 2014-04-29 14:44:03 +05:30
Damodar Reddy
881792991e CLOUDSTACK-6271:[Windows] Integrating setup databases with msi installer for windows
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-04-28 16:46:26 +05:30
Damodar Reddy
d8586462e0 CLOUDSTACK-6291: [Windows] Checking whether Java and other dependencies are installed or not through registry search instead of relying on environment variables. Also setting them into Path environment varibale.
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-03-28 12:32:21 +05:30
Damodar Reddy
c46088c962 CLOUDSTACK-6290: [Windows] Generating SSL keys at the time of installation itself
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-03-27 16:03:04 +05:30
Damodar Reddy
b6fe4e2168 CLOUDSTACK-6105: Fixed the issue where Logs were not getting generated properly
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-03-26 10:35:26 +05:30
Damodar Reddy
93c46c9be8 CLOUDSTACK-6105: Initial version Windowsfication of the management server
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-03-24 10:54:46 +05:30
David Nalley
d630fa8697 license header changes for scripts folder from Chip Childers 2012-06-23 00:58:00 -04:00
Nitin Mehta
4434aa0d2d bug CS-10789: More changes for the imageformat, introdueced new column in db for the format, created scripts for doffernt hypervisors ...and the list goes on. 2012-04-23 13:44:34 +05:30
frank
2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
frank
52610ffcb3 add copyright header to shell scripts 2012-01-11 18:41:53 -08:00
Frank
92155522f2 Add license header to files 2011-04-14 11:23:14 -07:00
Chiradeep Vittal
34dc0695c2 Cleanup some scripts 2011-01-19 10:08:30 -08:00
Manuel Amador (Rudd-O)
05c020e1f6 Source code committed 2010-08-11 09:13:29 -07:00