You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- MD022/blanks-around-headings Headings should be surrounded by blank lines
- MD031/blanks-around-fences Fenced code blocks should be surrounded by blank lines
- MD032/blanks-around-lists Lists should be surrounded by blank lines
Run the tool locally with the `--fix` argument to autofix the Markdown.
https://github.com/DavidAnson/markdownlint?tab=readme-ov-file#rules--aliases
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,7 @@ Contributing to Apache CloudStack (ACS)
3
3
4
4
Summary
5
5
-------
6
+
6
7
This document covers how to contribute to the ACS project. ACS uses GitHub PRs to manage code contributions.
7
8
These instructions assume you have a GitHub.com account, so if you don't have one you will have to create one. Your proposed code changes will be published to your own fork of the ACS project, and you will submit a Pull Request for your changes to be added.
8
9
@@ -26,6 +27,7 @@ No back porting / cherry-picking features to existing branches!
26
27
27
28
PendingReleaseNotes file
28
29
------------------------
30
+
29
31
When developing a new feature or making a (major) change to an existing feature you are encouraged to append this to the PendingReleaseNotes file so that the Release Manager can
30
32
use this file as a source of information when compiling the Release Notes for a new release.
31
33
@@ -131,4 +133,5 @@ $ git push origin :feature_x
131
133
132
134
Release Principles
133
135
------------------
136
+
134
137
Detailed information about ACS release principles is available at https://cwiki.apache.org/confluence/display/CLOUDSTACK/Release+principles+for+Apache+CloudStack+4.6+and+up
Copy file name to clipboardExpand all lines: packaging/README.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,26 +1,31 @@
1
1
# CloudStack RPM and DEB packaging
2
+
2
3
This directory contains all the required scripts and tools needed to build RPM and DEB packages for Apache CloudStack.
3
4
4
5
These scripts are also used by the CloudStack team to build packages for the official release of CloudStack.
5
6
6
7
# Requirements
8
+
7
9
The RPM and DEB packages have dependencies on versions of specific libraries. Due to these dependencies the following distributions and their versions are supported by the packages.
8
10
9
11
* CentOS / RHEL: 8 and 9
10
12
* Ubuntu: 20.04, 22.04, 24.04
11
13
* Debian 12 (Bookworm, untested!)
12
14
13
15
# Building
16
+
14
17
Using the scripts in the *packaging* directory the RPM and DEB packages can be build.
15
18
16
19
## DEB
20
+
17
21
If you simply want to build packages go to the root directory of your CloudStack source code and run:
18
22
19
23
``dpkg-buildpackage``
20
24
21
25
This will build packages for the current distribution version you are running. If you run this on a Ubuntu 16.04 system the packages will be tailored for Ubuntu 16.04 and will not install on Ubuntu 14.04.
22
26
23
27
### Building cross-distribution
28
+
24
29
If you want to build packages for a different distribution run the *build-deb.sh* script. This will build packages with the current distribution as a suffix to the package names. E.g. *cloudstack-agent_4.9.0~xenial_all.deb*
25
30
26
31
Using a Docker image you can build packages for a distribution you are not running.
@@ -36,6 +41,7 @@ The following commands assume that the CloudStack source is present in **/tmp/cl
36
41
The commands above will generate Ubuntu 14.04, 16.04, and 22.04 packages which you will find in */tmp* on your system after the build succeeds.
37
42
38
43
## RPM
44
+
39
45
The *package.sh* script can be used to build RPM packages for CloudStack. In the *packaging* script you can run the following command:
Copy file name to clipboardExpand all lines: plugins/storage/volume/adaptive/README.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,7 @@ and implement the ProviderAdapter without needing to understand the internal
11
11
logic of volume management, database structure, etc.
12
12
13
13
## Implement the Provider Interface
14
+
14
15
To implement a provider, create another module -- or a standalone project --
15
16
and implement the following interfaces from the **org.apache.cloudstack.storage.datastore.adapter** package:
16
17
@@ -20,21 +21,28 @@ and implement the following interfaces from the **org.apache.cloudstack.storage.
20
21
Follow Javadoc for each class on further instructions for implementing each function.
21
22
22
23
## Implement the Primary Datastore Provider Plugin
24
+
23
25
Once the provider interface is implemented, you will need to extend the **org.apache.cloudstack.storage.datastore.provider.AdaptiveProviderDatastoreProviderImpl** class. When extending it, you simply need to implement a default
24
26
constructor that creates an instance of the ProviderAdapterFactory implementation created in #2 above. Once created, you need to call the parent constructor and pass the factory object.
25
27
26
28
## Provide the Configuration for the Provider Plugin
29
+
27
30
Lastly, you need to include a module file and Spring configuration for your Primary Datastore Provider Plugin class so Cloudstack will load it during startup.
28
31
29
32
### Module Properties
33
+
30
34
This provides the hint to Cloudstack to load this as a module during startup.
@@ -53,12 +61,16 @@ This provides instructions of which provider implementation class to load when t
53
61
</bean>
54
62
</beans>
55
63
```
64
+
56
65
## Build and Deploy the Jar
66
+
57
67
Once you build the new jar, start Cloudstack Management Server or, if a standalone jar, add it to the classpath before start. You should now have a new storage provider of the designated name once Cloudstack finishes loading
58
68
all configured modules.
59
69
60
70
### Test Cases
71
+
61
72
The following test cases should be run against configured installations of each storage array in a working Cloudstack installation.
Copy file name to clipboardExpand all lines: plugins/storage/volume/storpool/README.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,7 @@
7
7
Primary storage is associated with a cluster or zone, and it stores the virtual disks for all the VMs running on hosts in that cluster/zone.
8
8
9
9
Secondary storage stores the following:
10
+
10
11
* Templates — OS images that can be used to boot VMs and can include additional configuration information, such as installed applications
11
12
* ISO images — disc images containing data or bootable media for operating systems
12
13
* Disk volume snapshots — saved copies of VM data which can be used for data recovery or to create new templates
@@ -354,6 +355,7 @@ To change the tier via CloudStack, you can use the CloudStack API call `changeOf
354
355
change offeringforvolume id={The UUID of the Volume} diskofferingid={The UUID of the disk offering} size={The current or a new size for the volume}
355
356
356
357
Users who were using the offerings to change the StorPool template via the `SP_TEMPLATE` detail, will continue to have this functionality but should use `changeOfferingForVolume` API call instead of:
358
+
357
359
-`resizeVolume` API call for DATA disk
358
360
-`scaleVirtualMachine` API call for ROOT disk
359
361
@@ -372,9 +374,11 @@ Add disk offering detail with API call in CloudStack CLI.
372
374
Creating VM with QoS
373
375
374
376
Deploy virtual machine: Go to Compute> Instances> Add Instances.
377
+
375
378
- For the ROOT volume, choose the option `Override disk offering`. This will set the required `qc` tag from the disk offering (DO) detail.
376
379
377
380
Creating DATA disk with QoS
381
+
378
382
- Create volume via GUI/CLI and choose a disk offering which has the required `SP_QOSCLASS` detail
379
383
380
384
To update the tier of a ROOT/DATA volume go to Storage> Volumes and select the Volume and click on the Change disk offering for the volume in the upper right corner.
0 commit comments