From 598b2025e84003761442645f32f1048280dfc040 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Sat, 6 Jun 2020 21:12:51 -0400 Subject: [PATCH] Use Rados and add Ceph entries to pvcnoded.yaml --- debian/control | 2 +- node-daemon/pvcnoded.sample.yaml | 7 +++++++ node-daemon/pvcnoded/Daemon.py | 8 +++++--- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/debian/control b/debian/control index 232b15f4..8b707d17 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ X-Python3-Version: >= 3.2 Package: pvc-daemon-node Architecture: all -Depends: systemd, pvc-daemon-common, python3-kazoo, python3-psutil, python3-apscheduler, python3-libvirt, python3-psycopg2, python3-dnspython, python3-yaml, python3-distutils, ipmitool, libvirt-daemon-system, arping, vlan, bridge-utils, dnsmasq, nftables, pdns-server, pdns-backend-pgsql +Depends: systemd, pvc-daemon-common, python3-kazoo, python3-psutil, python3-apscheduler, python3-libvirt, python3-psycopg2, python3-dnspython, python3-yaml, python3-distutils, python3-rados, ipmitool, libvirt-daemon-system, arping, vlan, bridge-utils, dnsmasq, nftables, pdns-server, pdns-backend-pgsql Suggests: pvc-client-api, pvc-client-cli Description: Parallel Virtual Cluster node daemon (Python 3) A KVM/Zookeeper/Ceph-based VM and private cloud manager diff --git a/node-daemon/pvcnoded.sample.yaml b/node-daemon/pvcnoded.sample.yaml index 62ec2d75..c9dd3717 100644 --- a/node-daemon/pvcnoded.sample.yaml +++ b/node-daemon/pvcnoded.sample.yaml @@ -179,3 +179,10 @@ pvc: mtu: 1500 # address: Storage (Ceph OSD) interface IP address, options: None, by-id, / address: by-id + # storage; PVC storage configuration + # OPTIONAL if enable_storage: False + storage: + # ceph_config_file: The config file containing the Ceph cluster configuration + ceph_config_file: "/etc/ceph/ceph.conf" + # ceph_admin_keyring: The file containing the Ceph client admin keyring + ceph_admin_keyring: "/etc/ceph/ceph.client.admin.keyring" diff --git a/node-daemon/pvcnoded/Daemon.py b/node-daemon/pvcnoded/Daemon.py index 0114b4d4..60eae130 100644 --- a/node-daemon/pvcnoded/Daemon.py +++ b/node-daemon/pvcnoded/Daemon.py @@ -43,10 +43,9 @@ import ipaddress import apscheduler.schedulers.background from distutils.util import strtobool - from queue import Queue - from xml.etree import ElementTree +from rados import Rados import pvcnoded.log as log import pvcnoded.zkhandler as zkhandler @@ -263,7 +262,10 @@ def readConfig(pvcnoded_config_file, myhostname): # Handle the storage config if config['enable_storage']: try: - config_storage = dict() + config_storage = { + 'ceph_config_file': o_config['pvc']['cluster']['storage']['ceph_config_file'], + 'ceph_admin_keyring': o_config['pvc']['cluster']['storage']['ceph_admin_keyring'] + } except Exception as e: print('ERROR: Failed to load configuration: {}'.format(e)) exit(1)