import fence-agents-4.10.0-12.el9
This commit is contained in:
parent
486485e98b
commit
d10cafccec
@ -1,5 +1,8 @@
|
||||
3297473a9d57e93ff378eab173990c1b64673c01 SOURCES/Jinja2-3.0.2.tar.gz
|
||||
e1b766b2b1601fde67b3b19ed2f13b9746bb1cca SOURCES/MarkupSafe-2.0.1.tar.gz
|
||||
e1fb5dc6f95a85e7d1f93c6701b331201e8b5479 SOURCES/PyJWT-2.1.0-py3-none-any.whl
|
||||
53fc16036940089ceadd4127381e40fd6106a7ed SOURCES/PyYAML-5.1.tar.gz
|
||||
a8c40a3ae9d4c159382a58db3153d83e5521c51e SOURCES/PyYAML-6.0.tar.gz
|
||||
b53cba68215f389dffaa51ee2afe10c943278646 SOURCES/adal-1.2.7-py2.py3-none-any.whl
|
||||
bda476965c380701795849179ed91e9d8134ec7c SOURCES/aliyun-python-sdk-core-2.11.5.tar.gz
|
||||
2a3e6ee5713a3cfb47e63a739cc9a05580d95dd6 SOURCES/aliyun_python_sdk_ecs-4.24.7-py2.py3-none-any.whl
|
||||
@ -15,10 +18,13 @@ e20df6c9635f1db9a3c891b9239b4319d88b1747 SOURCES/azure_mgmt_core-1.2.2-py2.py3-n
|
||||
22507f43314ccb2dd203337e87ffafb385ba3627 SOURCES/botocore-1.20.102-py2.py3-none-any.whl
|
||||
6ef53a76455b377b02b4774c32a04e241cdb24eb SOURCES/botocore-2.0.0dev123.zip
|
||||
c953dcd6e69587e5b182d77255ed836172fea70a SOURCES/cachetools-4.2.2-py3-none-any.whl
|
||||
0d12f48faa727f0979e9ad5c4c80dfa32b73caff SOURCES/cachetools-4.2.4.tar.gz
|
||||
b13e22d55867e2ca5f92e5289cfdc21ba6e343aa SOURCES/certifi-2021.10.8.tar.gz
|
||||
2fcaa39108a9c99700c6f3f4198fcaa47b8ed707 SOURCES/certifi-2021.5.30-py2.py3-none-any.whl
|
||||
17953cc85717e0f4501dbc7b5fb8e75d67dcdcd3 SOURCES/cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl
|
||||
96faab7de7e9a71b37f22adb64daf2898e967e3e SOURCES/chardet-3.0.4-py2.py3-none-any.whl
|
||||
e9eb83c71c09b3c8249bd7d6d2619b65fff03874 SOURCES/chardet-4.0.0-py2.py3-none-any.whl
|
||||
865df92e66e5dc7b940144cbad8115c07dc8784f SOURCES/charset-normalizer-2.0.7.tar.gz
|
||||
9fa96037a1a985fe7dda81c0e1e35ae015163d88 SOURCES/charset_normalizer-2.0.4-py3-none-any.whl
|
||||
a8ee91adf4644bbdccfc73ead88f4cd0df7e3552 SOURCES/colorama-0.3.3.tar.gz
|
||||
444d5ea320f95cd6205535a1be2805598847191b SOURCES/colorama-0.4.3-py2.py3-none-any.whl
|
||||
@ -27,6 +33,7 @@ dfabded3494bffe6965b1bf3d37383736e642bdb SOURCES/debtcollector-2.2.0-py3-none-an
|
||||
4b50bebad4c5036c030a78cbb869d039bc91c4ec SOURCES/distro-1.5.0-py2.py3-none-any.whl
|
||||
aafeddc912b74557754b2aaece3f1364be8e9f6a SOURCES/docutils-0.15.2-py3-none-any.whl
|
||||
1ec823f807b73a377cdd47d12e2e34f046bfc889 SOURCES/fence-agents-4.10.0.tar.gz
|
||||
f4e578dc0ed68d6667d7b36cdfc2647d55e9858f SOURCES/google-auth-2.3.0.tar.gz
|
||||
ac160113ba8b78b0688edda9f9a088c0b4b5ded2 SOURCES/google_api_core-1.30.0-py2.py3-none-any.whl
|
||||
4fd1eb2b927767158e91e369de441fd9221a82d9 SOURCES/google_api_python_client-1.12.8-py2.py3-none-any.whl
|
||||
4a3a5ddc3d1ded24279b89d4ea0c8796f6c2598a SOURCES/google_auth-1.32.0-py2.py3-none-any.whl
|
||||
@ -35,16 +42,20 @@ dc553afa7a3f23b92ee9ecd27d0b15153c0e9f75 SOURCES/googleapis_common_protos-1.53.0
|
||||
74ec77d2e2ef6b2ef8503e6e398faa6f3ba298ae SOURCES/httplib2-0.19.1-py3-none-any.whl
|
||||
999b6718b4d789d8ca0d2ddf7c07826154291825 SOURCES/idna-2.10-py2.py3-none-any.whl
|
||||
e3a19aca36f6631ba9e33e66b855835776e8e120 SOURCES/idna-3.2-py3-none-any.whl
|
||||
08c0449533fc94462f78652dea209099754d9ee4 SOURCES/idna-3.3.tar.gz
|
||||
8672ed298c51abba24fdf5298ddeef7b16027071 SOURCES/iso8601-0.1.16-py2.py3-none-any.whl
|
||||
240cc4206740fafacb74bbf0d0c4ff70e41c8a85 SOURCES/isodate-0.6.0-py2.py3-none-any.whl
|
||||
68904717c48e95adb47d815178fff8d80f39b2ab SOURCES/jmespath-0.7.1-py2.py3-none-any.whl
|
||||
22a38dbc79cc3cbe53c2bf306ad22a472be1a6f4 SOURCES/keystoneauth1-4.3.1-py3-none-any.whl
|
||||
d06a9547b1a87e9c51b0a7c708189d993f2e3d89 SOURCES/kubernetes-12.0.1.tar.gz
|
||||
194b341fe37fe6ce992c637a728484e3cee47394 SOURCES/msgpack-1.0.2.tar.gz
|
||||
ba59fbd147307e7ef92a1fad259e7dc0b07e79e0 SOURCES/msrest-0.6.21-py2.py3-none-any.whl
|
||||
3d65a50b68e3aa506b6af42be485ed2710afa9da SOURCES/msrestazure-0.6.4-py2.py3-none-any.whl
|
||||
ee77c30d5350378e9ca9932b724d1a26c9cc164b SOURCES/netaddr-0.8.0-py2.py3-none-any.whl
|
||||
c1dd2b481a0101eb518bf47bdf40ea53ab61ca62 SOURCES/netifaces-0.11.0.tar.gz
|
||||
0b5ba4c47bdd7ff17ca4954349d7213a95d03f25 SOURCES/oauthlib-3.1.1-py2.py3-none-any.whl
|
||||
f6efa66f6106b069b5c0e0cf8cc677e4e96c91ca SOURCES/oauthlib-3.1.1.tar.gz
|
||||
570d69d8c108ebb8aee562389d13b07dfb61ce25 SOURCES/openshift-0.12.1.tar.gz
|
||||
2b0aea8c7985b474f0719b916a1b6475caedf42f SOURCES/os_service_types-1.7.0-py2.py3-none-any.whl
|
||||
e26e191810fd455958aa3fcf7c7447180c14de8d SOURCES/oslo.config-8.7.1-py3-none-any.whl
|
||||
7375d2b1c5d3b13d5637a00b9514104069bca329 SOURCES/oslo.i18n-5.0.1-py3-none-any.whl
|
||||
@ -52,17 +63,22 @@ e26e191810fd455958aa3fcf7c7447180c14de8d SOURCES/oslo.config-8.7.1-py3-none-any.
|
||||
b302350fda92e8b96a402fbb4cdf639f06192b62 SOURCES/oslo.utils-4.10.0-py3-none-any.whl
|
||||
2b10cb7681bc678ba4ff3be524b28d783e4095ce SOURCES/packaging-20.9-py2.py3-none-any.whl
|
||||
f712c7731d0d65cfc8fc7c61afeeeeca4b84b549 SOURCES/packaging-21.0-py3-none-any.whl
|
||||
bccbc1bf76a9db46998eb8e1ffa2f2a2baf9237a SOURCES/packaging-21.2-py3-none-any.whl
|
||||
d3d07b885ca4d10994a30682106e37785e6e780c SOURCES/pbr-5.6.0-py2.py3-none-any.whl
|
||||
0c3fc83ca045abeec9ce82bb7ee3e77f0390bca4 SOURCES/pexpect-4.8.0-py2.py3-none-any.whl
|
||||
18659a0dea5600df33eab90dec1b597e2437aebd SOURCES/poetry-core-1.0.7.tar.gz
|
||||
5ad34ad3dbfaf6d4e72860287043120c641e4524 SOURCES/prettytable-2.2.0-py3-none-any.whl
|
||||
b09c4655a4c8bd24c54a078e960750ec9e8688d6 SOURCES/prompt_toolkit-2.0.10-py3-none-any.whl
|
||||
5a90b79a9630873c7f2db79544c46146bb6af5e8 SOURCES/protobuf-3.17.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
|
||||
0827aaa6fdc3dc4256e06fa1c3991fb4ed20a693 SOURCES/ptyprocess-0.7.0-py2.py3-none-any.whl
|
||||
c3c9f195dc89eb6d04828b881314743b548318d0 SOURCES/pyasn1-0.4.8-py2.py3-none-any.whl
|
||||
e0fa19f8fda46a1fa2253477499b116b33f67175 SOURCES/pyasn1-0.4.8.tar.gz
|
||||
43b89feb6864fe359aae89120627165219de313b SOURCES/pyasn1-modules-0.2.8.tar.gz
|
||||
d77aa46abbcaccc4054a0777a191e427c785c65a SOURCES/pyasn1_modules-0.2.8-py2.py3-none-any.whl
|
||||
a0df3ebc552b551f8e99a05cf0a29ce30bef62ee SOURCES/pycparser-2.20-py2.py3-none-any.whl
|
||||
df33feb2a14904c0461b5dcc3ca31f910206e7bd SOURCES/pycryptodome-3.10.1-cp35-abi3-manylinux2010_x86_64.whl
|
||||
c8307f47e3b75a2d02af72982a2dfefa3f56e407 SOURCES/pyparsing-2.4.7-py2.py3-none-any.whl
|
||||
6082312a090f5be5e796e0854294da0738ec0379 SOURCES/pyparsing-3.0.1.tar.gz
|
||||
24213006f983ada342ed86ea516028fdbb1ac66f SOURCES/pyroute2-0.6.4.tar.gz
|
||||
a052fefd7a93e1e4b2ca87c6a6c242ae70f97489 SOURCES/pyroute2.core-0.6.4.tar.gz
|
||||
e58f6fa56f1baf766ba147dbc9fbfc67fa92e234 SOURCES/pyroute2.ethtool-0.6.4.tar.gz
|
||||
@ -71,24 +87,37 @@ e58f6fa56f1baf766ba147dbc9fbfc67fa92e234 SOURCES/pyroute2.ethtool-0.6.4.tar.gz
|
||||
7dc3c981c9c991990647b74e670115395675fe04 SOURCES/pyroute2.ndb-0.6.4.tar.gz
|
||||
281fe514b28e096f9deb1121ee8340976f47e8c0 SOURCES/pyroute2.nftables-0.6.4.tar.gz
|
||||
7ecab830b1978fbd07d565872731268169847bc4 SOURCES/pyroute2.nslink-0.6.4.tar.gz
|
||||
c2ba10c775b7a52a4b57cac4d4110a0c0f812a82 SOURCES/python-dateutil-2.8.2.tar.gz
|
||||
1dc2fa004aa6517f1620e55d8a7b8e68a9cf2a47 SOURCES/python-string-utils-1.0.0.tar.gz
|
||||
3005ff67df93ee276fb8631e17c677df852254ad SOURCES/python_dateutil-2.8.1-py2.py3-none-any.whl
|
||||
e10df4212f19d34774bb329e8b497dafa4d099d5 SOURCES/python_keystoneclient-4.2.0-py3-none-any.whl
|
||||
2c61c4407646813e5e5dd6f09586704efca371f0 SOURCES/python_novaclient-17.5.0-py3-none-any.whl
|
||||
b97c6966fb8fd273f0bc8533cf0dee4978b9f373 SOURCES/pytz-2021.1-py2.py3-none-any.whl
|
||||
b1009d9fd6acadc64e1a3cecb6f0083fe047e753 SOURCES/requests-2.25.1-py2.py3-none-any.whl
|
||||
d20e2df000dd43249c3a9eed041f08a812a93423 SOURCES/requests-2.26.0-py2.py3-none-any.whl
|
||||
8c7a89d183d3e9b70bf91ba5b75eccf7111b9d8d SOURCES/requests-2.26.0.tar.gz
|
||||
f139aed770519b6a095b8fdc888d03955cbe9d8e SOURCES/requests-oauthlib-1.3.0.tar.gz
|
||||
25d5667d7a61586f5ddaac7e08cc3053db3d8661 SOURCES/requests_oauthlib-1.3.0-py2.py3-none-any.whl
|
||||
b8e2041ff9ad37dba2f78e4b59b57cbed5f1b8ff SOURCES/rfc3986-1.5.0-py2.py3-none-any.whl
|
||||
c0d5be2edf538122d35fe06c29d2d7a5f22f3117 SOURCES/rsa-4.7.2-py3-none-any.whl
|
||||
e8a53067e03fe1b6682fd99a40a7359396a06daa SOURCES/rsa-4.7.2.tar.gz
|
||||
abf532a0cc31ea224e3895f60025e7466b16d7ae SOURCES/ruamel.yaml-0.15.100.tar.gz
|
||||
d1011ff44cd5a045de0460c1b79ec65592e86860 SOURCES/ruamel.yaml-0.17.16.tar.gz
|
||||
27de97227bbbde5a9f571f9fad223578d7bdf7cc SOURCES/ruamel.yaml.clib-0.2.6.tar.gz
|
||||
d7eb0ced8b9f12005ad6f13035689d5611f8a81a SOURCES/s3transfer-0.4.2-py2.py3-none-any.whl
|
||||
0b0fcb339be89ae1b6360dbfb2be2075ae9f84c9 SOURCES/setuptools-57.0.0-py3-none-any.whl
|
||||
d5354718cb8c9330d3abc27445467ce8a5ed9d70 SOURCES/setuptools-58.3.0.tar.gz
|
||||
a4f02fddae697614e356cadfddb6241cc7737f38 SOURCES/setuptools_scm-6.3.2.tar.gz
|
||||
79e6f2e4f9e24898f1896df379871b9c9922f147 SOURCES/six-1.16.0-py2.py3-none-any.whl
|
||||
06fa0bb50f2a4e2917fd14c21e9d2d5508ce0163 SOURCES/six-1.16.0.tar.gz
|
||||
c612ea4b006feec1444ac61c233632f7e4852380 SOURCES/stevedore-3.4.0-py3-none-any.whl
|
||||
47a980b20875d1a1714e921552b5bb0eda190f37 SOURCES/suds_community-0.8.5-py3-none-any.whl
|
||||
b42b7960047441db7dc021cc20e14279bd836f8d SOURCES/tomli-1.0.1.tar.gz
|
||||
83be56610e5f824bb05ff7a5618d6d4df9b6cc08 SOURCES/uritemplate-3.0.1-py2.py3-none-any.whl
|
||||
206b17697417cbf5fc55f1e39c7ceb2197fe3e63 SOURCES/urllib3-1.26.6-py2.py3-none-any.whl
|
||||
eb35c3fd8b0867ae988a15917d6b80e8bdf60222 SOURCES/urllib3-1.26.7.tar.gz
|
||||
7126323614cada181bc8b06436e80ef372ff8656 SOURCES/wcwidth-0.1.9-py2.py3-none-any.whl
|
||||
6cbb5d6384f6d2c8667fb3c5710ecf90dbf9e7fc SOURCES/wcwidth-0.2.5-py2.py3-none-any.whl
|
||||
540f083782c584989c1a0f69ffd69ba7aae07db6 SOURCES/websocket-client-1.2.1.tar.gz
|
||||
b6c48d8714e043524be7a869d1db0adcd8441cd4 SOURCES/wheel-0.37.0-py2.py3-none-any.whl
|
||||
6c18d34144c6faba208509b8091d35acc9842081 SOURCES/wrapt-1.12.1.tar.gz
|
||||
|
29
.gitignore
vendored
29
.gitignore
vendored
@ -1,5 +1,8 @@
|
||||
SOURCES/Jinja2-3.0.2.tar.gz
|
||||
SOURCES/MarkupSafe-2.0.1.tar.gz
|
||||
SOURCES/PyJWT-2.1.0-py3-none-any.whl
|
||||
SOURCES/PyYAML-5.1.tar.gz
|
||||
SOURCES/PyYAML-6.0.tar.gz
|
||||
SOURCES/adal-1.2.7-py2.py3-none-any.whl
|
||||
SOURCES/aliyun-python-sdk-core-2.11.5.tar.gz
|
||||
SOURCES/aliyun_python_sdk_ecs-4.24.7-py2.py3-none-any.whl
|
||||
@ -15,10 +18,13 @@ SOURCES/boto3-1.17.102-py2.py3-none-any.whl
|
||||
SOURCES/botocore-1.20.102-py2.py3-none-any.whl
|
||||
SOURCES/botocore-2.0.0dev123.zip
|
||||
SOURCES/cachetools-4.2.2-py3-none-any.whl
|
||||
SOURCES/cachetools-4.2.4.tar.gz
|
||||
SOURCES/certifi-2021.10.8.tar.gz
|
||||
SOURCES/certifi-2021.5.30-py2.py3-none-any.whl
|
||||
SOURCES/cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl
|
||||
SOURCES/chardet-3.0.4-py2.py3-none-any.whl
|
||||
SOURCES/chardet-4.0.0-py2.py3-none-any.whl
|
||||
SOURCES/charset-normalizer-2.0.7.tar.gz
|
||||
SOURCES/charset_normalizer-2.0.4-py3-none-any.whl
|
||||
SOURCES/colorama-0.3.3.tar.gz
|
||||
SOURCES/colorama-0.4.3-py2.py3-none-any.whl
|
||||
@ -27,6 +33,7 @@ SOURCES/debtcollector-2.2.0-py3-none-any.whl
|
||||
SOURCES/distro-1.5.0-py2.py3-none-any.whl
|
||||
SOURCES/docutils-0.15.2-py3-none-any.whl
|
||||
SOURCES/fence-agents-4.10.0.tar.gz
|
||||
SOURCES/google-auth-2.3.0.tar.gz
|
||||
SOURCES/google_api_core-1.30.0-py2.py3-none-any.whl
|
||||
SOURCES/google_api_python_client-1.12.8-py2.py3-none-any.whl
|
||||
SOURCES/google_auth-1.32.0-py2.py3-none-any.whl
|
||||
@ -35,16 +42,20 @@ SOURCES/googleapis_common_protos-1.53.0-py2.py3-none-any.whl
|
||||
SOURCES/httplib2-0.19.1-py3-none-any.whl
|
||||
SOURCES/idna-2.10-py2.py3-none-any.whl
|
||||
SOURCES/idna-3.2-py3-none-any.whl
|
||||
SOURCES/idna-3.3.tar.gz
|
||||
SOURCES/iso8601-0.1.16-py2.py3-none-any.whl
|
||||
SOURCES/isodate-0.6.0-py2.py3-none-any.whl
|
||||
SOURCES/jmespath-0.7.1-py2.py3-none-any.whl
|
||||
SOURCES/keystoneauth1-4.3.1-py3-none-any.whl
|
||||
SOURCES/kubernetes-12.0.1.tar.gz
|
||||
SOURCES/msgpack-1.0.2.tar.gz
|
||||
SOURCES/msrest-0.6.21-py2.py3-none-any.whl
|
||||
SOURCES/msrestazure-0.6.4-py2.py3-none-any.whl
|
||||
SOURCES/netaddr-0.8.0-py2.py3-none-any.whl
|
||||
SOURCES/netifaces-0.11.0.tar.gz
|
||||
SOURCES/oauthlib-3.1.1-py2.py3-none-any.whl
|
||||
SOURCES/oauthlib-3.1.1.tar.gz
|
||||
SOURCES/openshift-0.12.1.tar.gz
|
||||
SOURCES/os_service_types-1.7.0-py2.py3-none-any.whl
|
||||
SOURCES/oslo.config-8.7.1-py3-none-any.whl
|
||||
SOURCES/oslo.i18n-5.0.1-py3-none-any.whl
|
||||
@ -52,17 +63,22 @@ SOURCES/oslo.serialization-4.2.0-py3-none-any.whl
|
||||
SOURCES/oslo.utils-4.10.0-py3-none-any.whl
|
||||
SOURCES/packaging-20.9-py2.py3-none-any.whl
|
||||
SOURCES/packaging-21.0-py3-none-any.whl
|
||||
SOURCES/packaging-21.2-py3-none-any.whl
|
||||
SOURCES/pbr-5.6.0-py2.py3-none-any.whl
|
||||
SOURCES/pexpect-4.8.0-py2.py3-none-any.whl
|
||||
SOURCES/poetry-core-1.0.7.tar.gz
|
||||
SOURCES/prettytable-2.2.0-py3-none-any.whl
|
||||
SOURCES/prompt_toolkit-2.0.10-py3-none-any.whl
|
||||
SOURCES/protobuf-3.17.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
|
||||
SOURCES/ptyprocess-0.7.0-py2.py3-none-any.whl
|
||||
SOURCES/pyasn1-0.4.8-py2.py3-none-any.whl
|
||||
SOURCES/pyasn1-0.4.8.tar.gz
|
||||
SOURCES/pyasn1-modules-0.2.8.tar.gz
|
||||
SOURCES/pyasn1_modules-0.2.8-py2.py3-none-any.whl
|
||||
SOURCES/pycparser-2.20-py2.py3-none-any.whl
|
||||
SOURCES/pycryptodome-3.10.1-cp35-abi3-manylinux2010_x86_64.whl
|
||||
SOURCES/pyparsing-2.4.7-py2.py3-none-any.whl
|
||||
SOURCES/pyparsing-3.0.1.tar.gz
|
||||
SOURCES/pyroute2-0.6.4.tar.gz
|
||||
SOURCES/pyroute2.core-0.6.4.tar.gz
|
||||
SOURCES/pyroute2.ethtool-0.6.4.tar.gz
|
||||
@ -71,24 +87,37 @@ SOURCES/pyroute2.ipset-0.6.4.tar.gz
|
||||
SOURCES/pyroute2.ndb-0.6.4.tar.gz
|
||||
SOURCES/pyroute2.nftables-0.6.4.tar.gz
|
||||
SOURCES/pyroute2.nslink-0.6.4.tar.gz
|
||||
SOURCES/python-dateutil-2.8.2.tar.gz
|
||||
SOURCES/python-string-utils-1.0.0.tar.gz
|
||||
SOURCES/python_dateutil-2.8.1-py2.py3-none-any.whl
|
||||
SOURCES/python_keystoneclient-4.2.0-py3-none-any.whl
|
||||
SOURCES/python_novaclient-17.5.0-py3-none-any.whl
|
||||
SOURCES/pytz-2021.1-py2.py3-none-any.whl
|
||||
SOURCES/requests-2.25.1-py2.py3-none-any.whl
|
||||
SOURCES/requests-2.26.0-py2.py3-none-any.whl
|
||||
SOURCES/requests-2.26.0.tar.gz
|
||||
SOURCES/requests-oauthlib-1.3.0.tar.gz
|
||||
SOURCES/requests_oauthlib-1.3.0-py2.py3-none-any.whl
|
||||
SOURCES/rfc3986-1.5.0-py2.py3-none-any.whl
|
||||
SOURCES/rsa-4.7.2-py3-none-any.whl
|
||||
SOURCES/rsa-4.7.2.tar.gz
|
||||
SOURCES/ruamel.yaml-0.15.100.tar.gz
|
||||
SOURCES/ruamel.yaml-0.17.16.tar.gz
|
||||
SOURCES/ruamel.yaml.clib-0.2.6.tar.gz
|
||||
SOURCES/s3transfer-0.4.2-py2.py3-none-any.whl
|
||||
SOURCES/setuptools-57.0.0-py3-none-any.whl
|
||||
SOURCES/setuptools-58.3.0.tar.gz
|
||||
SOURCES/setuptools_scm-6.3.2.tar.gz
|
||||
SOURCES/six-1.16.0-py2.py3-none-any.whl
|
||||
SOURCES/six-1.16.0.tar.gz
|
||||
SOURCES/stevedore-3.4.0-py3-none-any.whl
|
||||
SOURCES/suds_community-0.8.5-py3-none-any.whl
|
||||
SOURCES/tomli-1.0.1.tar.gz
|
||||
SOURCES/uritemplate-3.0.1-py2.py3-none-any.whl
|
||||
SOURCES/urllib3-1.26.6-py2.py3-none-any.whl
|
||||
SOURCES/urllib3-1.26.7.tar.gz
|
||||
SOURCES/wcwidth-0.1.9-py2.py3-none-any.whl
|
||||
SOURCES/wcwidth-0.2.5-py2.py3-none-any.whl
|
||||
SOURCES/websocket-client-1.2.1.tar.gz
|
||||
SOURCES/wheel-0.37.0-py2.py3-none-any.whl
|
||||
SOURCES/wrapt-1.12.1.tar.gz
|
||||
|
24
SOURCES/bz2000954-1-configure-fix-virt.patch
Normal file
24
SOURCES/bz2000954-1-configure-fix-virt.patch
Normal file
@ -0,0 +1,24 @@
|
||||
From 52de83b30a8eea638b01f649f4884f50417121c0 Mon Sep 17 00:00:00 2001
|
||||
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||||
Date: Mon, 8 Nov 2021 09:55:11 +0100
|
||||
Subject: [PATCH] configure: fix --with-agents to not match *virt in regex
|
||||
|
||||
---
|
||||
configure.ac | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7aa51e75d..76aec7186 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -173,8 +173,8 @@ if echo "$AGENTS_LIST" | grep -q -E "all|zvm( |$)"; then
|
||||
fi
|
||||
|
||||
FENCE_VIRT=0
|
||||
-if echo "$AGENTS_LIST" | grep -q -E "all|virt( |$)"; then
|
||||
- AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s/virt( |$)//")
|
||||
+if echo "$AGENTS_LIST" | grep -q -E "all|(^| )virt( |$)"; then
|
||||
+ AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s/(^| )virt( |$)//")
|
||||
case "$host_os" in
|
||||
*bsd*)
|
||||
;;
|
160
SOURCES/bz2000954-2-fence_kubevirt.patch
Normal file
160
SOURCES/bz2000954-2-fence_kubevirt.patch
Normal file
@ -0,0 +1,160 @@
|
||||
--- fence-agents-4.10.0/agents/kubevirt/fence_kubevirt.py 2021-07-08 13:09:05.000000000 +0200
|
||||
+++ /home/oalbrigt/rhpkg/fence-agents-8.6/fence-agents-4.2.1/agents/kubevirt/fence_kubevirt.py 2021-11-02 15:35:46.217440426 +0100
|
||||
@@ -2,24 +2,25 @@
|
||||
|
||||
import sys
|
||||
import logging
|
||||
+import atexit
|
||||
sys.path.append("@FENCEAGENTSLIBDIR@")
|
||||
from fencing import *
|
||||
-from fencing import fail, fail_usage, run_delay, EC_STATUS
|
||||
+from fencing import fail, fail_usage, run_delay, EC_STATUS, EC_FETCH_VM_UUID
|
||||
|
||||
try:
|
||||
+ sys.path.insert(0, '/usr/lib/fence-agents/bundled/kubevirt')
|
||||
from kubernetes.client.exceptions import ApiException
|
||||
except ImportError:
|
||||
logging.error("Couldn\'t import kubernetes.client.exceptions.ApiException - not found or not accessible")
|
||||
|
||||
-API_VERSION='kubevirt.io/v1'
|
||||
-
|
||||
def get_nodes_list(conn, options):
|
||||
logging.debug("Starting list/monitor operation")
|
||||
result = {}
|
||||
try:
|
||||
+ apiversion = options.get("--apiversion")
|
||||
namespace = options.get("--namespace")
|
||||
include_uninitialized = True
|
||||
- vm_api = conn.resources.get(api_version=API_VERSION, kind='VirtualMachine')
|
||||
+ vm_api = conn.resources.get(api_version=apiversion, kind='VirtualMachine')
|
||||
vm_list = vm_api.get(namespace=namespace)
|
||||
for vm in vm_list.items:
|
||||
result[vm.metadata.name] = ("", None)
|
||||
@@ -30,18 +31,21 @@
|
||||
def get_power_status(conn, options):
|
||||
logging.debug("Starting get status operation")
|
||||
try:
|
||||
+ apiversion = options.get("--apiversion")
|
||||
namespace = options.get("--namespace")
|
||||
name = options.get("--plug")
|
||||
- vmi_api = conn.resources.get(api_version=API_VERSION,
|
||||
+ vmi_api = conn.resources.get(api_version=apiversion,
|
||||
kind='VirtualMachineInstance')
|
||||
vmi = vmi_api.get(name=name, namespace=namespace)
|
||||
- if vmi is not None:
|
||||
- phase = vmi.status.phase
|
||||
- if phase == "Running":
|
||||
- return "on"
|
||||
- return "off"
|
||||
+ return translate_status(vmi.status.phase)
|
||||
except ApiException as e:
|
||||
if e.status == 404:
|
||||
+ try:
|
||||
+ vm_api = conn.resources.get(api_version=apiversion, kind='VirtualMachine')
|
||||
+ vm = vm_api.get(name=name, namespace=namespace)
|
||||
+ except ApiException as e:
|
||||
+ logging.error("VM %s doesn't exist", name)
|
||||
+ fail(EC_FETCH_VM_UUID)
|
||||
return "off"
|
||||
logging.error("Failed to get power status, with API Exception: %s", e)
|
||||
fail(EC_STATUS)
|
||||
@@ -49,38 +53,53 @@
|
||||
logging.error("Failed to get power status, with Exception: %s", e)
|
||||
fail(EC_STATUS)
|
||||
|
||||
+def translate_status(instance_status):
|
||||
+ if instance_status == "Running":
|
||||
+ return "on"
|
||||
+ return "unknown"
|
||||
+
|
||||
def set_power_status(conn, options):
|
||||
logging.debug("Starting set status operation")
|
||||
try:
|
||||
+ apiversion= options.get("--apiversion")
|
||||
namespace = options.get("--namespace")
|
||||
name = options.get("--plug")
|
||||
action = 'start' if options["--action"] == "on" else 'stop'
|
||||
- virtctl_vm_action(conn, action, namespace, name)
|
||||
+ virtctl_vm_action(conn, action, namespace, name, apiversion)
|
||||
except Exception as e:
|
||||
logging.error("Failed to set power status, with Exception: %s", e)
|
||||
fail(EC_STATUS)
|
||||
|
||||
def define_new_opts():
|
||||
- all_opt["namespace"] = {
|
||||
- "getopt" : ":",
|
||||
- "longopt" : "namespace",
|
||||
- "help" : "--namespace=[namespace] Namespace of the KubeVirt machine",
|
||||
- "shortdesc" : "Namespace of the KubeVirt machine.",
|
||||
- "required" : "1",
|
||||
- "order" : 2
|
||||
- }
|
||||
- all_opt["kubeconfig"] = {
|
||||
- "getopt" : ":",
|
||||
- "longopt" : "kubeconfig",
|
||||
- "help" : "--kubeconfig=[kubeconfig] Kubeconfig file path",
|
||||
- "shortdesc": "Kubeconfig file path",
|
||||
- "required": "0",
|
||||
- "order": 4
|
||||
- }
|
||||
+ all_opt["namespace"] = {
|
||||
+ "getopt" : ":",
|
||||
+ "longopt" : "namespace",
|
||||
+ "help" : "--namespace=[namespace] Namespace of the KubeVirt machine",
|
||||
+ "shortdesc" : "Namespace of the KubeVirt machine.",
|
||||
+ "required" : "1",
|
||||
+ "order" : 2
|
||||
+ }
|
||||
+ all_opt["kubeconfig"] = {
|
||||
+ "getopt" : ":",
|
||||
+ "longopt" : "kubeconfig",
|
||||
+ "help" : "--kubeconfig=[kubeconfig] Kubeconfig file path",
|
||||
+ "shortdesc": "Kubeconfig file path",
|
||||
+ "required": "0",
|
||||
+ "order": 4
|
||||
+ }
|
||||
+ all_opt["apiversion"] = {
|
||||
+ "getopt" : ":",
|
||||
+ "longopt" : "apiversion",
|
||||
+ "help" : "--apiversion=[apiversion] Version of the KubeVirt API",
|
||||
+ "shortdesc" : "Version of the KubeVirt API.",
|
||||
+ "required" : "0",
|
||||
+ "default" : "kubevirt.io/v1",
|
||||
+ "order" : 5
|
||||
+ }
|
||||
|
||||
-def virtctl_vm_action(conn, action, namespace, name):
|
||||
+def virtctl_vm_action(conn, action, namespace, name, apiversion):
|
||||
path = '/apis/subresources.{api_version}/namespaces/{namespace}/virtualmachines/{name}/{action}'
|
||||
- path = path.format(api_version=API_VERSION, namespace=namespace, name=name, action=action)
|
||||
+ path = path.format(api_version=apiversion, namespace=namespace, name=name, action=action)
|
||||
return conn.request('put', path, header_params={'accept': '*/*'})
|
||||
|
||||
def validate_options(required_options_list, options):
|
||||
@@ -92,8 +111,13 @@
|
||||
def main():
|
||||
conn = None
|
||||
|
||||
- device_opt = ["port", "namespace", "kubeconfig", "separator", "no_password"]
|
||||
+ device_opt = ["port", "namespace", "kubeconfig", "ssl_insecure", "no_password", "apiversion"]
|
||||
+
|
||||
+ atexit.register(atexit_handler)
|
||||
define_new_opts()
|
||||
+
|
||||
+ all_opt["power_timeout"]["default"] = "40"
|
||||
+
|
||||
options = check_input(device_opt, process_input(device_opt))
|
||||
|
||||
docs = {}
|
||||
@@ -106,6 +130,11 @@
|
||||
|
||||
validate_options(['--namespace'], options)
|
||||
|
||||
+ # Disable insecure-certificate-warning message
|
||||
+ if "--ssl-insecure" in options:
|
||||
+ import urllib3
|
||||
+ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
+
|
||||
try:
|
||||
from kubernetes import config
|
||||
from openshift.dynamic import DynamicClient
|
@ -0,0 +1,139 @@
|
||||
From e339f304d4423a0e661d915f72ba88553b21d74a Mon Sep 17 00:00:00 2001
|
||||
From: MSSedusch <sedusch@microsoft.com>
|
||||
Date: Tue, 28 Sep 2021 12:23:37 +0000
|
||||
Subject: [PATCH 1/2] add support for sovereign clouds and MSI
|
||||
|
||||
---
|
||||
lib/azure_fence.py.py | 14 ++++++++------
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/lib/azure_fence.py.py b/lib/azure_fence.py.py
|
||||
index 1f38bd4ea..75b63fdad 100644
|
||||
--- a/lib/azure_fence.py.py
|
||||
+++ b/lib/azure_fence.py.py
|
||||
@@ -286,11 +286,11 @@ def get_azure_credentials(config):
|
||||
credentials = None
|
||||
cloud_environment = get_azure_cloud_environment(config)
|
||||
if config.UseMSI and cloud_environment:
|
||||
- from msrestazure.azure_active_directory import MSIAuthentication
|
||||
- credentials = MSIAuthentication(cloud_environment=cloud_environment)
|
||||
+ from azure.identity import ManagedIdentityCredential
|
||||
+ credentials = ManagedIdentityCredential(cloud_environment=cloud_environment)
|
||||
elif config.UseMSI:
|
||||
- from msrestazure.azure_active_directory import MSIAuthentication
|
||||
- credentials = MSIAuthentication()
|
||||
+ from azure.identity import ManagedIdentityCredential
|
||||
+ credentials = ManagedIdentityCredential()
|
||||
elif cloud_environment:
|
||||
try:
|
||||
# try to use new libraries ClientSecretCredential (azure.identity, based on azure.core)
|
||||
@@ -340,7 +340,8 @@ def get_azure_compute_client(config):
|
||||
compute_client = ComputeManagementClient(
|
||||
credentials,
|
||||
config.SubscriptionId,
|
||||
- base_url=cloud_environment.endpoints.resource_manager
|
||||
+ base_url=cloud_environment.endpoints.resource_manager,
|
||||
+ credential_scopes=[cloud_environment.endpoints.resource_manager + "/.default"]
|
||||
)
|
||||
else:
|
||||
compute_client = ComputeManagementClient(
|
||||
@@ -359,7 +360,8 @@ def get_azure_network_client(config):
|
||||
network_client = NetworkManagementClient(
|
||||
credentials,
|
||||
config.SubscriptionId,
|
||||
- base_url=cloud_environment.endpoints.resource_manager
|
||||
+ base_url=cloud_environment.endpoints.resource_manager,
|
||||
+ credential_scopes=[cloud_environment.endpoints.resource_manager + "/.default"]
|
||||
)
|
||||
else:
|
||||
network_client = NetworkManagementClient(
|
||||
|
||||
From f08f02a7561e78dd9c95c66ccdcf6246c5ee7d6a Mon Sep 17 00:00:00 2001
|
||||
From: MSSedusch <sedusch@microsoft.com>
|
||||
Date: Fri, 1 Oct 2021 15:28:39 +0000
|
||||
Subject: [PATCH 2/2] compatiblity fix
|
||||
|
||||
---
|
||||
lib/azure_fence.py.py | 54 ++++++++++++++++++++++++++++++-------------
|
||||
1 file changed, 38 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/lib/azure_fence.py.py b/lib/azure_fence.py.py
|
||||
index 75b63fdad..5ca71eb42 100644
|
||||
--- a/lib/azure_fence.py.py
|
||||
+++ b/lib/azure_fence.py.py
|
||||
@@ -286,11 +286,19 @@ def get_azure_credentials(config):
|
||||
credentials = None
|
||||
cloud_environment = get_azure_cloud_environment(config)
|
||||
if config.UseMSI and cloud_environment:
|
||||
- from azure.identity import ManagedIdentityCredential
|
||||
- credentials = ManagedIdentityCredential(cloud_environment=cloud_environment)
|
||||
+ try:
|
||||
+ from azure.identity import ManagedIdentityCredential
|
||||
+ credentials = ManagedIdentityCredential(cloud_environment=cloud_environment)
|
||||
+ except ImportError:
|
||||
+ from msrestazure.azure_active_directory import MSIAuthentication
|
||||
+ credentials = MSIAuthentication(cloud_environment=cloud_environment)
|
||||
elif config.UseMSI:
|
||||
- from azure.identity import ManagedIdentityCredential
|
||||
- credentials = ManagedIdentityCredential()
|
||||
+ try:
|
||||
+ from azure.identity import ManagedIdentityCredential
|
||||
+ credentials = ManagedIdentityCredential()
|
||||
+ except ImportError:
|
||||
+ from msrestazure.azure_active_directory import MSIAuthentication
|
||||
+ credentials = MSIAuthentication()
|
||||
elif cloud_environment:
|
||||
try:
|
||||
# try to use new libraries ClientSecretCredential (azure.identity, based on azure.core)
|
||||
@@ -337,12 +345,19 @@ def get_azure_compute_client(config):
|
||||
credentials = get_azure_credentials(config)
|
||||
|
||||
if cloud_environment:
|
||||
- compute_client = ComputeManagementClient(
|
||||
- credentials,
|
||||
- config.SubscriptionId,
|
||||
- base_url=cloud_environment.endpoints.resource_manager,
|
||||
- credential_scopes=[cloud_environment.endpoints.resource_manager + "/.default"]
|
||||
- )
|
||||
+ try:
|
||||
+ compute_client = ComputeManagementClient(
|
||||
+ credentials,
|
||||
+ config.SubscriptionId,
|
||||
+ base_url=cloud_environment.endpoints.resource_manager,
|
||||
+ credential_scopes=[cloud_environment.endpoints.resource_manager + "/.default"]
|
||||
+ )
|
||||
+ except TypeError:
|
||||
+ compute_client = ComputeManagementClient(
|
||||
+ credentials,
|
||||
+ config.SubscriptionId,
|
||||
+ base_url=cloud_environment.endpoints.resource_manager
|
||||
+ )
|
||||
else:
|
||||
compute_client = ComputeManagementClient(
|
||||
credentials,
|
||||
@@ -357,12 +372,19 @@ def get_azure_network_client(config):
|
||||
credentials = get_azure_credentials(config)
|
||||
|
||||
if cloud_environment:
|
||||
- network_client = NetworkManagementClient(
|
||||
- credentials,
|
||||
- config.SubscriptionId,
|
||||
- base_url=cloud_environment.endpoints.resource_manager,
|
||||
- credential_scopes=[cloud_environment.endpoints.resource_manager + "/.default"]
|
||||
- )
|
||||
+ try:
|
||||
+ network_client = NetworkManagementClient(
|
||||
+ credentials,
|
||||
+ config.SubscriptionId,
|
||||
+ base_url=cloud_environment.endpoints.resource_manager,
|
||||
+ credential_scopes=[cloud_environment.endpoints.resource_manager + "/.default"]
|
||||
+ )
|
||||
+ except TypeError:
|
||||
+ network_client = NetworkManagementClient(
|
||||
+ credentials,
|
||||
+ config.SubscriptionId,
|
||||
+ base_url=cloud_environment.endpoints.resource_manager
|
||||
+ )
|
||||
else:
|
||||
network_client = NetworkManagementClient(
|
||||
credentials,
|
@ -0,0 +1,22 @@
|
||||
From 06855a8227fa91f6216119daa3d32d5858c62837 Mon Sep 17 00:00:00 2001
|
||||
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||||
Date: Mon, 27 Sep 2021 12:05:41 +0200
|
||||
Subject: [PATCH] fence_amt_ws: fix "or" causing dead code
|
||||
|
||||
---
|
||||
agents/amt_ws/fence_amt_ws.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/agents/amt_ws/fence_amt_ws.py b/agents/amt_ws/fence_amt_ws.py
|
||||
index 23c8a61a4..122cec309 100755
|
||||
--- a/agents/amt_ws/fence_amt_ws.py
|
||||
+++ b/agents/amt_ws/fence_amt_ws.py
|
||||
@@ -148,7 +148,7 @@ def set_boot_order(_, client, options):
|
||||
|
||||
if options["--boot-option"] == "pxe":
|
||||
device = "Intel(r) AMT: Force PXE Boot"
|
||||
- elif options["--boot-option"] == "hd" or "hdsafe":
|
||||
+ elif options["--boot-option"] in ["hd", "hdsafe"]:
|
||||
device = "Intel(r) AMT: Force Hard-drive Boot"
|
||||
elif options["--boot-option"] == "cd":
|
||||
device = "Intel(r) AMT: Force CD/DVD Boot"
|
136
SOURCES/bz2022334-fence_zvmip-add-ssl-tls-support.patch
Normal file
136
SOURCES/bz2022334-fence_zvmip-add-ssl-tls-support.patch
Normal file
@ -0,0 +1,136 @@
|
||||
From 81be3c529ec1165f3135b4f14fbec2a19403cfbe Mon Sep 17 00:00:00 2001
|
||||
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||||
Date: Fri, 27 Aug 2021 08:53:36 +0200
|
||||
Subject: [PATCH 1/2] fence_zvmip: add ssl/tls support
|
||||
|
||||
---
|
||||
agents/zvm/fence_zvmip.py | 20 ++++++++++++++++----
|
||||
tests/data/metadata/fence_zvmip.xml | 19 +++++++++++++++++++
|
||||
2 files changed, 35 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/agents/zvm/fence_zvmip.py b/agents/zvm/fence_zvmip.py
|
||||
index 001106a44..874eb699f 100644
|
||||
--- a/agents/zvm/fence_zvmip.py
|
||||
+++ b/agents/zvm/fence_zvmip.py
|
||||
@@ -26,12 +26,22 @@ def open_socket(options):
|
||||
except socket.gaierror:
|
||||
fail(EC_LOGIN_DENIED)
|
||||
|
||||
- conn = socket.socket()
|
||||
+ if "--ssl" in options:
|
||||
+ import ssl
|
||||
+ sock = socket.socket()
|
||||
+ sslcx = ssl.create_default_context()
|
||||
+ if "--ssl-insecure" in options:
|
||||
+ sslcx.check_hostname = False
|
||||
+ sslcx.verify_mode = ssl.CERT_NONE
|
||||
+ conn = sslcx.wrap_socket(sock, server_hostname=options["--ip"])
|
||||
+ else:
|
||||
+ conn = socket.socket()
|
||||
conn.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
conn.settimeout(float(options["--shell-timeout"]) or None)
|
||||
try:
|
||||
conn.connect(addr)
|
||||
- except socket.error:
|
||||
+ except socket.error as e:
|
||||
+ logging.debug(e)
|
||||
fail(EC_LOGIN_DENIED)
|
||||
|
||||
return conn
|
||||
@@ -122,11 +132,12 @@ def get_list_of_images(options, command, data_as_plug):
|
||||
images = set()
|
||||
|
||||
if output_len > 3*INT4:
|
||||
+ recvflag = socket.MSG_WAITALL if "--ssl" not in options else 0
|
||||
array_len = struct.unpack("!i", conn.recv(INT4))[0]
|
||||
data = ""
|
||||
|
||||
while True:
|
||||
- read_data = conn.recv(1024, socket.MSG_WAITALL).decode("UTF-8")
|
||||
+ read_data = conn.recv(1024, recvflag).decode("UTF-8")
|
||||
data += read_data
|
||||
if array_len == len(data):
|
||||
break
|
||||
@@ -146,7 +157,8 @@ def get_list_of_images(options, command, data_as_plug):
|
||||
return (return_code, reason_code, images)
|
||||
|
||||
def main():
|
||||
- device_opt = ["ipaddr", "login", "passwd", "port", "method", "missing_as_off", "inet4_only", "inet6_only"]
|
||||
+ device_opt = ["ipaddr", "login", "passwd", "port", "method", "missing_as_off",
|
||||
+ "inet4_only", "inet6_only", "ssl"]
|
||||
|
||||
atexit.register(atexit_handler)
|
||||
|
||||
diff --git a/tests/data/metadata/fence_zvmip.xml b/tests/data/metadata/fence_zvmip.xml
|
||||
index f84115c08..d91192946 100644
|
||||
--- a/tests/data/metadata/fence_zvmip.xml
|
||||
+++ b/tests/data/metadata/fence_zvmip.xml
|
||||
@@ -91,6 +91,21 @@ to access the system's directory manager.
|
||||
<content type="string" />
|
||||
<shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
|
||||
</parameter>
|
||||
+ <parameter name="ssl" unique="0" required="0">
|
||||
+ <getopt mixed="-z, --ssl" />
|
||||
+ <content type="boolean" />
|
||||
+ <shortdesc lang="en">Use SSL connection with verifying certificate</shortdesc>
|
||||
+ </parameter>
|
||||
+ <parameter name="ssl_insecure" unique="0" required="0">
|
||||
+ <getopt mixed="--ssl-insecure" />
|
||||
+ <content type="boolean" />
|
||||
+ <shortdesc lang="en">Use SSL connection without verifying certificate</shortdesc>
|
||||
+ </parameter>
|
||||
+ <parameter name="ssl_secure" unique="0" required="0">
|
||||
+ <getopt mixed="--ssl-secure" />
|
||||
+ <content type="boolean" />
|
||||
+ <shortdesc lang="en">Use SSL connection with verifying certificate</shortdesc>
|
||||
+ </parameter>
|
||||
<parameter name="username" unique="0" required="1" obsoletes="login">
|
||||
<getopt mixed="-l, --username=[name]" />
|
||||
<content type="string" />
|
||||
@@ -181,6 +196,10 @@ to access the system's directory manager.
|
||||
<content type="integer" default="1" />
|
||||
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
|
||||
</parameter>
|
||||
+ <parameter name="gnutlscli_path" unique="0" required="0">
|
||||
+ <getopt mixed="--gnutlscli-path=[path]" />
|
||||
+ <shortdesc lang="en">Path to gnutls-cli binary</shortdesc>
|
||||
+ </parameter>
|
||||
</parameters>
|
||||
<actions>
|
||||
<action name="on" automatic="0"/>
|
||||
|
||||
From 8021e698095c5bd0ef33ee5f56fc448e946cb92c Mon Sep 17 00:00:00 2001
|
||||
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||||
Date: Wed, 10 Nov 2021 16:31:24 +0100
|
||||
Subject: [PATCH 2/2] fence_zvmip: use ssl by default
|
||||
|
||||
---
|
||||
agents/zvm/fence_zvmip.py | 1 +
|
||||
tests/data/metadata/fence_zvmip.xml | 2 +-
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/agents/zvm/fence_zvmip.py b/agents/zvm/fence_zvmip.py
|
||||
index 874eb699f..96021b13e 100644
|
||||
--- a/agents/zvm/fence_zvmip.py
|
||||
+++ b/agents/zvm/fence_zvmip.py
|
||||
@@ -165,6 +165,7 @@ def main():
|
||||
all_opt["ipport"]["default"] = "44444"
|
||||
all_opt["shell_timeout"]["default"] = "5"
|
||||
all_opt["missing_as_off"]["default"] = "1"
|
||||
+ all_opt["ssl"]["default"] = "1"
|
||||
options = check_input(device_opt, process_input(device_opt), other_conditions=True)
|
||||
|
||||
if len(options.get("--plug", "")) > 8:
|
||||
diff --git a/tests/data/metadata/fence_zvmip.xml b/tests/data/metadata/fence_zvmip.xml
|
||||
index d91192946..f32fc159d 100644
|
||||
--- a/tests/data/metadata/fence_zvmip.xml
|
||||
+++ b/tests/data/metadata/fence_zvmip.xml
|
||||
@@ -93,7 +93,7 @@ to access the system's directory manager.
|
||||
</parameter>
|
||||
<parameter name="ssl" unique="0" required="0">
|
||||
<getopt mixed="-z, --ssl" />
|
||||
- <content type="boolean" />
|
||||
+ <content type="boolean" default="1" />
|
||||
<shortdesc lang="en">Use SSL connection with verifying certificate</shortdesc>
|
||||
</parameter>
|
||||
<parameter name="ssl_insecure" unique="0" required="0">
|
@ -6,10 +6,60 @@
|
||||
# keep around ready for later user
|
||||
## global alphatag git0a6184070
|
||||
|
||||
# bundles
|
||||
%global bundled_lib_dir bundled
|
||||
# kubevirt
|
||||
%global openshift openshift
|
||||
%global openshift_version 0.12.1
|
||||
%global ruamelyamlclib ruamel.yaml.clib
|
||||
%global ruamelyamlclib_version 0.2.6
|
||||
%global kubernetes kubernetes
|
||||
%global kubernetes_version 12.0.1
|
||||
%global certifi certifi
|
||||
%global certifi_version 2021.10.8
|
||||
%global googleauth google-auth
|
||||
%global googleauth_version 2.3.0
|
||||
%global cachetools cachetools
|
||||
%global cachetools_version 4.2.4
|
||||
%global pyasn1modules pyasn1-modules
|
||||
%global pyasn1modules_version 0.2.8
|
||||
%global pyasn1 pyasn1
|
||||
%global pyasn1_version 0.4.8
|
||||
%global dateutil dateutil
|
||||
%global dateutil_version 2.8.2
|
||||
%global pyyaml PyYAML
|
||||
%global pyyaml_version 6.0
|
||||
%global six six
|
||||
%global six_version 1.16.0
|
||||
%global urllib3 urllib3
|
||||
%global urllib3_version 1.26.7
|
||||
%global websocketclient websocket-client
|
||||
%global websocketclient_version 1.2.1
|
||||
%global jinja2 Jinja2
|
||||
%global jinja2_version 3.0.2
|
||||
%global markupsafe MarkupSafe
|
||||
%global markupsafe_version 2.0.1
|
||||
%global stringutils string-utils
|
||||
%global stringutils_version 1.0.0
|
||||
%global requests requests
|
||||
%global requests_version 2.26.0
|
||||
%global chrstnormalizer charset-normalizer
|
||||
%global chrstnormalizer_version 2.0.7
|
||||
%global idna idna
|
||||
%global idna_version 3.3
|
||||
%global reqstsoauthlib requests-oauthlib
|
||||
%global reqstsoauthlib_version 1.3.0
|
||||
%global oauthlib oauthlib
|
||||
%global oauthlib_version 3.1.1
|
||||
%global ruamelyaml ruamel.yaml
|
||||
%global ruamelyaml_version 0.17.16
|
||||
%global setuptools setuptools
|
||||
%global setuptools_version 58.3.0
|
||||
|
||||
Name: fence-agents
|
||||
Summary: Set of unified programs capable of host isolation ("fencing")
|
||||
Version: 4.10.0
|
||||
Release: 9%{?alphatag:.%{alphatag}}%{?dist}
|
||||
Release: 12%{?alphatag:.%{alphatag}}%{?dist}
|
||||
License: GPLv2+ and LGPLv2+
|
||||
URL: https://github.com/ClusterLabs/fence-agents
|
||||
Source0: https://fedorahosted.org/releases/f/e/fence-agents/%{name}-%{version}.tar.gz
|
||||
@ -126,6 +176,42 @@ Source1088: pexpect-4.8.0-py2.py3-none-any.whl
|
||||
Source1089: ptyprocess-0.7.0-py2.py3-none-any.whl
|
||||
Source1090: suds_community-0.8.5-py3-none-any.whl
|
||||
### END ###
|
||||
# kubevirt
|
||||
## pip download --no-binary :all: openshift "ruamel.yaml.clib>=0.1.2"
|
||||
### BEGIN
|
||||
Source1091: %{openshift}-%{openshift_version}.tar.gz
|
||||
Source1092: %{ruamelyamlclib}-%{ruamelyamlclib_version}.tar.gz
|
||||
Source1093: %{kubernetes}-%{kubernetes_version}.tar.gz
|
||||
Source1094: %{certifi}-%{certifi_version}.tar.gz
|
||||
Source1095: %{googleauth}-%{googleauth_version}.tar.gz
|
||||
Source1096: %{cachetools}-%{cachetools_version}.tar.gz
|
||||
Source1097: %{pyasn1modules}-%{pyasn1modules_version}.tar.gz
|
||||
Source1098: %{pyasn1}-%{pyasn1_version}.tar.gz
|
||||
Source1099: python-%{dateutil}-%{dateutil_version}.tar.gz
|
||||
Source1100: %{pyyaml}-%{pyyaml_version}.tar.gz
|
||||
## rsa is dependency for "pip install",
|
||||
## but gets removed to use cryptography lib instead
|
||||
Source1101: rsa-4.7.2.tar.gz
|
||||
Source1102: %{six}-%{six_version}.tar.gz
|
||||
Source1103: %{urllib3}-%{urllib3_version}.tar.gz
|
||||
Source1104: %{websocketclient}-%{websocketclient_version}.tar.gz
|
||||
Source1105: %{jinja2}-%{jinja2_version}.tar.gz
|
||||
Source1106: %{markupsafe}-%{markupsafe_version}.tar.gz
|
||||
Source1107: python-%{stringutils}-%{stringutils_version}.tar.gz
|
||||
Source1108: %{requests}-%{requests_version}.tar.gz
|
||||
Source1109: %{chrstnormalizer}-%{chrstnormalizer_version}.tar.gz
|
||||
Source1110: %{idna}-%{idna_version}.tar.gz
|
||||
Source1111: %{reqstsoauthlib}-%{reqstsoauthlib_version}.tar.gz
|
||||
Source1112: %{oauthlib}-%{oauthlib_version}.tar.gz
|
||||
Source1113: %{ruamelyaml}-%{ruamelyaml_version}.tar.gz
|
||||
Source1114: %{setuptools}-%{setuptools_version}.tar.gz
|
||||
## required for installation
|
||||
Source1115: setuptools_scm-6.3.2.tar.gz
|
||||
Source1116: packaging-21.2-py3-none-any.whl
|
||||
Source1117: poetry-core-1.0.7.tar.gz
|
||||
Source1118: pyparsing-3.0.1.tar.gz
|
||||
Source1119: tomli-1.0.1.tar.gz
|
||||
### END
|
||||
|
||||
Patch0: ha-cloud-support-aliyun.patch
|
||||
Patch1: ha-cloud-support-aws.patch
|
||||
@ -134,8 +220,13 @@ Patch3: ha-cloud-support-google.patch
|
||||
Patch4: ha-openstack-support.patch
|
||||
Patch5: bundled-pexpect.patch
|
||||
Patch6: bundled-suds.patch
|
||||
Patch7: bz2010652-fence_azure_arm-fix-sovereign-cloud-msi-support.patch
|
||||
Patch8: bz2010709-fence_amt_ws-fix-or-causing-dead-code.patch
|
||||
Patch9: bz2000954-1-configure-fix-virt.patch
|
||||
Patch10: bz2000954-2-fence_kubevirt.patch
|
||||
Patch11: bz2022334-fence_zvmip-add-ssl-tls-support.patch
|
||||
|
||||
%global supportedagents amt_ws apc apc_snmp bladecenter brocade cisco_mds cisco_ucs compute drac5 eaton_snmp emerson eps evacuate hpblade ibmblade ifmib ilo ilo_moonshot ilo_mp ilo_ssh intelmodular ipdu ipmilan kdump lpar mpath redfish rhevm rsa rsb sbd scsi vmware_rest vmware_soap wti
|
||||
%global supportedagents amt_ws apc apc_snmp bladecenter brocade cisco_mds cisco_ucs compute drac5 eaton_snmp emerson eps evacuate hpblade ibmblade ifmib ilo ilo_moonshot ilo_mp ilo_ssh intelmodular ipdu ipmilan kdump kubevirt lpar mpath redfish rhevm rsa rsb sbd scsi vmware_rest vmware_soap wti
|
||||
%ifarch x86_64
|
||||
%global testagents virsh heuristics_ping aliyun aws azure_arm gce openstack virt
|
||||
%endif
|
||||
@ -300,6 +391,11 @@ install -m 0644 agents/virt/fence_virtd.service %{buildroot}/%{_unitdir}/
|
||||
%endif
|
||||
# XXX unsure if /usr/sbin/fence_* should be compiled as well
|
||||
|
||||
# kubevirt
|
||||
%{__python3} -m pip install --user --no-index --find-links %{_sourcedir} setuptools-scm
|
||||
%{__python3} -m pip install --target %{buildroot}/usr/lib/fence-agents/%{bundled_lib_dir}/kubevirt --no-index --find-links %{_sourcedir} openshift
|
||||
rm -rf %{buildroot}/usr/lib/fence-agents/%{bundled_lib_dir}/kubevirt/rsa*
|
||||
|
||||
## tree fix up
|
||||
# fix libfence permissions
|
||||
chmod 0755 %{buildroot}%{_datadir}/fence/*.py
|
||||
@ -975,6 +1071,41 @@ Fence agent for use with kdump crash recovery service.
|
||||
%{_mandir}/man8/fence_kdump.8*
|
||||
%{_mandir}/man8/fence_kdump_send.8*
|
||||
|
||||
%package kubevirt
|
||||
License: GPLv2+ and LGPLv2+ and ASL 2.0 and BSD and BSD-2-Clause and BSD-3-Clause and ISC and MIT and MPL-2.0
|
||||
Summary: Fence agent for KubeVirt platform
|
||||
Requires: fence-agents-common = %{version}-%{release}
|
||||
Provides: bundled(python3-%{openshift}) = %{openshift_version}
|
||||
Provides: bundled(python3-%{ruamelyamlclib}) = %{ruamelyamlclib_version}
|
||||
Provides: bundled(python3-%{kubernetes}) = %{kubernetes_version}
|
||||
Provides: bundled(python3-%{certifi}) = %{certifi_version}
|
||||
Provides: bundled(python3-%{googleauth}) = %{googleauth_version}
|
||||
Provides: bundled(python3-%{cachetools}) = %{cachetools_version}
|
||||
Provides: bundled(python3-%{pyasn1modules}) = %{pyasn1modules_version}
|
||||
Provides: bundled(python3-%{pyasn1}) = %{pyasn1_version}
|
||||
Provides: bundled(python3-%{dateutil}) = %{dateutil_version}
|
||||
Provides: bundled(python3-%{pyyaml}) = %{pyyaml_version}
|
||||
Provides: bundled(python3-%{six}) = %{six_version}
|
||||
Provides: bundled(python3-%{urllib3}) = %{urllib3_version}
|
||||
Provides: bundled(python3-%{websocketclient}) = %{websocketclient_version}
|
||||
Provides: bundled(python3-%{jinja2}) = %{jinja2_version}
|
||||
Provides: bundled(python3-%{markupsafe}) = %{markupsafe_version}
|
||||
Provides: bundled(python3-%{stringutils}) = %{stringutils_version}
|
||||
Provides: bundled(python3-%{requests}) = %{requests_version}
|
||||
Provides: bundled(python3-%{chrstnormalizer}) = %{chrstnormalizer_version}
|
||||
Provides: bundled(python3-%{idna}) = %{idna_version}
|
||||
Provides: bundled(python3-%{reqstsoauthlib}) = %{reqstsoauthlib_version}
|
||||
Provides: bundled(python3-%{oauthlib}) = %{oauthlib_version}
|
||||
Provides: bundled(python3-%{ruamelyaml}) = %{ruamelyaml_version}
|
||||
Provides: bundled(python3-%{setuptools}) = %{setuptools_version}
|
||||
%description kubevirt
|
||||
Fence agent for KubeVirt platform.
|
||||
%files kubevirt
|
||||
%{_sbindir}/fence_kubevirt
|
||||
%{_mandir}/man8/fence_kubevirt.8*
|
||||
# bundled libraries
|
||||
/usr/lib/fence-agents/%{bundled_lib_dir}/kubevirt
|
||||
|
||||
%package lpar
|
||||
License: GPLv2+ and LGPLv2+
|
||||
Summary: Fence agent for IBM LPAR
|
||||
@ -1272,6 +1403,20 @@ are located on corosync cluster nodes.
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Nov 11 2021 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.10.0-12
|
||||
- fence_zvmip: add SSL/TLS support
|
||||
Resolves: rhbz#2022334
|
||||
|
||||
* Mon Nov 8 2021 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.10.0-11
|
||||
- fence_kubevirt: new fence agent
|
||||
Resolves: rhbz#2000954
|
||||
|
||||
* Tue Oct 5 2021 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.10.0-10
|
||||
- fence_azure_arm: fix sovereign cloud and MSI support
|
||||
Resolves: rhbz#2010652
|
||||
- fence_amt_ws: fix "or" causing dead code
|
||||
Resolves: rhbz#2010709
|
||||
|
||||
* Tue Aug 31 2021 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.10.0-9
|
||||
- Only build fence-virt subpackages for x86_64 arch
|
||||
Resolves: rhbz#1965988
|
||||
@ -1418,7 +1563,6 @@ are located on corosync cluster nodes.
|
||||
|
||||
* Thu Aug 3 2017 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.0.24-9
|
||||
- Fix encoding for pexpect with Python 3.6
|
||||
|
||||
Resolves: rhbz#1473908
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.24-8
|
||||
|
Loading…
Reference in New Issue
Block a user