Merge remote-tracking branch 'origin/4.20'

This commit is contained in:
Rohit Yadav 2024-12-09 11:36:40 +05:30
commit cb530c1749
4 changed files with 49 additions and 46 deletions

View File

@ -48,34 +48,34 @@ public class VolumeVO implements Volume {
@TableGenerator(name = "volume_sq", table = "sequence", pkColumnName = "name", valueColumnName = "value", pkColumnValue = "volume_seq", allocationSize = 1) @TableGenerator(name = "volume_sq", table = "sequence", pkColumnName = "name", valueColumnName = "value", pkColumnValue = "volume_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE) @GeneratedValue(strategy = GenerationType.TABLE)
@Column(name = "id") @Column(name = "id")
long id; private long id;
@Column(name = "last_id") @Column(name = "last_id")
private long lastId; private long lastId;
@Column(name = "name") @Column(name = "name")
String name; private String name;
@Column(name = "pool_id") @Column(name = "pool_id")
Long poolId; private Long poolId;
@Column(name = "last_pool_id") @Column(name = "last_pool_id")
Long lastPoolId; private Long lastPoolId;
@Column(name = "account_id") @Column(name = "account_id")
long accountId; private long accountId;
@Column(name = "domain_id") @Column(name = "domain_id")
long domainId; private long domainId;
@Column(name = "instance_id") @Column(name = "instance_id")
Long instanceId = null; private Long instanceId = null;
@Column(name = "device_id") @Column(name = "device_id")
Long deviceId = null; private Long deviceId = null;
@Column(name = "size") @Column(name = "size")
Long size; private Long size;
@Column(name = "min_iops") @Column(name = "min_iops")
private Long minIops; private Long minIops;
@ -84,50 +84,50 @@ public class VolumeVO implements Volume {
private Long maxIops; private Long maxIops;
@Column(name = "folder") @Column(name = "folder")
String folder; private String folder;
@Column(name = "path") @Column(name = "path")
String path; private String path;
@Column(name = "pod_id") @Column(name = "pod_id")
Long podId; private Long podId;
@Column(name = "created") @Column(name = "created")
Date created; private Date created;
@Column(name = "attached") @Column(name = "attached")
@Temporal(value = TemporalType.TIMESTAMP) @Temporal(value = TemporalType.TIMESTAMP)
Date attached; private Date attached;
@Column(name = "data_center_id") @Column(name = "data_center_id")
long dataCenterId; private long dataCenterId;
@Column(name = "host_ip") @Column(name = "host_ip")
String hostip; private String hostIp;
@Column(name = "disk_offering_id") @Column(name = "disk_offering_id")
long diskOfferingId; private long diskOfferingId;
@Column(name = "template_id") @Column(name = "template_id")
Long templateId; private Long templateId;
@Column(name = "first_snapshot_backup_uuid") @Column(name = "first_snapshot_backup_uuid")
String firstSnapshotBackupUuid; private String firstSnapshotBackupUuid;
@Column(name = "volume_type") @Column(name = "volume_type")
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
Type volumeType = Volume.Type.UNKNOWN; private Type volumeType = Volume.Type.UNKNOWN;
@Column(name = "pool_type") @Column(name = "pool_type")
@Convert(converter = StoragePoolTypeConverter.class) @Convert(converter = StoragePoolTypeConverter.class)
StoragePoolType poolType; private StoragePoolType poolType;
@Column(name = GenericDao.REMOVED_COLUMN) @Column(name = GenericDao.REMOVED_COLUMN)
Date removed; private Date removed;
@Column(name = "updated") @Column(name = "updated")
@Temporal(value = TemporalType.TIMESTAMP) @Temporal(value = TemporalType.TIMESTAMP)
Date updated; private Date updated;
@Column(name = "update_count", updatable = true, nullable = false) @Column(name = "update_count", updatable = true, nullable = false)
protected long updatedCount; // This field should be updated everytime the protected long updatedCount; // This field should be updated everytime the
@ -136,17 +136,17 @@ public class VolumeVO implements Volume {
// dao code. // dao code.
@Column(name = "recreatable") @Column(name = "recreatable")
boolean recreatable; private boolean recreatable;
@Column(name = "state") @Column(name = "state")
@Enumerated(value = EnumType.STRING) @Enumerated(value = EnumType.STRING)
private State state; private State state;
@Column(name = "chain_info", length = 65535) @Column(name = "chain_info", length = 65535)
String chainInfo; private String chainInfo;
@Column(name = "uuid") @Column(name = "uuid")
String uuid; private String uuid;
@Column(name = "format") @Column(name = "format")
private Storage.ImageFormat format; private Storage.ImageFormat format;
@ -171,7 +171,7 @@ public class VolumeVO implements Volume {
@Transient @Transient
// @Column(name="reservation") // @Column(name="reservation")
String reservationId; private String reservationId;
@Column(name = "hv_ss_reserve") @Column(name = "hv_ss_reserve")
private Integer hypervisorSnapshotReserve; private Integer hypervisorSnapshotReserve;
@ -431,11 +431,11 @@ public class VolumeVO implements Volume {
} }
public String getHostIp() { public String getHostIp() {
return hostip; return hostIp;
} }
public void setHostIp(String hostip) { public void setHostIp(String hostip) {
this.hostip = hostip; this.hostIp = hostip;
} }
public void setPodId(Long podId) { public void setPodId(Long podId) {

View File

@ -3388,7 +3388,7 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
} }
// In case of VMware, if ROOT volume is being cold-migrated, then ensure destination storage pool is in the same Datacenter as the VM. // In case of VMware, if ROOT volume is being cold-migrated, then ensure destination storage pool is in the same Datacenter as the VM.
if (vm != null && vm.getHypervisorType().equals(HypervisorType.VMware)) { if (vm != null && vm.getHypervisorType().equals(HypervisorType.VMware)) {
if (!liveMigrateVolume && vol.volumeType.equals(Volume.Type.ROOT)) { if (!liveMigrateVolume && vol.getVolumeType().equals(Volume.Type.ROOT)) {
Long hostId = vm.getHostId() != null ? vm.getHostId() : vm.getLastHostId(); Long hostId = vm.getHostId() != null ? vm.getHostId() : vm.getLastHostId();
HostVO host = _hostDao.findById(hostId); HostVO host = _hostDao.findById(hostId);
if (host != null) { if (host != null) {

View File

@ -425,6 +425,8 @@
"label.cputotalghz": "Total", "label.cputotalghz": "Total",
"label.cpuused": "CPU utilizada", "label.cpuused": "CPU utilizada",
"label.cpuusedghz": "CPU utilizada", "label.cpuusedghz": "CPU utilizada",
"label.create": "Criar",
"label.create.instance": "Criar nova instância",
"label.create.account": "Criar conta", "label.create.account": "Criar conta",
"label.create.backup": "Iniciar backup", "label.create.backup": "Iniciar backup",
"label.create.network": "Criar nova rede", "label.create.network": "Criar nova rede",
@ -1758,6 +1760,7 @@
"label.vmwaredcname": "Nome do datacenter VMware", "label.vmwaredcname": "Nome do datacenter VMware",
"label.vmwaredcvcenter": "Vcednter do datacenter VMware", "label.vmwaredcvcenter": "Vcednter do datacenter VMware",
"label.vmwarenetworklabel": "Etiqueta de tr\u00e1fego VMware", "label.vmwarenetworklabel": "Etiqueta de tr\u00e1fego VMware",
"label.vnf.appliance.add": "Adicionar VNF Appliance",
"label.vnmc": "VNMC", "label.vnmc": "VNMC",
"label.volgroup": "Grupo de volume", "label.volgroup": "Grupo de volume",
"label.volume": "Disco", "label.volume": "Disco",

View File

@ -32,9 +32,9 @@
</a-col> </a-col>
<a-col> <a-col>
<h3 style="margin-bottom: 0px;"> <h3 style="margin-bottom: 0px;">
{{ menuItem.title }} {{ $t(menuItem.title) }}
</h3> </h3>
<small>{{ menuItem.subtitle }}</small> <small>{{ $t(menuItem.subtitle) }}</small>
</a-col> </a-col>
</a-row> </a-row>
</router-link> </router-link>
@ -56,50 +56,50 @@ export default {
const menuItems = [ const menuItems = [
{ {
api: 'deployVirtualMachine', api: 'deployVirtualMachine',
title: this.$t('label.instance'), title: 'label.instance',
subtitle: this.$t('label.create.instance'), subtitle: 'label.create.instance',
icon: 'cloud-server-outlined', icon: 'cloud-server-outlined',
route: { path: '/action/deployVirtualMachine' } route: { path: '/action/deployVirtualMachine' }
}, },
{ {
api: 'createKubernetesCluster', api: 'createKubernetesCluster',
title: this.$t('label.kubernetes'), title: 'label.kubernetes',
subtitle: this.$t('label.kubernetes.cluster.create'), subtitle: 'label.kubernetes.cluster.create',
icon: ['fa-solid', 'fa-dharmachakra'], icon: ['fa-solid', 'fa-dharmachakra'],
route: { path: '/kubernetes', query: { action: 'createKubernetesCluster' } } route: { path: '/kubernetes', query: { action: 'createKubernetesCluster' } }
}, },
{ {
api: 'createVolume', api: 'createVolume',
title: this.$t('label.volume'), title: 'label.volume',
subtitle: this.$t('label.action.create.volume'), subtitle: 'label.action.create.volume',
icon: 'hdd-outlined', icon: 'hdd-outlined',
route: { path: '/volume', query: { action: 'createVolume' } } route: { path: '/volume', query: { action: 'createVolume' } }
}, },
{ {
api: 'createNetwork', api: 'createNetwork',
title: this.$t('label.network'), title: 'label.network',
subtitle: this.$t('label.add.network'), subtitle: 'label.add.network',
icon: 'apartment-outlined', icon: 'apartment-outlined',
route: { path: '/guestnetwork', query: { action: 'createNetwork' } } route: { path: '/guestnetwork', query: { action: 'createNetwork' } }
}, },
{ {
api: 'createVPC', api: 'createVPC',
title: this.$t('label.vpc'), title: 'label.vpc',
subtitle: this.$t('label.add.vpc'), subtitle: 'label.add.vpc',
icon: 'deployment-unit-outlined', icon: 'deployment-unit-outlined',
route: { path: '/vpc', query: { action: 'createVPC' } } route: { path: '/vpc', query: { action: 'createVPC' } }
}, },
{ {
api: 'registerTemplate', api: 'registerTemplate',
title: this.$t('label.templatename'), title: 'label.templatename',
subtitle: this.$t('label.action.register.template'), subtitle: 'label.action.register.template',
icon: 'picture-outlined', icon: 'picture-outlined',
route: { path: '/template', query: { action: 'registerTemplate' } } route: { path: '/template', query: { action: 'registerTemplate' } }
}, },
{ {
api: 'deployVnfAppliance', api: 'deployVnfAppliance',
title: this.$t('label.vnf.appliance'), title: 'label.vnf.appliance',
subtitle: this.$t('label.vnf.appliance.add'), subtitle: 'label.vnf.appliance.add',
icon: 'gateway-outlined', icon: 'gateway-outlined',
route: { path: '/action/deployVnfAppliance' } route: { path: '/action/deployVnfAppliance' }
} }