Merge branch '4.14'

This commit is contained in:
Daan Hoogland 2020-11-20 08:59:51 +00:00
commit 4fd2b74f57
5 changed files with 34 additions and 14 deletions

View File

@ -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)

View File

@ -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);

View File

@ -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);
} }

View File

@ -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")

View File

@ -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}"