Compare commits

..

7 Commits

14 changed files with 51 additions and 21 deletions

View File

@@ -1 +1 @@
1.0 1.0.2

View File

@@ -1,5 +1,13 @@
## PVC Changelog ## PVC Changelog
###### [v1.0.2](https://github.com/parallelvirtualcluster/pvc/releases/tag/v1.0.2)
* [Worker Daemon] [Bugfix] Fixed a bug in the calling of osd create-db-vg command worker
###### [v1.0.1](https://github.com/parallelvirtualcluster/pvc/releases/tag/v1.0.1)
* [CLI Client] [Bugfix] Fix bug with DELETE endpoints returning invalid data
###### [v1.0](https://github.com/parallelvirtualcluster/pvc/releases/tag/v1.0) ###### [v1.0](https://github.com/parallelvirtualcluster/pvc/releases/tag/v1.0)
**Announcement**: We are pleased to announce PVC 1.0! Functionally speaking, there are only a few minor improvements over the previous 0.9.107, but I believe it's finally time to call this a "1.0" release. Recently I have had much less opportunity to work on PVC as I would like, so some features are still not quite there, but those can arrive in future versions over time. **Announcement**: We are pleased to announce PVC 1.0! Functionally speaking, there are only a few minor improvements over the previous 0.9.107, but I believe it's finally time to call this a "1.0" release. Recently I have had much less opportunity to work on PVC as I would like, so some features are still not quite there, but those can arrive in future versions over time.

View File

@@ -23,7 +23,7 @@ sed -i "s,version = \"${current_version}\",version = \"${new_version}\"," health
sed -i "s,version = \"${current_version}\",version = \"${new_version}\"," worker-daemon/pvcworkerd/Daemon.py sed -i "s,version = \"${current_version}\",version = \"${new_version}\"," worker-daemon/pvcworkerd/Daemon.py
sed -i "s,version = \"${current_version}\",version = \"${new_version}\"," api-daemon/pvcapid/Daemon.py sed -i "s,version = \"${current_version}\",version = \"${new_version}\"," api-daemon/pvcapid/Daemon.py
sed -i "s,version = \"${current_version}\",version = \"${new_version}\"," client-cli/pyproject.toml sed -i "s,version = \"${current_version}\",version = \"${new_version}\"," client-cli/pyproject.toml
sed -i "s,VERSION = \"${current_version}\",VERSION = \"${new_version}\"," client-cli/pvc/cli/cli.py sed -i "s,VERSION = \"${current_version}\",VERSION = \"${new_version}\"," client-cli/pvc/cli/helpers.py
echo ${new_version} > .version echo ${new_version} > .version
changelog_tmpdir=$( mktemp -d ) changelog_tmpdir=$( mktemp -d )
@@ -48,7 +48,7 @@ echo -e "${deb_changelog_new}" >> ${deb_changelog_file}
echo -e "${deb_changelog_orig}" >> ${deb_changelog_file} echo -e "${deb_changelog_orig}" >> ${deb_changelog_file}
mv ${deb_changelog_file} debian/changelog mv ${deb_changelog_file} debian/changelog
git add node-daemon/pvcnoded/Daemon.py health-daemon/pvchealthd/Daemon.py worker-daemon/pvcworkerd/Daemon.py api-daemon/pvcapid/Daemon.py client-cli/pyproject.toml debian/changelog CHANGELOG.md .version git add node-daemon/pvcnoded/Daemon.py health-daemon/pvchealthd/Daemon.py worker-daemon/pvcworkerd/Daemon.py api-daemon/pvcapid/Daemon.py client-cli/pvc/cli/helpers.py client-cli/pyproject.toml debian/changelog CHANGELOG.md .version
git commit -v git commit -v
popd &>/dev/null popd &>/dev/null

View File

@@ -51,8 +51,6 @@ import click
############################################################################### ###############################################################################
VERSION = "0.9.107"
CONTEXT_SETTINGS = dict( CONTEXT_SETTINGS = dict(
help_option_names=["-h", "--help"], max_content_width=MAX_CONTENT_WIDTH help_option_names=["-h", "--help"], max_content_width=MAX_CONTENT_WIDTH
) )

View File

@@ -30,6 +30,8 @@ from yaml import load as yload
from yaml import SafeLoader from yaml import SafeLoader
VERSION = "1.0.2"
DEFAULT_STORE_DATA = {"cfgfile": "/etc/pvc/pvc.conf"} DEFAULT_STORE_DATA = {"cfgfile": "/etc/pvc/pvc.conf"}
DEFAULT_STORE_FILENAME = "pvc.json" DEFAULT_STORE_FILENAME = "pvc.json"
DEFAULT_API_PREFIX = "/api/v1" DEFAULT_API_PREFIX = "/api/v1"

View File

@@ -27,7 +27,7 @@ from requests import get, post, put, patch, delete, Response
from requests.exceptions import ConnectionError from requests.exceptions import ConnectionError
from time import time from time import time
from urllib3 import disable_warnings from urllib3 import disable_warnings
from pvc.cli.cli import VERSION from pvc.cli.helpers import VERSION
def format_bytes(size_bytes): def format_bytes(size_bytes):
@@ -231,7 +231,7 @@ def call_api(
verify=config["verify_ssl"], verify=config["verify_ssl"],
) )
if operation == "delete": if operation == "delete":
response = patch, delete( response = delete(
uri, uri,
timeout=timeout, timeout=timeout,
headers=headers, headers=headers,

View File

@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "pvc" name = "pvc"
version = "1.0" version = "1.0.2"
dependencies = [ dependencies = [
"Click", "Click",
"PyYAML", "PyYAML",

View File

@@ -2486,7 +2486,7 @@ def osd_worker_remove_osd(
) )
def osd_worker_add_db_vg(zkhandler, celery, device): def osd_worker_add_db_vg(zkhandler, celery, node, device):
# Set up stages # Set up stages
current_stage = 0 current_stage = 0
total_stages = 4 total_stages = 4

12
debian/changelog vendored
View File

@@ -1,3 +1,15 @@
pvc (1.0.2-0) unstable; urgency=high
* [Worker Daemon] [Bugfix] Fixed a bug in the calling of osd create-db-vg command worker
-- Joshua M. Boniface <joshua@boniface.me> Fri, 30 Jan 2026 09:58:00 -0500
pvc (1.0.1-0) unstable; urgency=high
* [CLI Client] [Bugfix] Fix bug with DELETE endpoints returning invalid data
-- Joshua M. Boniface <joshua@boniface.me> Sat, 21 Jun 2025 12:40:33 -0400
pvc (1.0-0) unstable; urgency=high pvc (1.0-0) unstable; urgency=high
**Announcement**: We are pleased to announce PVC 1.0! Functionally speaking, there are only a few minor improvements over the previous 0.9.107, but I believe it's finally time to call this a "1.0" release. Recently I have had much less opportunity to work on PVC as I would like, so some features are still not quite there, but those can arrive in future versions over time. **Announcement**: We are pleased to announce PVC 1.0! Functionally speaking, there are only a few minor improvements over the previous 0.9.107, but I believe it's finally time to call this a "1.0" release. Recently I have had much less opportunity to work on PVC as I would like, so some features are still not quite there, but those can arrive in future versions over time.

View File

@@ -33,7 +33,7 @@ import os
import signal import signal
# Daemon version # Daemon version
version = "1.0" version = "1.0.2"
########################################################## ##########################################################

View File

@@ -3,4 +3,5 @@
# PVC cluster status check for Check_MK (agent-side) # PVC cluster status check for Check_MK (agent-side)
echo "<<<pvc>>>" echo "<<<pvc>>>"
pvc --quiet status --format json hostname -s
pvc --quiet cluster status --format json

View File

@@ -17,24 +17,29 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from .agent_based_api.v1 import * from cmk.agent_based.v2 import *
from cmk.base.check_api import host_name
from time import time from time import time
from json import loads from json import loads
def parse_pvc(string_table):
hostname = string_table[0][0]
data = loads(" ".join(string_table[1]))
parsed = (hostname, data)
return parsed
def discover_pvc(section): def discover_pvc(section):
my_node = host_name().split(".")[0] my_node, _ = section
yield Service(item=f"PVC Node {my_node}") yield Service(item=f"PVC Node {my_node}")
yield Service(item="PVC Cluster") yield Service(item="PVC Cluster")
def check_pvc(item, params, section): def check_pvc(item, params, section):
my_node, data = section
state = State.OK state = State.OK
summary = "Stuff" summary = ""
details = None details = None
data = loads(" ".join(section[0]))
my_node = host_name().split(".")[0]
maintenance_map = { maintenance_map = {
"true": "on", "true": "on",
@@ -44,7 +49,6 @@ def check_pvc(item, params, section):
# Node check # Node check
if item == f"PVC Node {my_node}": if item == f"PVC Node {my_node}":
my_node = host_name().split(".")[0]
node_health = data["node_health"][my_node]["health"] node_health = data["node_health"][my_node]["health"]
node_messages = data["node_health"][my_node]["messages"] node_messages = data["node_health"][my_node]["messages"]
@@ -85,7 +89,12 @@ def check_pvc(item, params, section):
return return
register.check_plugin( agent_section_pvc = AgentSection(
name="pvc",
parse_function=parse_pvc,
)
check_plugin_pvc = CheckPlugin(
name="pvc", name="pvc",
service_name="%s", service_name="%s",
check_ruleset_name="pvc", check_ruleset_name="pvc",

View File

@@ -49,7 +49,7 @@ import re
import json import json
# Daemon version # Daemon version
version = "1.0" version = "1.0.2"
########################################################## ##########################################################

View File

@@ -58,7 +58,7 @@ from daemon_lib.automirror import (
) )
# Daemon version # Daemon version
version = "1.0" version = "1.0.2"
config = cfg.get_configuration() config = cfg.get_configuration()