diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 9ed2ce5..99144f3 100644 --- a/.gitignore +++ b/.gitignore @@ -112,3 +112,6 @@ /pcs-web-ui-node-modules-0.1.17.tar.xz /pcs-web-ui-0.1.17.tar.gz /dacite-1.8.1.tar.gz +/pcs-0.11.7.tar.gz +/pcs-web-ui-0.1.18.tar.gz +/pcs-web-ui-node-modules-0.1.18.tar.xz diff --git a/0001-Fix-DatatransferObjectTest-for-Python-3.12.patch b/0001-Fix-DatatransferObjectTest-for-Python-3.12.patch deleted file mode 100644 index 0792a4d..0000000 --- a/0001-Fix-DatatransferObjectTest-for-Python-3.12.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c878e1d06d834f0beb5579158ea5b98c42965058 Mon Sep 17 00:00:00 2001 -From: Yaakov Selkowitz -Date: Mon, 10 Jul 2023 12:56:41 -0400 -Subject: [PATCH] Fix DatatransferObjectTest for Python 3.12 - -This fixes a test error when run with Python 3.12: -``` -Traceback (most recent call last): - File "pcs_test/tier0/common/interface/test_dto.py", line 41, in test_has_all_subclasses_are_dataclasses - _import_all(pcs.__path__) - File "pcs_test/tier0/common/interface/test_dto.py", line 31, in _import_all - loader.find_module(module_name).load_module(module_name) - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'FileFinder' object has no attribute 'find_module' -``` -Instead, use the spec-based APIs introduced in 3.4: - -https://docs.python.org/3.12/library/importlib.html#importlib.machinery.FileFinder -https://docs.python.org/3.12/library/importlib.html#importlib.machinery.ModuleSpec ---- - pcs_test/tier0/common/interface/test_dto.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pcs_test/tier0/common/interface/test_dto.py b/pcs_test/tier0/common/interface/test_dto.py -index 4c3dcb8b..977f35c9 100644 ---- a/pcs_test/tier0/common/interface/test_dto.py -+++ b/pcs_test/tier0/common/interface/test_dto.py -@@ -28,7 +28,7 @@ def _import_all(_path): - if module_name.startswith("_pcs.snmp."): - continue - del is_pkg -- loader.find_module(module_name).load_module(module_name) -+ loader.find_spec(module_name).loader.load_module(module_name) - - - def _all_subclasses(cls): --- -2.41.0 - diff --git a/gating.fmf b/gating.fmf new file mode 100644 index 0000000..f452957 --- /dev/null +++ b/gating.fmf @@ -0,0 +1,48 @@ +summary: PCS gating test plan +description: Runs upstream tier0, tier1 and smoke tests + +discover: + how: shell + dist-git-source: true + tests: + # Workaround until tmt supports patching sources + - name: Patch sources and run autotools + test: ./prepare-env.sh + duration: 30m + - name: Tier 0 tests + test: ./builddir/pcs-*/pcs_test/suite --tier0 -v --vanilla --installed + duration: 10m + - name: Tier 1 tests + test: ./builddir/pcs-*/pcs_test/suite --tier1 -v --vanilla --installed + duration: 2h + - name: Smoke tests + test: | + systemctl start pcsd + ./builddir/pcs-*/pcs_test/smoke.sh + duration: 10m +prepare: + - name: Install packages + how: install + package: + - autoconf + - automake + - make + - rpm-build + - ruby-devel + - git-core + - booth-site + - fence-agents-apc + - fence-agents-ipmilan + - fence-agents-scsi + - fence-virt + - openssl + - pcs + - pcs-snmp + - python3-pip + - python3-setuptools_scm + - python3-wheel + - rubygem-json + - rubygem-test-unit + - wget +execute: + how: tmt diff --git a/make-AppStream-metainfo-more-descriptive.patch b/make-AppStream-metainfo-more-descriptive.patch new file mode 100644 index 0000000..f9dd2a2 --- /dev/null +++ b/make-AppStream-metainfo-more-descriptive.patch @@ -0,0 +1,82 @@ +From 9923d48095ac7a1376b108a0a3e722d3090fcea6 Mon Sep 17 00:00:00 2001 +From: Michal Pospisil +Date: Thu, 18 Jan 2024 16:52:59 +0100 +Subject: [PATCH] make AppStream metainfo more descriptive + +--- + ...g.clusterlabs.cockpit_pcs_web_ui.metainfo.xml | 16 ++++++++++++++++ + .../app/org.clusterlabs.pcs_web_ui.metainfo.xml | 16 ---------------- + packages/app/package-lock.json | 4 ++-- + 3 files changed, 18 insertions(+), 18 deletions(-) + create mode 100644 packages/app/org.clusterlabs.cockpit_pcs_web_ui.metainfo.xml + delete mode 100644 packages/app/org.clusterlabs.pcs_web_ui.metainfo.xml + +diff --git a/packages/app/org.clusterlabs.cockpit_pcs_web_ui.metainfo.xml b/packages/app/org.clusterlabs.cockpit_pcs_web_ui.metainfo.xml +new file mode 100644 +index 00000000..a27525a9 +--- /dev/null ++++ b/packages/app/org.clusterlabs.cockpit_pcs_web_ui.metainfo.xml +@@ -0,0 +1,16 @@ ++ ++ ++ org.clusterlabs.cockpit_pcs_web_ui ++ CC0-1.0 ++ HA Cluster Management ++ Manage Pacemaker based clusters ++ ++

++ Application for managing Pacemaker based clusters. Uses Pacemaker/Corosync ++ Configuration System (pcs) in the background. ++

++
++ cockpit.desktop ++ ha-cluster ++ https://github.com/ClusterLabs/pcs-web-ui ++
+diff --git a/packages/app/org.clusterlabs.pcs_web_ui.metainfo.xml b/packages/app/org.clusterlabs.pcs_web_ui.metainfo.xml +deleted file mode 100644 +index 83add879..00000000 +--- a/packages/app/org.clusterlabs.pcs_web_ui.metainfo.xml ++++ /dev/null +@@ -1,16 +0,0 @@ +- +- +- org.clusterlabs.pcs_web_ui +- CC0-1.0 +- Pcs Web UI +- Manage pacemaker based clusters. +- +-

+- Pcs Web UI is an application that allows you to easily view, modify and +- create pacemaker based clusters. +-

+-
+- cockpit.desktop +- ha-cluster +-
+- +diff --git a/packages/app/package-lock.json b/packages/app/package-lock.json +index 4bf1e89e..2f4049a5 100644 +--- a/packages/app/package-lock.json ++++ b/packages/app/package-lock.json +@@ -3830,7 +3830,7 @@ + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001563", +- "resolved": "https://repository.engineering.redhat.com/nexus/repository/registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz", ++ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz", + "integrity": "sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==", + "dev": true, + "funding": [ +@@ -12590,7 +12590,7 @@ + }, + "caniuse-lite": { + "version": "1.0.30001563", +- "resolved": "https://repository.engineering.redhat.com/nexus/repository/registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz", ++ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz", + "integrity": "sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==", + "dev": true + }, +-- +2.43.0 + diff --git a/pcs.spec b/pcs.spec index 30180fe..ef43a4e 100644 --- a/pcs.spec +++ b/pcs.spec @@ -1,6 +1,6 @@ Name: pcs -Version: 0.11.6 -Release: 3%{?dist} +Version: 0.11.7 +Release: 1%{?dist} # https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/ # https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses # GPL-2.0-only: pcs @@ -17,12 +17,10 @@ BuildArch: noarch %global pcs_source_name %{name}-%{version_or_commit} # ui_commit can be determined by hash, tag or branch -%global ui_commit 0.1.17 -%global ui_modules_version 0.1.17 +%global ui_commit 0.1.18 +%global ui_modules_version 0.1.18 %global ui_src_name pcs-web-ui-%{ui_commit} -%global pcs_snmp_pkg_name pcs-snmp - %global pyagentx_version 0.4.pcs.2 %global dacite_version 1.8.1 @@ -30,6 +28,13 @@ BuildArch: noarch %global pcs_bundled_dir pcs_bundled %global pcsd_public_dir pcsd/public +%global ui_build_dir_standalone build_standalone +%global ui_build_dir_cockpit build_cockpit +%global ui_cockpit_dest ha-cluster +%global ui_appstream_metainfo org.clusterlabs.cockpit_pcs_web_ui.metainfo.xml + +%global pkg_pcs_snmp pcs-snmp +%global pkg_cockpit_ha_cluster cockpit-ha-cluster # prepend v for folder in GitHub link when using tagged tarball %if "%{version}" == "%{version_or_commit}" @@ -48,11 +53,9 @@ Source101: https://github.com/ClusterLabs/pcs-web-ui/releases/download/%{ui_comm # pcs patches: <= 200 # Patch0: name.patch -# https://github.com/ClusterLabs/pcs/pull/713 -Patch0: 0001-Fix-DatatransferObjectTest-for-Python-3.12.patch - # ui patches: >200 # Patch201: name-web-ui.patch +Patch201: make-AppStream-metainfo-more-descriptive.patch # git for patches BuildRequires: git-core @@ -73,8 +76,8 @@ BuildRequires: python3-lxml # for building bundled python packages BuildRequires: python3-wheel # for bundled python dateutil +# dateutil was unbundled in Fedora but our autotools still check for it BuildRequires: python3-setuptools_scm -BuildRequires: python3-distro # ruby and gems for pcsd BuildRequires: ruby >= 2.5.0 BuildRequires: ruby-devel @@ -106,11 +109,7 @@ BuildRequires: pam BuildRequires: nss-tools # for building web ui -%if 0%{?fedora} < 37 -BuildRequires: npm -%else BuildRequires: nodejs-npm -%endif # cluster stack packages for pkg-config BuildRequires: booth @@ -121,6 +120,10 @@ BuildRequires: pacemaker-libs-devel >= %{required_pacemaker_version} BuildRequires: resource-agents BuildRequires: sbd +# for validating cockpit-ha-cluster metainfo +BuildRequires: libappstream-glib + + # python and libraries for pcs, setuptools for pcs entrypoint Requires: python3 >= 3.9 Requires: python3-cryptography @@ -171,12 +174,9 @@ Requires: nss-tools Provides: bundled(dacite) = %{dacite_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} +# pcs-snmp subpackage definition +%package -n %{pkg_pcs_snmp} Group: System Environment/Base Summary: Pacemaker cluster SNMP agent # https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses @@ -195,8 +195,31 @@ 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) +# cockpit-ha-cluster subpackage definition +%package -n %{pkg_cockpit_ha_cluster} +Group: System Environment/Base +Summary: Cockpit application for managing Pacemaker based clusters +License: GPL-2.0-only AND CC0-1.0 +URL: https://github.com/ClusterLabs/pcs-web-ui + +BuildRequires: make +BuildRequires: npm + +Requires: pcs = %{version}-%{release} +Requires: cockpit-bridge + + +%description +pcs is a corosync and pacemaker configuration tool. It permits users to +easily view, modify and create pacemaker based clusters. + +%description -n %{pkg_pcs_snmp} +SNMP agent that provides information about pacemaker cluster to the master agent +(snmpd). + +%description -n %{pkg_cockpit_ha_cluster} +Cockpit application for managing Pacemaker based clusters. Uses +Pacemaker/Corosync Configuration System (pcs) in the background. %prep @@ -263,34 +286,55 @@ mkdir -p %{pcs_bundled_dir}/src cp -f %SOURCE41 rpm/ cp -f %SOURCE42 rpm/ + %build %define debug_package %{nil} # Booth authfile fix support -# Fedora 35, 36: set and unset # Fedora 37, 38, ELN = RHEL10: unset only # Fedora 39+: no booth build options -%if 0%{?fedora} <= 36 - %define booth_build_options --enable-booth-enable-authfile-set --enable-booth-enable-authfile-unset -%elif 0%{?fedora} <= 38 || 0%{?eln} +%if 0%{?fedora} <= 38 || 0%{?eln} %define booth_build_options --enable-booth-enable-authfile-unset %endif ./autogen.sh -%{configure} --enable-local-build --enable-use-local-cache-only --enable-individual-bundling %{?booth_build_options} --with-pcs-lib-dir="%{_prefix}/lib" PYTHON=%{__python3} +%{configure} --enable-local-build --enable-use-local-cache-only \ + --enable-individual-bundling %{?booth_build_options} \ + --with-pcsd-default-cipherlist='PROFILE=SYSTEM' \ + --with-pcs-lib-dir="%{_prefix}/lib" PYTHON=%{__python3} make all # build pcs-web-ui -BUILD_USE_CURRENT_NODE_MODULES=true make -C %{_builddir}/%{ui_src_name} build +export BUILD_USE_CURRENT_NODE_MODULES=true + +## standalone +export BUILD_DIR=%{_builddir}/%{ui_src_name}/%{ui_build_dir_standalone} +make -C %{_builddir}/%{ui_src_name} build + +## cockpit +export BUILD_DIR=%{_builddir}/%{ui_src_name}/%{ui_build_dir_cockpit} +export BUILD_FOR_COCKPIT=true +make -C %{_builddir}/%{ui_src_name} build + %install rm -rf $RPM_BUILD_ROOT pwd -%make_install -# install pcs-web-ui -make -C %{_builddir}/%{ui_src_name} _install PCSD_DIR=${RPM_BUILD_ROOT}%{_prefix}/lib/pcsd +%make_install +# install standalone pcs-web-ui +cp -r %{_builddir}/%{ui_src_name}/%{ui_build_dir_standalone} \ + ${RPM_BUILD_ROOT}%{_prefix}/lib/%{pcsd_public_dir}/ui + +# install cockpit pcs-web-ui +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/cockpit/%{ui_cockpit_dest} +mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/metainfo +cp -r %{_builddir}/%{ui_src_name}/%{ui_build_dir_cockpit}/* \ + ${RPM_BUILD_ROOT}%{_datadir}/cockpit/%{ui_cockpit_dest} + +cp -r %{_builddir}/%{ui_src_name}/packages/app/%{ui_appstream_metainfo} \ + ${RPM_BUILD_ROOT}%{_datadir}/metainfo/ # prepare license files cp %{pcs_bundled_dir}/src/pyagentx-*/LICENSE.txt pyagentx_LICENSE.txt @@ -300,7 +344,11 @@ cp %{pcs_bundled_dir}/src/pyagentx-*/README.md pyagentx_README.md cp %{pcs_bundled_dir}/src/dacite-*/LICENSE dacite_LICENSE cp %{pcs_bundled_dir}/src/dacite-*/README.md dacite_README.md + %check +# Run validation of cockpit metainfo +appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{ui_appstream_metainfo} + # 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. @@ -349,21 +397,21 @@ run_all_tests %systemd_post pcsd.service %systemd_post pcsd-ruby.service -%post -n %{pcs_snmp_pkg_name} +%post -n %{pkg_pcs_snmp} %systemd_post pcs_snmp_agent.service %preun %systemd_preun pcsd.service %systemd_preun pcsd-ruby.service -%preun -n %{pcs_snmp_pkg_name} +%preun -n %{pkg_pcs_snmp} %systemd_preun pcs_snmp_agent.service %postun %systemd_postun_with_restart pcsd.service %systemd_postun_with_restart pcsd-ruby.service -%postun -n %{pcs_snmp_pkg_name} +%postun -n %{pkg_pcs_snmp} %systemd_postun_with_restart pcs_snmp_agent.service %files @@ -396,9 +444,10 @@ run_all_tests %{_mandir}/man8/pcsd.* %exclude %{_prefix}/lib/pcs/pcs_snmp_agent %exclude %{_prefix}/lib/pcs/%{pcs_bundled_dir}/packages/pyagentx* +%exclude %{_datadir}/cockpit +%exclude %{_datadir}/metainfo/%{ui_appstream_metainfo} - -%files -n %{pcs_snmp_pkg_name} +%files -n %{pkg_pcs_snmp} %{_prefix}/lib/pcs/pcs_snmp_agent %{_prefix}/lib/pcs/%{pcs_bundled_dir}/packages/pyagentx* %{_unitdir}/pcs_snmp_agent.service @@ -411,7 +460,18 @@ run_all_tests %license COPYING %license pyagentx_LICENSE.txt +%files -n %{pkg_cockpit_ha_cluster} +%{_datadir}/cockpit/%{ui_cockpit_dest} +%{_datadir}/metainfo/%{ui_appstream_metainfo} + + %changelog +* Mon Jan 8 2024 Michal Pospisil - 0.11.7-1 +- Rebased to the latest upstream sources (see CHANGELOG.md) +- Updated pcs-web-ui to 0.1.18 +- TLS cipher setting in pcsd now follows system-wide crypto policies by default +- Added cockpit-ha-cluster subpackage that adds pcs-web-ui as a Cockpit application + * Thu Jul 20 2023 Fedora Release Engineering - 0.11.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/prepare-env.sh b/prepare-env.sh new file mode 100755 index 0000000..a0405b7 --- /dev/null +++ b/prepare-env.sh @@ -0,0 +1,18 @@ +set -eo xtrace +# Rpmbuild expects patches in the _sourcedir +find *.patch &> /dev/null && mv *.patch $TMT_SOURCE_DIR +mkdir builddir +rpmbuild -bp pcs.spec --nodeps --define "_sourcedir $TMT_SOURCE_DIR" \ + --define "_builddir $(pwd)/builddir" +# Remove *SPECPARTS folders generated by rpmbuild +rm -rfv builddir/*SPECPARTS +# Remove pcs-web-ui in builddir for "cd pcs-*" to have exactly one match +rm -rf builddir/pcs-web-ui-* +cd builddir/pcs-* +# Run autotools, use bundled dependencies from the system +export PYTHONPATH=/usr/lib/pcs/pcs_bundled/packages/ +export GEM_HOME=/usr/lib/pcsd/vendor/bundle/ +./autogen.sh +./configure --with-pcs-lib-dir=/usr/lib --with-distro=fedora +# Remove pcs sources to make sure tests are not using any of those files +rm -rf pcs diff --git a/sources b/sources index 02e35b4..27bf1eb 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ SHA512 (pyagentx-0.4.pcs.2.tar.gz) = d4194fec9a3e5fefe3793d49b7fec1feafef294c7e613a06046c2993daeefc5cb39d7c5b2b402ff83e49b2d976953f862264288c758c0be09d997b5323cc558a -SHA512 (pcs-0.11.6.tar.gz) = ea439808070b171d02e1d6e071bd083fb4c4e30d92c2e637810c89cbb5feec2c56aabfbcda4c25eccb7ab46df2cd56f192dbd6a29f4c7c1fe7aca5a82f4a42ef -SHA512 (pcs-web-ui-node-modules-0.1.17.tar.xz) = 51f47be3b28a378542ebe862a333e8883bbcf4e40a2aea685986b9d17db91dab01cb3b58c9ffba56f335bedfe0a9477ebb1ff93824228ed5348f864afad5b98d -SHA512 (pcs-web-ui-0.1.17.tar.gz) = a5dd551c47040d9c9a2f714a83b835aaf5cca8d5dd05c83f641ddecdb7d99ac82a3b265df508c0ec1bc51ea572210d6255d79631f4680205c6302cb89460d14c SHA512 (dacite-1.8.1.tar.gz) = 4b40c0bdcf5490bcc77de9e7f04b7267642bcfd41e4168607a5457f38abe3ad4b3041d8a23cb43af76de14eabee45f900ad5ddf7af8f70a2be4850bccc2d3af1 +SHA512 (pcs-0.11.7.tar.gz) = 29d61bb945b25ced67e3a05f742ab6f557da8c4d3e8ee04db8caa9a51bb1c64e64cd5382f801173d95e9d62c53a52ad86f823c475ba790cb86b777a1eff658cc +SHA512 (pcs-web-ui-0.1.18.tar.gz) = edbe88d113e967b2d3f345e74e8c4409b013fb8474fe70a8813a1aba5ea8b4deb61a3bb8c4cd4b4d1a9dc9e67216e518ee5bf832a25188e95173317533d7bf69 +SHA512 (pcs-web-ui-node-modules-0.1.18.tar.xz) = 237ff976d67a7bf881e45334261af1da32c6330fbf9e7436dcf33e63c9373f85f36db52622676f77e27bb6a853c046223cfe0cca25de68bd004c6535aa077fd7 diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index 098eec7..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,72 +0,0 @@ -- hosts: localhost - tags: - - classic - vars: - # standard-test-basic directory for tests are relative to {{ tenv_workdir }} - tenv_workdir: /var/test - pre_tasks: - - import_role: - name: standard-test-source - vars: - fetch_only: True - - name: Copy files including source to test environment - synchronize: - src: "{{ playbook_dir }}/.." - dest: "{{ tenv_workdir }}" - mode: push - ssh_args: "-o UserKnownHostsFile=/dev/null" - - name: Start pcsd - systemd: - state: started - name: pcsd - daemon_reload: yes - - roles: - # roles documentation: - # https://pagure.io/standard-test-roles/blob/master/f/roles/standard-test-source - - role: standard-test-basic - required_packages: - - autoconf - - automake - - make - - rpm-build - - ruby-devel - - git-core - - booth-site - - fence-agents-apc - - fence-agents-ipmilan - - fence-agents-scsi - - fence-virt - - pcs - - python3-pip - - python3-setuptools_scm - - python3-wheel - - rubygem-test-unit - - wget - required_services: - - pcsd - tests: - # dir: . -> dot means tests dir in distgit - - prepare-source: - dir: ./ - run: rpmbuild -bp {{tenv_workdir}}/*.spec --nodeps --define "_sourcedir {{tenv_workdir}}" --define "_builddir {{tenv_workdir}}/source" - # pcs-web-ui sources are deleted because there are conflicts during move of sources - # pcs-web-ui sources aren't needed during testing - - flatten-source: - dir: ./ - run: rm -rf {{tenv_workdir}}/source/pcs-web-ui-*; shopt -s dotglob; mv {{tenv_workdir}}/source/*/* {{tenv_workdir}}/source - - build_sources: - dir: ./source - run: "export PYTHONPATH=/usr/lib/pcs/pcs_bundled/packages/; ./autogen.sh && ./configure --enable-tests-only --with-pcs-lib-dir=/usr/lib" - - remove_sources: - dir: ./source - run: rm -rfv pcs - - run_upstream_tier0_tests: - dir: ./source - run: pcs_test/suite --tier0 -v --vanilla --installed - - run_upstream_tier1_tests: - dir: ./source - run: pcs_test/suite --tier1 -v --vanilla --installed - - run_smoke_tests: - dir: ./source - run: pcs_test/smoke.sh