diff --git a/.gitignore b/.gitignore index e69de29..bf38e9c 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,53 @@ +/nmstate-0.0.2.tar.gz +/nmstate-0.0.3.tar.gz +/nmstate-0.0.3.tar.gz.asc +/gpgkey-F7910D93CA83D77348595C0E899014C0463C12BB.gpg +/nmstate-0.0.4.tar.gz.asc +/nmstate-0.0.4.tar.gz +/nmstate-0.0.5.tar.gz +/nmstate-0.0.5.tar.gz.asc +/nmstate-0.0.6.tar.gz.asc +/nmstate-0.0.6.tar.gz +/nmstate-0.0.7.tar.gz +/nmstate-0.0.7.tar.gz.asc +/nmstate-0.0.8.tar.gz.asc +/nmstate-0.0.8.tar.gz +/nmstate-0.1.1.tar.gz +/nmstate-0.1.1.tar.gz.asc +/nmstate-0.2.0.tar.gz +/nmstate-0.2.0.tar.gz.asc +/nmstate-0.2.1.tar.gz +/nmstate-0.2.1.tar.gz.asc +/nmstate-0.2.2.tar.gz +/nmstate-0.2.2.tar.gz.asc +/nmstate-0.2.3.tar.gz +/nmstate-0.2.3.tar.gz.asc +/nmstate-0.2.4.tar.gz +/nmstate-0.2.4.tar.gz.asc +/nmstate-0.2.5.tar.gz +/nmstate-0.2.5.tar.gz.asc +/nmstate-0.2.6.tar.gz +/nmstate-0.2.6.tar.gz.asc +/nmstate-0.2.7.tar.gz +/nmstate-0.2.7.tar.gz.asc +/nmstate-0.2.8.tar.gz +/nmstate-0.2.8.tar.gz.asc +/nmstate-0.2.9.tar.gz +/nmstate-0.2.9.tar.gz.asc +/nmstate-0.2.10.tar.gz +/nmstate-0.2.10.tar.gz.asc +/nmstate-0.3.0.tar.gz +/nmstate-0.3.0.tar.gz.asc +/nmstate.gpg +/nmstate-0.3.1.tar.gz +/nmstate-0.3.1.tar.gz.asc +/nmstate-0.3.2.tar.gz +/nmstate-0.3.2.tar.gz.asc +/nmstate-0.3.3.tar.gz +/nmstate-0.3.3.tar.gz.asc +/nmstate-0.3.4.tar.gz +/nmstate-0.3.4.tar.gz.asc +/nmstate-0.3.5.tar.gz +/nmstate-0.3.5.tar.gz.asc +/nmstate-0.4.0.tar.gz +/nmstate-0.4.0.tar.gz.asc diff --git a/README.md b/README.md new file mode 100644 index 0000000..d1ae56e --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# nmstate + +The nmstate package \ No newline at end of file diff --git a/nmstate.spec b/nmstate.spec new file mode 100644 index 0000000..a80764d --- /dev/null +++ b/nmstate.spec @@ -0,0 +1,236 @@ +%?python_enable_dependency_generator +%define srcname nmstate +%define libname libnmstate + +Name: nmstate +Version: 0.4.0 +Release: 2%{?dist} +Summary: Declarative network manager API +License: LGPLv2+ +URL: https://github.com/%{srcname}/%{srcname} +Source0: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz +Source1: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz.asc +Source2: nmstate.gpg +BuildArch: noarch +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: gnupg2 +Requires: python3-setuptools +Requires: python3-%{libname} = %{?epoch:%{epoch}:}%{version}-%{release} + +%description +Nmstate is a library with an accompanying command line tool that manages host +networking settings in a declarative manner and aimed to satisfy enterprise +needs to manage host networking through a northbound declarative API and multi +provider support on the southbound. + + +%package -n python3-%{libname} +Summary: nmstate Python 3 API library +Requires: NetworkManager-libnm >= 1:1.26.0 +# Use Recommends for NetworkManager because only access to NM DBus is required, +# but NM could be running on a different host +Recommends: NetworkManager +# Avoid automatically generated profiles +Recommends: NetworkManager-config-server +Recommends: (nmstate-plugin-ovsdb if openvswitch) +# Use Suggests for NetworkManager-ovs and NetworkManager-team since it is only +# required for OVS and team support +Suggests: NetworkManager-ovs +Suggests: NetworkManager-team +# FIXME: Once upstream included nispor into requirement.txt, remove below line +Requires: python3dist(nispor) + +%package -n nmstate-plugin-ovsdb +Summary: nmstate plugin for OVS database manipulation +Requires: python3-%{libname} = %{?epoch:%{epoch}:}%{version}-%{release} +%if 0%{?rhel} +# The python-openvswitch rpm package is not in the same repo with nmstate, +# require only if openvswitch is installed. +Requires: (python3dist(ovs) if openvswitch) +Recommends: python3dist(ovs) +%else +Requires: python3dist(ovs) +%endif + + +%description -n python3-%{libname} +This package contains the Python 3 library for Nmstate. + +%description -n nmstate-plugin-ovsdb +This package contains the nmstate plugin for OVS database manipulation. + +%prep +gpg2 --import --import-options import-export,import-minimal %{SOURCE2} > ./gpgkey-mantainers.gpg +gpgv2 --keyring ./gpgkey-mantainers.gpg %{SOURCE1} %{SOURCE0} +%setup -q + +%build +%py3_build + +%install +%py3_install + +%files +%doc README.md +%doc examples/ +%{_mandir}/man8/nmstatectl.8* +%{python3_sitelib}/nmstatectl +%{_bindir}/nmstatectl + +%files -n python3-%{libname} +%license LICENSE +%{python3_sitelib}/%{libname} +%{python3_sitelib}/%{srcname}-*.egg-info/ +%exclude %{python3_sitelib}/%{libname}/plugins/nmstate_plugin_* +%exclude %{python3_sitelib}/%{libname}/plugins/__pycache__/nmstate_plugin_* + +%files -n nmstate-plugin-ovsdb +%{python3_sitelib}/%{libname}/plugins/nmstate_plugin_ovsdb* +%{python3_sitelib}/%{libname}/plugins/__pycache__/nmstate_plugin_ovsdb* + +%changelog +* Tue Oct 13 2020 Gris Ge - 0.4.0-2 +- Fix the ELN build by put ovs stuff as soft requirement. + +* Sun Sep 20 2020 Gris Ge - 0.4.0-1 +- Upgrade to 0.4.0 + +* Mon Aug 31 2020 Fernando Fernandez Mancera - 0.3.5-1 +- Update to 0.3.5 + +* Tue Jul 28 2020 Fedora Release Engineering - 0.3.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jul 25 2020 Fernando Fernandez Mancera - 0.3.4-1 +- Update to 0.3.4 +- Sync. with upstream specfile + +* Thu Jul 02 2020 Fernando Fernandez Mancera - 0.3.3-1 +- Update to 0.3.3 + +* Tue Jun 16 2020 Fernando Fernandez Mancera - 0.3.2-1 +- Update to 0.3.2 +- Sync with upstream specfile + +* Tue Jun 09 2020 Fernando Fernandez Mancera - 0.3.1-1 +- Update to 0.3.1 + +* Tue May 26 2020 Miro Hrončok - 0.3.0-5 +- Rebuilt for Python 3.9 + +* Fri May 08 2020 Fernando Fernandez Mancera - 0.3.0-4 +- Fix source path + +* Fri May 08 2020 Fernando Fernandez Mancera - 0.3.0-3 +- Fix signature verification + +* Fri May 08 2020 Fernando Fernandez Mancera - 0.3.0-2 +- Update signature verification + +* Fri May 08 2020 Fernando Fernandez Mancera - 0.3.0-1 +- Update to 0.3.0 +- Sync with upstream specfile + +* Tue Apr 21 2020 Fernando Fernandez Mancera - 0.2.10-1 +- Update to 0.2.10 + +* Thu Mar 26 2020 Fernando Fernandez Mancera - 0.2.9-1 +- Update to 0.2.9 + +* Fri Mar 13 2020 Fernando Fernandez Mancera - 0.2.8-1 +- Update to 0.2.8 + +* Wed Mar 04 2020 Fernando Fernandez Mancera - 0.2.7-1 +- Update to 0.2.7 + +* Mon Feb 24 2020 Fernando Fernandez Mancera - 0.2.6-1 +- Update to 0.2.6 + +* Wed Feb 19 2020 Fernando Fernandez Mancera - 0.2.5-1 +- Update to 0.2.5 +- Sync with upstream specfile + +* Wed Feb 12 2020 Fernando Fernandez Mancera - 0.2.4-1 +- Update to 0.2.4 + +* Wed Feb 05 2020 Fernando Fernandez Mancera - 0.2.3-1 +- Update to 0.2.3 + +* Tue Feb 04 2020 Fernando Fernandez Mancera - 0.2.2-1 +- Update to 0.2.2 +- Sync with upstream specfile + +* Wed Jan 29 2020 Fedora Release Engineering - 0.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Jan 14 2020 Fernando Fernandez Mancera - 0.2.1-2 +- Fix changelog + +* Tue Jan 14 2020 Fernando Fernandez Mancera - 0.2.1-1 +- Update to 0.2.1 + +* Tue Dec 03 2019 Fernando Fernandez Mancera - 0.2.0-2 +- Fix changelog + +* Tue Dec 03 2019 Fernando Fernandez Mancera - 0.2.0-1 +- Update to 0.2.0 + +* Mon Dec 02 2019 Till Maas - 0.1.1-1 +- Update to 0.1.1 +- Sync with upstream specfile + +* Thu Oct 03 2019 Miro Hrončok - 0.0.8-3 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 0.0.8-2 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Gris Ge - 0.0.8-1 +- Upgrade to 0.0.8. + +* Thu Jul 25 2019 Fedora Release Engineering - 0.0.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jun 14 2019 Gris Ge - 0.0.7-2 +- Workaround broken dbus-python packaging: + https://bugzilla.redhat.com/show_bug.cgi?id=1654774 + +* Fri Jun 14 2019 Gris Ge - 0.0.7-1 +- Upgrade to 0.0.7 + +* Sun May 05 2019 Gris Ge - 0.0.6-1 +- Upgrade to 0.0.6 + +* Fri Apr 12 2019 Gris Ge - 0.0.5-1 +- Upgrade to 0.0.5 + +* Fri Feb 01 2019 Fedora Release Engineering - 0.0.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jan 29 2019 Till Maas - 0.0.4-2 +- Sync with upstream spec +- Use Recommends for NetworkManager +- Add Suggests for NetworkManager-ovs +- package examples as doc + +* Thu Jan 24 2019 Gris Ge - 0.0.4-1 +- Upgrade to 0.0.4. + +* Mon Jan 21 2019 Gris Ge - 0.0.3-3 +- Add missing runtime dependency for nmstatectl. + +* Wed Jan 02 2019 Gris Ge - 0.0.3-2 +- Add source file PGP verification. + +* Thu Dec 20 2018 Gris Ge - 0.0.3-1 +- Upgrade to 0.0.3. + +* Mon Dec 03 2018 Gris Ge - 0.0.2-2 +- Trival RPM SPEC fix. + +* Wed Nov 28 2018 Gris Ge - 0.0.2-1 +- Initial release. diff --git a/sources b/sources new file mode 100644 index 0000000..ed018ea --- /dev/null +++ b/sources @@ -0,0 +1,3 @@ +SHA512 (nmstate-0.4.0.tar.gz) = edbd9663178004786287502c10ecafd284de2b96d874b1f65a3c93f9898358341eddb2bf89fc1d989e612351e6cfbe0ce47a643c8be9139a5ac7354047057e3a +SHA512 (nmstate-0.4.0.tar.gz.asc) = 32e99c7acd93a93fab5d0e454d6ea2b87107d9a4486d879bee13fd96a32117bdccc45c7aea9fd826b4ddf5e1e7261cfd98c60b1d21a7bebbd9c894f4a42dcb23 +SHA512 (nmstate.gpg) = af6af2024ea46b5c87c6c71d4be278ce4eed58c1783385619987fe8e254eb599f9b218897e7db67050b0e9f7101b206561f63218fda18a0d95103a04682c8309 diff --git a/tests/cli_query_reapply.sh b/tests/cli_query_reapply.sh new file mode 100755 index 0000000..50cba9d --- /dev/null +++ b/tests/cli_query_reapply.sh @@ -0,0 +1,7 @@ +#!/bin/bash -ex + +TMP_FILE=$(mktemp /tmp/nmstate.XXXXXX.yaml) + +nmstatectl show > $TMP_FILE 2>/dev/null + +nmstatectl set $TMP_FILE 2>/dev/null diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..ce55f12 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,12 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + remote_user: root + tests: + - cli_query_reapply: + dir: . + run: ./cli_query_reapply.sh + required_packages: + - nmstate