Commit Graph

675 Commits

Author SHA1 Message Date
Sheng Yang
f89dd9050c IPv6: CLOUDSTACK-1113: Fix the mechanism to find the usable IP in the IPv6
The new policy is:
1. Generate a random IP.
2. Find the next available IP, start from the generated IP.
3. If we cannot find an available IP after certain times(10000 by default,
network.ipv6.search.retry.max) retry, give up.
2013-02-05 14:31:12 -08:00
Sheng Yang
2e236a8322 IPv6: Fix ip address in range check 2013-02-05 14:31:06 -08:00
Hugo Trippaers
cb6b96cda2 Summary: Path changes for new rpm packaging
The path to the keyfile was hardcoded, so added an alternative path for
compatibility with the packaging locations. Should ideally become a
setting in the config file.
2013-02-05 20:49:02 +01:00
Rohit Yadav
9cf5f9d780 Transaction: Fix better debug message
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-05 12:42:33 +05:30
Rohit Yadav
7795cfd759 Transaction: Fix NPE while reading db.properties file
Handle NPE while setting up data source in Transaction

- This occured as Transaction is called it would run the following which
  assumed db.properties file, which may not be in one's classpath;

        // Initialize with assumed db.properties file
        initDataSource("db.properties");
- So, while this would be logged in logs, this is ignored for DatabaseCreator's
  case. In DatabaseCreator we call initDataSource with full path anyway.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-05 12:35:43 +05:30
Rohit Yadav
c9e764818b rat: Fix license headers on ucs plugin etc.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-02 08:57:16 -08:00
Kelven Yang
7b75f0d990 Sync master to javelin one more time 2013-02-01 11:37:33 -08:00
Kishan Kavala
9ea90c3359 Merge branch 'master' into regions
Conflicts:
	client/tomcatconf/components.xml.in
	server/src/com/cloud/api/ApiResponseHelper.java
2013-02-01 11:38:16 +05:30
Kelven Yang
7bd8bec68a Sync javelin with master up to 894cb8f7d9 2013-01-31 17:20:19 -08:00
frank
8416d81b99 Merge branch 'ucs' into javelin
Conflicts:
	api/src/org/apache/cloudstack/api/ApiConstants.java
	plugins/pom.xml
	utils/src/com/cloud/utils/exception/CloudRuntimeException.java
	utils/src/com/cloud/utils/exception/RuntimeCloudException.java
2013-01-31 14:44:07 -08:00
Kelven Yang
176523254e Improve component lifecycle management with system run-level concept 2013-01-30 15:21:02 -08:00
Kelven Yang
da2e6461a6 Remove temporary hacking and use Official way to wire-up servlet with injection under Spring 2013-01-30 15:21:01 -08:00
Sheng Yang
4640b82719 IPv6: Fix generated DUID-LL
Should be: 00:03:00:01 + <Mac>
2013-01-29 22:01:44 -08:00
Sheng Yang
f9a68e7f15 IPv6: Add vlan overlap checking 2013-01-29 22:01:38 -08:00
Sheng Yang
0b62fc4c17 IPv6: Verify if requested IPv4/IPv6 addresses are valid
Also rename NetUtils.isValidIPv6() to NetUtils.isValidIpv6()
2013-01-29 19:08:09 -08:00
Sheng Yang
2cbca372bf IPv6: Add support for IPv6 on DeployVMCmd 2013-01-28 18:54:34 -08:00
Kelven Yang
8887f01b37 CLOUDSTACK-1070: HypervisorTemplateAdapter needs to be configured with proper name 2013-01-28 17:12:41 -08:00
frank
997e9fb7b0 CloudStack CLOUDSTACK-723
Enhanced baremetal servers support on Cisco UCS
2013-01-28 16:29:54 -08:00
Sheng Yang
fa00ddf07e IPv6: Fix getIp6FromRange() 2013-01-27 19:07:44 -08:00
Sheng Yang
bd4bc025d1 IPv6: Accept IPv6 parameter for createNetworkCmd
Also ass public_ipv6_address for ipv6 address management.

Extend nics and vlans for ipv6 address.

Add dependency to com.googlecode.ipv6(java-ipv6).

Modify dhcpcommand for ipv6.
2013-01-26 23:14:15 -08:00
Kelven Yang
af4485ae9e Put nonoss under Spring framework 2013-01-25 15:41:48 -08:00
frank
301b0b9090 CloudStack CLOUDSTACK-723
Enhanced baremetal servers support on Cisco UCS

init
2013-01-25 15:00:09 -08:00
Edison Su
a18baf8c83 fix compile 2013-01-25 10:24:25 -08:00
Kishan Kavala
c6ae19d12f Merge branch 'master' into regions 2013-01-25 18:49:47 +05:30
Kishan Kavala
1f57d925eb Apply API refactoring changes. Make changes to Regions API to work with new code 2013-01-25 18:41:59 +05:30
Edison Su
cb25eed37a forget to check in code 2013-01-25 00:25:14 -08:00
Rohit Yadav
356866c72b Merge branch 'master' into javelin
- 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>
2013-01-24 19:18:53 -08:00
Alex Huang
1567a112fa unit test works again 2013-01-24 14:36:44 -08:00
Kelven Yang
a26e075f0e Remove final modifer to ListS3Cmd class as it conflicts with Spring injection 2013-01-23 18:24:03 -08:00
Kelven Yang
45a92ba369 Fix the initialization of management server 2013-01-23 15:29:41 -08:00
Rohit Yadav
03d2c015ae GenericDao: Add method to find by uuid string including removed entities
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 14:57:41 -08:00
Rohit Yadav
7a927e36f0 ReflectUtil: Use collections to grow list and not manual array memory management
Fix usage in ApiDispatcher. Add two kinds of helpers:
- One that gets list of exclude cmd whose fields are not be included
- One that loops till a base class is asssignable from superclass

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 14:57:41 -08:00
Rohit Yadav
cbdeeebc6c IteratorUtil: Add generic method to return sorted list out of a collection
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 14:57:41 -08:00
Alex Huang
ee39ec82d3 Making unit tests work 2013-01-22 11:18:51 -08:00
Edison Su
4fbecf15ec add unit test back, primary storage life cycle is tested 2013-01-21 17:01:00 -08:00
Hugo Trippaers
04f82623f6 Merge branch 'master' into cloud-agent-with-openvswitch
Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
2013-01-21 12:18:21 +01:00
Kelven Yang
2c5859dbd4 Bring javelin back to the status of being able to start System VMs after another round of master branch merge 2013-01-18 19:15:32 -08:00
Rohit Yadav
64f13e1cd8 DatabaseCreator: Fast forward merge due to recent pull in merge of master 2013-01-18 18:16:04 -08:00
Rohit Yadav
7fbe935c36 Transaction: Fix static, add method to reinit static datasource off a db props file
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-18 18:08:11 -08:00
Rohit Yadav
e688fbfc24 ScriptRunner: Alternate constructor to get verbosity flag
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-18 18:07:37 -08:00
Rohit Yadav
6214b1d4bd db.properties: adding other key value info for dbcreator to work in a generic way
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-18 17:19:55 -08:00
Alex Huang
10d9c019a9 All merge conflicts resolved 2013-01-18 12:14:57 -08:00
Rohit Yadav
ddf9c6586d Transaction: cosmetics fix
The default data source assumption is that db server is on localhost, port 3306
and has user cloud and password cloud. The static variables rely on hardcoded
db.properties file only. We need to fix it

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-17 19:09:38 -08:00
Kelven Yang
17a94b20ec Always use premium setting in ConsoleProxyManager 2013-01-17 18:23:06 -08:00
Kelven Yang
93985ae191 allow nested injection in ComponentContext 2013-01-17 18:23:06 -08:00
frank
fb050894f5 CloudStack CLOUDSTACK-723
Enhanced baremetal servers support on Cisco UCS

able to dump xmlobject
2013-01-17 16:11:15 -08:00
Rohit Yadav
ef07cde449 DBCreator: Fix ScriptRunner to strip comments, reformat code
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-17 16:10:07 -08:00
Kelven Yang
6d155416c2 System VM can start now with Spring bootstraped management server 2013-01-17 14:22:14 -08:00
Alex Huang
cbb7ff1c32 added missing files 2013-01-17 06:50:59 -08:00
Alex Huang
b751b69c55 Merge branch 'javelin' of https://git-wip-us.apache.org/repos/asf/incubator-cloudstack into javelin 2013-01-17 06:50:19 -08:00
Alex Huang
9759ad57f2 Commit the current changes to unit tests 2013-01-17 06:50:11 -08:00
Min Chen
3dabd5fbf3 Clean up ApiServer, ApiServlet and ApiDispatcher flow to handle various CloudRuntimeException
and CloudException in one place, and Introduced ApiErrorCode to handle CloudStack API error
code to standard Http code mapping.

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-16 22:36:34 -08:00
Min Chen
bdcfa1919b Clean up ApiServer, ApiServlet and ApiDispatcher in handling various
exceptions, and Introduced ApiErrorCode to handle CloudStack API error
code to standard Http code mapping.
2013-01-16 21:52:48 -08:00
Kelven Yang
497dcd5044 Get rid of PlugService annotation, replace it with Spring standard injection in command classes 2013-01-16 18:44:44 -08:00
Kelven Yang
2be270de89 Separate loadable components like Gurus, Elements, Adapters to componentContext.xml 2013-01-16 16:33:59 -08:00
frank
53473c07b9 CloudStack CLOUDSTACK-723
Enhanced baremetal servers support on Cisco UCS

introduce an python etree like xml helper.
Ok, this is not a new wheel. Frankly speaking, all Java XML API just suc**.
there are two popular types of XML API in java, one class is for data binding, JAXB,
XStream fall into this category. Another class is tree based, like JDOM, XOM ...

for XML api call, data binding library is painful as you have to specify the schema
that how xml stream converts to java object, which means you have to pre-define all
schemas(xsd file for JAXB, java object for XStream ...). This is not productive, because you
must add new schema when XML document grows.

Tree based library shines in this case, for it's able to dynamically create an object tree
from xml stream without any knowledge of its structure. However, all tree based
XML API library fall into below convention:

Element e = root.getChildElement("child1").getChildElement("child2").getChildElement("child3")...getChildElement("childN")

anything wrong with it???

the sadness is if there is no "child2", you will get a NPE with above code, which means you have to judge
before getting.

And, why so verbose?? why not:

Element e = root.child1.child2.child3...childN ???

Ok I am joking, it's impossible in Java the world knows Java is a static language.

but you can actually do:

Element e = root.get("child1.child2.child3");

or

List<Element> e = root.getAsList("child1.child2.child3")

this is known as XPath style(though XPATH use '/'), python etree has supported it.

so I did this toy for my UCS xml api call, it's quite like etree which is easy to use, for example:

<components.xml>
    <system-integrity-checker class="com.cloud.upgrade.DatabaseUpgradeChecker">
        <checker name="ManagementServerNode" class="com.cloud.cluster.ManagementServerNode"/>
        <checker name="EncryptionSecretKeyChecker" class="com.cloud.utils.crypt.EncryptionSecretKeyChecker"/>
        <checker name="DatabaseIntegrityChecker" class="com.cloud.upgrade.DatabaseIntegrityChecker"/>
        <checker name="DatabaseUpgradeChecker" class="com.cloud.upgrade.PremiumDatabaseUpgradeChecker"/>
    </system-integrity-checker>
</components.xml>

XmlObject xo = XmlObjectParser.parseFromFile("~/components.xml.in");
List<XmlObject> checkers = xo.getAsList("system-integrity-checker.checker");

then you get a list of XmlObject which represent each 'checker' element:

XmlObject firstChecker = checkers.get(0);
// firstChecker.get("name") == "ManagementServerNode"
// firstChecker.get("class") == "com.cloud.cluster.ManagementServerNode"
// firstChecker.getTag() == "checker"
// firstChecker.getText() == "" if it's <checker/>xxx</checker>, then getText() == "xxx"

example 2:
<checker name="ManagementServerNode" class="com.cloud.cluster.ManagementServerNode"/>
    <system-integrity-checker class="com.cloud.upgrade.DatabaseUpgradeChecker">
        <checker name="ManagementServerNode" class="com.cloud.cluster.ManagementServerNode"/>
    </system-integrity-checker>
</components.xml>

yout can do:

XmlObject xo = XmlObjectParser.parseFromFile("~/components.xml.in");
XmlObject checker = xo.get("system-integrity-checker.checker");

then it returns a single object as we only have one "checker" in xml stream,

or you still do

List<XmlObject> checkers = xo.getAsList("system-integrity-checker.checker");

it returns a list which only contains one element of "checker"

if you do:

XmlObject checker = xo.get("system-integrity-checker.checker.this_middle_element_doesnt_exist.some_element");

it returns a null without any exception, so you don't have to worry if a parent element is missing when getting a leaf element

again it's not a new wheel, I just hate JAVA xml api
2013-01-16 16:27:21 -08:00
Kelven Yang
727fab71cb Disable StorageProvider, storageType introduced in Javelin new code, temporarily, to make existing code run 2013-01-16 14:16:01 -08:00
Kelven Yang
4c1257bf18 Handle proxy object situation in dispatching API command 2013-01-16 11:28:09 -08:00
Min Chen
97cb16944f Merge branch 'master' into api_limit 2013-01-15 18:18:34 -08:00
Min Chen
8608925216 Consolidate RuntimeCloudException and CloudRuntimeException into one
class CloudRuntimeException, and removed RuntimeCloudException to avoid
confusion.
2013-01-15 18:07:08 -08:00
Min Chen
4355d06a86 Reuse APIChecker adapter interface for APi Rate limit checking and optimize ApiRateLimitService interface.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-15 15:53:19 -08:00
Kelven Yang
af67d87662 Fix issues with @DB support in Spring environment 2013-01-15 12:35:03 -08:00
Hugo Trippaers
2d69a1855d Summary: Begone pesky tabs 2013-01-15 10:00:58 +01:00
Hugo Trippaers
a0ade283b7 Summary: Add initial support for OpenVswitch to the KVM hypervisor
Create OvsVifDriver to deal with openvswitch specifics for plugging
intefaces

Create a parameter to set the bridge type to use in
LibvirtComputingResource. 
Create several functions to get bridge information from openvswitch

Add a check to detect the libvirt version and throw an exception when
the version is to low ( < 0.9.11 )

Fix classpath loading in Script.findScript to deal with missing path
separators at the end.

Add notification to the BridgeVifDriver that lswitch broadcast type is
not supported.
2013-01-15 09:09:14 +01:00
Rohit Yadav
0a31945ee5 PluggableService: Fix interface to return list of cmd classes
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-14 19:01:26 -08:00
Rohit Yadav
ea3f5ecb54 Fix license for xml files in javelin
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-12 06:31:47 -08:00
Rohit Yadav
38eaa04b98 Pull changes from master into javelin
- Disables simulator plugin, breaks build, available via simulator profile
- Fixes spring injections
- Fix api,acl plugins, ApiServer, ApiDispatcher
- Fix other merge conflicts

Conflicts:
	docs/en-US/external-firewalls-and-load-balancers.xml
	plugins/acl/static-role-based/src/org/apache/cloudstack/acl/StaticRoleBasedAPIAccessChecker.java
	server/src/com/cloud/api/ApiDispatcher.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
	utils/test/com/cloud/utils/log/CglibThrowableRendererTest.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-12 06:02:54 -08:00
Rohit Yadav
7960dd429b utils: Fix getByUuid to accept string arg, it's not gonna be anything else
Due to generic programming, most classes declare Daos with ID as Long, so they
get the getUuid(Long) definition, it has to be getUuid(String), uuid is not
gonna be anything else. Fix GenericDaoBase and GenericDao.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-11 18:44:19 -08:00
Kelven Yang
f57dcaa820 Loadable components to be in separted Spring component bundling 2013-01-11 15:33:15 -08:00
Noa Resare
1033200b0b CLOUDSTACK-933: CglibThrowableRendererTest writing stack traces...
Improve CglibThrowableRenderer test case

Log to a separate Logger instead of the default one to avoid spurious
stack traces in test run output.

Actually verify that registering CglibThrowableRenderer with the
alternative log hierarchy actually removes call trace lines that
contains the string <generated>
2013-01-11 17:09:44 -05:00
Alex Huang
757e1a931b cleanup warnings in utils 2013-01-10 17:19:30 -08:00
Alex Huang
1294cdc701 pulled from master 2013-01-10 16:01:01 -08:00
Alex Huang
d6f44a4d6a merged from master 2013-01-10 15:55:42 -08:00
Rohit Yadav
c4e890c55d PluggableService: Refactor method to return map of key value pairs
- Makes plugins self contained so they decide their properties file format
- PluggableService creates the contract that implementing entity will return a
  properties map which is apiname:rolemask (both are strings)

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 15:55:02 -08:00
Rohit Yadav
f2ae0ae5ae PropertiesUtil: Refactor process config file method in utils, return map of key=value
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 15:55:01 -08:00
Alex Huang
f922c6fc03 Keep removing 2013-01-10 14:46:52 -08:00
Alex Huang
56e5fbdee2 removed import of componentlocator and inject from all files 2013-01-10 11:44:47 -08:00
Alex Huang
395de6f2b3 merge from latest pull 2013-01-10 11:07:11 -08:00
Alex Huang
f40e7b7511 removed componentlocator and inject 2013-01-10 11:05:20 -08:00
Min Chen
7f8262d45e Remove IdentityProxy and IdentityTypeAdapter class.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-09 17:40:58 -08:00
Kelven Yang
cf5d935d81 Seperate configurable components out and let them be loaded from Spring configuration file 2013-01-09 14:39:16 -08:00
Alex Huang
b6c56736e5 merge from master 2013-01-09 05:20:36 -08:00
Alex Huang
0bcb64605f all built with the latest 2013-01-09 05:02:39 -08:00
Alex Huang
14bd345f1f merge compiles 2013-01-09 04:41:27 -08:00
Rohit Yadav
db297a338f utils: Reflection utilities to get cmd, annotation and fields
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-08 18:54:29 -08:00
Kelven Yang
b274c570f9 Cleanup places that use explicit wiring of the components 2013-01-08 17:45:33 -08:00
Alex Huang
7f3a748d6c Merge branch 'javelin' of https://git-wip-us.apache.org/repos/asf/incubator-cloudstack into javelin 2013-01-08 14:46:38 -08:00
Kelven Yang
32e67f60d4 Work with Spring proxy-ed object 2013-01-08 14:24:19 -08:00
Alex Huang
cf8de7ee17 Removed all the .project files 2013-01-08 14:11:00 -08:00
Alex Huang
30f2565d98 Merge branch 'api_refactoring' into javelin 2013-01-08 12:36:04 -08:00
Kelven Yang
992fa473be convert existing singleton objects into Spring loadable bean components 2013-01-08 11:07:22 -08:00
Rohit Yadav
0a25884215 Merge branch 'master' into api_refactoring 2013-01-07 17:28:57 -08:00
Kelven Yang
559933f062 First page of Javelin management server bootstraped by Spring is able to show now 2013-01-07 15:54:18 -08:00
Hugo Trippaers
d616dcdd40 Summary: small fix for the classpath loader
Add the file separator if the path does not end with one
2013-01-07 22:17:55 +01:00
Rohit Yadav
0659c21f2d Get latest changes, Merge branch 'master' into api_refactoring 2013-01-04 17:22:57 -08:00
Noa Resare
0055d80211 CLOUDSTACK-771: maven: add mysql version reference to enable non-snapshot builds
If you update your build to build a version with a name not ending in -SNAPSHOT,
you are required to declare versions on all your depdendencies. There is already
a cs.mysql.version property, this patch makes sure it is used where appropriate.

Signed-off-by: Chip Childers <chip.childers@gmail.com>
2013-01-04 12:20:06 -05:00
Kelven Yang
25d14418b9 Replace Adapters<T> with standard List<T> to work with Spring injection 2013-01-03 13:33:52 -08:00
Rohit Yadav
d235859168 Fix PluggableService to provide interface for ACL adapters etc. to get configs
- Fix interface to return array of strings, or filenames
- Fix StaticRoleBased ACL adapter to process config files by going through all pluggable services
- Refactor interface names

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-02 16:29:39 -08:00
Rohit Yadav
d8d87adc22 Merge branch 'master' into api_refactoring
Conflicts:
	api/src/com/cloud/api/commands/ListS3sCmd.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-02 13:57:55 -08:00
John Burwell
e4583ced2e S3-backed Secondary Storage 2013-01-02 10:28:47 -08:00