Skip to content

Commit 079dea8

Browse files
committed
Add changelog file following convention recomendation.
1 parent 46aadbd commit 079dea8

File tree

2 files changed

+268
-0
lines changed

2 files changed

+268
-0
lines changed

CHANGELOG.md

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
# Changelog
2+
3+
<!-- markdownlint-disable line-length no-duplicate-heading -->
4+
5+
All notable changes to this project will be documented in this file.
6+
7+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
8+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9+
10+
## [Unreleased]
11+
12+
## [2.3.0] - 2024-12-01
13+
14+
- Initial release for GitHub.
15+
16+
## [2.2.7] - 2024-11-01
17+
18+
- Code preparation for moving project to GitHub.
19+
- No logic changes, only comments added/removed.
20+
21+
## [2.2.6] - 2024-08-01
22+
23+
- Bug Fix: Resolved race condition with DRBD and `multipathd` introduced in XCP 8.2.1 release.
24+
- Bug Fix: IFS was not restored before calling `replication_link_check`, causing interface looping to break.
25+
26+
## [2.2.5] - 2021-02-01
27+
28+
- Bug Fix: Manual mode tracking could produce a "unary operator expected" error if the state file was missing or empty.
29+
- Added DRBD disk state tracking and alerting.
30+
- Added DRBD split-brain alerting via XenCenter/XCP-ng Center. The alert script can be found in `/etc/iscsi-ha/scripts/drbd-split-brain-alert`.
31+
32+
## [2.2.4] - 2019-11-01
33+
34+
- Bug Fix: Updated `manage_db_manual_mode` to better handle missing parameters when installed over older versions of HA-Lizard.
35+
36+
## [2.2.3] - 2019-10-01
37+
38+
- Bug Fix: Resolved parsing error in `replication_link_check` for bonded interfaces with more than two interfaces.
39+
- Updated `restore_replication_link` for improved handling of bonded interfaces.
40+
41+
## [2.2.2] - 2019-10-01
42+
43+
- Removed dependency on `networkctl` as it is no longer included in XCP/XenServer v8 default dom0.
44+
45+
## [2.2.1] - 2019-10-01
46+
47+
- Improved logic to detect and correct ARP failures on replication interfaces using bonded links inside Linux bridges.
48+
- Updated `fw_init` for backward compatibility with pre-version 7 hosts using SystemV.
49+
- Added SSL support to the email handler.
50+
51+
## [2.2.0] - 2018-10-01
52+
53+
- Added stateful configuration manager to preserve all settings in a 2-node hyperconverged pool.
54+
- Removed manual patching requirements for iptables for replication networks.
55+
- Enhanced service startup logic to ensure proper initialization after a dom0 upgrade.
56+
- Resolved printf display bugs in status monitoring.
57+
58+
## [2.1.5] - 2017-08-01
59+
60+
- Bug Fix: Resolved a race condition in XenServer 7.x deployments where `DRBD` could start before the network was ready.
61+
62+
## [2.1.4] - 2017-01-01
63+
64+
- Bug Fix: Addressed incorrect run state displayed for iSCSI targets in manual mode.
65+
- Enhanced DRBD daemon startup retries for stability.
66+
- Reverted ARP update logic to pre-version 2 method for improved compatibility.
67+
68+
## [2.1.3] - 2016-12-01
69+
70+
- Bug Fix: Resolved invalid characters in TGT drop-in configuration causing delays.
71+
- Improved backward compatibility for daemon controller.
72+
73+
## [2.1.2] - 2016-12-01
74+
75+
- Merged version 1.5.7 for backward compatibility.
76+
- Updated init for compatibility with XenServer 6 and 7 environments.
77+
78+
## [2.1.1] - 2016-11-01
79+
80+
- Added frequent ARP updates for storage hosts on replication networks.
81+
- Introduced DRBD split-brain recovery tools.
82+
- CLI updated with version-check option (`-v`).
83+
84+
## [2.1.0] - 2016-11-01
85+
86+
- Multiple bug fixes for daemon runtime behavior.
87+
- Added support for `daemon-reload` on drop-in file creation.
88+
89+
## [2.0.2_beta] - 2016-07-01
90+
91+
- Introduced XenServer 7 compatibility (not backward compatible with 6.x).
92+
- Added stateful updates for manual mode validations.
93+
94+
## [2.0.0] - 2016-07-01
95+
96+
- Initial version 2 release.
97+
98+
## [1.5.7] - 2016-05-01
99+
100+
- Bug Fix: Ensured DRBD primary role is asserted before iSCSI target starts.
101+
- Added DRBD kernel module for the latest XenServer 6.2 kernel.
102+
- Enabled seamless transition of the pool master into maintenance mode.
103+
104+
## [1.5.6] - 2015-09-01
105+
106+
- Improved switchover times during failure or role reversal in manual mode.
107+
- Resolved issues with `replug_pbd` for handling multiple iSCSI SRs.
108+
109+
## [1.5.5] - 2015-08-01
110+
111+
- Added compiled DRBD modules for XenServer kernel version 2.6.32.43-0.4.1.xs1.8.0.861.170802xen.
112+
113+
## [1.5.4] - 2015-04-01
114+
115+
- Added support for DRBD 8.4.3.
116+
- Updated installer for `noSAN` installer support.
117+
- Improved email handler, centralizing email settings.
118+
119+
## [1.4.5] - 2014-09-01
120+
121+
- Fixed CLI display bug for replication IPs when using custom interfaces.
122+
- Added DRBD kernel module for XenServer 6.2 updates.
123+
124+
## [1.4.4] - 2014-07-01
125+
126+
- Added DRBD kernel module to support updated XenServer 6.2 kernel.
127+
128+
## [1.4.3] - 2014-06-01
129+
130+
- Resolved `replug_pbd` bug for environments with multiple iSCSI SRs.
131+
- Fixed IP display bugs in manual mode.
132+
133+
## [1.4.2] - 2014-04-01
134+
135+
- Introduced manual operating mode for managing storage manually.
136+
- Improved installation and initialization scripts for better usability.
137+
138+
## [1.3.7] - 2013-12-01
139+
140+
- Improved logger process management in unclean exits.
141+
- Updated scripts for XenServer 6.2 SP1 kernel compatibility.
142+
143+
## [1.3.1] - 2013-10-01
144+
145+
- Addressed race conditions in slow `dom0s`.
146+
- Updated email alert logic to prevent network-related hanging.
147+
148+
## [1.2.15] - 2013-09-01
149+
150+
- Resolved email alert truncation issues.
151+
- Enhanced installer to retain configurations during upgrades.
152+
153+
## [1.2.14] - 2013-09-01
154+
155+
- Improved PBD replugging for better SR management after reboots.
156+
- Enhanced environment configuration handling.
157+
158+
## [1.2.12] - 2013-08-06
159+
160+
- Added DRBD RPMs for XenServer 6.2 compatibility.
161+
162+
## [1.2.11] - 2013-06-01
163+
164+
- Introduced auto-plugging of iSCSI SRs for better XenServer integration.

CONTRIBUTING.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# Contributing to iscsi-ha
2+
3+
Thank you for your interest in contributing to iscsi-ha! By contributing to this project, you help improve and extend it. Please follow these guidelines to ensure a smooth collaboration.
4+
5+
## Getting Started
6+
7+
To get started with the development environment, we use [Devbox](https://www.jetify.com/devbox), which simplifies the setup of the project for development and testing.
8+
9+
## Setting Up the Development Environment
10+
11+
**Clone the repository:**
12+
13+
```bash
14+
git clone https://github.com/ha-lizard/iscsi-ha.git
15+
cd iscsi-ha
16+
```
17+
18+
**Install Devbox:**
19+
20+
If you don't have Devbox installed, follow the installation instructions [here](https://www.jetify.com/docs/devbox/installing_devbox/).
21+
22+
```bash
23+
curl -fsSL https://get.jetify.com/devbox | bash
24+
```
25+
26+
**Initialize the environment:**
27+
28+
Devbox will automatically set up the required environment based on the `devbox.json` and `devbox.lock` files.
29+
30+
```bash
31+
devbox shell
32+
```
33+
34+
This will prepare the container with all the dependencies required to contribute to the project.
35+
36+
## Code Style
37+
38+
We follow the [Google Shell Style Guide](https://google.github.io/styleguide/shellguide.html) for shell scripting and [PEP 8](https://peps.python.org/pep-0008/) for Python development. Please ensure your code adheres to these style guidelines.
39+
40+
- **Shell scripts**: Follow the [Google Shell Style Guide](https://google.github.io/styleguide/shellguide.html) with 2 spaces for indentation and no tabs.
41+
42+
- **Python scripts**: Follow [PEP 8](https://peps.python.org/pep-0008/), using 4 spaces for indentation and a maximum line length of 79 characters.
43+
44+
### Key Points
45+
46+
- Use 2 spaces for shell scripts (Google Shell Style Guide).
47+
48+
- Use 4 spaces for Python code (PEP 8).
49+
50+
- End all files with a newline.
51+
52+
- Avoid trailing whitespace.
53+
54+
- Function and variable names should be in lowercase, with words separated by underscores (e.g., `my_function`).
55+
56+
- Use `[[` for condition tests in shell scripts instead of `[`, and always quote variables (e.g., `"$@"`).
57+
58+
## Pre-Commit Hooks
59+
60+
We use [pre-commit hooks](https://pre-commit.com/) to ensure code quality before committing changes. These hooks will automatically check for common errors like trailing whitespace, code formatting, and other potential issues.
61+
62+
## Making Changes
63+
64+
**Create a feature branch:**
65+
66+
```bash
67+
git checkout -b feature-branch
68+
```
69+
70+
**Make your changes:**
71+
72+
- Follow the coding guidelines mentioned above.
73+
- Add tests for your changes if applicable.
74+
75+
- Keep commit messages concise and descriptive (e.g., "Add feature X", "Fix bug in Y").
76+
77+
**Commit your changes:**
78+
79+
```bash
80+
git add .
81+
git commit -m "Description of the change"
82+
```
83+
84+
**Push your changes:**
85+
86+
```bash
87+
git push origin feature-branch
88+
```
89+
90+
**Create a Pull Request (PR):**
91+
92+
1. Go to the repository on GitHub.
93+
1. Click on "Compare & pull request."
94+
1. Describe the changes you made and submit the PR.
95+
96+
## Code Reviews
97+
98+
After submitting a PR, the maintainers will review your changes. Be sure to address any comments and make necessary updates to your PR.
99+
100+
## License
101+
102+
By contributing to this project, you agree that your contributions will be licensed under the same license as the project. See the LICENSE file for more information.
103+
104+
## Running Tests (TODO)

0 commit comments

Comments
 (0)