Visitar URL original
Merge branch 'ucs' into javelin · gitqueue/cloudstack@8416d81 · GitHub
Skip to content

Commit 8416d81

Browse files
author
frank
committed
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
2 parents 1b2b369 + 1a1d716 commit 8416d81

29 files changed

Lines changed: 1661 additions & 2 deletions

‎api/src/org/apache/cloudstack/api/ApiConstants.java‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,7 @@ public class ApiConstants {
428428
public static final String COUNTERPARAM_LIST = "counterparam";
429429
public static final String AUTOSCALE_USER_ID = "autoscaleuserid";
430430
public static final String BAREMETAL_DISCOVER_NAME = "baremetaldiscovername";
431+
public static final String UCS_DN = "ucsdn";
431432

432433
public enum HostDetails {
433434
all, capacity, events, stats, min;

‎plugins/hypervisors/ucs/pom.xml‎

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?xml version="1.0"?>
2+
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4+
<modelVersion>4.0.0</modelVersion>
5+
<parent>
6+
<groupId>org.apache.cloudstack</groupId>
7+
<artifactId>cloudstack-plugins</artifactId>
8+
<version>4.1.0-SNAPSHOT</version>
9+
<relativePath>../../pom.xml</relativePath>
10+
</parent>
11+
<groupId>org.apache.cloudstack</groupId>
12+
<artifactId>cloud-plugin-hypervisor-ucs</artifactId>
13+
<version>4.1.0-SNAPSHOT</version>
14+
<name>cloud-plugin-hypervisor-ucs</name>
15+
<url>http://maven.apache.org</url>
16+
<properties>
17+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18+
</properties>
19+
<dependencies>
20+
<dependency>
21+
<groupId>junit</groupId>
22+
<artifactId>junit</artifactId>
23+
<version>3.8.1</version>
24+
<scope>test</scope>
25+
</dependency>
26+
<dependency>
27+
<groupId>org.apache.cloudstack</groupId>
28+
<artifactId>cloud-utils</artifactId>
29+
<version>${project.version}</version>
30+
</dependency>
31+
<dependency>
32+
<groupId>org.apache.cloudstack</groupId>
33+
<artifactId>cloud-api</artifactId>
34+
<version>${project.version}</version>
35+
</dependency>
36+
</dependencies>
37+
</project>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.cloud.ucs.database;
2+
3+
import com.cloud.utils.db.GenericDao;
4+
5+
public interface UcsBladeDao extends GenericDao<UcsBladeVO, Long> {
6+
7+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.cloud.ucs.database;
2+
3+
import javax.ejb.Local;
4+
5+
import com.cloud.utils.db.DB;
6+
import com.cloud.utils.db.GenericDaoBase;
7+
@Local(value = { UcsBladeDao.class })
8+
@DB(txn = false)
9+
public class UcsBladeDaoImpl extends GenericDaoBase<UcsBladeVO, Long> implements UcsBladeDao {
10+
11+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package com.cloud.ucs.database;
2+
3+
import javax.persistence.Column;
4+
import javax.persistence.Entity;
5+
import javax.persistence.GeneratedValue;
6+
import javax.persistence.GenerationType;
7+
import javax.persistence.Id;
8+
import javax.persistence.Table;
9+
10+
@Entity
11+
@Table(name="ucs_blade")
12+
public class UcsBladeVO {
13+
@Id
14+
@GeneratedValue(strategy=GenerationType.IDENTITY)
15+
@Column(name="id")
16+
private long id;
17+
18+
@Column(name="uuid")
19+
private String uuid;
20+
21+
@Column(name="ucs_manager_id")
22+
private long ucsManagerId;
23+
24+
@Column(name="host_id")
25+
private Long hostId;
26+
27+
@Column(name="dn")
28+
private String dn;
29+
30+
public long getId() {
31+
return id;
32+
}
33+
34+
public void setId(long id) {
35+
this.id = id;
36+
}
37+
38+
public long getUcsManagerId() {
39+
return ucsManagerId;
40+
}
41+
42+
public void setUcsManagerId(long ucsManagerId) {
43+
this.ucsManagerId = ucsManagerId;
44+
}
45+
46+
public Long getHostId() {
47+
return hostId;
48+
}
49+
50+
public void setHostId(Long hostId) {
51+
this.hostId = hostId;
52+
}
53+
54+
public String getDn() {
55+
return dn;
56+
}
57+
58+
public void setDn(String dn) {
59+
this.dn = dn;
60+
}
61+
62+
public String getUuid() {
63+
return uuid;
64+
}
65+
66+
public void setUuid(String uuid) {
67+
this.uuid = uuid;
68+
}
69+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.cloud.ucs.database;
2+
3+
import java.util.List;
4+
import java.util.Map;
5+
6+
import javax.naming.ConfigurationException;
7+
8+
import com.cloud.utils.db.Filter;
9+
import com.cloud.utils.db.GenericDao;
10+
import com.cloud.utils.db.GenericSearchBuilder;
11+
import com.cloud.utils.db.SearchBuilder;
12+
import com.cloud.utils.db.SearchCriteria;
13+
import com.cloud.utils.db.SearchCriteria2;
14+
15+
public interface UcsManagerDao extends GenericDao<UcsManagerVO, Long> {
16+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.cloud.ucs.database;
2+
3+
import javax.ejb.Local;
4+
5+
import com.cloud.utils.db.DB;
6+
import com.cloud.utils.db.GenericDaoBase;
7+
8+
@Local(value = { UcsManagerDao.class })
9+
@DB(txn = false)
10+
public class UcsManagerDaoImpl extends GenericDaoBase<UcsManagerVO, Long> implements UcsManagerDao {
11+
}
12+
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
package com.cloud.ucs.database;
2+
3+
import javax.persistence.Column;
4+
import javax.persistence.Entity;
5+
import javax.persistence.GeneratedValue;
6+
import javax.persistence.GenerationType;
7+
import javax.persistence.Id;
8+
import javax.persistence.Table;
9+
10+
@Entity
11+
@Table(name="ucs_manager")
12+
public class UcsManagerVO {
13+
@Id
14+
@GeneratedValue(strategy=GenerationType.IDENTITY)
15+
@Column(name="id")
16+
private long id;
17+
18+
@Column(name="zone_id")
19+
private long zoneId;
20+
21+
@Column(name="uuid")
22+
private String uuid;
23+
24+
@Column(name="name")
25+
private String name;
26+
27+
@Column(name="url")
28+
private String url;
29+
30+
@Column(name="username")
31+
private String username;
32+
33+
@Column(name="password")
34+
private String password;
35+
36+
public long getId() {
37+
return id;
38+
}
39+
public void setId(long id) {
40+
this.id = id;
41+
}
42+
public String getUuid() {
43+
return uuid;
44+
}
45+
public void setUuid(String uuid) {
46+
this.uuid = uuid;
47+
}
48+
public String getUrl() {
49+
return url;
50+
}
51+
public void setUrl(String url) {
52+
this.url = url;
53+
}
54+
public String getUsername() {
55+
return username;
56+
}
57+
public void setUsername(String username) {
58+
this.username = username;
59+
}
60+
public String getPassword() {
61+
return password;
62+
}
63+
public void setPassword(String password) {
64+
this.password = password;
65+
}
66+
public long getZoneId() {
67+
return zoneId;
68+
}
69+
public void setZoneId(long zoneId) {
70+
this.zoneId = zoneId;
71+
}
72+
public String getName() {
73+
return name;
74+
}
75+
public void setName(String name) {
76+
this.name = name;
77+
}
78+
}
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
package com.cloud.ucs.manager;
2+
3+
import javax.inject.Inject;
4+
5+
import org.apache.cloudstack.api.APICommand;
6+
import org.apache.cloudstack.api.ApiConstants;
7+
import org.apache.cloudstack.api.ApiErrorCode;
8+
import org.apache.cloudstack.api.BaseCmd;
9+
import org.apache.cloudstack.api.BaseCmd.CommandType;
10+
import org.apache.cloudstack.api.Parameter;
11+
import org.apache.cloudstack.api.ServerApiException;
12+
import org.apache.log4j.Logger;
13+
14+
import com.cloud.exception.ConcurrentOperationException;
15+
import com.cloud.exception.InsufficientCapacityException;
16+
import com.cloud.exception.NetworkRuleConflictException;
17+
import com.cloud.exception.ResourceAllocationException;
18+
import com.cloud.exception.ResourceUnavailableException;
19+
import com.cloud.server.ManagementService;
20+
import com.cloud.user.Account;
21+
22+
@APICommand(description="Adds a Ucs manager", responseObject=AddUcsManagerResponse.class)
23+
public class AddUcsManagerCmd extends BaseCmd {
24+
public static final Logger s_logger = Logger.getLogger(AddUcsManagerCmd.class);
25+
26+
@Inject
27+
private UcsManager mgr;
28+
29+
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, description="the Zone id for the ucs manager", required=true)
30+
private Long zoneId;
31+
32+
@Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="the name of UCS manager")
33+
private String name;
34+
35+
@Parameter(name=ApiConstants.URL, type=CommandType.STRING, description="the name of UCS url")
36+
private String url;
37+
38+
@Parameter(name=ApiConstants.USERNAME, type=CommandType.STRING, description="the username of UCS")
39+
private String username;
40+
41+
@Parameter(name=ApiConstants.PASSWORD, type=CommandType.STRING, description="the password of UCS")
42+
private String password;
43+
44+
@Override
45+
public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException,
46+
ResourceAllocationException, NetworkRuleConflictException {
47+
try {
48+
AddUcsManagerResponse rsp = mgr.addUcsManager(this);
49+
rsp.setObjectName("ucsmanager");
50+
rsp.setResponseName(getCommandName());
51+
this.setResponseObject(rsp);
52+
} catch (Exception e) {
53+
s_logger.warn("Exception: ", e);
54+
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, e.getMessage());
55+
}
56+
}
57+
58+
@Override
59+
public String getCommandName() {
60+
return "addUcsManagerResponse";
61+
}
62+
63+
@Override
64+
public long getEntityOwnerId() {
65+
return Account.ACCOUNT_ID_SYSTEM;
66+
}
67+
68+
public Long getZoneId() {
69+
return zoneId;
70+
}
71+
72+
public void setZoneId(Long zoneId) {
73+
this.zoneId = zoneId;
74+
}
75+
76+
public String getName() {
77+
return name;
78+
}
79+
80+
public void setName(String name) {
81+
this.name = name;
82+
}
83+
84+
public String getUrl() {
85+
return url;
86+
}
87+
88+
public void setUrl(String url) {
89+
this.url = url;
90+
}
91+
92+
public String getUsername() {
93+
return username;
94+
}
95+
96+
public void setUsername(String username) {
97+
this.username = username;
98+
}
99+
100+
public String getPassword() {
101+
return password;
102+
}
103+
104+
public void setPassword(String password) {
105+
this.password = password;
106+
}
107+
108+
}

0 commit comments

Comments
 (0)