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 <[email protected]>
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>

Reply via email to