You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by we...@apache.org on 2024/08/30 07:03:36 UTC
(cloudstack) 01/02: Merge remote-tracking branch 'apache/4.19'
This is an automated email from the ASF dual-hosted git repository.
weizhou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit 6e988b8953fc322dd536a65d046166ed71d9a334
Merge: 12d9c26747d 0204cb75e37
Author: Wei Zhou <we...@apache.org>
AuthorDate: Fri Aug 30 08:16:31 2024 +0200
Merge remote-tracking branch 'apache/4.19'
.../userdata/CloudInitUserDataProvider.java | 28 +++++++++++-----
.../userdata/CloudInitUserDataProviderTest.java | 39 ++++++++++++++++++++--
ui/src/components/view/ListView.vue | 6 ++++
ui/src/config/section/network.js | 2 +-
ui/src/utils/plugins.js | 2 +-
5 files changed, 63 insertions(+), 14 deletions(-)
diff --cc engine/userdata/cloud-init/src/main/java/org/apache/cloudstack/userdata/CloudInitUserDataProvider.java
index 6e1086c631e,feca8712a7d..6f633f6abb2
--- a/engine/userdata/cloud-init/src/main/java/org/apache/cloudstack/userdata/CloudInitUserDataProvider.java
+++ b/engine/userdata/cloud-init/src/main/java/org/apache/cloudstack/userdata/CloudInitUserDataProvider.java
@@@ -112,12 -121,14 +118,14 @@@ public class CloudInitUserDataProvider
/**
* Detect the user data type
+ * @param userdata the userdata string to detect the type
+ * @param defaultFormatType if not null, then use it in case the header does not exist in the userdata, otherwise fail
* Reference: <a href="https://canonical-cloud-init.readthedocs-hosted.com/en/latest/explanation/format.html#user-data-formats" />
*/
- protected FormatType getUserDataFormatType(String userdata) {
+ protected FormatType getUserDataFormatType(String userdata, FormatType defaultFormatType) {
if (StringUtils.isBlank(userdata)) {
String msg = "User data expected but provided empty user data";
- LOGGER.error(msg);
+ logger.error(msg);
throw new CloudRuntimeException(msg);
}
diff --cc ui/src/components/view/ListView.vue
index 5a779da182b,087c547aa69..27bd6a2fb36
--- a/ui/src/components/view/ListView.vue
+++ b/ui/src/components/view/ListView.vue
@@@ -242,17 -238,14 +242,23 @@@
</a>
</template>
<template v-if="column.key === 'guestnetworkname'">
- <router-link :to="{ path: '/guestnetwork/' + record.guestnetworkid }">{{ text }}</router-link>
+ <span v-if="['/router'].includes($route.path) && record.vpcid">
+ <router-link :to="{ path: '/vpc/' + record.vpcid }">
+ <deployment-unit-outlined/>
+ {{ record.vpcname || record.vpcid }}
+ </router-link>
+ </span>
+ <router-link v-else :to="{ path: '/guestnetwork/' + record.guestnetworkid }">
+ <apartment-outlined/>
+ {{ text }}
+ </router-link>
</template>
+ <template v-if="column.key === 'guest.networks' && record.network">
+ <template v-for="(item, idx) in record.network" :key="idx">
+ <router-link :to="{ path: '/guestnetwork/' + item.id }">{{ item.name }}</router-link>
+ <span v-if="idx < (record.network.length - 1)">, </span>
+ </template>
+ </template>
<template v-if="column.key === 'associatednetworkname'">
<router-link :to="{ path: '/guestnetwork/' + record.associatednetworkid }">{{ text }}</router-link>
</template>