- Refactor VPN and VM APIs to admin and user pkgs
- Names space, org.apache.cloudstack
- Fix refactored apis in commands*.in
- Fix comments etc.
- Expand tabs, remove trailing whitespace
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Fixes issue where global flag was sometimes causing the confirm
message to be incorrect for non-VPC acquire IP action.
Conflicts:
ui/scripts/network.js
This is a manual merge of the maven-to-rpm branch. This commits show how an RPM
package can be built without waf. The current version only builds the management
server rpm and some related rpms like setup. The main missing items are agent rpm and
the awsapi rpm. But it should at least show how to use maven and packaging.
Several small tweaks are put into the client/pom.xml to make sure that the war
has all items required to run as a standalone war.
The authenticators now have an encode function that cloudstack will use to encode the user supplied password before storing it in the database. This makes it easier to add other authenticators with other hashing algorithms. The requires a two step approach to creating the admin account at first start as the authenticators are only present in the management-server component locator.
The SHA256 salted authenticator make use of this new system and adds a hashing algorithm based on SHA256 with a salt. This type of hash is far less susceptible to rainbow table attacks.
To make use of these new features the users password will be sent over the wire just as he typed it and it will be transformed into a hash on the server and compared with the stored password. This means that the hash will not go over the wire anymore.
The default authenticator in components.xml is still set to md5 for backwards compatibility. For new installations the sha256 could be enabled.
This commit merges the nicira-l3support branch with master. This
effectively adds nicira nvp l3 support to master. The NiciraNVP Provider
can support the following services with this modification: Connectivity,
SourceNat, StaticNat and PortForwarding
Testing done:
Create, Delete network offerings with Nicira Element
Use Gui to add, modify, remove Nicira Element and Provider
Provision, deprovision SourceNat networks
Provision, deprovision Portforwarding and StaticNat rules
Tested with Nicira NVP release 2.1.0, 2.2.0 and 2.2.1 (2.2.x recommended)
For any list view that has a corresponding detail view, adds a tooltip
to display the compact overview of the detail view contents, including
all available actions. This avoids a user from having to click into a
new panel to see more details and actions for an item.
This will happen automatically for any list view with a 'detailView'
sub-option, and will append a new column to the end of each item
row. If 'noCompact: true' is specified in the detailView's options,
then the quick view will not be rendered.
** Note: This also removes the existing list actions for the instances
and zones tables.
Example, to show a quick view:
listView: {
detailView: {
// Specify noCompact: true to not render a quick view
//
// noCompact: true
...
},
...
}
Conflicts:
ui/scripts/ui/widgets/detailView.js
The management server also depends on a couple of these scripts, so renaming
to cloud-scripts makes more sence then installing cloud-agent-scripts.
In the future we might want to split this up in two packages.
Support for local data disk. Currently enable/disable config is at zone level, in subsequent checkins it can be made more granular.
Following changes are made:
- Create disk offering API now takes an extra parameter to denote storage type (local or shared). This is similar to storage type in service offering.
- Create/delete of data volume on local storage
- Attach/detach for local data volumes. Re-attach is allowed as long as vm host and data volume storage pool host is same.
- Migration of VM instance is not supported if it uses local root or data volumes.
- Migrate is not supported for local volumes.
- Zone level config to enable/disable local storage usage for service and disk offerings.
- Local storage gets discovered when a host is added/reconnected if zone level config is enabled. When disabled existing local storages are not removed but any new local storage is not added.
- Deploy VM command validates service and disk offerings based on local storage config.
- Upgrade uses the global config 'use.local.storage' to set the zone level config for local storage.
(cherry picked from commit 62710aed37606168012a0ed255a876c8e7954010)
Support for local data disk. Currently enable/disable config is at zone level, in subsequent checkins it can be made more granular.
Following changes are made:
- Create disk offering API now takes an extra parameter to denote storage type (local or shared). This is similar to storage type in service offering.
- Create/delete of data volume on local storage
- Attach/detach for local data volumes. Re-attach is allowed as long as vm host and data volume storage pool host is same.
- Migration of VM instance is not supported if it uses local root or data volumes.
- Migrate is not supported for local volumes.
- Zone level config to enable/disable local storage usage for service and disk offerings.
- Local storage gets discovered when a host is added/reconnected if zone level config is enabled. When disabled existing local storages are not removed but any new local storage is not added.
- Deploy VM command validates service and disk offerings based on local storage config.
- Upgrade uses the global config 'use.local.storage' to set the zone level config for local storage.
(cherry picked from commit 62710aed37606168012a0ed255a876c8e7954010)
Reviewed-By: Frank
Changes:
- Changes to deploy awsapi in separate webapps folder and listeining on 7080 port
- Revert changes which were done to open 7080 on CloudStack
Conflicts:
awsapi/conf/cloud-bridge.properties
client/tomcatconf/server-ssl.xml.in
Add checkbox to zone wizard indicating whether zone will use local
storage. If checked, bypass add primary storage step and enable local
storage for zone on creation.
Conflicts:
ui/index.jsp
Place tagging widget in a separate action and dialog class; it is
indicated by a 'tag' icon for better clarity.
-- This removes the requirement to specify a dummy 'edit' action on
multi-rules; instead, the separate tag action will appear automatically
as long as 'tags' is specified under the multiEdit's properties.
Conflicts:
client/WEB-INF/classes/resources/messages.properties
ui/css/cloudstack3.css
ui/index.jsp
Labels for CPU/Mem (as found in compute offering window) are missing
the required values for CPU and RAM
Original patch by: Pranav Saxena <pranav.saxena@citrix.com>
reviewed-by: Brian Federle <brian.federle@citrix.com>
2) Added services api support for plugging/unplugging the nics to VpcElement
Conflicts:
api/src/com/cloud/network/NetworkService.java
core/src/com/cloud/vm/VMInstanceVO.java
server/src/com/cloud/network/NetworkManagerImpl.java
server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
server/test/com/cloud/network/MockNetworkManagerImpl.java
1) Added API frameworks for the feature. New commands:
* CreateVPCCmd
* ListVPCsCmd
* DeleteVPCCmd
* UpdateVPCCmd
* CreateVPCOfferingCmd
* UpdateVPCOfferingCmd
* DeleteVPCOfferingCmd
* ListVPCOfferingsCmd
2) New db tables:
* `cloud`.`vpc`
* `cloud`.`vpc_offerings`
* `cloud`.`vpc_offering_service_map`
and corresponding VO/Dao objects.
Added vpc_id field to `cloud.`networks` table - not null when network belongs to VPC
3) New Manager and Service interfaces- VpcManager/VpcService
4) Automatically create new VpcOffering (if doesn't exist) on system start
5) New Action events:
* VPC.CREATE
* VPC.UPDATE
* VPC.DELETE
* VPC.OFFERING.CREATE
* VPC.OFFERING.UPDATE
* VPC.OFFERING.DELETE
Conflicts:
api/src/com/cloud/api/ApiConstants.java
client/tomcatconf/commands.properties.in
server/src/com/cloud/api/ApiDBUtils.java
server/src/com/cloud/network/NetworkManagerImpl.java
setup/db/create-schema.sql
Description:
Incorporating more changes post review by Alena.
1. Renamed the ListCiscoVSMDetailsCmd command
to ListCiscoNexusVSMsCmd. The command will
return a list of VSMs always, depending on
what parameter is passed to it. If a clusterId
is passed to it, it will return the VSM
associated to that cluster, if present. If
a zoneId is passed in, it will return a list
of all VSMs configured for any clusters of
type VMware within that zone. If neither is
passed, it will return a list of all VSMs
configured in the management server. If no
VSMs are found, it will return an exception
response.
2. Cleaned up miscellaneous code.
Conflicts:
client/tomcatconf/cisconexusvsm_commands.properties.in
server/src/com/cloud/server/ManagementServerImpl.java
Description:
More changes incorporating Alena's review comments:
1. Changed id to clusterId for better naming.
2. Changed the name of GetCiscoVSMByClusterIdCmd
to ListCiscoVSMDetailsCmd.
3. Removed the GetCiscoVSMDetailsCmd command.
4. Removed catch{} blocks in each of the Nexus
related APIs since the exceptions raised in
the API implementations will be caught in the
command dispatcher.
5. Added ActionEvent annotation to
deleteCiscoNexusVSM() function.
6. Modified each Nexus API command's
getEntityOwnerId() to return
Account.ACCOUNT_ID_SYSTEM.
Description:
Didn't stage all modified files in previous
commit by mistake. Checking in the rest of
the changes in this commit. Please refer to
immediate previous commit for CS-9919 for
details on what changes went in with this
commit.
Conflicts:
client/tomcatconf/cisconexusvsm_commands.properties.in
Description:
Added a new API GetCiscoVSMDetailsCmd. This
API gets all details of a VSM when provided
with the VSM ID.
Resolved Conflicts:
client/tomcatconf/cisconexusvsm_commands.properties.in
Conflicts:
client/tomcatconf/cisconexusvsm_commands.properties.in
Description:
1. Modify addCiscoNexusVSMCmd to enable a VSM
by default, when it is added to a cluster.
2. Put in two new APIs exposed to the user -
a. EnableCiscoNexusVSMCmd
b. DisableCiscoNexusVSMCmd
Disabling a VSM does not delete it. It only
prevents the Management Server from using that
VSM. This is useful if the VSM is in
maintenance mode.
At this point, the mgmt server comes up, loading the
Nexus related modules without dying.
Description:
1) Added a new properties file for Cisco N1kv VSM commands:
cisconexusvsm_commands.properties.in
2) Added the CiscoNexusVSMElement to the components.xml file.
3) Modified CiscoNexusVSMElement to implement NetworkElement.
The NetworkElement interface functions are not
relevant to the N1KV VSM, so we override them
with noops.
4) Added an addDao() of CiscoNexusVSMDeviceDaoImpl in populateDaos(),
else we'd run into a failure to look up the VSM's dao when the
mgmt server is starting up:
com.cloud.utils.exception.CloudRuntimeException: Unable to find DAO com.cloud.network.dao.CiscoNexusVSMDeviceDao
5) Also added the CiscoNexusVSMElementService in populateServices(),
and modified CiscoNexusVSMElement to implement Manager as well.
6) populateServices() was running into an exception that indicated
that it was unable to find a commands.properties file for the
cisco n1kv vsm service. Fixed it by changing getProperties() in
CiscoNexusVSMElement to return the correct string
"cisconexusvsm_commands.properties", and putting in an @Override
for getProperties() in CiscoNexusVSMElement. Also fixed up all
the other functions in CiscoNexusVSMElement that needed to have
@Override. Also updated build/developers.xml with this file
location. And did other small cleanup.
7) More clean up in CiscoNexusVSMDeviceManagerImpl.
Conflicts:
server/src/com/cloud/configuration/DefaultComponentLibrary.java
Implement ability to add and modify Nexus vSwitches at the cluster
level:
-Add new fields to add cluster form, to allow addition of a vSwitch
-Add new tab to VMware clusters to list cluster's vSwitch
-Add details panel to vSwitch allowing enable, disable, and removal of
vSwitch from cluster
Adds new action, upload volume, to the storage->volumes list view
header. This will present a dialog to specify URL & name of volume,
and select a VM to attach the volume to.
Server API calls are still incomplete and rely on hardcoded values.
-Add additional shortcuts for:
-Primary storage
-Secondary storgage
-Virtual routers
-System VMs
-Replace host stats with the new shortcuts
-Add 'zone' dropdown to create form for the newly added-shortcuts'
sections, to support creating these items without a zone context
2) Added new api - changeServiceForSystemVm - to support service offering upgrade for system vms
3) Removed global config parameters that are not in use anymore: consoleproxy.ram.size, consoleproxy.cpu.mhz, secstorage.vm.ram.size, secstorage.vm.cpu.mhz
-Allow for editing of traffic labels within the zone wizard; visible
by going to the create physical network(s) step and clicking the
'edit' button under each traffic type.
-Make hypervisor selection part of the create zone step, instead of
the add cluster step -- this is to allow the physical network UI to
have the selected hypervisor for the edit traffic labels dialog.
-Show drag-and-drop UI for basic zone setup, so that user can edit
traffic labels for a basic zone. Note that user can only have one
physical network here.
-Allow creation of storage traffic in a basic zone configuration, by
optionally dragging storage traffic type icon to first physical
network
Properly sync returned sticky fields from the API with the UI form, by
dynamically generating createForm fields based on Lb sticky
capabilities object; this will keep the required and conditional
fields properly up to date with the API requirements.
When elb capability is enabled on the network offering, we:
1) on each createLB command:
* associate ip address to the LB rule owner
* create LB rule
2) on each deleteLb command:
* delete the rule
* disassociate ip address
The rule belongs to the owner, so proper usage events are generated
2) Added elasticIp and elasticLb network capabilities. Provided support to create network offering with these capabilities.
3) Added one more default network offering having elasticip and elasticlb
4) Public network support to Basic zone. You can associate/disassociate IP addresses now
1. remove Garbagecollection primary storage allocator. other storage allocators fails may because there is primary storage with the same tag, it is not caused by no primary storage capacity.
2. delete template will try to delete templates in secondary storage in the API.
status 11497: resolved fixed
GarbageCollecting
Conflicts:
server/src/com/cloud/template/HyervisorTemplateAdapter.java
Revert "bug 10837: rename api related to netapp"
This reverts commit 5db6b500dd1bbb96bfddbd7eda6cf1f616e2e0f9.
Conflicts:
api/src/com/cloud/api/commands/MigrateVolumeCmd.java
client/tomcatconf/commands-ext.properties.in