bug 12934: added name to physical network

status 12934: resolved fixed
This commit is contained in:
Alena Prokharchyk 2012-01-09 14:20:37 -08:00
parent 223497baa4
commit adaea570e4
13 changed files with 65 additions and 22 deletions

View File

@ -68,6 +68,9 @@ public class CreatePhysicalNetworkCmd extends BaseAsyncCreateCmd {
@Parameter(name=ApiConstants.ISOLATION_METHODS, type=CommandType.LIST, collectionType=CommandType.STRING, description="the isolation method for the physical network[VLAN/L3/GRE]")
private List<String> isolationMethods;
@Parameter(name=ApiConstants.NAME, type=CommandType.STRING, required=true, description="the name of the physical network")
private String networkName;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -105,11 +108,11 @@ public class CreatePhysicalNetworkCmd extends BaseAsyncCreateCmd {
return speed;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public String getNetworkName() {
return networkName;
}
@Override
public String getCommandName() {
return s_name;
}
@ -137,8 +140,12 @@ public class CreatePhysicalNetworkCmd extends BaseAsyncCreateCmd {
@Override
public String getEventDescription() {
return "creating Physical Network. Id: "+getEntityId();
}
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@Override
public void execute(){
UserContext.current().setEventDetails("Physical Network Id: "+getEntityId());
@ -154,7 +161,7 @@ public class CreatePhysicalNetworkCmd extends BaseAsyncCreateCmd {
@Override
public void create() throws ResourceAllocationException {
PhysicalNetwork result = _networkService.createPhysicalNetwork(getZoneId(),getVlan(),getNetworkSpeed(), getIsolationMethods(),getBroadcastDomainRange(),getDomainId(), getTags());
PhysicalNetwork result = _networkService.createPhysicalNetwork(getZoneId(),getVlan(),getNetworkSpeed(), getIsolationMethods(),getBroadcastDomainRange(),getDomainId(), getTags(), getNetworkName());
if (result != null) {
setEntityId(result.getId());
} else {

View File

@ -52,8 +52,10 @@ public class ListPhysicalNetworksCmd extends BaseListCmd {
@IdentityMapper(entityTableName="data_center")
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, description="the Zone ID for the physical network")
private Long zoneId;
@Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="search by name")
private String networkName;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -66,6 +68,10 @@ public class ListPhysicalNetworksCmd extends BaseListCmd {
return zoneId;
}
public String getNetworkName() {
return networkName;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@ -82,7 +88,7 @@ public class ListPhysicalNetworksCmd extends BaseListCmd {
@Override
public void execute(){
List<? extends PhysicalNetwork> result = _networkService.searchPhysicalNetworks(getId(),getZoneId(), this.getKeyword(), this.getStartIndex(), this.getPageSizeVal());
List<? extends PhysicalNetwork> result = _networkService.searchPhysicalNetworks(getId(),getZoneId(), this.getKeyword(), this.getStartIndex(), this.getPageSizeVal(), getNetworkName());
if (result != null) {
ListResponse<PhysicalNetworkResponse> response = new ListResponse<PhysicalNetworkResponse>();
List<PhysicalNetworkResponse> networkResponses = new ArrayList<PhysicalNetworkResponse>();

View File

@ -31,6 +31,9 @@ public class PhysicalNetworkResponse extends BaseResponse{
@SerializedName(ApiConstants.ID) @Param(description="the uuid of the physical network")
private String id;
@SerializedName(ApiConstants.NAME) @Param(description="name of the physical network")
private String name;
@SerializedName(ApiConstants.BROADCAST_DOMAIN_RANGE) @Param(description="Broadcast domain range of the physical network")
private String broadcastDomainRange;
@ -111,5 +114,7 @@ public class PhysicalNetworkResponse extends BaseResponse{
this.isolationMethods = buf.delete(buf.length()-1, buf.length()).toString();
}
public void setName(String name) {
this.name = name;
}
}

View File

@ -88,9 +88,9 @@ public interface NetworkService {
Map<Service, Set<Provider>> getNetworkOfferingServiceProvidersMap(long networkOfferingId);
PhysicalNetwork createPhysicalNetwork(Long zoneId, String vnetRange, String networkSpeed, List<String> isolationMethods, String broadcastDomainRange, Long domainId, List<String> tags);
PhysicalNetwork createPhysicalNetwork(Long zoneId, String vnetRange, String networkSpeed, List<String> isolationMethods, String broadcastDomainRange, Long domainId, List<String> tags, String name);
List<? extends PhysicalNetwork> searchPhysicalNetworks(Long id, Long zoneId, String keyword, Long startIndex, Long pageSize);
List<? extends PhysicalNetwork> searchPhysicalNetworks(Long id, Long zoneId, String keyword, Long startIndex, Long pageSize, String name);
PhysicalNetwork updatePhysicalNetwork(Long id, String networkSpeed, List<String> tags, String newVnetRangeString, String state);

View File

@ -67,4 +67,6 @@ public interface PhysicalNetwork {
String getUuid();
String getName();
}

View File

@ -3077,6 +3077,9 @@ public class ApiResponseHelper implements ResponseGenerator {
if(result.getState() != null){
response.setState(result.getState().toString());
}
response.setName(result.getName());
response.setObjectName("physicalnetwork");
return response;
}

View File

@ -1522,7 +1522,9 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura
}else{
broadcastDomainRange = PhysicalNetwork.BroadcastDomainRange.ZONE.toString();
}
PhysicalNetwork defaultNetwork = _networkMgr.createPhysicalNetwork(zone.getId(), null, null, null, broadcastDomainRange, domainId, null);
String pNtwkName = zone.getName() + "-pNtwk";
PhysicalNetwork defaultNetwork = _networkMgr.createPhysicalNetwork(zone.getId(), null, null, null, broadcastDomainRange, domainId, null, pNtwkName);
//String defaultXenLabel = "cloud-private";

View File

@ -4172,7 +4172,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
@Override
@DB
@ActionEvent(eventType = EventTypes.EVENT_PHYSICAL_NETWORK_CREATE, eventDescription = "Creating Physical Network", create = true)
public PhysicalNetwork createPhysicalNetwork(Long zoneId, String vnetRange, String networkSpeed, List<String> isolationMethods, String broadcastDomainRangeStr, Long domainId, List<String> tags) {
public PhysicalNetwork createPhysicalNetwork(Long zoneId, String vnetRange, String networkSpeed, List<String> isolationMethods, String broadcastDomainRangeStr, Long domainId, List<String> tags, String name) {
// Check if zone exists
if (zoneId == null) {
throw new InvalidParameterValueException("Please specify a valid zone.");
@ -4245,7 +4245,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
try {
txn.start();
// Create the new physical network in the database
PhysicalNetworkVO pNetwork = new PhysicalNetworkVO(zoneId, vnetRange, networkSpeed, domainId, broadcastDomainRange);
PhysicalNetworkVO pNetwork = new PhysicalNetworkVO(zoneId, vnetRange, networkSpeed, domainId, broadcastDomainRange, name);
pNetwork.setTags(tags);
pNetwork.setIsolationMethods(isolationMethods);
@ -4265,7 +4265,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
}
@Override
public List<? extends PhysicalNetwork> searchPhysicalNetworks(Long id, Long zoneId, String keyword, Long startIndex, Long pageSize){
public List<? extends PhysicalNetwork> searchPhysicalNetworks(Long id, Long zoneId, String keyword, Long startIndex, Long pageSize, String name){
Filter searchFilter = new Filter(PhysicalNetworkVO.class, "id", Boolean.TRUE, startIndex, pageSize);
SearchCriteria<PhysicalNetworkVO> sc = _physicalNetworkDao.createSearchCriteria();
@ -4276,6 +4276,11 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
if (zoneId != null) {
sc.addAnd("dataCenterId", SearchCriteria.Op.EQ, zoneId);
}
if (name != null) {
sc.addAnd("name", SearchCriteria.Op.LIKE, "%" + name + "%");
}
return _physicalNetworkDao.search(sc, searchFilter);
}

View File

@ -50,7 +50,10 @@ public class PhysicalNetworkVO implements PhysicalNetwork {
long id;
@Column(name="uuid")
private String uuid;
private String uuid;
@Column(name="name")
private String name;
@Column(name="data_center_id")
long dataCenterId;
@ -92,7 +95,7 @@ public class PhysicalNetworkVO implements PhysicalNetwork {
}
public PhysicalNetworkVO(long dataCenterId, String vnet, String speed, Long domainId, BroadcastDomainRange broadcastDomainRange) {
public PhysicalNetworkVO(long dataCenterId, String vnet, String speed, Long domainId, BroadcastDomainRange broadcastDomainRange, String name) {
this.dataCenterId = dataCenterId;
this.setVnet(vnet);
this.setSpeed(speed);
@ -104,6 +107,7 @@ public class PhysicalNetworkVO implements PhysicalNetwork {
}
this.state = State.Disabled;
this.uuid = UUID.randomUUID().toString();
this.name = name;
}
@Override
@ -218,4 +222,9 @@ public class PhysicalNetworkVO implements PhysicalNetwork {
public void setUuid(String uuid) {
this.uuid = uuid;
}
@Override
public String getName() {
return name;
}
}

View File

@ -135,13 +135,14 @@ public class Upgrade2214to30 implements DbUpgrade {
rs.close();
pstmt.close();
pstmt = conn.prepareStatement("SELECT id, domain_id, networktype, vnet FROM data_center");
pstmt = conn.prepareStatement("SELECT id, domain_id, networktype, vnet, name FROM data_center");
rs = pstmt.executeQuery();
while (rs.next()) {
long zoneId = rs.getLong(1);
long domainId = rs.getLong(2);
String networkType = rs.getString(3);
String vnet = rs.getString(4);
String zoneName = rs.getString(5);
//add p.network
PreparedStatement pstmt2 = conn.prepareStatement(getNextNetworkSequenceSql);
@ -169,11 +170,12 @@ public class Upgrade2214to30 implements DbUpgrade {
values += ",'" + domainId + "'";
values += ",'" + broadcastDomainRange + "'";
values += ",'Enabled'";
values += ",'" + zoneName + "-pNtwk";
values += ")";
s_logger.debug("Adding PhysicalNetwork "+physicalNetworkId+" for Zone id "+ zoneId);
String sql = "INSERT INTO `cloud`.`physical_network` (id, uuid, data_center_id, vnet, domain_id, broadcast_domain_range, state) VALUES " + values;
String sql = "INSERT INTO `cloud`.`physical_network` (id, uuid, data_center_id, vnet, domain_id, broadcast_domain_range, state, name) VALUES " + values;
pstmtUpdate = conn.prepareStatement(sql);
pstmtUpdate.executeUpdate();
pstmtUpdate.close();

View File

@ -445,13 +445,13 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS
}
@Override
public PhysicalNetwork createPhysicalNetwork(Long zoneId, String vnetRange, String networkSpeed, List<String> isolationMethods, String broadcastDomainRange, Long domainId, List<String> tags) {
public PhysicalNetwork createPhysicalNetwork(Long zoneId, String vnetRange, String networkSpeed, List<String> isolationMethods, String broadcastDomainRange, Long domainId, List<String> tags, String name) {
// TODO Auto-generated method stub
return null;
}
@Override
public List<? extends PhysicalNetwork> searchPhysicalNetworks(Long id, Long zoneId, String keyword, Long startIndex, Long pageSize) {
public List<? extends PhysicalNetwork> searchPhysicalNetworks(Long id, Long zoneId, String keyword, Long startIndex, Long pageSize, String name) {
// TODO Auto-generated method stub
return null;
}

View File

@ -1912,6 +1912,7 @@ CREATE TABLE `ntwk_service_map` (
CREATE TABLE `cloud`.`physical_network` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`uuid` varchar(40),
`name` varchar(255) NOT NULL,
`data_center_id` bigint unsigned NOT NULL COMMENT 'data center id that this physical network belongs to',
`vnet` varchar(255),
`speed` varchar(32),

View File

@ -340,6 +340,7 @@ CREATE TABLE `ntwk_service_map` (
CREATE TABLE `cloud`.`physical_network` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`uuid` varchar(40),
`name` varchar(255) NOT NULL,
`data_center_id` bigint unsigned NOT NULL COMMENT 'data center id that this physical network belongs to',
`vnet` varchar(255),
`speed` varchar(32),