diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-netplan.spec | 251 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 253 insertions, 0 deletions
@@ -0,0 +1 @@ +/netplan-0.3.3.tar.gz diff --git a/python-netplan.spec b/python-netplan.spec new file mode 100644 index 0000000..c332962 --- /dev/null +++ b/python-netplan.spec @@ -0,0 +1,251 @@ +%global _empty_manifest_terminate_build 0 +Name: python-netplan +Version: 0.3.3 +Release: 1 +Summary: A library for parsing the netplan configuration data +License: Apache License 2.0 +URL: https://github.com/storpool/netplan +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/36/46/284e325e534b615f591fcf2b61381f67c82fce01de110be3f3fdb8db08a7/netplan-0.3.3.tar.gz +BuildArch: noarch + +Requires: python3-PyYAML +Requires: python3-typing + +%description +# netplan - a Python library for parsing the netplan configuration data. + +## Description + +This module parses the YAML configuration files describing the system's +network configuration in the format used by the netplan.io package. +The main parser is the "netplan.parser.Parser" class (also exported as +"netplan.Parser"); its "parse()" method returns a data structure of +the "netplan.config.NetPlan" class (also exported as "netplan.NetPlan"). + +## Example usage + + import netplan + + p = netplan.Parser() + data = p.parse() + for iface, cfg in data.items(): + print('{section}/{name}'.format(section=cfg.section, name=iface) + + p = netplan.Parser() + data = p.parse(exclude=['set-mtu.yaml']) + fix = {'version': 2} + for iface, cfg in data.get_all_interfaces(['br-enp4s0']).data.items(): + if cfg.get('mtu') != 9000: + if cfg.section not in fix: + fix[cfg.section] = {} + fix[cfg.section][iface] = {'mtu': 9000} + fix = {'network': fix} + with open('/etc/netplan/set-mtu.yaml', mode='w') as f: + print(yaml.dump(fix), file=f, end='') + +## The netplan-parser tool + +The three types of queries - parse the interface data, get all related +interfaces, and get only the physical related interfaces - are also +available via the command-line `netplan-parser` tool: + + # Show the configuration of all interfaces in YAML format + netplan-parser show + + # Show the configuration of the specified interfaces in JSON format + netplan-parser -f json show eno1 eno2.617 + + # List the names of the interfaces related to the specified one + netplan-parser -f names related eno2.617 + + # Show the configuration of the physical interfaces related to + # the specified ones + netplan-parser --format=json physical eno2.617 br1-eno1 + +## Contact + +The `netplan` Python library was written by Peter Pentchev as part of +the [OpenStack development][openstack-dev] team at [StorPool][storpool]. + +[openstack-dev]: mailto:openstack-dev@storpool.com +[storpool]: https://storpool.com/ + + + + +%package -n python3-netplan +Summary: A library for parsing the netplan configuration data +Provides: python-netplan +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-netplan +# netplan - a Python library for parsing the netplan configuration data. + +## Description + +This module parses the YAML configuration files describing the system's +network configuration in the format used by the netplan.io package. +The main parser is the "netplan.parser.Parser" class (also exported as +"netplan.Parser"); its "parse()" method returns a data structure of +the "netplan.config.NetPlan" class (also exported as "netplan.NetPlan"). + +## Example usage + + import netplan + + p = netplan.Parser() + data = p.parse() + for iface, cfg in data.items(): + print('{section}/{name}'.format(section=cfg.section, name=iface) + + p = netplan.Parser() + data = p.parse(exclude=['set-mtu.yaml']) + fix = {'version': 2} + for iface, cfg in data.get_all_interfaces(['br-enp4s0']).data.items(): + if cfg.get('mtu') != 9000: + if cfg.section not in fix: + fix[cfg.section] = {} + fix[cfg.section][iface] = {'mtu': 9000} + fix = {'network': fix} + with open('/etc/netplan/set-mtu.yaml', mode='w') as f: + print(yaml.dump(fix), file=f, end='') + +## The netplan-parser tool + +The three types of queries - parse the interface data, get all related +interfaces, and get only the physical related interfaces - are also +available via the command-line `netplan-parser` tool: + + # Show the configuration of all interfaces in YAML format + netplan-parser show + + # Show the configuration of the specified interfaces in JSON format + netplan-parser -f json show eno1 eno2.617 + + # List the names of the interfaces related to the specified one + netplan-parser -f names related eno2.617 + + # Show the configuration of the physical interfaces related to + # the specified ones + netplan-parser --format=json physical eno2.617 br1-eno1 + +## Contact + +The `netplan` Python library was written by Peter Pentchev as part of +the [OpenStack development][openstack-dev] team at [StorPool][storpool]. + +[openstack-dev]: mailto:openstack-dev@storpool.com +[storpool]: https://storpool.com/ + + + + +%package help +Summary: Development documents and examples for netplan +Provides: python3-netplan-doc +%description help +# netplan - a Python library for parsing the netplan configuration data. + +## Description + +This module parses the YAML configuration files describing the system's +network configuration in the format used by the netplan.io package. +The main parser is the "netplan.parser.Parser" class (also exported as +"netplan.Parser"); its "parse()" method returns a data structure of +the "netplan.config.NetPlan" class (also exported as "netplan.NetPlan"). + +## Example usage + + import netplan + + p = netplan.Parser() + data = p.parse() + for iface, cfg in data.items(): + print('{section}/{name}'.format(section=cfg.section, name=iface) + + p = netplan.Parser() + data = p.parse(exclude=['set-mtu.yaml']) + fix = {'version': 2} + for iface, cfg in data.get_all_interfaces(['br-enp4s0']).data.items(): + if cfg.get('mtu') != 9000: + if cfg.section not in fix: + fix[cfg.section] = {} + fix[cfg.section][iface] = {'mtu': 9000} + fix = {'network': fix} + with open('/etc/netplan/set-mtu.yaml', mode='w') as f: + print(yaml.dump(fix), file=f, end='') + +## The netplan-parser tool + +The three types of queries - parse the interface data, get all related +interfaces, and get only the physical related interfaces - are also +available via the command-line `netplan-parser` tool: + + # Show the configuration of all interfaces in YAML format + netplan-parser show + + # Show the configuration of the specified interfaces in JSON format + netplan-parser -f json show eno1 eno2.617 + + # List the names of the interfaces related to the specified one + netplan-parser -f names related eno2.617 + + # Show the configuration of the physical interfaces related to + # the specified ones + netplan-parser --format=json physical eno2.617 br1-eno1 + +## Contact + +The `netplan` Python library was written by Peter Pentchev as part of +the [OpenStack development][openstack-dev] team at [StorPool][storpool]. + +[openstack-dev]: mailto:openstack-dev@storpool.com +[storpool]: https://storpool.com/ + + + + +%prep +%autosetup -n netplan-0.3.3 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-netplan -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.3-1 +- Package Spec generated @@ -0,0 +1 @@ +e903c62bdcdc89a56bab324c2b0d87d3 netplan-0.3.3.tar.gz |