## pkg-map

updated: 2018-03-01 11:27

# pkg-map

Map package names to distro specific packages.

Provides the following:

> - bin/pkg-map:

>       usage: pkg-map [-h] [--element ELEMENT] [--distro DISTRO]

>       Translate package name to distro specific name.

>       optional arguments:
>         -h, --help         show this help message and exit
>         --element ELEMENT  The element (namespace) to use for translation.
>         --distro DISTRO    The distro name to use for translation. Defaults to
>                            DISTRO_NAME
>         --release RELEASE  The release to use for translation.  Defaults to
>                            DIB_RELEASE

> - Any element may create its own pkg-map JSON config file using the one of 4 sections for the release/distro/family/ and or default. The family is set automatically within pkg-map based on the supplied distro name. Families include:

>   > - redhat: includes centos, fedora, and rhel distros
>   > - debian: includes debian and ubuntu distros
>   > - suse: includes the opensuse distro

>   The release is a specification of distro; i.e. the distro and release must mach for a translation.

>   The most specific section takes priority.

>   An empty package list can be provided.

>   Example for Nova and Glance (NOTE: using fictitious package names for Fedora and package mapping for suse family to provide a good example!)

>   Example format:

>       {
>         "release": {
>           "fedora": {
>             "23": {
>               "nova_package": "foo" "bar"
>             }
>           }
>         },
>         "distro": {
>           "fedora": {
>             "nova_package": "openstack-compute",
>             "glance_package": "openstack-image"
>           }
>         },
>         "family": {
>           "redhat": {
>             "nova_package": "openstack-nova",
>             "glance_package": "openstack-glance"
>           },
>           "suse": {
>             "nova_package": ""
>           }
>         },
>         "default": {
>           "nova_package": "nova",
>           "glance_package": "glance"
>         }
>       }

>   Example commands using this format:

>   pkg-map –element nova-compute –distro fedora nova_package

>   Returns: openstack-compute

>   pkg-map –element nova-compute –distro rhel nova_package

>   Returns: openstack-nova

>   pkg-map –element nova-compute –distro ubuntu nova_package

>   Returns: nova

>   pkg-map –element nova-compute –distro opensuse nova_package

>   Returns:

> - This output can be used to filter what other tools actually install (install-packages can be modified to use this for example)

> - Individual pkg-map files live within each element. For example if you are created an Apache element your pkg-map JSON file should be created at elements/apache/pkg-map.

updated: 2018-03-01 11:27

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug questions?