{ "info": { "author": "kamaboko123", "author_email": "6112062+kamaboko123@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3.5" ], "description": "# ovspy\nOpen vSwitch Library written in Python \n\n[ovspy \u00b7 PyPI](https://pypi.org/project/ovspy/)\n\n## Supported Operation\n- Bridge\n - Get(name, uuid, port)\n - Add\n - Delete\n- Port\n - Get(name, uuid, vlan)\n - Add(with VLAN)\n - Delete\n\n## install\n```\npip install ovspy\n```\n\n## Getting Started\n\n### Configure Open vSwitch Manager\nThis library manipulate Open vSwitch by access OVSDB \nYou need to configure OVSDB manager port to manipulate OVSDB by TCP.\n```\nsudo ovs-vsctl set-manager ptcp:5678\n```\n\n### Bridge\n```\nimport ovspy.client\n\novs = ovspy.client.OvsClient(5678)\n\n#Get exist all bridges\n#This function return list of OvsBridge instance\nfor br in ovs.get_bridges():\n print(br.get_name())\n\n#Find bridge by bridge name\n#This function return OvsBridge instance\n#If specified bridge is not found, the function return None\nbridge = ovs.find_bridge(\"br0\")\nprint(bridge.get_name())\n\n\n#Add bridge\n#If specified bridge is already exist, This function raise ovspy.ovs_error.Duplicate\novs.add_bridge(\"br1\")\n\n#Delete bridge\n#If specified bridge is not exist, This function raise ovspy.ovs_error.NotFound\novs.del_bridge(\"br1\")\n```\n\n### Port\n```\nimport ovspy.client\n\novs = ovspy.client.OvsClient(5678)\n\n#Get Bridge instance\nbridge = ovs.find_bridge(\"br0\")\n\n#Get all ports which is associate to birgde\nfor p in bridge.get_ports():\n print(\"%s:(%s)\" % (p.get_name(), p.get_vlan_info()))\n\n#Find port by name\nport = bridge.find_port(\"p0\")\nprint(port.get_name())\n\n#Add port(Access port)\nbridge.add_port(\"p1\", 10)\n\n#Add port(Trunk port)\nbridge.add_port(\"p2\")\nbridge.add_port(\"p3\", [])\n\n#Add port(Trunk port with restrict vlan)\nbridge.add_port(\"p4\", [10, 20])\n\n#Delete port(Trunk port with restrict vlan)\nbridge.del_port(\"p3\")\n\n```\n\n### Errors\novspy has as following class as custom exception\n- `ovspy.ovs_error.OvspyError`\n - Super class of custom exceptions\n- `ovspy.ovs_error.Duplicate`\n - The error is raise when user operation cause duplicate status(e.g. Case of try to create port with same name as existing port)\n- `ovspy.ovs_error.NotFound`\n - The error is raise when user specified resource is not exist. (e.g. Case of try to delete port but the port is not existing)\n- `ovspy.ovs_error.TransactionError`\n - The error is raise when failed to transaction with OVSDB. (e.g. Timeout for connection)\n- `ovspy.ovs_error.Unsupported`\n - The error is raise when user try to unsupported operation with ovspy.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kamaboko123/ovspy", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ovspy", "package_url": "https://pypi.org/project/ovspy/", "platform": "", "project_url": "https://pypi.org/project/ovspy/", "project_urls": { "Homepage": "https://github.com/kamaboko123/ovspy" }, "release_url": "https://pypi.org/project/ovspy/0.1.0b1/", "requires_dist": null, "requires_python": "", "summary": "Open vSwitch Mnipulation Library", "version": "0.1.0b1" }, "last_serial": 5786220, "releases": { "0.1.0b0": [ { "comment_text": "", "digests": { "md5": "6803e5ef0d382b50b87714a2f3ea373e", "sha256": "b1e0fadd40b1bb6b6323a04fb11a6e3e031b1103fad8c9ff1435ed5152001981" }, "downloads": -1, "filename": "ovspy-0.1.0b0.tar.gz", "has_sig": false, "md5_digest": "6803e5ef0d382b50b87714a2f3ea373e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4306, "upload_time": "2019-09-04T15:43:56", "url": "https://files.pythonhosted.org/packages/33/0e/2ec21c05d3799c2682385e72272418c869a4bd2999981d19be464f8656a9/ovspy-0.1.0b0.tar.gz" } ], "0.1.0b1": [ { "comment_text": "", "digests": { "md5": "f847333fadf26e4adc403f00177c3626", "sha256": "872000c8a2e699d1f9403e0a1252bf58f81301445d6e1032ad7fd277b0e3159c" }, "downloads": -1, "filename": "ovspy-0.1.0b1.tar.gz", "has_sig": false, "md5_digest": "f847333fadf26e4adc403f00177c3626", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5239, "upload_time": "2019-09-05T12:08:51", "url": "https://files.pythonhosted.org/packages/d5/07/e53edfc1411dc8d10525aee1f9bf8a911ae1fb8c9e2ab20493553d0d09a2/ovspy-0.1.0b1.tar.gz" } ], "0.1a0.dev0": [ { "comment_text": "", "digests": { "md5": "fffb2bfa11054a5e4cba0462417b3dd2", "sha256": "3d083124e5fdb75a7bcf09304ccf4b9d02fe36a7f194acc33cc8a3369f0d418f" }, "downloads": -1, "filename": "ovspy-0.1a0.dev0.tar.gz", "has_sig": false, "md5_digest": "fffb2bfa11054a5e4cba0462417b3dd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3186, "upload_time": "2019-08-06T14:27:50", "url": "https://files.pythonhosted.org/packages/4c/5d/d60ce8053f0f30dfc88d06726520cd35aef006f7c82bcccc2478908d6931/ovspy-0.1a0.dev0.tar.gz" } ], "0.1a0.dev1": [ { "comment_text": "", "digests": { "md5": "967c746ee858e3da13e5c51b3b1351df", "sha256": "fc81d6e99ef04ace14ef82838faf94cb20927e53a0b4b99358e23e11aed58d68" }, "downloads": -1, "filename": "ovspy-0.1a0.dev1.tar.gz", "has_sig": false, "md5_digest": "967c746ee858e3da13e5c51b3b1351df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3413, "upload_time": "2019-08-06T15:30:18", "url": "https://files.pythonhosted.org/packages/f8/6e/4ae0e9e4827643f2fde8c865ec0fd32948cc5ac8c2b54396dfc5dca4a711/ovspy-0.1a0.dev1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f847333fadf26e4adc403f00177c3626", "sha256": "872000c8a2e699d1f9403e0a1252bf58f81301445d6e1032ad7fd277b0e3159c" }, "downloads": -1, "filename": "ovspy-0.1.0b1.tar.gz", "has_sig": false, "md5_digest": "f847333fadf26e4adc403f00177c3626", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5239, "upload_time": "2019-09-05T12:08:51", "url": "https://files.pythonhosted.org/packages/d5/07/e53edfc1411dc8d10525aee1f9bf8a911ae1fb8c9e2ab20493553d0d09a2/ovspy-0.1.0b1.tar.gz" } ] }