{"id":13617433,"url":"https://github.com/openstack/kuryr","last_synced_at":"2025-05-15T13:07:30.482Z","repository":{"id":66174740,"uuid":"39091612","full_name":"openstack/kuryr","owner":"openstack","description":"Bridge between container framework networking and storage models to OpenStack networking and storage abstractions. Mirror of code maintained at opendev.org.","archived":false,"fork":false,"pushed_at":"2025-03-31T08:53:58.000Z","size":1720,"stargazers_count":203,"open_issues_count":0,"forks_count":45,"subscribers_count":44,"default_branch":"master","last_synced_at":"2025-04-15T03:51:26.350Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://opendev.org/openstack/kuryr","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openstack.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-07-14T18:00:55.000Z","updated_at":"2025-03-31T08:54:01.000Z","dependencies_parsed_at":"2024-01-05T10:52:45.265Z","dependency_job_id":"f574d6d1-a496-44f8-8de5-9f086fcab682","html_url":"https://github.com/openstack/kuryr","commit_stats":null,"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fkuryr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fkuryr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fkuryr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fkuryr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openstack","download_url":"https://codeload.github.com/openstack/kuryr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254346624,"owners_count":22055808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T20:01:41.647Z","updated_at":"2025-05-15T13:07:30.462Z","avatar_url":"https://github.com/openstack.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"========================\nTeam and repository tags\n========================\n\n.. image:: https://governance.openstack.org/badges/kuryr.svg\n    :target: https://governance.openstack.org/reference/tags/index.html\n\n.. Change things from this point on\n\n===============================\nkuryr\n===============================\n\n.. image:: https://raw.githubusercontent.com/openstack/kuryr/master/doc/images/kuryr_logo.png\n    :alt: Kuryr mascot\n    :align: center\n\n\nDocker for OpenStack Neutron\n\nKuryr is a Docker network plugin that uses Neutron to provide networking\nservices to Docker containers. It provides containerised images for the\ncommon Neutron plugins.\n\n\n* Free software: Apache license\n* Documentation: https://docs.openstack.org/kuryr/latest/\n* Source: https://opendev.org/openstack/kuryr\n* Bugs: https://bugs.launchpad.net/kuryr\n\nFeatures\n--------\n\n* TODO\n\n\nGetting Code\n------------\n\n::\n\n    $ git clone https://opendev.org/openstack/kuryr.git\n    $ cd kuryr\n\nPrerequisites\n-------------\n\n::\n\n    $ sudo pip install -r requirements.txt\n\n\nInstalling Kuryr's libnetwork driver\n------------------------------------\n\nFor kuryr-libnetwork driver installation refer:\n\nhttps://docs.openstack.org/kuryr-libnetwork/latest/readme.html\n\n\nConfiguring Kuryr\n-----------------\n\nGenerate sample config, `etc/kuryr.conf.sample`, running the following\n\n::\n\n    $ tox -e genconfig\n\n\nRename and copy config file at required path\n\n::\n\n    $ cp etc/kuryr.conf.sample /etc/kuryr/kuryr.conf\n\n\nEdit keystone section in `/etc/kuryr/kuryr.conf`, replace ADMIN_PASSWORD:\n\n::\n\n    auth_type           = v3password\n    auth_url            = http://127.0.0.1:5000\n    region_name         = regionOne\n    user_doamin_name    = Default\n    username            = admin\n    project_domain_name = Default\n    project_name        = service\n    password            = ADMIN_PASSWORD\n\n\nIn the same file uncomment the `bindir` parameter with the path for the Kuryr\nvif binding executables:\n\n::\n\n    bindir = /usr/local/libexec/kuryr\n\nBy default, Kuryr will use veth pairs for performing the binding. However, the\nKuryr library ships with two other drivers that you can configure in the\n**binding** section::\n\n    [binding]\n    #driver = kuryr.lib.binding.drivers.ipvlan\n    #driver = kuryr.lib.binding.drivers.macvlan\n\nDrivers may make use of other **binding** options. Both Kuryr library drivers in\nthe previous snippet can be further configured setting the interface that will\nact as link interface for the virtual devices::\n\n    link_iface = enp4s0\n\n\nRunning Kuryr\n-------------\n\nCurrently, Kuryr utilizes a bash script to start the service. Make sure that\nyou have installed `tox` before the execution of the below command.\n\n::\n\n    $ sudo ./scripts/run_kuryr.sh\n\nAfter the booting, please restart your Docker service, e.g.,\n\n::\n\n    $ sudo service docker restart\n\nThe bash script creates the following file if it is missing.\n\n* ``/usr/lib/docker/plugins/kuryr/kuryr.json``: Json spec file for libnetwork.\n\nNote the root privilege is required for creating and deleting the veth pairs\nwith `pyroute2 \u003chttp://docs.pyroute2.org/\u003e`_ to run.\n\nTesting Kuryr\n-------------\n\nFor a quick check that Kuryr is working create a network:\n\n::\n\n    $ docker network create --driver kuryr test_net\n    785f8c1b5ae480c4ebcb54c1c48ab875754e4680d915b270279e4f6a1aa52283\n    $ docker network ls\n    NETWORK ID          NAME                DRIVER\n    785f8c1b5ae4        test_net            kuryr\n\nTo test it with tox:\n\n::\n\n    $ tox\n\nYou can also run specific test cases using the ``-e`` flag, e.g., to only run\nthe *fullstack* test case.\n\n::\n\n    $ tox -e fullstack\n\nGenerating Documentation\n------------------------\n\n\nWe use `Sphinx \u003chttps://pypi.python.org/pypi/Sphinx\u003e`_ to maintain the\ndocumentation. You can install Sphinx using pip.\n\n::\n\n    $ pip install -U Sphinx\n\nIn addition to Sphinx you will also need the following requirements\n(not covered by `requirements.txt`)::\n\n    $ pip install openstackdocstheme reno 'reno[sphinx]'\n\nThe source code of the documentation are under *doc*, you can generate the\nhtml files using the following command. If the generation succeeds,a\n*build/html* dir will be created under *doc*.\n\n::\n\n    $ cd doc\n    $ make html\n\nNow you can serve the documentation at http://localhost:8080 as a simple\nwebsite.\n\n::\n\n    $ cd build/html\n    $ python -m SimpleHTTPServer 8080\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenstack%2Fkuryr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenstack%2Fkuryr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenstack%2Fkuryr/lists"}