Refactoring the vlan and global_setting tests to use the marvin
libraries instead of command classes.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Use python-requests [1] for Marvin. Requests enables graceful handling
of http connections. Marvin's cloudstackConnection has been refactored,
cleaned up to act as a single module for all kinds of cloudstack API
requesting.
TODO:
1. session based login mechanism of the UI should work from
cloudstackConnection
2. cloudmonkey can also reuse /import marvin.cloudstackConnection
3. More graceful handling of POST requests
[1] http://docs.python-requests.org/en/latest/
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Fixed list processing that uses lambdas to use x.lower() assuming x is string,
and not forced/caster str.lower(obj)
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
commit 7ce45ea108
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 15 18:36:33 2013 +0530
Fixed indentation and line ending
commit 0232048f90
Merge: 735c4c897911e9
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 15 17:05:59 2013 +0530
Merge branch 'master' into cisco-vnmc-api-integration
Conflicts:
api/src/org/apache/cloudstack/api/ApiConstants.java
client/tomcatconf/commands.properties.in
setup/db/db/schema-410to420.sql
tools/marvin/marvin/integration/lib/base.py
commit 735c4c8955
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 15 15:20:37 2013 +0530
Fixed unit tests based on recent changes in the Vnmc resource code
commit f166f2d0bf
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 15 14:50:25 2013 +0530
added tests to register vnmc and asa appliance in cloudstack
commit f38be4810e
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 8 18:42:06 2013 +0530
Removed unwanted files
commit 902ce426c1
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 8 17:59:30 2013 +0530
Fixed auto-wiring of components for Cisco Vnmc
commit 08467ee307
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 8 16:04:54 2013 +0530
Fixed compilation issues, incorrect merges from last commit
commit 67f11d46ad
Merge: 3422ceec9c68e1
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 8 15:11:10 2013 +0530
Merge branch 'master' into cisco-vnmc-api-integration
commit 3422ceefb6
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 8 14:42:32 2013 +0530
Correctly associating nat, acl policy sets to edge security profile in VNMC
commit 9c1e193fca
Author: Koushik Das <koushik.das@citrix.com>
Date: Sun Apr 7 21:22:22 2013 +0530
Passing correct subnet mask while creating edge firewall in VNMC
commit 05e3d04b55
Author: Koushik Das <koushik.das@citrix.com>
Date: Tue Apr 2 17:50:57 2013 +0530
Added changes related to icmp
commit bcecb589de
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 1 13:57:21 2013 +0530
Some xml file renames
commit 9c1ee93f2e
Author: Koushik Das <koushik.das@citrix.com>
Date: Sat Mar 30 15:54:25 2013 +0530
Fixed PF and static NAT rule creation in VNMC
commit 7e6159fa05
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 27 18:53:49 2013 +0530
Added more unit tests for Cisco Vnmc element
commit fc0ed9adb6
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 27 16:48:28 2013 +0530
Cleaning up VNMC config as part of network shutdown
commit 5a427d48e2
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 27 02:22:54 2013 +0530
Added unit test for Vnmc network element implement() method
commit 48cbf34d3b
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 27 02:20:45 2013 +0530
Passing correct gateway ip while creating vservice node and guest port profile in Nexus
commit 2c386c61ef
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 22 13:50:52 2013 +0530
Nexus 1000v fix
commit 4d2168bfa9
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 22 00:30:01 2013 +0530
Egress firewall rule
commit e81ab3a2f4
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Mar 21 10:50:29 2013 +0530
More tests for VnmcResource class
commit 9e9c179212
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Mar 21 00:25:10 2013 +0530
Fixed build issue from master merge
commit f0c1af2b5c
Merge: 4f305c2873ec27
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 20 16:20:10 2013 +0530
Merge branch 'master' into cisco-vnmc-api-integration
Conflicts:
api/src/com/cloud/network/Network.java
api/src/org/apache/cloudstack/api/ApiConstants.java
client/tomcatconf/components-nonoss.xml.in
client/tomcatconf/nonossComponentContext.xml.in
plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
setup/db/db/schema-410to420.sql
vmware-base/src/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java
commit 4f305c2beb
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 20 15:09:34 2013 +0530
Initial set of tests, will add more in subsequent commits
commit 50bfcc1f75
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 20 15:02:14 2013 +0530
Updated pom to copy xmls to target location during build
commit 45bc92b826
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 20 14:58:59 2013 +0530
Fixed cpmpilation issue as missed out adding this file
commit 2ce7cdc756
Author: Koushik Das <koushik.das@citrix.com>
Date: Sun Mar 17 17:02:25 2013 +0530
Creating vservice node and associating it with port profile in nexus for guest VMs
commit 387545caff
Author: Koushik Das <koushik.das@citrix.com>
Date: Sat Mar 16 11:14:43 2013 +0530
Added license headers to XML files
commit 43e2997421
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 13 11:51:59 2013 +0530
Changes related to instantiating the dao components
commit 99e88ecbf9
Author: Koushik Das <koushik.das@citrix.com>
Date: Tue Mar 12 23:40:35 2013 +0530
Fix build errors after merge from master
commit 7c20b120c2
Author: Koushik Das <koushik.das@citrix.com>
Date: Tue Mar 12 23:31:46 2013 +0530
Fixing poms and other xmls
commit ee868759a8
Merge: 9c94b6da1b33ca
Author: Koushik Das <koushik.das@citrix.com>
Date: Tue Mar 12 14:44:59 2013 +0530
Merge branch 'master' into cisco-vnmc-api-integration
Conflicts:
api/src/com/cloud/network/Network.java
api/src/org/apache/cloudstack/api/ApiConstants.java
plugins/pom.xml
setup/db/create-schema.sql
commit 9c94b6d231
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 8 22:20:23 2013 +0530
Fixed XML to create static route in VNMC correctly
commit ef069b3323
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 8 15:26:26 2013 +0530
Added logic for revoking ACL, PF and Static NAT rules
commit 4c65b70668
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 8 13:51:37 2013 +0530
Renamed delete-acl-rule -> delete-rule
commit aa94eca516
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 8 00:38:52 2013 +0530
- Creating static routes in VNMC as part of edge firewall configuration
- Passing order parameter while creating rules so that they are evaluated in a specific order
- Added methods in VnmcResource for listing acl policies and rules belonging to variouos policies. This is used to compute order while creation of various rules in VNMC
commit cc824e8585
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Mar 7 12:16:29 2013 +0530
Adding appropriate ACL rules for PF and static NAT
commit fb23c50365
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 1 17:21:45 2013 +0530
Added logic for deleting various VNMC artifacts. Added/updated relevant xmls as well.
commit 970c21a9a3
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 1 01:54:10 2013 +0530
Added implementation for delete of asa and vnmc apis
commit 22e1455142
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 1 01:19:43 2013 +0530
List asa api to return guest network if associated. From this it can be inferred if asa is available or not
commit 32223736c9
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 1 00:50:55 2013 +0530
Added Vmware cluster info along with asa1kv appliance.
This is used to select the correct n1kv vsm for configuring the guest network
commit deed3cc951
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 25 18:03:59 2013 +0530
Added support for static NAT rules.
- Xmls for creating static nat rules in VNMC
- applyStaticNats implementation in VNMC network element
- handler for static nat in resource class
commit 681f0b7b50
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 25 10:44:13 2013 +0530
Added implementation for firewall and port forwarding rules in Cisco VNMC element class
commit 66b01a6589
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 22 19:19:44 2013 +0530
VNMC xml for deleting NAT policy
commit 5d98686768
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 22 19:16:41 2013 +0530
Added support for PF/DNAT rules.
Created methods in VNMCConnection class to create PF rules. Also moved out common code for PF and source NAT in methods.
Updated the corresponding VNMC resource class.
commit 8db2fbeb8f
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 22 18:21:45 2013 +0530
Added xml for creating NAT policy set in VNMC
commit f2da0d50ca
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 22 18:17:53 2013 +0530
Added VNMC XMLs for supporting PF/DNAT rules.
Also moved out some XMLs related to source NAT to common files so that these can be used for both source NAT and DNAT
commit 124a48819d
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Feb 21 17:53:12 2013 +0530
Separated out creation of ACL policy set and policy in VNMC
commit 1e38515f35
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Feb 21 11:54:44 2013 +0530
Added changes to create ingress fw rules in VNMC
commit cb2fba9e7c
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Feb 14 16:23:05 2013 +0530
Source NAT in VNMC
commit 720fe2f908
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Feb 13 14:16:47 2013 +0530
Fix Vnmc test file
commit d6dbe790c6
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Feb 13 12:07:03 2013 +0530
Added db. tables for asa1kv devices and their mapping with guest network
commit 3fd7e30f6e
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Feb 13 11:52:12 2013 +0530
Changes:
- Added implementation for add/list asa1kv APIs
- Added agent command for associating asa1kv appliance with logical edge firewall in VNMC
- Added handler for the above agent command in VNMC resource class
- Updated VNMC element class to support the above
commit d08e2a1faf
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Feb 13 11:40:58 2013 +0530
Added lifecycle APIs for Cisco Asa 1000v appliance.
Added corresponding Dao and VO classes.
Also added mapping Dao and VO for guest netwok and asa appliance
commit 6b999ec867
Author: Koushik Das <koushik.das@citrix.com>
Date: Tue Feb 12 00:05:39 2013 +0530
Changes:
a. Added handlers for CreateLogicalEdgeFirewall and ConfigureNexusVSMForASA commands
b. Logic for add/list vnmc device API
c. Partial implementation for network element implement()
commit 0656250308
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 11 23:48:19 2013 +0530
Moved VNMC provider creation to Network.java. The plugin code would have been the ideal place to keep it but current state of the code doesn't allow it.
commit dc402eaa7a
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 11 23:35:19 2013 +0530
Added new commands for the following:
a. Logical edge firewall creation in VNMC
b. Asa1kv vservice node creation and updating asa1kv inside port profile with guest network vlan id in n1kv VSM
commit d6cdfe35f8
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 11 23:06:36 2013 +0530
Added helper method to create port profile in n1kv VSM with additional parameters VDC tenant and edge security profile
Added helper method to create a vservice node in n1kv VSM
commit db42da17e9
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 11 22:44:01 2013 +0530
Added database table for storing VNMC devices
commit f991436335
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 8 16:00:15 2013 +0530
Added support for network offering creation with VNMC as provider for firewall, port forwarding, source nat
commit 74de210359
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 8 15:06:11 2013 +0530
Added name attribute for the VNMC lifecycle commands
commit 6ce25ef11d
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 16:44:28 2013 -0800
Fix licensing
commit 392cd8ed63
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 16:38:19 2013 -0800
cisco-vnmc: Fix api to use new conventions
commit 6b142bbaab
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:33:33 2013 -0800
WIP: configure ASA port profile
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 1ae21ea49a
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:33:01 2013 -0800
WIP rename device to resource to better reflect nature of VNMC
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 84d218f972
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:32:54 2013 -0800
WIP: fixes for associating ASA1000v to tenant
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit d74c6a9ac2
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:32:45 2013 -0800
WIP: fixes for associating ASA1000v to tenant
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 9350d10849
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:32:29 2013 -0800
WIP: admin commands for adding / listing VNMC
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit a8031a0cfe
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:41 2013 -0800
WIP ASA 1000v listing"
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit f9cc674b9c
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:36 2013 -0800
WIP : edge firewall
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 6a0964af00
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:30 2013 -0800
WIP : edge security policy
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit e32295e8cf
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:24 2013 -0800
WIP : dhcp server policy
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 446a9b8491
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:18 2013 -0800
WIP : dhcp server policy
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit e35e0eb59b
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:14 2013 -0800
Move unit test
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 2b43a3e74e
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:08 2013 -0800
Move unit test
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 11b804a894
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:29:54 2013 -0800
WIP: XML control of VNMC
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
The test deploys two VMs in the simulator context and verifies that the
default host -antiaffinity processor placed the VMs on two distinct
hosts.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
activation property marvin.config will attempt to deploy a zone again on
running the marvin.test profile. This is unnecessary as marvin.setup
already finishes deploying a zone.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
QuickCloud: fix license issue
QuickCloud: use a different activation for deploying quickcloud
Otherwise marvin gets invoked during mvn install -Dquickcloud
QuickCloud : configuration moved to applicationContext.xml from componentContext.xml
QuickCloud: default to enabled state for devcloud zone
QuickCloud: environment.properties helps customize location of pid file
For now it replaces ConsoleProxyManagerImpl with StaticConsoleProxyManager
Usage: mvn install -Dquickcloud
QuickCloud: rename deploy profile
QuickCloud: remove cyclic dependency introduced in nonoss build by moving SecondaryStorageDiscoverer into services
However with this fix, developers will be unable to run 'PremiumSecondaryStorageResource' (for VMWare installations) using mvn exec:java.
Instead they will have to use the exploded archive from systemvm.zip
- Remove tabularize field
- Now display types are: default, json and table
- Make requester pep8 compliant
- Remove unnecessary comments, if we want them we should put them on each method
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Added
1. display = [default|json|tabularize] has been added in the config to replace tabularize = [true|false]
2. tabularize is deprecated but we will still set it as "false" once the user removes it out of their config to avoid throwing an error. This will be removed in the next major version.
3. display = "default" is added to the [ui] section of the config if it is not present.
4. You can now output JSON formatted text by setting the config display = json
5. You can now filter text in JSON output mode. (i.e. list users account=grudzien filter=account,id,email). Filtered output returns a properly formatted JSON document.
Removed
1. Removed the printing of attr keys in read_config().
Deprecated
1. tabularize = [true|false] is now messaged as deprecated.
Signed-off-by: Justin Grudzien <grudzien@gmail.com>
Use codegenerator to sync marvin cloudstackAPIs from a given cloudstack
endpoint. Sometimes you want to synchronize marvin with the new APIs
that you have introduced locally or any alterations you may have made
the API. In such cases you can sync marvin's libraries as follows.
$sudo mvn -Pdeveloper,marvin.sync -Dendpoint=localhost -pl :cloud-marvin
This needs sudo privileges since it will call on pip to upgrade the existing
marvin installation on your machine. The endpoint is where your management
server is running and is exposing the API discovery plugin. A listApis call is
made and the resulting json deserialized back into marvin's library entities.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
API discovery plugin will return embedded entities for marvin to
discovery and generate it's API classes.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Added a test that will ensure the advanced router comes up in the
account belonging to the deployed VM. It should come up with the
publicip, guestip and linklocalip.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
No need to register the plugin seperately now. The installer will
register with nose's entry_point automatically.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Introducing the simulator spring context -
simulatorComponentContext.xml.in. This separates the simulator beans so
that production deployments don't have the simulator in them. Context is
enabled with -Dsimulator as part of the developer profile.
Also adding config files - Simulator Config for advanced zone and basic
zone deployments under setup/dev.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
1. deployAndRun will use the more modern argparse module
2. improving logging within the remoteSSHClient, moving to debug and
default logging to INFO
3. removing dependance on the xmlrunner. use nose --with-xunit instead
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
The database creator caused a cyclic dependecny in the simulator which
is removed with this commit. Additionally the simulator profile is now
merged with developer profile and a test for server health is included
Steps to run:
$ mvn -Pdeveloper clean install
$ mvn -Pdeveloper -pl developer -Ddeploydb
$ mvn -Pdeveloper -pl developer -Ddeploydb-simulator
$ mvn -pl client jetty:run
To deploy an adv. zone and test the server health:
$ mvn -Pdeveloper,marvin -Dmarvin.config=`find . -name simulator.cfg` -pl :cloud-marvin test
Conflicts:
pom.xml
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
The patch adds feature in cloudmonkey to have multiple profiles by passing
custom cfg file to set custom profile in both interactive shell and cmd line tool
use cases.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
The fix makes systemvmtemplate as the default veewee vbox appliance if not
other appliance is provided to be built
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Thanks to Marcus for testing and helping on KVM template, adding locale fix as
per Marcus's suggestion. Tested with latest build on my local vbox.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
As suggested by Marcus, by compression qcow2, we end up having smaller disk image.
I'm still archiving the qcow2 as bz2 because our installation manual still ask
users to cloud-install-sys-tmplt which expects a *.qcow2.bz2
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
addIpToNic
removeIpFromNic
listNics
1) Removed trailing whitespaces from commands.properties file for the commands above
2) Created a new category "Nic" in gen_toc.py for the new commands
minor pom refactor to put all the tools under one placeholder pom.
Also adds a profile for marvin to run deployDataCenter via mvn options.
$mvn -Pdeveloper,marvin -pl :cloud-marvin -Dmarvin.config=<path/to/config>
OR
$cd tools/marvin
$mvn -Pmarvin -pl :cloud-marvin -Dmarvin.config=path/to/config
will deploy the datacenter using the marvin.config property's value
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
The veewee configuration files used for the devcloud base-box build, as
well as the newly introduced files used to create a system vm, were
inappropriately identified as ASLv2 licensed and copyrighted by the ASF.
The fixes:
- The ASF headers stripped to match the source.
- The files are now excluded from RAT checks in the root pom.
- The tools/whisker/descriptor.xml file updated
- The root LICENSE and NOTICE were re-generated
Changes in the Apache Whisker templates for LICENSE and NOTICE files
caused a good bit of whitespace oddness in this commit for those 2
files.
Signed-off-by: Chip Childers <chip.childers@gmail.com>
cloudstack-packages: fixes install_packages (diff -> diffutils),
use debconf-set-selections for iptables-persistent
preseed.cfg : change root password, use separate partitions for /usr /var /home
definition.rb: reset timeout to sane value
cleanup.sh, zerodisk.sh: move wipe of root directory to zerodisk
CLOUDSTACK-1066: no need for busybox and dictionaries
CLOUDSTACK-1066: fix bug in generating signature
CLOUDSTACK-1066: don't confuse veewee about root password
Clean up stuff copied in to vm by veewee
Detail: Since the script executes inside the running vm, the chroot is not necessary. Also the standard jre is used instead of sun jre.
BUG-ID: CLOUDSTACK-1066
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org> 1360277071 -0800
- Remove different scripts, just use postinstall.sh that runs after basic appliance
is built using veewee
- Port package installation method from old script
- Time the installation/build process
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
- Fixes metaprogramming to inject methods during shell class object's runtime
- This enable new apis that are synced to come up with new verbs, docs etc.
- Fixes printing issue
- Fixes null bitfield parsing issue
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
following changes
- introduced notion of event bus with publish, subscribe, unsubscribe
semantics
- a plug-in can implement the EventBus abstraction to provide event
bug to CloudStack
- A rabbitMQ based plug-in that can interact with AMQP servers to
provide message broker based event-bug
- stream lines, action events, usage events, alerts publishing in to
convineance classed which are also used to publish corresponding
event on to event bus
- introduced notion of state change event. On a state change, in the
state machine corrsponding to the resource, a state change event is
published on the event bug
- associated a state machined with Snapshot and Network objects
- Virtual Machine, Volume, Snaphost, Network object state changes wil
result in a state change event
Author: Prasanna Santhanam <tsp@apache.org>
Date: Sun Dec 9 23:13:24 2012 -0800
marvin: storagetype reference only when attr present
reference the storagetype only when present. storagetype is reqd
only for devcloud style tests
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Description: Adds API calls updateDefaultNicForVirtualMachine,
addNicToVirtualMachine, and removeNicFromVirtualMachine. These are
intended to allow a user to modify a VM's configuration post
deployment, to adjust the networks to which the VM belongs.
BUG-ID: CLOUDSTACK-645
Submitted-by: Brian Angus <blangus@betterservers.com>
Submitted-by: Ryan Dietrich <ryan@betterservers.com>
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1359494800 -0700
- Pygments based colored output for tabular and normal list outputs
- Fix cfg processing as per new cfg paths and ds
- Get rid of clint and old way of parsing and color printing
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Changes config path to ~/.cloudmonkey this will break cfg path but all configs are
still backward compatible. We need folder to put a lot of stuff that is coming
for ex. themes and plugins
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
distributions from packaged distributions.
* Remove all binary dependency license and notice info from the top
level LICENSE and NOTICE files in our source tree
* Create two copies of the Whisker descriptor.xml file (stored in
tools/whisker), one that can be used to regenerate the source distro's
LICENSE and NOTICE files, and one that can generate an appropriate
LICENSE and NOTICE file for a packaged version of the software.
* Generate and commit the package LICENSE and NOTICE file to the
tools/whisker folder.
Signed-off-by: Chip Childers <chip.childers@gmail.com>
- Fixed new join dao impls as spring components
- Fixed component context xml to load api rate limit checker
- Fixed root pom.xml for duplicate plugin
- Fixed list data centers method
- Fixed following conflicts:
api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java
api/src/org/apache/cloudstack/api/command/user/offering/ListServiceOfferingsCmd.java
api/src/org/apache/cloudstack/api/command/user/template/DeleteTemplateCmd.java
api/src/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java
plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java
server/src/com/cloud/api/ApiDBUtils.java
server/src/com/cloud/api/ApiServer.java
server/src/com/cloud/api/query/QueryManagerImpl.java
server/src/com/cloud/configuration/DefaultComponentLibrary.java
server/src/com/cloud/server/ManagementServerImpl.java
server/src/com/cloud/storage/swift/SwiftManagerImpl.java
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
The following api commands have no cloudmonkey equivalent because
cloudmonkey grammar misses the related verbs.
~/tools/cli/cloudmonkey/marvin/cloudstackAPI(branch:master*) $ ls disassociateIpAddress.py
disassociateIpAddress.py
------------------------------------------------------------
~/tools/cli/cloudmonkey/marvin/cloudstackAPI(branch:master*) $ ls lock*
lockAccount.py lockUser.py
------------------------------------------------------------
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Added a devcloud config that supports having the management
server run within devcloud, using the basic zone setup.
Signed-off-by: Chip Childers <chip.childers@gmail.com>
Detail: This merges the resizevolume feature branch, which provides the
ability to migrate a disk between disk offerings, thereby changing its
size, or specifying a new size if current disk offering is custom.
BUG-ID: CLOUDSTACK-644
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1358358209 -0700
The label associated with the hypervisor nic to isolate traffic types by
Guest/Mgmt/Public/Storage was not passed in the marvin.traffictype
object and sent through to mgmt server resulting in traffic types not
being applied.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
The devcloud-kvm.py script will take the kvm.properties file to generate
an advanced zone configuration with two physical networks with traffic
labels for 'guest' and 'public' traffic going on 'eth0' and 'eth1'
respectively.
To generate config:
$ python devcloud-kvm.py -i kvm.properties -o devcloud-kvm-advanced.cfg
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
zones do not qualify for vlans but phy networks should carry the
underlying vlan information. moving the vlan down to physical_network
in configGenerator.py.
also the sandbox example has been corrected to reflect this change
and includes an illustration of using traffic types with labels.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Reported-By: Marcus Sorenson <mlsorenson@apache.org>
remove api-discovery_commands.properties since the plugin returns the
listApis call as a map directly. not needed for api doc generation.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Detail: Working on getting a KVM-based devcloud so that development that
requires the KVM hypervisor can be simpler. This adds some setup devcloud files.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1357852438 -0700
If asyncblock is set to true, prints dots as polling requests are made.
When result is obtained, dots are wiped and result is printed.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
- Adds new cloudmonkey config field, tabularize
- If tabularize is set to true, all the list of dict in response are printed as
table
- The columns of the tables can be filtered using the filter= argument, for ex:
list domains listall=true filter=id,name,path
- filter arg will take comma separated values, if they have space put them under
quotes
- Empty filter argument will cause it to print the whole table
- Multiple fields with the same name will cause it to print the column again
- In case there is a typo in the field, that column is skipped. It takes an
intersection of response dict keys and filter keys provided
- Uses opensource prettytable library to pretty print tabular data
TODOs:
- Handle recursive table printing for nested list of dicts
- Colorize table columns if community wants such a feature
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Fixes regression for network.conf, commit:
commit 97fe053e2e
Author: Chip Childers <chip.childers@gmail.com>
Date: Mon Aug 13 11:12:01 2012 -0400
Removed ASF license header from network.conf, because XCP doesn't respect comment lines in this file
This seemed to have been re-introduced during the merge in of my patch. This file has no been removed
completely and is created in-line through the puppet module.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
- Fix handles shell loop
- Handles any control breaks without breaking the shell
- Handles ctrl+c to start afresh on the shell
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
The getUserApiClient attribute in cloudstackTestClient provides a user level
api client that executes all API calls with permissions of a given user instead
of the default admin
To compile marvin using maven any standard python interpreter above 2.4
is sufficient. The tests under test/integration will need 2.7 to run.
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1354929362 -0800
Detail: VM Life cycle tests needed minor changes to run them against a
devcloud - basic zone, local storage envrioment.
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1354760111 -0800
Detail: The listOsTypes API will filter when given the ostype name as
centOS 5.3. There is now no need to hardcode the uuids into the test
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1354228309 -0800
Patch moves config. info from cfg file to .sql file. Adds more options so DevCloud
can run on host-only IPs and cidr.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
There are two duplicates for the script cloud-set-guest-password:
> setup/bindir/cloud-set-guest-password.in
> tools/guest_password/cloud-set-guest-password
The one in tools/guest_password is older and all other scripts are in
setup/bindir. Therefore, keeping the former, removing the latter.
BUG-ID : CLOUDSTACK-504
Reviewed-by: Rohit Yadav <bhaisaab@apache.org>
Reported-by: Rohit Yadav
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
This is the second half of making cloudmonkey and marvin more
flexible in environments that may have https enabled and / or
a different path for the cloudstack API.
Signed-off-by: Chip Childers <chip.childers@gmail.com>
This is the first part of fixing CLOUDSTACK-514, and is hopefully
backward compatible with previous use of Marvin. I added two new
parameters to the cloudstackConnection module, protocol and path.
Both have been defaulted to the previously *assumed* values.
Signed-off-by: Chip Childers <chip.childers@gmail.com>
- Move config, grammar to common
- Cleanup cloudmonkey.py, import from common
- Import precached verbs, if fails init to {}
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Posix mode allows the parse to:
- split by whitespace but value="between quotes are retained or enclose"
- quotes are stripped out
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
The old way of parsing involved complex object loading and traversing, in
new implementation json is used directly and authenticated requests via port
8080 making use of api and secret keys are recommended.
All args on shell are created in {"key": "value"} pairs which are used to create
url with &key=value. This way maps can be passed as args, example:
create networkoffering name=unique-name guestiptype=Isolated traffictype=GUEST
supportedservices=Dhcp,Dns serviceproviderlist[0].service=Dhcp
serviceproviderlist[0].provider=VirtualRouter serviceproviderlist[1].service=Dns
serviceproviderlist[1].provider=VirtualRouter
Added new conf variables:
- timeout: the no. of seconds after which an async job query timeouts
default value of 3600 seconds
- asycnblock: if user wants their async commands to be tracked
default value is 'true', if set to false, user can query using jobid which is
returned by the async command and queried using:
query asyncjobresult jobid=<jobid>
BUG-ID : CLOUDSTACK-499
Reviewed-by: Rohit Yadav <bhaisaab@apache.org>
Reported-by: Dave Cahill
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Detail: Every new API that doesn't have a valid category prefix needs
to be include in the gen_toc.py script for apidocs, marvin and
cloudmonkey to build.
BUG-ID: CLOUDSTACK-501
Reviewed-by: mvn clean install -P developer
Reported-by: Rohit Yadav <bhaisaab@apache.org>
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1353063359 +0530
Detail: unittest-xml-reporting 1.4 - the verbose option is available via
settings.py.
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1352448075 +0530
Due to whitespaces, apidocs was not able to process and generate commands.xml
with APIs listed in ext and virtualrouter .in files. This in turn affects marvin
code generation of cloudstackAPI and cloudmonkey.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Makes commands pipe-able like bash.
Example while inside shell:
> list virtualmachines | grep id
> list accounts | more
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Detail: This reminds us to tag commits that should be considered for a bugfix
release, making them easier to find/apply and less likely to slip through the
cracks. Individual committers really should know best which things need to be
pushed as an immediate bugfix anyway, this makes it easy to tag things as such.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1352308027 -0700
- fix weird autocompletion bug which won't let you enter the letter b [0]
- make set params, api and secret key vars lowercase
- use partition to get strings for do_set
- while installing, check and only then add readline (requires gcc and can fail)
- show monkey prompt by default, let users change if needed
[0] http://superuser.com/questions/297527/cant-type-the-b-letter-in-python-shell-in-os-x
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Patch makes cloudmonkey installable and redistributable using source dist from
pypi under apache compliant license. Most visible issues have been solved and
cloudmonkey should work well with CloudStack 4.0 and master, also until APIs do
not change.
To install now:
pip install cloudmonkey
or, if you have to:
easy_install cloudmonkey
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Use partition instead of splitting on whitespace. This is little robust, but
may still fail for parameters whose values have whitespaces such as names etc.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
- autocompletions for help docs
- more verbose doc strings with __doc__ import from the module and list of
required args and all args
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
cached verb dictionary stores the following as a list:
- name of the API
- params (list of args)
- docstring
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Search verb in apis takes more time than filtering out apis that start with
that verb from the grammar.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Version are named in reflection of CloudStack.
<cli major-version>.<cloudstack minor>.<cloudstack.major>
So, for CloudStack 4.1.0, version for cli should be 0.1.4
To create distribution:
python setup.py sdist
python setup.py install
Using pip:
pip install dist/cloudmonkey*
Or pretty soon, from cheese shop:
pip install cloudmonkey
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
cloudmonkey
-----------
Apache CloudStack's very own monkey powered command line interface based on Marvin.
The neglected robot and monkey should rule the world!
Features:
- it's a shell and also a terminal tool
- scalable to find and run old and new APIs
- intuitive grammar and verbs
- autocompletion (functional hack)
- shell execution using ! or shell
- cfg support: user defined variables, like prompt, ruler, host, port etc.
- history
- colors
- dynamic API loading and rule generation
- leverages Marvin to get latest autogenerated APIs
- emacs like shortcuts on prompt
- uses apiKey and secretKey to interact with mgmt server
- logs all client commands
- PEP-8 compliant code
TODOs:
- Reverse search
- Fix input and output processing
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Detail: Integration tests use these libraries (base,utils,common) for
simplifying the usage of the API. These define the verbs of each
entity's usage (create, delete, add etc). For the CLI to present the
simplified API we'll leverage the integration libraries.
+ Fixes to setup-test-data.sh - kvm and xen each use a different version
of the built-in Cent OS template, 5.5 and 5.3 namely.
At a later point the setup-test-data script needs to be obsoleted.
ostypeids in tests should directly be determined from listOsTypes API
calls
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1351520707 +0530
- Fix the default builtin template url. The previous url is not reachable by
public network.
- Remove INSERT statement which already gets inserted in cloud.configuration
by mvn -P developer -Ddeploydb
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Detail: Create tarball of apidocs for distribution from jenkins
% mvn -Pdeveloper package
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1351321002 +0530
It seems that all the work is going into the installation guide instead
of the "-all" docs.
With this commit we build the installation guide documentation.
Detail: mysql-connector-python developed by Oracle will replace the MIT
licensed pymysql. mysql-connector-python is developed by Oracle and is
more favourable, faster and actively developed.
With this commit - the dbConnection object is also auto managed by
contextlib. Each transaction requests its own connection rather than
sharing one single connection for all the test runs.
BUG-ID : None
Reviewed-by: timeit comparison of pymysql and mysql-connector-python
Reported-by: dbExceptions and timeouts from Marvin test runs
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1350732083 +0530
Detail:
Sometimes tests need ssh access to the management server to perform
verification such as:
1. Pings from mgmt_server to agents
2. snapshots exist on secondary storage - mountable from mgmt server
For these the tests will need access to the config of the deployment and
the ip address of the mgmt server.
Egs: integration/component/test_egress.py and integration/component/test_snapshots.py
BUG-ID : CLOUDSTACK-377
Reported-by: Prasanna Santhanam
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1350624903 +0530
Detail: prepare-commit-msg now is skipped if -m flag is supplied, if user has
a template defined, if commit is a squash or a merge.
BUG-ID : none
Reviewed-by: Marcus Sorensen <marcus@betterservers.com>
Reported-by: Marcus Sorensen <marcus@betterservers.com>
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1350600822 -0600
Detail: CloudStack committers can optionally use this file to prepopulate their
commits with a standard form. The idea was that it would help us get better
commit messages. It is set up locally up by running the following from the root
of the repo:
'ln -s ../../tools/git/prepare-commit-msg .git/hooks/prepare-commit-msg'
Additionally, a different prepare-commit-msg could potentially be committed for
each branch and the link will always point to the one that's checked out.
BUG-ID : none
Reviewed-by: Marcus Sorensen <marcus@betterservers.com>
Reported-by: Rohit Yadav <rohit.yadav@citrix.com>
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1350596087 -0600
This is due to the nature of ASF release votes,
and the desire to see each individual artifact be tested.
Signed-off-by: Chip Childers <chip.childers@gmail.com>
There are various READMEs under Cloudstack. This makes it confusing for
finding the purpose of each directory and tool within the project. All
the necessary information can now be found in the top-level README.tools
that is markdown editable. For the most updated information however it
is best to provide a wiki link to the tool you have added. Each tool
lies in a seperate section, please keep formatting unchanged.
There is currently no script to build the docs with, this is an easy script
to build them.
An example how I use it:
$ cd ~wido/repos/cloudstack
$ tools/build/build_docs.sh -s $(echo ~wido/repos/cloudstack)
Signed-off-by: Chip Childers <chip.childers@gmail.com>
I've assumed that Gavin's commit is appropriate, based
on an assumption that we will keep these files in the source
tree. If https://issues.apache.org/jira/browse/LEGAL-146
results in a different opionion from the members, then we
will end up having to do something more drastic anyway.
* traffictypes = 'Guest', 'Management', 'Public', 'Storage'
- corresponding nic labels are given in the labeldict
* External device providers JuniperSrx, NetScaler and F5 load balancing
can now be configured
* examples are shown in the configGenerator.py script for basic,
advanced and EIP/ELB based zones
Conflicts:
tools/marvin/marvin/configGenerator.py
tools/marvin/marvin/deployDataCenter.py
* setup.py is the installer for marvin-nose plugin
* marvin-nose drive all tests using nose with other plugins like xunit, coverage, multiprocess execution etc
* -n option deprecated. All tests driven by nosetests --with-marvin
Using this plugin Nose will drive tests and this also allows using other
nose plugins. Cmd Line plugin support to be added
Conflicts:
tools/marvin/marvin/NoseTestExecuteEngine.py
Using this via Vagrant assumes that Vagrant is patched with the changes
made by Edison. The pull request to upstream these changes into the
Vagrant project are here: https://github.com/mitchellh/vagrant/pull/1043 )
* ant run-simulator - will seed the simulator jar and start CS
* ant run-marvin -Dmarvin.config="/path/config/file" - will
* configure a
cloudstack as per the given configuration. marvin.config - defaults
to a
two host simulator in an advanced zone
You can then connect your debugger over localhost:8787 or use the CS
ui
at localhost:8080/client for testing.
From: Prasanna Santhanam(Prasanna.Santhanam@citrix.com)
Fixed deployDataCenter.py to select the correct network offering based on if security groups are enabled. Also added default value to configGenerator.py for basic setup.
I would like to add an command line option to choose between advanced or basic networking configuration. This would allow me or others to choose advanced networking without having to edit the python code.
CS-14025: Status - Resolved Fixed
1. Packaging the marvin test client into an installable egg
2. There is a hudson job (marvin) that creates eggs for a specified
branch
3. Alternatively you can use the package-marvin ant target to get a
source tarball.
$ant package-marvin
will create a packaged source tarball of the testclient that is
redistributable and decoupled from the rest of the cloudstack build
reviewed-by: unittest
status 14608: resolved fixed
reviewed-by: Chirag Jog (chirag@clogeny.com)
Set the timeout countdown to start from beginning of each pollAsync instead
of setting it once for the entire run.
status 13234: resolved fixed
reviewed-by: unittest
When multiple tests in a user-decorator suite are run only the first
test runs successfully since the apiKey has been altered to that of a
regular user. Preventing failure of other tests by detecting user
context - user, admin, domain-admin.
@UserName decorator applies to a testSuite class not a testMethod
status 13234: resolved fixed
Uncomment each decorator to test
- tests run as existing admin
- tests run as new user in new domain
- tests run as new user in existing domain
- tests run as old user in existing domain
- tests run as new domain admin in new domain
reviewed-by: Chirag Jog
Each testCase class will use its own logger to distinguish log
messages when multiple suites are run. This will aid debugging
Every cloudstackTestCase will also contiain a class level attr of the
testClient which was previously available only to setUp/tearDown. Now
even setUpClass/tearDownClass can use this attribute.
http://confluence.cloudstack.org/display/QA/Testing+with+python
demo.cfg: sample configuration file containing the mgmt server location
testDeployVM.py : simple example demonstrated on confluence tutorial
testSshDeployVM.py : advanced example to demonstrate backend verification
depends on python's internal socket implementation. Added an explicit 3m
timeout. Test code MUST NOT induce sleeps longer than 3m, instead check status
periodically to keep the HTTPConnection alive.
reviewed-by: Chirag Jog <chirag@clogeny.com>
reviewed-by: Kishan
* Revert back to old guestCidrAddress
* Add default traffic types
* fixed typo when creating physical network, specifid wrong zone
* correctly specifying the guest VLAN as part of updating physical network
* zones now have to be configured with physical networks and providers
* enabling the virtual router and configuring it are sperate API action
* create networks of shared type with SG network offering is done implicitly
* SSVM to act as a direct connect agent
* Storage Resources handle SSVM commands
* create-schema.sql already has simulator_network_label. removing the label from create-schema-simulator.sql
from dicts only, lists and tuples which don't contain dicts will be directly
set to the attribute
- eg: listnetworkserviceproviderresponse : servicelist = ['vpn', 'dhcp',
'firewall'] contains no name,value combination to make attributes. So we make
self.servicelist = ['vpn','dhcp','firewall']
1.load hosts that in maintenance mode because maintenance is no longer an agent status now
2.don't disconnect agent when entering maintenance mode, again it's no longer an agent status now