mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge branch '4.16' into main
This commit is contained in:
commit
b0bf069bcf
6
debian/changelog
vendored
6
debian/changelog
vendored
@ -1,3 +1,9 @@
|
||||
cloudstack (4.16.1.0-SNAPSHOT) unstable; urgency=low
|
||||
|
||||
* Update the version to 4.16.1.0-SNAPSHOT
|
||||
|
||||
-- the Apache CloudStack project <dev@cloudstack.apache.org> Wed, 10 Nov 2021 11:31:57 -0300
|
||||
|
||||
cloudstack (4.16.0.0) unstable; urgency=low
|
||||
|
||||
* Update the version to 4.16.0.0
|
||||
|
||||
@ -75,8 +75,8 @@
|
||||
<source>
|
||||
def projectVersion = project.version
|
||||
String[] versionParts = projectVersion.tokenize('.')
|
||||
pom.properties['cs.version'] = versionParts[0] + "." + versionParts[1]
|
||||
pom.properties['patch.version'] = versionParts[2]
|
||||
pom.properties['cs.version'] = "4.16"
|
||||
pom.properties['patch.version'] = "0"
|
||||
</source>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@ -30,6 +30,7 @@ import java.util.Date;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import com.cloud.upgrade.dao.Upgrade41510to41520;
|
||||
import com.cloud.upgrade.dao.Upgrade41600to41610;
|
||||
import org.apache.cloudstack.utils.CloudStackVersion;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
@ -201,6 +202,7 @@ public class DatabaseUpgradeChecker implements SystemIntegrityChecker {
|
||||
.next("4.15.0.0", new Upgrade41500to41510())
|
||||
.next("4.15.1.0", new Upgrade41510to41520())
|
||||
.next("4.15.2.0", new Upgrade41520to41600())
|
||||
.next("4.16.0.0", new Upgrade41600to41610())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@ -55,6 +55,7 @@ import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
|
||||
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao;
|
||||
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
|
||||
import org.apache.commons.codec.digest.DigestUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.ini4j.Ini;
|
||||
|
||||
@ -120,6 +121,8 @@ public class SystemVmTemplateRegistration {
|
||||
@Inject
|
||||
ConfigurationDao configurationDao;
|
||||
|
||||
private String systemVmTemplateVersion;
|
||||
|
||||
public SystemVmTemplateRegistration() {
|
||||
dataCenterDao = new DataCenterDaoImpl();
|
||||
vmTemplateDao = new VMTemplateDaoImpl();
|
||||
@ -131,6 +134,21 @@ public class SystemVmTemplateRegistration {
|
||||
configurationDao = new ConfigurationDaoImpl();
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience constructor method to use when there is no system VM template change for a new version.
|
||||
*/
|
||||
public SystemVmTemplateRegistration(String systemVmTemplateVersion) {
|
||||
this();
|
||||
this.systemVmTemplateVersion = systemVmTemplateVersion;
|
||||
}
|
||||
|
||||
public String getSystemVmTemplateVersion() {
|
||||
if (StringUtils.isEmpty(systemVmTemplateVersion)) {
|
||||
return String.format("%s.%s", CS_MAJOR_VERSION, CS_TINY_VERSION);
|
||||
}
|
||||
return systemVmTemplateVersion;
|
||||
}
|
||||
|
||||
private static class SystemVMTemplateDetails {
|
||||
Long id;
|
||||
String uuid;
|
||||
@ -658,7 +676,7 @@ public class SystemVmTemplateRegistration {
|
||||
hypervisorImageFormat.get(hypervisor), hypervisorGuestOsMap.get(hypervisor), storeUrlAndId.second(), null, filePath, true);
|
||||
Map<String, String> configParams = new HashMap<>();
|
||||
configParams.put(RouterTemplateConfigurationNames.get(hypervisorAndTemplateName.first()), hypervisorAndTemplateName.second());
|
||||
configParams.put("minreq.sysvmtemplate.version", CS_MAJOR_VERSION + "." + CS_TINY_VERSION);
|
||||
configParams.put("minreq.sysvmtemplate.version", getSystemVmTemplateVersion());
|
||||
updateConfigurationParams(configParams);
|
||||
updateSystemVMEntries(templateId, hypervisorAndTemplateName.first());
|
||||
} catch (Exception e) {
|
||||
@ -809,7 +827,7 @@ public class SystemVmTemplateRegistration {
|
||||
// Change value of global configuration parameter router.template.* for the corresponding hypervisor and minreq.sysvmtemplate.version for the ACS version
|
||||
Map<String, String> configParams = new HashMap<>();
|
||||
configParams.put(RouterTemplateConfigurationNames.get(hypervisorAndTemplateName.getKey()), hypervisorAndTemplateName.getValue());
|
||||
configParams.put("minreq.sysvmtemplate.version", CS_MAJOR_VERSION + "." + CS_TINY_VERSION);
|
||||
configParams.put("minreq.sysvmtemplate.version", getSystemVmTemplateVersion());
|
||||
updateConfigurationParams(configParams);
|
||||
}
|
||||
|
||||
@ -854,11 +872,11 @@ public class SystemVmTemplateRegistration {
|
||||
registerTemplates(hypervisorsListInUse);
|
||||
break;
|
||||
} catch (final Exception e) {
|
||||
throw new CloudRuntimeException(String.format("%s.%s %s SystemVm template not found. Cannot upgrade system Vms", CS_MAJOR_VERSION, CS_TINY_VERSION, hypervisorAndTemplateName.getKey()));
|
||||
throw new CloudRuntimeException(String.format("%s %s SystemVm template not found. Cannot upgrade system Vms", getSystemVmTemplateVersion(), hypervisorAndTemplateName.getKey()));
|
||||
}
|
||||
} else {
|
||||
LOGGER.warn(String.format("%s.%s %s SystemVm template not found. Cannot upgrade system Vms hypervisor is not used, so not failing upgrade",
|
||||
CS_MAJOR_VERSION, CS_TINY_VERSION, hypervisorAndTemplateName.getKey()));
|
||||
LOGGER.warn(String.format("%s %s SystemVm template not found. Cannot upgrade system Vms hypervisor is not used, so not failing upgrade",
|
||||
getSystemVmTemplateVersion(), hypervisorAndTemplateName.getKey()));
|
||||
// Update the latest template URLs for corresponding hypervisor
|
||||
VMTemplateVO templateVO = vmTemplateDao.findLatestTemplateByTypeAndHypervisor(hypervisorAndTemplateName.getKey(), Storage.TemplateType.SYSTEM);
|
||||
if (templateVO != null) {
|
||||
|
||||
@ -0,0 +1,87 @@
|
||||
// Licensed to the Apache Software Foundation (ASF) under one
|
||||
// or more contributor license agreements. See the NOTICE file
|
||||
// distributed with this work for additional information
|
||||
// regarding copyright ownership. The ASF licenses this file
|
||||
// to you under the Apache License, Version 2.0 (the
|
||||
// "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing,
|
||||
// software distributed under the License is distributed on an
|
||||
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
// KIND, either express or implied. See the License for the
|
||||
// specific language governing permissions and limitations
|
||||
// under the License.
|
||||
|
||||
package com.cloud.upgrade.dao;
|
||||
|
||||
import com.cloud.upgrade.SystemVmTemplateRegistration;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.sql.Connection;
|
||||
|
||||
public class Upgrade41600to41610 implements DbUpgrade, DbUpgradeSystemVmTemplate {
|
||||
|
||||
final static Logger LOG = Logger.getLogger(Upgrade41600to41610.class);
|
||||
private SystemVmTemplateRegistration systemVmTemplateRegistration;
|
||||
|
||||
@Override
|
||||
public String[] getUpgradableVersionRange() {
|
||||
return new String[] {"4.16.0.0", "4.16.1.0"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUpgradedVersion() {
|
||||
return "4.16.1.0";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportsRollingUpgrade() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InputStream[] getPrepareScripts() {
|
||||
final String scriptFile = "META-INF/db/schema-41600to41610.sql";
|
||||
final InputStream script = Thread.currentThread().getContextClassLoader().getResourceAsStream(scriptFile);
|
||||
if (script == null) {
|
||||
throw new CloudRuntimeException("Unable to find " + scriptFile);
|
||||
}
|
||||
|
||||
return new InputStream[] {script};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void performDataMigration(Connection conn) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public InputStream[] getCleanupScripts() {
|
||||
final String scriptFile = "META-INF/db/schema-41600to41610-cleanup.sql";
|
||||
final InputStream script = Thread.currentThread().getContextClassLoader().getResourceAsStream(scriptFile);
|
||||
if (script == null) {
|
||||
throw new CloudRuntimeException("Unable to find " + scriptFile);
|
||||
}
|
||||
|
||||
return new InputStream[] {script};
|
||||
}
|
||||
|
||||
private void initSystemVmTemplateRegistration() {
|
||||
systemVmTemplateRegistration = new SystemVmTemplateRegistration("4.16.0");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateSystemVmTemplates(Connection conn) {
|
||||
LOG.debug("Updating System Vm template IDs");
|
||||
initSystemVmTemplateRegistration();
|
||||
try {
|
||||
systemVmTemplateRegistration.updateSystemVmTemplates(conn);
|
||||
} catch (Exception e) {
|
||||
throw new CloudRuntimeException("Failed to find / register SystemVM template(s)");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
-- Licensed to the Apache Software Foundation (ASF) under one
|
||||
-- or more contributor license agreements. See the NOTICE file
|
||||
-- distributed with this work for additional information
|
||||
-- regarding copyright ownership. The ASF licenses this file
|
||||
-- to you under the Apache License, Version 2.0 (the
|
||||
-- "License"); you may not use this file except in compliance
|
||||
-- with the License. You may obtain a copy of the License at
|
||||
--
|
||||
-- http://www.apache.org/licenses/LICENSE-2.0
|
||||
--
|
||||
-- Unless required by applicable law or agreed to in writing,
|
||||
-- software distributed under the License is distributed on an
|
||||
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
-- KIND, either express or implied. See the License for the
|
||||
-- specific language governing permissions and limitations
|
||||
-- under the License.
|
||||
|
||||
--;
|
||||
-- Schema upgrade cleanup from 4.16.0.0 to 4.16.1.0
|
||||
--;
|
||||
@ -0,0 +1,20 @@
|
||||
-- Licensed to the Apache Software Foundation (ASF) under one
|
||||
-- or more contributor license agreements. See the NOTICE file
|
||||
-- distributed with this work for additional information
|
||||
-- regarding copyright ownership. The ASF licenses this file
|
||||
-- to you under the Apache License, Version 2.0 (the
|
||||
-- "License"); you may not use this file except in compliance
|
||||
-- with the License. You may obtain a copy of the License at
|
||||
--
|
||||
-- http://www.apache.org/licenses/LICENSE-2.0
|
||||
--
|
||||
-- Unless required by applicable law or agreed to in writing,
|
||||
-- software distributed under the License is distributed on an
|
||||
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
-- KIND, either express or implied. See the License for the
|
||||
-- specific language governing permissions and limitations
|
||||
-- under the License.
|
||||
|
||||
--;
|
||||
-- Schema upgrade from 4.16.0.0 to 4.16.1.0
|
||||
--;
|
||||
@ -22,7 +22,7 @@
|
||||
<name>Apache CloudStack Developer Tools - Checkstyle Configuration</name>
|
||||
<groupId>org.apache.cloudstack</groupId>
|
||||
<artifactId>checkstyle</artifactId>
|
||||
<version>4.16.0.0</version>
|
||||
<version>4.16.1.0-SNAPSHOT</version>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
FROM ubuntu:20.04
|
||||
|
||||
MAINTAINER "Apache CloudStack" <dev@cloudstack.apache.org>
|
||||
LABEL Vendor="Apache.org" License="ApacheV2" Version="4.16.0.0"
|
||||
LABEL Vendor="Apache.org" License="ApacheV2" Version="4.16.1.0-SNAPSHOT"
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
FROM python:2
|
||||
|
||||
MAINTAINER "Apache CloudStack" <dev@cloudstack.apache.org>
|
||||
LABEL Vendor="Apache.org" License="ApacheV2" Version="4.16.0.0"
|
||||
LABEL Vendor="Apache.org" License="ApacheV2" Version="4.16.1.0-SNAPSHOT"
|
||||
|
||||
ENV WORK_DIR=/marvin
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ except ImportError:
|
||||
raise RuntimeError("python setuptools is required to build Marvin")
|
||||
|
||||
|
||||
VERSION = "4.16.0.0"
|
||||
VERSION = "4.16.1.0-SNAPSHOT"
|
||||
|
||||
setup(name="Marvin",
|
||||
version=VERSION,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user