summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavlo Shchelokovskyy <shchelokovskyy@gmail.com>2016-12-02 17:03:16 +0200
committerElod Illes <elod.illes@est.tech>2019-06-28 13:25:11 +0200
commit401e5653d98dc6e3e91bc4b7124f4f80a20ca51f (patch)
treefe6d506a394f7ff2d04c2f319abd02e323e9c48d
parent6f942a94eae028d132888e950b8ed1da13bea8c3 (diff)
downloadironic-stable/ocata.tar.gz
Add bindep.txtocata-eolstable/ocata
This is a combination of 2 commits to solve the dependency issue, which came up after the announced removal of global bindep-fallback.txt 1. Add bindep.txt file This is used by `bindep` [0] to assess if needed system packages are installed. It should allow easier installation of Python packages on a clean system from source and help packagers too. For now it is just a copy/merge of `devstack/files/[debs|rpms]/ironic` files with added platform specifiers. Packages have been tagged with certain bindep profiles: - default - needed to run ironic service in production - test - needed to compile Python dependencies and for other tox targets, profile of this name is used by various gate jobs - devstack - needed to setup VMs posing as HW nodes by the devstack plugin - imagebuild - only needed to build various types of deploy ramdisk Note that DevStack install procedure currently does not use 'bindep', and still relies on files in `devstack/files/...` folder. [0] http://docs.openstack.org/infra/bindep/index.html (cherry picked from commit b2fcf4804f61a0c2ca8f3adfacfe32e191c1b214) 2. Update bindep.txt for doc builds https://governance.openstack.org/tc/reference/project-testing-interface.html#documentation specifies that doc dependencies need the doc tag in bindep, use it. Leave test environment in for transition period until we use the new scripts. (cherry picked from commit 6a48eba4a7cbc9d82740ea579e6f7188ab2e8f2c) Change-Id: I42239e0ec960507b7345866d768b3ee06738799b (cherry picked from commit 43c54ec5cac82777e95c709e8c5b5366bccd6326)
-rw-r--r--bindep.txt89
1 files changed, 89 insertions, 0 deletions
diff --git a/bindep.txt b/bindep.txt
new file mode 100644
index 000000000..4af210b1b
--- /dev/null
+++ b/bindep.txt
@@ -0,0 +1,89 @@
+# these are needed to run ironic with default ipmitool and (i)PXE boot drivers
+ipmitool [default]
+ipxe [platform:dpkg default]
+ipxe-bootimgs [platform:rpm default]
+open-iscsi [platform:dpkg default]
+socat [default]
+xinetd [default]
+tftpd-hpa [platform:dpkg default]
+tftp-server [platform:rpm default]
+# Starting with Debian Jessie (and thus in Ubuntu Xenial too),
+# pxelinux package provides the pxelinux.0 boot loader,
+# but such package is absent from Debian Wheezy / Ubuntu Trusty.
+# Also, in Debian Wheezy / Ubuntu Trusty 'syslinux' depends on syslinux-common,
+# but only recommends it in Jessie/Xenial.
+# Make sure syslinux-common is installed for those distros as it provides
+# *.c32 modules for syslinux
+# TODO remove distro pinning when Wheezy / Trusty are EOLed (May 2019)
+# or DevStack stops supporting those.
+# In the mean time, new Debian-based release codenames will have to be added
+# as distros can not be pinned with 'if-later-than' specified.
+pxelinux [platform:ubuntu-xenial platform:debian-jessie default]
+syslinux [platform:rpm platform:ubuntu-trusty platform:debian-wheezy default]
+syslinux-common [platform:ubuntu-xenial platform:debian-jessie default]
+socat [default]
+
+# these are needed to create and access VMs when testing with virtual hardware
+libvirt-bin [platform:dpkg devstack]
+libvirt [platform:rpm devstack]
+libvirt-dev [platform:dpkg devstack]
+libvirt-devel [platform:rpm devstack]
+python-libvirt [platform:dpkg devstack]
+libvirt-python [platform:rpm devstack]
+qemu [platform:dpkg devstack build-image-dib]
+qemu-kvm [platform:dpkg devstack]
+qemu-utils [platform:dpkg devstack build-image-dib]
+sgabios [devstack]
+ipxe-qemu [platform:dpkg devstack]
+edk2-ovmf [platform:rpm devstack]
+ipxe-roms-qemu [platform:rpm devstack]
+openvswitch [platform:rpm devstack]
+iptables [devstack]
+net-tools [platform:rpm devstack]
+
+# these are needed to compile Python dependencies from sources
+python-dev [platform:dpkg test]
+python3-all-dev [platform:dpkg !platform:ubuntu-precise test]
+python-devel [platform:rpm test]
+python3-devel [platform:rpm test]
+build-essential [platform:dpkg test]
+libssl-dev [platform:dpkg test]
+# these are needed by infra for python-* jobs
+postgresql
+postgresql-client [platform:dpkg]
+# postgresql-devel [platform:rpm]
+postgresql-server [platform:rpm]
+mariadb [platform:rpm]
+mariadb-server [platform:rpm]
+# mariadb-devel [platform:rpm]
+dev-db/mariadb [platform:gentoo]
+mysql-client [platform:dpkg]
+mysql-server [platform:dpkg]
+# libmysqlclient-dev [platform:dpkg]
+# gettext and graphviz are needed by doc builds only. For transition,
+# have them in both doc and test.
+# TODO(jaegerandi): Remove test once infra scripts are updated.
+# this is needed for compiling translations
+gettext [test doc]
+# this is needed to build the FSM diagram
+graphviz [!platform:gentoo test doc]
+
+# these are needed to build a deploy ramdisk
+
+# NOTE apparmor is an undeclared dependency for docker on ubuntu,
+# see https://github.com/docker/docker/issues/9745
+apparmor [platform:dpkg imagebuild]
+docker.io [platform:dpkg imagebuild]
+docker-io [platform:rpm imagebuild]
+gnupg [imagebuild]
+squashfs-tools [platform:dpkg platform:redhat imagebuild]
+squashfs [platform:suse imagebuild]
+libguestfs0 [platform:dpkg imagebuild]
+libguestfs [platform:rpm imagebuild]
+python-libguestfs [platform:dpkg imagebuild]
+# for TinyIPA build
+wget [imagebuild]
+python-pip [imagebuild]
+unzip [imagebuild]
+sudo [imagebuild]
+gawk [imagebuild]