mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge branch '4.14'
This commit is contained in:
commit
4fd2b74f57
@ -55,15 +55,15 @@ public class AccountResponse extends BaseResponse implements ResourceLimitAndCou
|
|||||||
private String roleName;
|
private String roleName;
|
||||||
|
|
||||||
@SerializedName(ApiConstants.DOMAIN_ID)
|
@SerializedName(ApiConstants.DOMAIN_ID)
|
||||||
@Param(description = "id of the Domain the account belongs too")
|
@Param(description = "id of the Domain the account belongs to")
|
||||||
private String domainId;
|
private String domainId;
|
||||||
|
|
||||||
@SerializedName(ApiConstants.DOMAIN)
|
@SerializedName(ApiConstants.DOMAIN)
|
||||||
@Param(description = "name of the Domain the account belongs too")
|
@Param(description = "name of the Domain the account belongs to")
|
||||||
private String domainName;
|
private String domainName;
|
||||||
|
|
||||||
@SerializedName(ApiConstants.DOMAIN_PATH)
|
@SerializedName(ApiConstants.DOMAIN_PATH)
|
||||||
@Param(description = "name of the Domain the account belongs too", since = "4.13")
|
@Param(description = "path of the Domain the account belongs to", since = "4.13")
|
||||||
private String domainPath;
|
private String domainPath;
|
||||||
|
|
||||||
@SerializedName(ApiConstants.DEFAULT_ZONE_ID)
|
@SerializedName(ApiConstants.DEFAULT_ZONE_ID)
|
||||||
|
|||||||
@ -37,6 +37,7 @@ import com.cloud.kubernetes.cluster.KubernetesClusterVO;
|
|||||||
import com.cloud.kubernetes.cluster.KubernetesClusterVmMap;
|
import com.cloud.kubernetes.cluster.KubernetesClusterVmMap;
|
||||||
import com.cloud.kubernetes.cluster.KubernetesClusterVmMapVO;
|
import com.cloud.kubernetes.cluster.KubernetesClusterVmMapVO;
|
||||||
import com.cloud.network.IpAddress;
|
import com.cloud.network.IpAddress;
|
||||||
|
import com.cloud.network.Network;
|
||||||
import com.cloud.network.dao.NetworkVO;
|
import com.cloud.network.dao.NetworkVO;
|
||||||
import com.cloud.network.rules.FirewallRule;
|
import com.cloud.network.rules.FirewallRule;
|
||||||
import com.cloud.user.Account;
|
import com.cloud.user.Account;
|
||||||
@ -188,6 +189,13 @@ public class KubernetesClusterDestroyWorker extends KubernetesClusterResourceMod
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkForRulesToDelete() throws ManagementServerException {
|
||||||
|
NetworkVO kubernetesClusterNetwork = networkDao.findById(kubernetesCluster.getNetworkId());
|
||||||
|
if (kubernetesClusterNetwork != null && kubernetesClusterNetwork.getGuestType() != Network.GuestType.Shared) {
|
||||||
|
deleteKubernetesClusterNetworkRules();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public boolean destroy() throws CloudRuntimeException {
|
public boolean destroy() throws CloudRuntimeException {
|
||||||
init();
|
init();
|
||||||
validateClusterSate();
|
validateClusterSate();
|
||||||
@ -239,7 +247,7 @@ public class KubernetesClusterDestroyWorker extends KubernetesClusterResourceMod
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
deleteKubernetesClusterNetworkRules();
|
checkForRulesToDelete();
|
||||||
} catch (ManagementServerException e) {
|
} catch (ManagementServerException e) {
|
||||||
String msg = String.format("Failed to remove network rules of Kubernetes cluster : %s", kubernetesCluster.getName());
|
String msg = String.format("Failed to remove network rules of Kubernetes cluster : %s", kubernetesCluster.getName());
|
||||||
LOGGER.warn(msg, e);
|
LOGGER.warn(msg, e);
|
||||||
|
|||||||
@ -78,7 +78,7 @@ public class KubernetesClusterUpgradeWorker extends KubernetesClusterActionWorke
|
|||||||
index == 0 ? "true" : "false",
|
index == 0 ? "true" : "false",
|
||||||
KubernetesVersionManagerImpl.compareSemanticVersions(upgradeVersion.getSemanticVersion(), "1.15.0") < 0 ? "true" : "false",
|
KubernetesVersionManagerImpl.compareSemanticVersions(upgradeVersion.getSemanticVersion(), "1.15.0") < 0 ? "true" : "false",
|
||||||
Hypervisor.HypervisorType.VMware.equals(vm.getHypervisorType()));
|
Hypervisor.HypervisorType.VMware.equals(vm.getHypervisorType()));
|
||||||
return SshHelper.sshExecute(publicIpAddress, nodeSshPort, CLUSTER_NODE_VM_USER, sshKeyFile, null,
|
return SshHelper.sshExecute(nodeAddress, nodeSshPort, CLUSTER_NODE_VM_USER, sshKeyFile, null,
|
||||||
cmdStr,
|
cmdStr,
|
||||||
10000, 10000, 10 * 60 * 1000);
|
10000, 10000, 10 * 60 * 1000);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,15 +48,15 @@ public class HostMetricsResponse extends HostResponse {
|
|||||||
private Double loadAverage;
|
private Double loadAverage;
|
||||||
|
|
||||||
@SerializedName("memorytotalgb")
|
@SerializedName("memorytotalgb")
|
||||||
@Param(description = "the total cpu capacity in GiB")
|
@Param(description = "the total memory capacity in GiB")
|
||||||
private String memTotal;
|
private String memTotal;
|
||||||
|
|
||||||
@SerializedName("memoryusedgb")
|
@SerializedName("memoryusedgb")
|
||||||
@Param(description = "the total cpu used in GiB")
|
@Param(description = "the total memory used in GiB")
|
||||||
private String memUsed;
|
private String memUsed;
|
||||||
|
|
||||||
@SerializedName("memoryallocatedgb")
|
@SerializedName("memoryallocatedgb")
|
||||||
@Param(description = "the total cpu allocated in GiB")
|
@Param(description = "the total memory allocated in GiB")
|
||||||
private String memAllocated;
|
private String memAllocated;
|
||||||
|
|
||||||
@SerializedName("networkread")
|
@SerializedName("networkread")
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash -x
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||||||
# or more contributor license agreements. See the NOTICE file
|
# or more contributor license agreements. See the NOTICE file
|
||||||
# distributed with this work for additional information
|
# distributed with this work for additional information
|
||||||
@ -16,9 +16,11 @@
|
|||||||
# specific language governing permissions and limitations
|
# specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
if [ $# -lt 6 ]; then
|
if [ $# -lt 6 ]; then
|
||||||
echo "Invalid input. Valid usage: ./create-kubernetes-binaries-iso.sh OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG"
|
echo "Invalid input. Valid usage: ./create-kubernetes-binaries-iso.sh OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG BUILD_NAME"
|
||||||
echo "eg: ./create-kubernetes-binaries-iso.sh ./ 1.11.4 0.7.1 1.11.1 https://github.com/weaveworks/weave/releases/download/latest_release/weave-daemonset-k8s-1.11.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml"
|
echo "eg: ./create-kubernetes-binaries-iso.sh ./ 1.11.4 0.7.1 1.11.1 https://github.com/weaveworks/weave/releases/download/latest_release/weave-daemonset-k8s-1.11.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml setup-v1.11.4"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -28,6 +30,8 @@ start_dir="$PWD"
|
|||||||
iso_dir="/tmp/iso"
|
iso_dir="/tmp/iso"
|
||||||
working_dir="${iso_dir}/"
|
working_dir="${iso_dir}/"
|
||||||
mkdir -p "${working_dir}"
|
mkdir -p "${working_dir}"
|
||||||
|
build_name="${7}.iso"
|
||||||
|
[ -z "${build_name}" ] && build_name="setup-${RELEASE}.iso"
|
||||||
|
|
||||||
CNI_VERSION="v${3}"
|
CNI_VERSION="v${3}"
|
||||||
echo "Downloading CNI ${CNI_VERSION}..."
|
echo "Downloading CNI ${CNI_VERSION}..."
|
||||||
@ -50,7 +54,7 @@ kubeadm_file_permissions=`stat --format '%a' kubeadm`
|
|||||||
chmod +x kubeadm
|
chmod +x kubeadm
|
||||||
|
|
||||||
echo "Downloading kubelet.service ${RELEASE}..."
|
echo "Downloading kubelet.service ${RELEASE}..."
|
||||||
cd $start_dir
|
cd "${start_dir}"
|
||||||
kubelet_service_file="${working_dir}/kubelet.service"
|
kubelet_service_file="${working_dir}/kubelet.service"
|
||||||
touch "${kubelet_service_file}"
|
touch "${kubelet_service_file}"
|
||||||
curl -sSL "https://raw.githubusercontent.com/kubernetes/kubernetes/${RELEASE}/build/debs/kubelet.service" | sed "s:/usr/bin:/opt/bin:g" > ${kubelet_service_file}
|
curl -sSL "https://raw.githubusercontent.com/kubernetes/kubernetes/${RELEASE}/build/debs/kubelet.service" | sed "s:/usr/bin:/opt/bin:g" > ${kubelet_service_file}
|
||||||
@ -87,6 +91,14 @@ if [ $? -ne 0 ]; then
|
|||||||
fi
|
fi
|
||||||
mkdir -p "${working_dir}/docker"
|
mkdir -p "${working_dir}/docker"
|
||||||
output=`${k8s_dir}/kubeadm config images list --kubernetes-version=${RELEASE}`
|
output=`${k8s_dir}/kubeadm config images list --kubernetes-version=${RELEASE}`
|
||||||
|
|
||||||
|
# Don't forget about the yaml images !
|
||||||
|
for i in ${network_conf_file} ${dashboard_conf_file}
|
||||||
|
do
|
||||||
|
images=`grep "image:" $i | cut -d ':' -f2- | tr -d ' ' | tr -d "'"`
|
||||||
|
output=`printf "%s\n" ${output} ${images}`
|
||||||
|
done
|
||||||
|
|
||||||
while read -r line; do
|
while read -r line; do
|
||||||
echo "Downloading docker image $line ---"
|
echo "Downloading docker image $line ---"
|
||||||
sudo docker pull "$line"
|
sudo docker pull "$line"
|
||||||
@ -96,11 +108,11 @@ while read -r line; do
|
|||||||
done <<< "$output"
|
done <<< "$output"
|
||||||
|
|
||||||
echo "Restore kubeadm permissions..."
|
echo "Restore kubeadm permissions..."
|
||||||
if [ "${kubeadm_file_permissions}" -eq "" ]; then
|
if [ -z "${kubeadm_file_permissions}" ]; then
|
||||||
kubeadm_file_permissions=644
|
kubeadm_file_permissions=644
|
||||||
fi
|
fi
|
||||||
chmod ${kubeadm_file_permissions} "${working_dir}/k8s/kubeadm"
|
chmod ${kubeadm_file_permissions} "${working_dir}/k8s/kubeadm"
|
||||||
|
|
||||||
mkisofs -o "${output_dir}/setup-${RELEASE}.iso" -J -R -l "${iso_dir}"
|
mkisofs -o "${output_dir}/${build_name}" -J -R -l "${iso_dir}"
|
||||||
|
|
||||||
rm -rf "${iso_dir}"
|
rm -rf "${iso_dir}"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user