Skip to content

Commit 7476f60

Browse files
committed
Merge branch 'main' into disk-controller-mappings
2 parents de794a0 + fa85a75 commit 7476f60

File tree

737 files changed

+40763
-6647
lines changed

Some content is hidden

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

737 files changed

+40763
-6647
lines changed

.asf.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,12 @@ github:
5454
- gpordeus
5555
- hsato03
5656
- bernardodemarco
57-
- abh1sar
5857
- FelipeM525
5958
- lucas-a-martins
6059
- nicoschmdt
60+
- abh1sar
61+
- sudo87
62+
- rosi-shapeblue
6163

6264
protected_branches: ~
6365

.github/workflows/ci.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,8 @@ jobs:
164164
component/test_cpu_limits
165165
component/test_cpu_max_limits
166166
component/test_cpu_project_limits
167-
component/test_deploy_vm_userdata_multi_nic",
167+
component/test_deploy_vm_userdata_multi_nic
168+
component/test_deploy_vm_lease",
168169
"component/test_egress_fw_rules
169170
component/test_invalid_gw_nm
170171
component/test_ip_reservation",
@@ -236,7 +237,7 @@ jobs:
236237
237238
- name: Install Python dependencies
238239
run: |
239-
python3 -m pip install --user --upgrade urllib3 lxml paramiko nose texttable ipmisim pyopenssl pycrypto mock flask netaddr pylint pycodestyle six astroid
240+
python3 -m pip install --user --upgrade urllib3 lxml paramiko nose texttable ipmisim pyopenssl pycryptodome mock flask netaddr pylint pycodestyle six astroid pynose
240241
241242
- name: Install jacoco dependencies
242243
run: |

.github/workflows/main-sonar-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
uses: actions/cache@v4
5555
with:
5656
path: ~/.m2/repository
57-
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
57+
key: ${{ runner.os }}-m2-${{ hashFiles('pom.xml', '*/pom.xml', '*/*/pom.xml', '*/*/*/pom.xml') }}
5858
restore-keys: |
5959
${{ runner.os }}-m2
6060

.github/workflows/sonar-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
uses: actions/cache@v4
5757
with:
5858
path: ~/.m2/repository
59-
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
59+
key: ${{ runner.os }}-m2-${{ hashFiles('pom.xml', '*/pom.xml', '*/*/pom.xml', '*/*/*/pom.xml') }}
6060
restore-keys: |
6161
${{ runner.os }}-m2
6262

CONTRIBUTING.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ Contributing to Apache CloudStack (ACS)
44
Summary
55
-------
66
This document covers how to contribute to the ACS project. ACS uses GitHub PRs to manage code contributions.
7-
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.
7+
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.
88

9-
_Lets get started!!!_
9+
_Let's get started!!!_
1010

1111
Bug fixes
1212
---------
@@ -26,7 +26,7 @@ No back porting / cherry-picking features to existing branches!
2626

2727
PendingReleaseNotes file
2828
------------------------
29-
When developing a new feature or making a (major) change to a existing feature you are encouraged to append this to the PendingReleaseNotes file so that the Release Manager can
29+
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
3030
use this file as a source of information when compiling the Release Notes for a new release.
3131

3232
When adding information to the PendingReleaseNotes file make sure that you write a good and understandable description of the new feature or change which you have developed.
@@ -38,9 +38,9 @@ Fork the code
3838

3939
In your browser, navigate to: [https://github.com/apache/cloudstack](https://github.com/apache/cloudstack)
4040

41-
Fork the repository by clicking on the 'Fork' button on the top right hand side. The fork will happen and you will be taken to your own fork of the repository. Copy the Git repository URL by clicking on the clipboard next to the URL on the right hand side of the page under '**HTTPS** clone URL'. You will paste this URL when doing the following `git clone` command.
41+
Fork the repository by clicking on the 'Fork' button on the top right hand side. The fork will happen, and you will be taken to your own fork of the repository. Copy the Git repository URL by clicking on the clipboard next to the URL on the right hand side of the page under '**HTTPS** clone URL'. You will paste this URL when doing the following `git clone` command.
4242

43-
On your computer, follow these steps to setup a local repository for working on ACS:
43+
On your computer, follow these steps to set up a local repository for working on ACS:
4444

4545
```bash
4646
$ git clone https://github.com/YOUR_ACCOUNT/cloudstack.git
@@ -92,9 +92,9 @@ $ git rebase main
9292
Make a GitHub Pull Request to contribute your changes
9393
-----------------------------------------------------
9494

95-
When you are happy with your changes and you are ready to contribute them, you will create a Pull Request on GitHub to do so. This is done by pushing your local changes to your forked repository (default remote name is `origin`) and then initiating a pull request on GitHub.
95+
When you are happy with your changes, and you are ready to contribute them, you will create a Pull Request on GitHub to do so. This is done by pushing your local changes to your forked repository (default remote name is `origin`) and then initiating a pull request on GitHub.
9696

97-
Please include JIRA id, detailed information about the bug/feature, what all tests are executed, how the reviewer can test this feature etc. Incase of UI PRs, a screenshot is preferred.
97+
Please include JIRA id, detailed information about the bug/feature, what all tests are executed, how the reviewer can test this feature etc. In case of UI PRs, a screenshot is preferred.
9898

9999
> **IMPORTANT:** Make sure you have rebased your `feature_x` branch to include the latest code from `upstream/main` _before_ you do this.
100100

INSTALL.md

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ Install tools and dependencies used for development:
2020

2121
Set up Maven (3.6.0):
2222

23-
# wget http://www.us.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
24-
# tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /usr/local
23+
# wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz
24+
# tar -zxvf apache-maven-3.9.9-bin.tar.gz -C /usr/local
2525
# cd /usr/local
26-
# ln -s apache-maven-3.6.3 maven
26+
# ln -s apache-maven-3.9.9 maven
2727
# echo export M2_HOME=/usr/local/maven >> ~/.bashrc # or .zshrc or .profile
2828
# echo export PATH=/usr/local/maven/bin:${PATH} >> ~/.bashrc # or .zshrc or .profile
2929
# source ~/.bashrc
@@ -37,6 +37,7 @@ Setup up NodeJS (LTS):
3737
Start the MySQL service:
3838

3939
$ service mysqld start
40+
$ mysql_secure_installation
4041

4142
### Using jenv and/or pyenv for Version Management
4243

@@ -86,13 +87,33 @@ Start the management server:
8687

8788
If this works, you've successfully setup a single server Apache CloudStack installation.
8889

89-
Open the following URL on your browser to access the Management Server UI:
90-
91-
http://localhost:8080/client/
90+
To access the Management Server UI, follow the following procedure:
9291

9392
The default credentials are; user: admin, password: password and the domain
9493
field should be left blank which is defaulted to the ROOT domain.
9594

95+
## To bring up CloudStack UI
96+
97+
Move to UI Directory
98+
99+
$ cd /path/to/cloudstack/ui
100+
101+
To install dependencies.
102+
103+
$ npm install
104+
105+
To build the project.
106+
107+
$ npm build
108+
109+
For Development Mode.
110+
111+
$ npm start
112+
113+
Make sure to set CS_URL=http://localhost:8080/client on .env.local file on ui.
114+
115+
You should be able to run the management server on http://localhost:5050
116+
96117
## Building with non-redistributable plugins
97118

98119
CloudStack supports several plugins that depend on libraries with distribution restrictions.

agent/bindir/cloud-setup-agent.in

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,19 @@ import os
2020
import logging
2121
import sys
2222
import socket
23+
24+
# ---- This snippet of code adds the sources path and the waf configured PYTHONDIR to the Python path ----
25+
# ---- We do this so cloud_utils can be looked up in the following order:
26+
# ---- 1) Sources directory
27+
# ---- 2) waf configured PYTHONDIR
28+
# ---- 3) System Python path
29+
for pythonpath in (
30+
"@PYTHONDIR@",
31+
os.path.join(os.path.dirname(__file__),os.path.pardir,os.path.pardir,"python","lib"),
32+
):
33+
if os.path.isdir(pythonpath): sys.path.insert(0,pythonpath)
34+
# ---- End snippet of code ----
35+
2336
from cloudutils.cloudException import CloudRuntimeException, CloudInternalException
2437
from cloudutils.utilities import initLoging, bash
2538
from cloudutils.configFileOps import configFileOps

agent/bindir/libvirtqemuhook.in

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,19 @@ import sys
2020
import os
2121
import subprocess
2222
from threading import Timer
23+
24+
# ---- This snippet of code adds the sources path and the waf configured PYTHONDIR to the Python path ----
25+
# ---- We do this so cloud_utils can be looked up in the following order:
26+
# ---- 1) Sources directory
27+
# ---- 2) waf configured PYTHONDIR
28+
# ---- 3) System Python path
29+
for pythonpath in (
30+
"@PYTHONDIR@",
31+
os.path.join(os.path.dirname(__file__),os.path.pardir,os.path.pardir,"python","lib"),
32+
):
33+
if os.path.isdir(pythonpath): sys.path.insert(0,pythonpath)
34+
# ---- End snippet of code ----
35+
2336
from xml.dom.minidom import parse
2437
from cloudutils.configFileOps import configFileOps
2538
from cloudutils.networkConfig import networkConfig

agent/conf/agent.properties

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,3 +441,9 @@ iscsi.session.cleanup.enabled=false
441441

442442
# Wait(in seconds) during agent reconnections. When no value is set then default value of 5s will be used
443443
#backoff.seconds=
444+
445+
# Timeout (in seconds) to wait for the snapshot reversion to complete.
446+
# revert.snapshot.timeout=10800
447+
448+
# Timeout (in seconds) to wait for the incremental snapshot to complete.
449+
# incremental.snapshot.timeout=10800

0 commit comments

Comments
 (0)