Skip to content

Commit 2b58d2f

Browse files
committed
Merge
2 parents 3b526c3 + dc8f465 commit 2b58d2f

File tree

295 files changed

+1655
-308
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

295 files changed

+1655
-308
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Licensed to the Apache Software Foundation (ASF) under one
2+
or more contributor license agreements. See the NOTICE file
3+
distributed with this work for additional information
4+
regarding copyright ownership. The ASF licenses this file
5+
to you under the Apache License, Version 2.0 (the
6+
"License"); you may not use this file except in compliance
7+
with the License. You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing,
12+
software distributed under the License is distributed on an
13+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
KIND, either express or implied. See the License for the
15+
specific language governing permissions and limitations
16+
under the License.

.github/workflows/linter.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,5 @@ jobs:
4545
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }}
4646
- name: Run pre-commit
4747
run: pre-commit run --all-files
48+
- name: Run manual pre-commit hooks
49+
run: pre-commit run --all-files --hook-stage manual

.pre-commit-config.yaml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,32 @@ repos:
2525
hooks:
2626
- id: identity
2727
- id: check-hooks-apply
28+
- repo: https://github.com/oxipng/oxipng
29+
rev: v9.1.5
30+
hooks:
31+
- id: oxipng
32+
name: run oxipng
33+
description: optimize PNG images with lossless compression
34+
args: ['-o', '4', '--strip', 'safe', '--alpha']
2835
- repo: https://github.com/gitleaks/gitleaks
2936
rev: v8.27.2
3037
hooks:
3138
- id: gitleaks
3239
name: run gitleaks
3340
description: detect hardcoded secrets
41+
- repo: https://github.com/Lucas-C/pre-commit-hooks
42+
rev: v1.5.5
43+
hooks:
44+
- id: insert-license
45+
name: add license for all Markdown files
46+
files: \.md$
47+
args:
48+
- --comment-style
49+
- '<!--|| -->'
50+
- --license-filepath
51+
- .github/workflows/license-templates/LICENSE.txt
52+
- --fuzzy-match-generates-todo
53+
exclude: ^(CHANGES|ISSUE_TEMPLATE|PULL_REQUEST_TEMPLATE)\.md$|^ui/docs/(full|smoke)-test-plan\.template\.md$
3454
- repo: https://github.com/pre-commit/pre-commit-hooks
3555
rev: v6.0.0
3656
hooks:
@@ -64,7 +84,7 @@ repos:
6484
^systemvm/agent/certs/realhostip\.key$|
6585
^test/integration/smoke/test_ssl_offloading\.py$
6686
- id: end-of-file-fixer
67-
exclude: \.vhd$
87+
exclude: \.vhd$|\.svg$
6888
- id: file-contents-sorter
6989
args: [--unique]
7090
files: ^\.github/linters/codespell\.txt$
@@ -97,6 +117,14 @@ repos:
97117
args: [--config=.github/linters/.markdown-lint.yml]
98118
types: [markdown]
99119
files: \.(md|mdown|markdown)$
120+
- repo: https://github.com/Lucas-C/pre-commit-hooks
121+
rev: v1.5.5
122+
hooks:
123+
- id: chmod
124+
name: set file permissions
125+
args: ['644']
126+
files: \.md$
127+
stages: [manual]
100128
- repo: https://github.com/adrienverge/yamllint
101129
rev: v1.37.1
102130
hooks:

CONTRIBUTING.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
<!--
2+
Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
-->
19+
120
# Contributing to Apache CloudStack (ACS)
221

322
## Summary

INSTALL.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
<!--
2+
Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
-->
19+
120
# Apache CloudStack Installation basics
221

322
This document describes how to develop, build, package and install Apache

PRE-COMMIT.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
<!--
2+
Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
-->
19+
120
# pre-commit
221

322
We run [pre-commit](https://pre-commit.com/) with

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
<!--
2+
Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
-->
19+
120
# Apache CloudStack
221

322
[![Build Status](https://github.com/apache/cloudstack/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/apache/cloudstack/actions/workflows/build.yml)

agent/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<parent>
2525
<groupId>org.apache.cloudstack</groupId>
2626
<artifactId>cloudstack</artifactId>
27-
<version>4.22.0.0-SNAPSHOT</version>
27+
<version>4.23.0.0-SNAPSHOT</version>
2828
</parent>
2929
<dependencies>
3030
<dependency>

api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<parent>
2525
<groupId>org.apache.cloudstack</groupId>
2626
<artifactId>cloudstack</artifactId>
27-
<version>4.22.0.0-SNAPSHOT</version>
27+
<version>4.23.0.0-SNAPSHOT</version>
2828
</parent>
2929
<dependencies>
3030
<dependency>
Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
// Licensed to the Apache Software Foundation (ASF) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The ASF licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
17+
package com.cloud.agent.api.to;
18+
19+
import java.util.ArrayList;
20+
import java.util.HashMap;
21+
import java.util.List;
22+
import java.util.Map;
23+
24+
public class VirtualMachineMetadataTO {
25+
// VM details
26+
private final String name;
27+
private final String internalName;
28+
private final String displayName;
29+
private final String instanceUuid;
30+
private final Integer cpuCores;
31+
private final Integer memory;
32+
private final Long created;
33+
private final Long started;
34+
35+
// Owner details
36+
private final String ownerDomainUuid;
37+
private final String ownerDomainName;
38+
private final String ownerAccountUuid;
39+
private final String ownerAccountName;
40+
private final String ownerProjectUuid;
41+
private final String ownerProjectName;
42+
43+
// Host and service offering
44+
private final String serviceOfferingName;
45+
private final List<String> serviceOfferingHostTags;
46+
47+
// zone, pod, and cluster details
48+
private final String zoneName;
49+
private final String zoneUuid;
50+
private final String podName;
51+
private final String podUuid;
52+
private final String clusterName;
53+
private final String clusterUuid;
54+
55+
// resource tags
56+
private final Map<String, String> resourceTags;
57+
58+
public VirtualMachineMetadataTO(
59+
String name, String internalName, String displayName, String instanceUuid, Integer cpuCores, Integer memory, Long created, Long started,
60+
String ownerDomainUuid, String ownerDomainName, String ownerAccountUuid, String ownerAccountName, String ownerProjectUuid, String ownerProjectName,
61+
String serviceOfferingName, List<String> serviceOfferingHostTags,
62+
String zoneName, String zoneUuid, String podName, String podUuid, String clusterName, String clusterUuid, Map<String, String> resourceTags) {
63+
/*
64+
* Something failed in the metadata shall not be a fatal error, the VM can still be started
65+
* Thus, the unknown fields just get an explicit "unknown" value so it can be fixed in case
66+
* there are bugs on some execution paths.
67+
* */
68+
69+
this.name = (name != null) ? name : "unknown";
70+
this.internalName = (internalName != null) ? internalName : "unknown";
71+
this.displayName = (displayName != null) ? displayName : "unknown";
72+
this.instanceUuid = (instanceUuid != null) ? instanceUuid : "unknown";
73+
this.cpuCores = (cpuCores != null) ? cpuCores : -1;
74+
this.memory = (memory != null) ? memory : -1;
75+
this.created = (created != null) ? created : 0;
76+
this.started = (started != null) ? started : 0;
77+
this.ownerDomainUuid = (ownerDomainUuid != null) ? ownerDomainUuid : "unknown";
78+
this.ownerDomainName = (ownerDomainName != null) ? ownerDomainName : "unknown";
79+
this.ownerAccountUuid = (ownerAccountUuid != null) ? ownerAccountUuid : "unknown";
80+
this.ownerAccountName = (ownerAccountName != null) ? ownerAccountName : "unknown";
81+
this.ownerProjectUuid = (ownerProjectUuid != null) ? ownerProjectUuid : "unknown";
82+
this.ownerProjectName = (ownerProjectName != null) ? ownerProjectName : "unknown";
83+
this.serviceOfferingName = (serviceOfferingName != null) ? serviceOfferingName : "unknown";
84+
this.serviceOfferingHostTags = (serviceOfferingHostTags != null) ? serviceOfferingHostTags : new ArrayList<>();
85+
this.zoneName = (zoneName != null) ? zoneName : "unknown";
86+
this.zoneUuid = (zoneUuid != null) ? zoneUuid : "unknown";
87+
this.podName = (podName != null) ? podName : "unknown";
88+
this.podUuid = (podUuid != null) ? podUuid : "unknown";
89+
this.clusterName = (clusterName != null) ? clusterName : "unknown";
90+
this.clusterUuid = (clusterUuid != null) ? clusterUuid : "unknown";
91+
92+
this.resourceTags = (resourceTags != null) ? resourceTags : new HashMap<>();
93+
}
94+
95+
public String getName() {
96+
return name;
97+
}
98+
99+
public String getInternalName() {
100+
return internalName;
101+
}
102+
103+
public String getDisplayName() {
104+
return displayName;
105+
}
106+
107+
public String getInstanceUuid() {
108+
return instanceUuid;
109+
}
110+
111+
public Integer getCpuCores() {
112+
return cpuCores;
113+
}
114+
115+
public Integer getMemory() {
116+
return memory;
117+
}
118+
119+
public Long getCreated() { return created; }
120+
121+
public Long getStarted() {
122+
return started;
123+
}
124+
125+
public String getOwnerDomainUuid() {
126+
return ownerDomainUuid;
127+
}
128+
129+
public String getOwnerDomainName() {
130+
return ownerDomainName;
131+
}
132+
133+
public String getOwnerAccountUuid() {
134+
return ownerAccountUuid;
135+
}
136+
137+
public String getOwnerAccountName() {
138+
return ownerAccountName;
139+
}
140+
141+
public String getOwnerProjectUuid() {
142+
return ownerProjectUuid;
143+
}
144+
145+
public String getOwnerProjectName() {
146+
return ownerProjectName;
147+
}
148+
149+
public String getserviceOfferingName() {
150+
return serviceOfferingName;
151+
}
152+
153+
public List<String> getserviceOfferingHostTags() {
154+
return serviceOfferingHostTags;
155+
}
156+
157+
public String getZoneName() {
158+
return zoneName;
159+
}
160+
161+
public String getZoneUuid() {
162+
return zoneUuid;
163+
}
164+
165+
public String getPodName() {
166+
return podName;
167+
}
168+
169+
public String getPodUuid() {
170+
return podUuid;
171+
}
172+
173+
public String getClusterName() {
174+
return clusterName;
175+
}
176+
177+
public String getClusterUuid() {
178+
return clusterUuid;
179+
}
180+
181+
public Map<String, String> getResourceTags() { return resourceTags; }
182+
}

0 commit comments

Comments
 (0)