summaryrefslogtreecommitdiff
path: root/app-emulation/ganeti/files/ganeti-3.0.1-gentoo-infra-hacks.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/ganeti/files/ganeti-3.0.1-gentoo-infra-hacks.patch')
-rw-r--r--app-emulation/ganeti/files/ganeti-3.0.1-gentoo-infra-hacks.patch195
1 files changed, 0 insertions, 195 deletions
diff --git a/app-emulation/ganeti/files/ganeti-3.0.1-gentoo-infra-hacks.patch b/app-emulation/ganeti/files/ganeti-3.0.1-gentoo-infra-hacks.patch
deleted file mode 100644
index 649083314839..000000000000
--- a/app-emulation/ganeti/files/ganeti-3.0.1-gentoo-infra-hacks.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-This is Robin's hacky set of patches for Ganeti
-
-Issue A:
-* OpenRC start-stop-daemon no longer supports --oknodo option, which Ganeti
- uses for idempotent stop/start daemons.
-* OpenRC treats "--stop --signal 0" as a stop, rather than just doing SIG0.
-* Resolve the above by adding using --signal 0 on it's own, and forcing the
- stop/start functions to check before doing things.
-
-Issue B: http/client, rapi/client
-* curl is stricter than it used to be!
-* Explicitly pass Ganeti's CA cert to Curl when the client is making calls, so
- that it can be trusted.
-* Ensure that ONLY the Ganeti CA is used, and not other system certs.
-
-Bonus:
-* Extra stuff to make it easier to debug
-
-Open Bugs:
-* When using ganeti-vcluster, some tools don't apply the vcluster prefix to the socket path.
- E.g. they try to open /run/ganeti/socket/ganeti-query instead of /var/lib/ganeti-vcluster/node1/run/ganeti/socket/ganeti-query
-
---- a/lib/bootstrap.py 2021-08-18 22:14:52.728930451 -0700
-+++ b/lib/bootstrap.py 2021-08-18 15:29:54.125248452 -0700
-@@ -63,7 +63,7 @@
- _INITCONF_ECID = "initconfig-ecid"
-
- #: After how many seconds daemon must be responsive
--_DAEMON_READY_TIMEOUT = 10.0
-+_DAEMON_READY_TIMEOUT = 10.0 # Useful to raise during debug
-
-
- def GenerateHmacKey(file_name):
---- a/lib/utils/log.py 2021-08-18 22:14:52.750932142 -0700
-+++ b/lib/utils/log.py 2021-08-18 15:51:27.044122859 -0700
-@@ -186,9 +186,13 @@
- logging.info("Received request to reopen log files")
-
-
--def SetupLogging(logfile, program, debug=0, stderr_logging=False,
-- multithreaded=False, syslog=constants.SYSLOG_USAGE,
-- console_logging=False, root_logger=None):
-+def SetupLogging(logfile, program, debug=0, stderr_logging=False,
-+ multithreaded=False, syslog=constants.SYSLOG_USAGE,
-+ console_logging=False, root_logger=None):
-+#Useful to use during debug
-+#def SetupLogging(logfile, program, debug=10, stderr_logging=True,
-+# multithreaded=False, syslog=constants.SYSLOG_YES,
-+# console_logging=True, root_logger=None):
- """Configures the logging module.
-
- @type logfile: str
---- a/lib/rapi/client.py 2021-08-18 22:14:52.667925763 -0700
-+++ b/lib/rapi/client.py 2021-08-18 16:56:32.569894199 -0700
-@@ -361,6 +361,9 @@
- if cafile or capath or use_curl_cabundle:
- # Require certificates to be checked
- curl.setopt(pycurl.SSL_VERIFYPEER, True)
-+ if not use_curl_cabundle:
-+ curl.setopt(pycurl.CAINFO, str(''))
-+ curl.setopt(pycurl.CAPATH, str(''))
- if cafile:
- curl.setopt(pycurl.CAINFO, str(cafile))
- if capath:
---- a/lib/http/client.py 2021-08-18 22:14:52.470910624 -0700
-+++ b/lib/http/client.py 2021-08-18 17:02:50.196376211 -0700
-@@ -42,6 +42,7 @@
- from ganeti import compat
- from ganeti import netutils
- from ganeti import locking
-+from ganeti import pathutils
-
-
- class HttpClientRequest(object):
-@@ -141,7 +142,9 @@
- @param req: HTTP request
-
- """
-+ noded_cert = pathutils.NODED_CERT_FILE
- logging.debug("Starting request %r", req)
-+ #logging.debug("request2 %s", req.url)
-
- url = req.url
- method = req.method
-@@ -152,8 +155,13 @@
- resp_buffer = BytesIO()
-
- # Configure client for request
-- curl.setopt(pycurl.VERBOSE, False)
-+ curl.setopt(pycurl.VERBOSE, False)
-+ #curl.setopt(pycurl.VERBOSE, True)
- curl.setopt(pycurl.NOSIGNAL, True)
-+ #curl.setopt(pycurl.SSL_VERIFYPEER, False)
-+ #curl.setopt(pycurl.SSL_VERIFYHOST, 0)
-+ curl.setopt(pycurl.CAINFO, noded_cert)
-+ curl.setopt(pycurl.CAPATH, noded_cert)
- curl.setopt(pycurl.USERAGENT, http.HTTP_GANETI_VERSION)
- curl.setopt(pycurl.PROXY, "")
- curl.setopt(pycurl.CUSTOMREQUEST, method)
-
---- a/daemons/daemon-util.in 2021-08-18 22:14:52.442908473 -0700
-+++ b/daemons/daemon-util.in 2021-08-18 20:00:53.111847248 -0700
-@@ -260,6 +260,8 @@
- echo 'Missing daemon name.' >&2
- return 1
- fi
-+ #echo "DEBUG: $0: check $1" 1>&2
-+ #set -x
-
- local name="$1"; shift
- local pidfile=$(_daemon_pidfile $name)
-@@ -273,21 +275,24 @@
- return 1
- fi
- elif type -p start-stop-daemon >/dev/null; then
-- start-stop-daemon --stop --signal 0 --quiet \
-+ start-stop-daemon --test --signal 0 --quiet \
- --pidfile $pidfile --name "$name"
-+ return $?
- else
- _ignore_error status \
- -p $pidfile \
- $daemonexec
-+ return $?
- fi
- }
-
- # Starts a daemon
--start() {
-+_start() {
- if [[ "$#" -lt 1 ]]; then
- echo 'Missing daemon name.' >&2
- return 1
- fi
-+ #echo "DEBUG: $0: _start $1" 1>&2
-
- local name="$1"; shift
- # Convert daemon name to uppercase after removing "ganeti-" prefix
-@@ -342,11 +347,12 @@
- }
-
- # Stops a daemon
--stop() {
-+_stop() {
- if [[ "$#" -lt 1 ]]; then
- echo 'Missing daemon name.' >&2
- return 1
- fi
-+ #echo "DEBUG: $0: stop $1" 1>&2
-
- local name="$1"; shift
- local pidfile=$(_daemon_pidfile $name)
-@@ -371,10 +377,32 @@
- return 1
- fi
-
-- start $name
-+ _start $name
-+ fi
-+}
-+
-+# Stop a daemon only if running
-+check_and_stop() {
-+ local name="$1"
-+
-+ if check $name; then
-+ if use_systemctl; then
-+ echo "${name} supervised by systemd but not running, will not restart."
-+ return 1
-+ fi
-+
-+ _stop $name
- fi
- }
-
-+stop() {
-+ check_and_stop "$@"
-+}
-+
-+start() {
-+ check_and_start "$@"
-+}
-+
- # Starts the master role
- start_master() {
- if use_systemctl; then
-@@ -423,7 +451,7 @@
- systemctl stop ganeti.target
- else
- for i in $(list_stop_daemons); do
-- stop $i
-+ stop $i
- done
- fi
- }