Name: pcs Version: 0.10.0.alpha.2 Release: 1%{?dist} # https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses # GPLv2: pcs # ASL 2.0: tornado License: GPLv2 and ASL 2.0 URL: https://github.com/ClusterLabs/pcs Group: System Environment/Base Summary: Pacemaker Configuration System %global pcs_snmp_pkg_name pcs-snmp %global pyagentx_version 0.4.pcs.2 %global tornado_version 5.0.2 %global bundled_src_dir pcs/bundled # https://fedoraproject.org/wiki/Changes/Avoid_usr_bin_python_in_RPM_Build#Python_bytecompilation # Enforce python3 because bytecompilation of tornado produced warnings: # DEPRECATION WARNING: python2 invoked with /usr/bin/python. # Use /usr/bin/python3 or /usr/bin/python2 # /usr/bin/python will be removed or switched to Python 3 in the future. %global __python %{__python3} #part after last slash is recognized as filename in look-aside repository #desired name is achived by trick with hash anchor Source0: %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: pcsd-bundle-config-1 Source41: https://github.com/ondrejmular/pyagentx/archive/v%{pyagentx_version}.tar.gz#/pyagentx-%{pyagentx_version}.tar.gz Source42: https://github.com/tornadoweb/tornado/archive/v%{tornado_version}.tar.gz#/tornado-%{tornado_version}.tar.gz Patch0: adapt-working-with-ruby-gems-to-fedora.patch Patch1: disable-gui.patch # git for patches BuildRequires: git #printf from coreutils is used in makefile BuildRequires: coreutils # python for pcs BuildRequires: python3 >= 3.6 BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pycurl # gcc for compiling custom rubygems BuildRequires: gcc BuildRequires: gcc-c++ # ruby and gems for pcsd BuildRequires: ruby >= 2.2.0 BuildRequires: ruby-devel BuildRequires: rubygem-bundler BuildRequires: rubygem-backports BuildRequires: rubygem-ethon BuildRequires: rubygem-ffi BuildRequires: rubygem-io-console BuildRequires: rubygem-json BuildRequires: rubygem-multi_json BuildRequires: rubygem-open4 BuildRequires: rubygem-rack BuildRequires: rubygem-rack-protection BuildRequires: rubygem-rack-test BuildRequires: rubygem-sinatra BuildRequires: rubygem-tilt # ruby libraries for tests BuildRequires: rubygem-test-unit # for UpdateTimestamps sanitization function BuildRequires: diffstat # for post, preun and postun macros BuildRequires: systemd # for tests BuildRequires: python3-lxml BuildRequires: python3-pyOpenSSL BuildRequires: corosync >= 2.99 BuildRequires: pacemaker >= 2.0.0 BuildRequires: pacemaker-cli # fence-agents-all disabled because of problems: # """ # Error: # Problem: package fence-agents-all-4.2.1-2.fc29.x86_64 requires fence-agents-sbd, but none of the providers can be installed # - package fence-agents-sbd-4.2.1-2.fc29.x86_64 requires sbd, but none of the providers can be installed # - conflicting requests # - nothing provides libcib.so.4()(64bit) needed by sbd-1.2.1-4.fc28.1.x86_64 # """ # BuildRequires: fence-agents-all # BuildRequires: fence-virt BuildRequires: booth-site # pcsd fonts and font management tools for creating symlinks to fonts BuildRequires: fontconfig BuildRequires: liberation-sans-fonts BuildRequires: overpass-fonts # python and libraries for pcs, setuptools for pcs entrypoint Requires: python3 >= 3.6 Requires: python3-lxml Requires: python3-setuptools Requires: python3-clufter => 0.70.0 Requires: python3-pycurl # ruby and gems for pcsd Requires: ruby >= 2.2.0 Requires: rubygem-backports Requires: rubygem-ethon Requires: rubygem-ffi Requires: rubygem-json Requires: rubygem-multi_json Requires: rubygem-open4 Requires: rubygem-rack Requires: rubygem-rack-protection Requires: rubygem-rack-test Requires: rubygem-sinatra Requires: rubygem-tilt # for killall Requires: psmisc # for working with certificates (validation etc.) Requires: openssl Requires: python3-pyOpenSSL # cluster stack and related packages Requires: corosync >= 2.99 Requires: pacemaker >= 2.0.0 Requires: pacemaker-cli # for post, preun and postun macros Requires(post): systemd Requires(preun): systemd Requires(postun): systemd # pcsd fonts Requires: liberation-sans-fonts Requires: overpass-fonts Provides: bundled(tornado) = %{tornado_version} %description pcs is a corosync and pacemaker configuration tool. It permits users to easily view, modify and create pacemaker based clusters. # pcs-snmp package definition %package -n %{pcs_snmp_pkg_name} Group: System Environment/Base Summary: Pacemaker cluster SNMP agent # https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses # GPLv2: pcs # BSD-2-Clause: pyagentx License: GPLv2 and BSD-2-Clause URL: https://github.com/ClusterLabs/pcs # tar for unpacking pyagetx source tar ball BuildRequires: tar Requires: pcs = %{version}-%{release} Requires: pacemaker Requires: net-snmp Provides: bundled(pyagentx) = %{pyagentx_version} %description -n %{pcs_snmp_pkg_name} SNMP agent that provides information about pacemaker cluster to the master agent (snmpd) %define PCS_PREFIX /usr %prep %setup -q # -- following borrowed from python-simplejon.el5 -- # Update timestamps on the files touched by a patch, to avoid non-equal # .pyc/.pyo files across the multilib peers within a build, where "Level" # is the patch prefix option (e.g. -p1) UpdateTimestamps() { Level=$1 PatchFile=$2 # Locate the affected files: for f in $(diffstat $Level -l $PatchFile); do # Set the files to have the same timestamp as that of the patch: touch -r $PatchFile $f done } %patch0 -p1 UpdateTimestamps -p1 %{PATCH0} UpdateTimestamps -p1 %{PATCH1} mkdir -p pcsd/.bundle cp -f %SOURCE1 pcsd/.bundle/config mkdir -p %{bundled_src_dir} tar -xzf %SOURCE41 -C %{bundled_src_dir} mv %{bundled_src_dir}/pyagentx-%{pyagentx_version} %{bundled_src_dir}/pyagentx cp %{bundled_src_dir}/pyagentx/LICENSE.txt pyagentx_LICENSE.txt cp %{bundled_src_dir}/pyagentx/CONTRIBUTORS.txt pyagentx_CONTRIBUTORS.txt cp %{bundled_src_dir}/pyagentx/README.md pyagentx_README.md tar -xzf %SOURCE42 -C %{bundled_src_dir} mv %{bundled_src_dir}/tornado-%{tornado_version} %{bundled_src_dir}/tornado cp %{bundled_src_dir}/tornado/LICENSE tornado_LICENSE cp %{bundled_src_dir}/tornado/README.rst tornado_README.rst %build %define debug_package %{nil} %install rm -rf $RPM_BUILD_ROOT pwd make install \ DESTDIR=$RPM_BUILD_ROOT \ PREFIX=%{PCS_PREFIX} \ PYTHON=%{__python3} \ PYTHON_SITELIB=%{python3_sitelib} \ BASH_COMPLETION_DIR=/usr/share/bash-completion/completions \ BUNDLE_PYAGENTX_SRC_DIR=`readlink -f %{bundled_src_dir}/pyagentx` \ BUNDLE_TORNADO_SRC_DIR=`readlink -f %{bundled_src_dir}/tornado` \ SYSTEMCTL_OVERRIDE=true \ hdrdir="%{_includedir}" \ rubyhdrdir="%{_includedir}" \ includedir="%{_includedir}" %check # In the building environment LC_CTYPE is set to C which causes tests to fail # due to python prints a warning about it to stderr. The following environment # variable disables the warning. # On the live system either UTF8 locale is set or the warning is emmited # which breaks pcs. That is the correct behavior since with wrong locales it # would be probably broken anyway. # The main concern here is to make the tests pass. # See https://fedoraproject.org/wiki/Changes/python3_c.utf-8_locale for details. export PYTHONCOERCECLOCALE=0 run_all_tests(){ #prepare environmet for tests sitelib=$RPM_BUILD_ROOT%{python3_sitelib} pcsd_dir=$RPM_BUILD_ROOT%{PCS_PREFIX}/lib/pcsd export PYTHONPATH="${PYTHONPATH}:${sitelib}" #run pcs tests and remove them, we do not distribute them in the rpm # disabled tests: # # pcs.test.test_cluster.ClusterTest.testUIDGID # touches live cluster configuration, cannot run in mock environment # pcs.test.cib_resource.test_create.Success.test_base_create_with_agent_name_including_systemd_instance # It requires systemd to be running so pacemaker can connect to it via dbus. # This is not possible during building. # AssertionError: 0 != 1 : Expected return code "0", but was "1" # command: resource create R systemd:lvm2-pvscan@252:2 --no-default-ops # stdout: Error: Agent 'systemd:lvm2-pvscan@252:2' is not installed or does # not provide valid metadata: error: crm_abort: systemd_unit_exec: # Triggered fatal assert at systemd.c:728 : systemd_init(), use --force to # override # pcs.lib.commands.test.test_resource_agent.DescribeAgentUtf8.test_describe # For a unknwon reason this test is passing outside the mock environment. # TODO: Investigate the issue # all others: # resource agents metadata have been changed lately, units (seconds) have # been added to the intervals etc. (e.g.: interval="10" => interval="10s") # # All tests that requires fence-agents-all have been disabled. # See notes above the BuildRequires: fence-agents-all # # Tests after pcs.common.test.test_node_communicator.RequestDataUrlEncodeTest.test_with_data # contains some issues with current pacemaker version # ====================================================================== # FAIL: test_with_data (pcs.common.test.test_node_communicator.RequestDataUrlEncodeTest) # ---------------------------------------------------------------------- # Traceback (most recent call last): # File "/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/common/test/test_node_communicator.py", line 80, in test_with_data # self.assertEqual(expected_raw_data, data.data) # AssertionError: 'key1[44 chars]3F%27%22%3B%5B%5D%28%29%2A%5E%24%23%40%21%7E%60%7B%3A%7D%3C%3E' != 'key1[44 chars]3F%27%22%3B%5B%5D%28%29%2A%5E%24%23%40%21~%60%7B%3A%7D%3C%3E' # - key1=value1&spacial+characters=%2B-%2B%2F%25%26%3F%27%22%3B%5B%5D%28%29%2A%5E%24%23%40%21%7E%60%7B%3A%7D%3C%3E # ? ^^^ # + key1=value1&spacial+characters=%2B-%2B%2F%25%26%3F%27%22%3B%5B%5D%28%29%2A%5E%24%23%40%21~%60%7B%3A%7D%3C%3E # ? ^ # ====================================================================== # FAIL: test_report_invalid_ssl_ciphers (pcs.daemon.test.test_env.Prepare) # ---------------------------------------------------------------------- # Traceback (most recent call last): # File "/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/daemon/test/test_env.py", line 124, in test_report_invalid_ssl_ciphers # errors=["Invalid ciphers: '('No cipher can be selected.',)'"] # File "/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/daemon/test/test_env.py", line 57, in assert_environ_produces_modified_pcsd_env # {**default_env_values, **specific_env_values} # AssertionError: {'PCS[478 chars]None, 'NO_PROXY': None, 'PCSD_DEV': False, 'has_errors': False} != {'PCS[478 chars]None, 'NO_PROXY': None, 'PCSD_DEV': False, 'has_errors': True} # {'GEM_HOME': '/usr/lib/pcsd/vendor/bundle/ruby', # 'HTTPS_PROXY': None, # 'NOTIFY_SOCKET': None, # 'NO_PROXY': None, # 'PCSD_BIND_ADDR': {None}, # 'PCSD_CMDLINE_ENTRY': '/usr/lib/pcsd/sinatra_cmdline_wrapper.rb', # 'PCSD_DEBUG': False, # 'PCSD_DEV': False, # 'PCSD_DISABLE_GUI': False, # 'PCSD_PORT': 2224, # 'PCSD_SESSION_LIFETIME': 3600, # 'PCSD_SSL_CIPHERS': 'invalid', # 'PCSD_SSL_OPTIONS': , # 'PCSD_STATIC_FILES_DIR': '/usr/lib/pcsd/public', # - 'has_errors': False} # ? ^^^^ # + 'has_errors': True} # ? ^^^ # ====================================================================== # FAIL: test_error_if_files_with_bad_content (pcs.daemon.test.test_ssl.Pair) # ---------------------------------------------------------------------- # Traceback (most recent call last): # File "/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/daemon/test/test_ssl.py", line 46, in test_error_if_files_with_bad_content # self.assertEqual(self.pair.check(), list(DAMAGED_SSL_FILES_ERRORS)) # AssertionError: Lists differ: ["Inv[155 chars]ines:get_name:no start line'", "Invalid SSL ke[160 chars]ne'"] != ["Inv[155 chars]ines:PEM_read_bio:no start line'", "Invalid SS[168 chars]ne'"] # First differing element 0: # "Inva[124 chars]ources/daemon.cert': 'PEM routines:get_name:no start line'" # "Inva[124 chars]ources/daemon.cert': 'PEM routines:PEM_read_bio:no start line'" # ['Invalid SSL certificate ' # "'/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/test/resources/daemon.cert': " # - "'PEM routines:get_name:no start line'", # ? ^ ^ ^^^^ # + "'PEM routines:PEM_read_bio:no start line'", # ? ^^^^^ ^^ ^^^ # 'Invalid SSL key ' # "'/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/test/resources/daemon.key': " # - "'PEM routines:get_name:no start line'"] # ? ^ ^ ^^^^ # + "'PEM routines:PEM_read_bio:no start line'"] # ? ^^^^^ ^^ ^^^ # ====================================================================== # FAIL: test_raises_when_ssl_files_are_damaged (pcs.daemon.test.test_ssl.PcsdSSLTest) # ---------------------------------------------------------------------- # Traceback (most recent call last): # File "/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/daemon/test/test_ssl.py", line 81, in test_raises_when_ssl_files_are_damaged # self.assertEqual(ctx_manager.exception.args, DAMAGED_SSL_FILES_ERRORS) # AssertionError: Tuples differ: ("Inv[155 chars]ines:get_name:no start line'", "Invalid SSL ke[160 chars]ne'") != ("Inv[155 chars]ines:PEM_read_bio:no start line'", "Invalid SS[168 chars]ne'") # First differing element 0: # "Inva[124 chars]ources/daemon.cert': 'PEM routines:get_name:no start line'" # "Inva[124 chars]ources/daemon.cert': 'PEM routines:PEM_read_bio:no start line'" # ('Invalid SSL certificate ' # "'/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/test/resources/daemon.cert': " # - "'PEM routines:get_name:no start line'", # ? ^ ^ ^^^^ # + "'PEM routines:PEM_read_bio:no start line'", # ? ^^^^^ ^^ ^^^ # 'Invalid SSL key ' # "'/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/test/resources/daemon.key': " # - "'PEM routines:get_name:no start line'") # ? ^ ^ ^^^^ # + "'PEM routines:PEM_read_bio:no start line'") # ? ^^^^^ ^^ ^^^ # ====================================================================== # FAIL: testLSBResource (pcs.test.test_resource.ResourceTest) # ---------------------------------------------------------------------- # Traceback (most recent call last): # File "/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/test/test_resource.py", line 2543, in testLSBResource # "Error: invalid resource option 'foo', there are no options" # File "/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/test/tools/assertions.py", line 87, in assert_pcs_fail # returncode=1 # File "/builddir/build/BUILDROOT/pcs-0.10.0.alpha.1-1.fc29.x86_64/usr/lib/python3.7/site-packages/pcs/test/tools/assertions.py", line 171, in assert_pcs_result # stdout=stdout # AssertionError: "Error: Agent 'lsb:network' is not installed or d[112 chars]de\n" != "Error: invalid resource option 'foo', there are [41 chars]de\n" # - Error: Agent 'lsb:network' is not installed or does not provide valid metadata: Metadata query for lsb:network failed: Input/output error, use --force to override # + Error: invalid resource option 'foo', there are no options allowed, use --force to override # : Stdout is not as expected # command: resource create --no-default-ops D2 lsb:network foo=bar # diff is (expected is 2nd): # - Error: Agent 'lsb:network' is not installed or does not provide valid metadata: Metadata query for lsb:network failed: Input/output error, use --force to override # + Error: invalid resource option 'foo', there are no options allowed, use --force to override # Full stdout: # Error: Agent 'lsb:network' is not installed or does not provide valid metadata: Metadata query for lsb:network failed: Input/output error, use --force to override # ---------------------------------------------------------------------- BUNDLED_LIB_LOCATION=$RPM_BUILD_ROOT%{PCS_PREFIX}/lib/pcs/bundled/packages \ %{__python3} ${sitelib}/pcs/test/suite.py -v --vanilla --all-but \ pcs.test.test_cluster.ClusterTest.testUIDGID \ pcs.test.cib_resource.test_create.Success.test_base_create_with_agent_name_including_systemd_instance \ pcs.lib.commands.test.test_resource_agent.DescribeAgentUtf8.test_describe \ pcs.test.cib_resource.test_create.Bundle.test_success \ pcs.test.cib_resource.test_create.FailOrWarnGroup.test_fail_when_try_use_id_of_another_element \ pcs.test.cib_resource.test_create.Success.test_base_create \ pcs.test.cib_resource.test_create.Success.test_base_create_with_default_ops \ pcs.test.cib_resource.test_create.Success.test_create_disabled \ pcs.test.cib_resource.test_create.Success.test_create_with_trace_options \ pcs.test.cib_resource.test_create.Success.test_with_clone \ pcs.test.cib_resource.test_create.Success.test_with_clone_options \ pcs.test.cib_resource.test_create.Success.test_with_master \ pcs.test.cib_resource.test_create.SuccessClone.test_clone_does_not_overshadow_meta_options \ pcs.test.cib_resource.test_create.SuccessClone.test_clone_does_not_overshadow_operations \ pcs.test.cib_resource.test_create.SuccessClone.test_clone_places_disabled_correctly \ pcs.test.cib_resource.test_create.SuccessGroup.test_with_existing_group \ pcs.test.cib_resource.test_create.SuccessGroup.test_with_group \ pcs.test.cib_resource.test_create.SuccessGroup.test_with_group_with_after \ pcs.test.cib_resource.test_create.SuccessGroup.test_with_group_with_before \ pcs.test.cib_resource.test_create.SuccessMaster.test_disable_is_on_master_element \ pcs.test.cib_resource.test_create.SuccessMaster.test_do_not_steal_primitive_meta_options \ pcs.test.cib_resource.test_create.SuccessMaster.test_put_options_after_master_as_its_meta_fix_1 \ pcs.test.cib_resource.test_create.SuccessOperations.test_completing_monitor_operation \ pcs.test.cib_resource.test_create.SuccessOperations.test_default_ops_only \ pcs.test.cib_resource.test_create.SuccessOperations.test_merging_default_ops_explictly_specified \ pcs.test.cib_resource.test_create.SuccessOperations.test_warn_on_forced_unknown_operation \ pcs.test.cib_resource.test_manage_unmanage.ManageUnmanage.test_manage_monitor \ pcs.test.cib_resource.test_manage_unmanage.ManageUnmanage.test_manage_monitor_disabled \ pcs.test.cib_resource.test_manage_unmanage.ManageUnmanage.test_manage_more \ pcs.test.cib_resource.test_manage_unmanage.ManageUnmanage.test_manage_nonexistent \ pcs.test.cib_resource.test_manage_unmanage.ManageUnmanage.test_manage_one \ pcs.test.cib_resource.test_manage_unmanage.ManageUnmanage.test_unmanage_monitor \ pcs.test.cib_resource.test_manage_unmanage.ManageUnmanage.test_unmanage_monitor_enabled \ pcs.test.cib_resource.test_manage_unmanage.ManageUnmanage.test_unmanage_more \ pcs.test.cib_resource.test_manage_unmanage.ManageUnmanage.test_unmanage_nonexistent \ pcs.test.cib_resource.test_manage_unmanage.ManageUnmanage.test_unmanage_one \ pcs.test.cib_resource.test_operation_add.OperationAdd.test_add_with_OCF_CHECK_LEVEL \ pcs.test.cib_resource.test_operation_add.OperationAdd.test_base_add \ pcs.test.cib_resource.test_operation_add.OperationAdd.test_can_multiple_operation_add \ pcs.test.cib_resource.test_operation_add.OperationAdd.test_id_specified \ pcs.test.test_cluster.ClusterTest.testRemoteNode \ pcs.test.test_cluster_pcmk_remote.NodeAddGuest.test_fail_when_disallowed_option_appear \ pcs.test.test_cluster_pcmk_remote.NodeAddGuest.test_fail_when_guest_node_conflicts_with_existing_guest \ pcs.test.test_cluster_pcmk_remote.NodeAddGuest.test_fail_when_guest_node_conflicts_with_existing_id \ pcs.test.test_cluster_pcmk_remote.NodeAddGuest.test_fail_when_guest_node_conflicts_with_existing_remote \ pcs.test.test_cluster_pcmk_remote.NodeAddGuest.test_fail_when_guest_node_name_conflicts_with_existing_remote \ pcs.test.test_cluster_pcmk_remote.NodeAddGuest.test_fail_when_invalid_interval_appear \ pcs.test.test_cluster_pcmk_remote.NodeAddGuest.test_fail_when_invalid_port_appear \ pcs.test.test_cluster_pcmk_remote.NodeAddGuest.test_fail_when_option_remote_node_specified \ pcs.test.test_cluster_pcmk_remote.NodeAddGuest.test_success \ pcs.test.test_cluster_pcmk_remote.NodeAddGuest.test_success_when_guest_node_matches_with_existing_guest \ pcs.test.test_cluster_pcmk_remote.NodeAddGuest.test_success_with_options \ pcs.test.test_cluster_pcmk_remote.NodeRemoveGuest.test_success_remove_by_node_name \ pcs.test.test_cluster_pcmk_remote.NodeRemoveGuest.test_success_remove_by_resource_host \ pcs.test.test_cluster_pcmk_remote.NodeRemoveGuest.test_success_remove_by_resource_id \ pcs.test.test_resource.CloneMasterUpdate.test_no_op_allowed_in_clone_update \ pcs.test.test_resource.CloneMasterUpdate.test_no_op_allowed_in_master_update \ pcs.test.test_resource.ResourceTest.testAddOperation \ pcs.test.test_resource.ResourceTest.testAddResourcesLargeCib \ pcs.test.test_resource.ResourceTest.testCloneMaster \ pcs.test.test_resource.ResourceTest.testCloneRemove \ pcs.test.test_resource.ResourceTest.testClonedGroup \ pcs.test.test_resource.ResourceTest.testClonedMasteredGroup \ pcs.test.test_resource.ResourceTest.testGroupRemoveTest \ pcs.test.test_resource.ResourceTest.testGroupRemoveWithConstraints2 \ pcs.test.test_resource.ResourceTest.testMSGroup \ pcs.test.test_resource.ResourceTest.testMasteredGroup \ pcs.test.test_resource.ResourceTest.testNoMoveMSClone \ pcs.test.test_resource.ResourceTest.testOPOption \ pcs.test.test_resource.ResourceTest.testResourceCloneId \ pcs.test.test_resource.ResourceTest.testResourceCloneUpdate \ pcs.test.test_resource.ResourceTest.testResourceEnable \ pcs.test.test_resource.ResourceTest.testResourceEnableClone \ pcs.test.test_resource.ResourceTest.testResourceMasterId \ pcs.test.test_resource.ResourceTest.testResourceMissingValues \ pcs.test.test_resource.ResourceTest.testUnclone \ pcs.test.test_resource.ResourceTest.testUpdateOperation \ pcs.test.cib_resource.test_stonith_create.PlainStonith.test_base_with_agent_that_provides_unfencing \ pcs.test.cib_resource.test_stonith_create.PlainStonith.test_debug_and_verbose_allowed \ pcs.test.cib_resource.test_stonith_create.PlainStonith.test_error_when_not_valid_agent \ pcs.test.cib_resource.test_stonith_create.PlainStonith.test_warning_when_not_valid_agent \ pcs.test.cib_resource.test_stonith_create.WithMeta.test_base_with_agent_that_provides_unfencing_with_meta_provides \ pcs.test.test_status.StonithWarningTest.test_stonith_warnings \ pcs.test.test_status.StonithWarningTest.test_warning_stonith_action \ pcs.test.test_status.StonithWarningTest.test_warning_stonith_method_cycle \ pcs.test.test_stonith.LevelAdd.test_add_bad_level \ pcs.test.test_stonith.LevelAdd.test_add_level_leading_zero \ pcs.test.test_stonith.LevelAdd.test_add_more_devices \ pcs.test.test_stonith.LevelAdd.test_add_more_devices_old_syntax \ pcs.test.test_stonith.LevelAdd.test_add_node \ pcs.test.test_stonith.LevelAdd.test_add_node_attribute \ pcs.test.test_stonith.LevelAdd.test_add_node_pattern \ pcs.test.test_stonith.LevelAdd.test_nonexistant_devices \ pcs.test.test_stonith.LevelAdd.test_nonexistant_node \ pcs.test.test_stonith.LevelAddTargetUpgradesCib.test_attribute \ pcs.test.test_stonith.LevelAddTargetUpgradesCib.test_regexp \ pcs.test.test_stonith.LevelClear.test_clear_all \ pcs.test.test_stonith.LevelClear.test_clear_attribute \ pcs.test.test_stonith.LevelClear.test_clear_device \ pcs.test.test_stonith.LevelClear.test_clear_devices \ pcs.test.test_stonith.LevelClear.test_clear_node \ pcs.test.test_stonith.LevelClear.test_clear_nonexistant_devices \ pcs.test.test_stonith.LevelClear.test_clear_nonexistant_node_or_device \ pcs.test.test_stonith.LevelClear.test_clear_pattern \ pcs.test.test_stonith.LevelClear.test_pattern_is_not_device \ pcs.test.test_stonith.LevelConfig.test_all_posibilities \ pcs.test.test_stonith.LevelRemove.test_nonexisting_level \ pcs.test.test_stonith.LevelRemove.test_nonexisting_level_node_device \ pcs.test.test_stonith.LevelRemove.test_nonexisting_level_pattern_device \ pcs.test.test_stonith.LevelRemove.test_remove_level \ pcs.test.test_stonith.LevelRemove.test_remove_level_attrib \ pcs.test.test_stonith.LevelRemove.test_remove_level_attrib_device \ pcs.test.test_stonith.LevelRemove.test_remove_level_device \ pcs.test.test_stonith.LevelRemove.test_remove_level_devices \ pcs.test.test_stonith.LevelRemove.test_remove_level_devices_old_syntax \ pcs.test.test_stonith.LevelRemove.test_remove_level_node \ pcs.test.test_stonith.LevelRemove.test_remove_level_node_device \ pcs.test.test_stonith.LevelRemove.test_remove_level_pattern \ pcs.test.test_stonith.LevelRemove.test_remove_level_pattern_device \ pcs.test.test_stonith.LevelVerify.test_errors \ pcs.test.test_stonith.LevelVerify.test_success \ pcs.test.test_stonith.StonithDescribeTest.test_full \ pcs.test.test_stonith.StonithDescribeTest.test_nonextisting_agent \ pcs.test.test_stonith.StonithDescribeTest.test_success \ pcs.test.test_stonith.StonithTest.testNoStonithWarning \ pcs.test.test_stonith.StonithTest.testPcmkHostAllowsMissingPort \ pcs.test.test_stonith.StonithTest.testPcmkHostList \ pcs.test.test_stonith.StonithTest.testStonithCreation \ pcs.test.test_stonith.StonithTest.testStonithDeleteRemovesLevel \ pcs.test.test_stonith.StonithTest.test_stonith_create_action \ pcs.test.test_stonith.StonithTest.test_stonith_create_action_empty \ pcs.test.test_stonith.StonithTest.test_stonith_create_provides_unfencing \ pcs.test.test_stonith.StonithTest.test_stonith_update_action \ pcs.daemon.test.test_app_gui.Login.test_get_uses_wrapper \ pcs.daemon.test.test_app_gui.Login.test_login_attempt_failed \ pcs.daemon.test.test_app_gui.Login.test_login_attempt_failed_ajax \ pcs.daemon.test.test_app_gui.Login.test_login_attempt_succeeded \ pcs.daemon.test.test_app_gui.Login.test_login_attempt_succeeded_ajax \ pcs.daemon.test.test_app_gui.LoginStatus.test_authenticated \ pcs.daemon.test.test_app_gui.LoginStatus.test_not_authenticated \ pcs.daemon.test.test_app_gui.Logout.test_no_ajax \ pcs.daemon.test.test_app_gui.Logout.test_with_ajax \ pcs.daemon.test.test_app_gui.SinatraAjaxProtected.test_deal_without_ajax \ pcs.daemon.test.test_app_gui.SinatraAjaxProtected.test_deal_without_authentication \ pcs.daemon.test.test_app_gui.SinatraAjaxProtected.test_take_result_from_ruby \ pcs.daemon.test.test_app_gui.SinatraGuiProtected.test_no_logged_redirects_to_login \ pcs.daemon.test.test_app_gui.SinatraGuiProtected.test_take_result_from_ruby \ pcs.daemon.test.test_app_gui.Static.test_css \ pcs.common.test.test_node_communicator.RequestDataUrlEncodeTest.test_with_data \ pcs.daemon.test.test_env.Prepare.test_report_invalid_ssl_ciphers \ pcs.daemon.test.test_ssl.Pair.test_error_if_files_with_bad_content \ pcs.daemon.test.test_ssl.PcsdSSLTest.test_raises_when_ssl_files_are_damaged \ pcs.test.test_resource.ResourceTest.testLSBResource \ test_result_python=$? #remove pcs tests, we do not distribute them in the rpm find ${sitelib}/pcs -name test -type d -print0|xargs -0 rm -r -v -- #run pcsd tests and remove them #GEM_HOME is not needed anymore since all required gems are in fedora ruby \ -I${pcsd_dir} \ -I${pcsd_dir}/test \ ${pcsd_dir}/test/test_all_suite.rb test_result_ruby=$? #remove pcsd tests, we do not distribute them in the rpm rm -r -v ${pcsd_dir}/test if [ $test_result_python -ne 0 ]; then return $test_result_python fi return $test_result_ruby } run_all_tests %post %systemd_post pcsd.service %post -n %{pcs_snmp_pkg_name} %systemd_post pcs_snmp_agent.service %preun %systemd_preun pcsd.service %preun -n %{pcs_snmp_pkg_name} %systemd_preun pcs_snmp_agent.service %postun %systemd_postun_with_restart pcsd.service %postun -n %{pcs_snmp_pkg_name} %systemd_postun_with_restart pcs_snmp_agent.service %files %doc CHANGELOG.md %doc README.md %doc tornado_README.rst %license tornado_LICENSE %license COPYING %{python3_sitelib}/pcs # version temporary hardcoded because setup.py: # UserWarning: Normalizing '0.10.0.alpha.1' to '0.10.0a1' # so we keep veriosn 0.10.0 in sources %{python3_sitelib}/pcs-0.10.0-py3.*.egg-info /usr/sbin/pcs /usr/sbin/pcsd /usr/lib/pcsd/* /usr/lib/pcsd/.bundle/config /usr/lib/pcs/bundled/packages/tornado* /usr/lib/systemd/system/pcsd.service /usr/share/bash-completion/completions/pcs /var/lib/pcsd /etc/pam.d/pcsd %dir /var/log/pcsd %config(noreplace) /etc/logrotate.d/pcsd %config(noreplace) /etc/sysconfig/pcsd %ghost %config(noreplace) /var/lib/pcsd/cfgsync_ctl %ghost %config(noreplace) /var/lib/pcsd/known-hosts %ghost %config(noreplace) /var/lib/pcsd/pcsd.cookiesecret %ghost %config(noreplace) /var/lib/pcsd/pcsd.crt %ghost %config(noreplace) /var/lib/pcsd/pcsd.key %ghost %config(noreplace) /var/lib/pcsd/pcs_settings.conf %ghost %config(noreplace) /var/lib/pcsd/pcs_users.conf %{_mandir}/man8/pcs.* %{_mandir}/man8/pcsd.* %exclude /usr/lib/pcsd/*.debian %exclude /usr/lib/pcsd/pcsd.service %exclude /usr/lib/pcsd/pcsd.conf %exclude /usr/lib/pcsd/pcsd.8 %exclude %{python3_sitelib}/pcs/bash_completion %exclude %{python3_sitelib}/pcs/pcs.8 %exclude %{python3_sitelib}/pcs/pcs %files -n %{pcs_snmp_pkg_name} /usr/lib/pcs/pcs_snmp_agent /usr/lib/pcs/bundled/packages/pyagentx* /usr/lib/systemd/system/pcs_snmp_agent.service /usr/share/snmp/mibs/PCMK-PCS*-MIB.txt %{_mandir}/man8/pcs_snmp_agent.* %config(noreplace) /etc/sysconfig/pcs_snmp_agent %dir /var/log/pcs %doc CHANGELOG.md %doc pyagentx_CONTRIBUTORS.txt %doc pyagentx_README.md %license COPYING %license pyagentx_LICENSE.txt %changelog * Thu Aug 02 2018 Ivan Devát - 0.10.0.alpha.2-1 - Rebased to latest upstream sources (see CHANGELOG.md) * Wed Jul 25 2018 Ivan Devát - 0.9.164-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Fri Jul 13 2018 Fedora Release Engineering - 0.9.164-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Tue Jun 19 2018 Miro Hrončok - 0.9.164-2 - Rebuilt for Python 3.7 * Mon Apr 09 2018 Ondrej Mular - 0.9.164-1 - Rebased to latest upstream sources (see CHANGELOG.md) - Fixed: CVE-2018-1086, CVE-2018-1079 * Mon Feb 26 2018 Ivan Devát - 0.9.163-2 - Fixed crash when adding a node to a cluster * Tue Feb 20 2018 Ivan Devát - 0.9.163-1 - Rebased to latest upstream sources (see CHANGELOG.md) - Adapted for Rack 2 and Sinatra 2 * Fri Feb 09 2018 Igor Gnatenko - 0.9.160-5 - Escape macros in %%changelog * Thu Feb 08 2018 Fedora Release Engineering - 0.9.160-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Sat Jan 20 2018 Björn Esser - 0.9.160-3 - Rebuilt for switch to libxcrypt * Fri Jan 05 2018 Mamoru TASAKA - 0.9.160-2 - F-28: rebuild for ruby25 - Workaround for gem install option * Wed Oct 18 2017 Ondrej Mular - 0.9.160-1 - Rebased to latest upstream sources (see CHANGELOG.md) - All pcs tests are temporarily disabled because of issues in pacemaker. * Thu Sep 14 2017 Ondrej Mular - 0.9.159-4 - Bundle rubygem-rack-protection which is being updated to 2.0.0 in Fedora. - Removed setuptools patch. - Disabled debuginfo subpackage. * Thu Aug 03 2017 Fedora Release Engineering - 0.9.159-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 0.9.159-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Wed Jul 12 2017 Ondrej Mular - 0.9.159-1 - Rebased to latest upstream sources (see CHANGELOG.md) * Tue May 23 2017 Tomas Jelinek - 0.9.156-3 - Fixed python locales issue preventing build-time tests to pass - Bundle rubygem-tilt which is being retired from Fedora * Thu Mar 23 2017 Tomas Jelinek - 0.9.156-2 - Fixed Cross-site scripting (XSS) vulnerability in web UI CVE-2017-2661 - Re-added support for clufter as it is now available for Python 3 * Wed Feb 22 2017 Tomas Jelinek - 0.9.156-1 - Rebased to latest upstream sources (see CHANGELOG.md) * Sat Feb 11 2017 Fedora Release Engineering - 0.9.155-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Thu Jan 12 2017 Vít Ondruch - 0.9.155-2 - Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.4 * Wed Jan 04 2017 Adam Williamson - 0.9.155-1 - Latest release 0.9.155 - Fix tests with Python 3.6 and lxml 3.7 - Package the license as license, not doc - Use -f param for rm when wiping test directories as they are nested now * Mon Dec 19 2016 Miro Hrončok - Rebuild for Python 3.6 * Tue Oct 18 2016 Tomas Jelinek - 0.9.154-2 - Fixed upgrading from pcs-0.9.150 * Thu Sep 22 2016 Tomas Jelinek - 0.9.154-1 - Re-synced to upstream sources - Spec file cleanup and fixes * Tue Jul 19 2016 Fedora Release Engineering - 0.9.150-2 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Mon Apr 11 2016 Tomas Jelinek - 0.9.150-1 - Re-synced to upstream sources - Make pcs depend on python3 - Spec file cleanup * Tue Feb 23 2016 Tomas Jelinek - 0.9.149-2 - Fixed rubygems issues which prevented pcsd from starting - Added missing python-lxml dependency * Thu Feb 18 2016 Tomas Jelinek - 0.9.149-1 - Re-synced to upstream sources - Security fix for CVE-2016-0720, CVE-2016-0721 - Fixed rubygems issues which prevented pcsd from starting - Rubygems built with RELRO - Spec file cleanup - Fixed multilib .pyc/.pyo issue * Thu Feb 04 2016 Fedora Release Engineering - 0.9.144-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Jan 12 2016 Vít Ondruch - 0.9.144-2 - Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.3 * Fri Sep 18 2015 Tomas Jelinek - 0.9.144-1 - Re-synced to upstream sources * Tue Jun 23 2015 Tomas Jelinek - 0.9.141-2 - Added requirement for psmisc for killall * Tue Jun 23 2015 Tomas Jelinek - 0.9.141-1 - Re-synced to upstream sources * Thu Jun 18 2015 Fedora Release Engineering - 0.9.140-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Fri Jun 05 2015 Tomas Jelinek - 0.9.140-1 - Re-synced to upstream sources * Fri May 22 2015 Tomas Jelinek - 0.9.139-4 - Fix for CVE-2015-1848, CVE-2015-3983 (sessions not signed) * Thu Mar 26 2015 Tomas Jelinek - 0.9.139-3 - Add BuildRequires: systemd (rhbz#1206253) * Fri Feb 27 2015 Tomas Jelinek - 0.9.139-2 - Reflect clufter inclusion (rhbz#1180723) * Thu Feb 19 2015 Tomas Jelinek - 0.9.139-1 - Re-synced to upstream sources * Sat Jan 17 2015 Mamoru TASAKA - 0.9.115-5 - Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_2.2 * Sun Aug 17 2014 Fedora Release Engineering - 0.9.115-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Fri Jun 06 2014 Fedora Release Engineering - 0.9.115-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Tue May 06 2014 Tomas Jelinek - 0.9.115-2 - Rebuild to fix ruby dependencies * Mon Apr 21 2014 Chris Feist - 0.9.115-1 - Re-synced to upstream sources * Fri Dec 13 2013 Chris Feist - 0.9.102-1 - Re-synced to upstream sources * Wed Jun 19 2013 Chris Feist - 0.9.48-1 - Rebuild with upstream sources * Thu Jun 13 2013 Chris Feist - 0.9.44-5 - Added fixes for building rpam with ruby-2.0.0 * Mon Jun 03 2013 Chris Feist - 0.9.44-4 - Rebuild with upstream sources * Tue May 07 2013 Chris Feist - 0.9.41-2 - Resynced to upstream sources * Fri Apr 19 2013 Chris Feist - 0.9.39-1 - Fixed gem building - Re-synced to upstream sources * Mon Mar 25 2013 Chris Feist - 0.9.36-4 - Don't try to build gems at all * Mon Mar 25 2013 Chris Feist - 0.9.36-3 - Removed all gems from build, will need to find pam package in the future * Mon Mar 25 2013 Chris Feist - 0.9.36-2 - Removed duplicate libraries already present in fedora * Mon Mar 18 2013 Chris Feist - 0.9.36-1 - Resynced to latest upstream * Mon Mar 11 2013 Chris Feist - 0.9.33-1 - Resynched to latest upstream - pcsd has been moved to /usr/lib to fix /usr/local packaging issues * Thu Feb 21 2013 Chris Feist - 0.9.32-1 - Resynced to latest version of pcs/pcsd * Mon Nov 05 2012 Chris Feist - 0.9.27-3 - Build on all archs * Thu Oct 25 2012 Chris Feist - 0.9.27-2 - Resync to latest version of pcs - Added pcsd daemon * Mon Oct 08 2012 Chris Feist - 0.9.26-1 - Resync to latest version of pcs * Thu Sep 20 2012 Chris Feist - 0.9.24-1 - Resync to latest version of pcs * Thu Sep 20 2012 Chris Feist - 0.9.23-1 - Resync to latest version of pcs * Wed Sep 12 2012 Chris Feist - 0.9.22-1 - Resync to latest version of pcs * Thu Sep 06 2012 Chris Feist - 0.9.19-1 - Resync to latest version of pcs * Tue Aug 07 2012 Chris Feist - 0.9.12-1 - Resync to latest version of pcs * Fri Jul 20 2012 Fedora Release Engineering - 0.9.3.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu May 24 2012 Chris Feist - 0.9.4-1 - Resync to latest version of pcs - Move cluster creation options to cluster sub command. * Mon May 07 2012 Chris Feist - 0.9.3.1-1 - Resync to latest version of pcs which includes fixes to work with F17. * Mon Mar 19 2012 Chris Feist - 0.9.2.4-1 - Resynced to latest version of pcs * Mon Jan 23 2012 Chris Feist - 0.9.1-1 - Updated BuildRequires and %%doc section for fedora * Fri Jan 20 2012 Chris Feist - 0.9.0-2 - Updated spec file for fedora specific changes * Mon Jan 16 2012 Chris Feist - 0.9.0-1 - Initial Build