Source installation in virtualenv

Use virtualenv for installation of OpenStack projects and
dependencies to avoid conflicts with Python libraries installed
by non-OpenStack binary packages.

Change-Id: I21ecd673b2e93335b1d3dd4e279e940c9d694c3c
Implements: blueprint virtualenv
This commit is contained in:
Michal Rostecki 2015-11-18 07:22:17 +01:00
parent 563b561269
commit febcb600f1
67 changed files with 109 additions and 81 deletions

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/cinder-api --config-file /etc/cinder/cinder.conf", "command": "cinder-api --config-file /etc/cinder/cinder.conf",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/cinder.conf", "source": "{{ container_config_directory }}/cinder.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/cinder-backup --config-file /etc/cinder/cinder.conf", "command": "cinder-backup --config-file /etc/cinder/cinder.conf",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/cinder.conf", "source": "{{ container_config_directory }}/cinder.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/cinder-scheduler --config-file /etc/cinder/cinder.conf", "command": "cinder-scheduler --config-file /etc/cinder/cinder.conf",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/cinder.conf", "source": "{{ container_config_directory }}/cinder.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/cinder-volume --config-file /etc/cinder/cinder.conf", "command": "cinder-volume --config-file /etc/cinder/cinder.conf",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/cinder.conf", "source": "{{ container_config_directory }}/cinder.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/glance-api", "command": "glance-api",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/glance-api.conf", "source": "{{ container_config_directory }}/glance-api.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/glance-registry", "command": "glance-registry",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/glance-registry.conf", "source": "{{ container_config_directory }}/glance-registry.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/heat-api-cfn", "command": "heat-api-cfn",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/heat.conf", "source": "{{ container_config_directory }}/heat.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/heat-api", "command": "heat-api",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/heat.conf", "source": "{{ container_config_directory }}/heat.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/heat-engine", "command": "heat-engine",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/heat.conf", "source": "{{ container_config_directory }}/heat.conf",

View File

@ -1,4 +1,5 @@
{% set apache_dir = 'apache2' if kolla_base_distro in ['ubuntu', 'debian'] else 'httpd' %} {% set apache_dir = 'apache2' if kolla_base_distro in ['ubuntu', 'debian'] else 'httpd' %}
{% set python_path = '/usr/lib/python2.7/site-packages' if kolla_install_type == 'binary' else '/var/lib/kolla/venv/lib/python2.7/site-packages' %}
Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:80 Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:80
<VirtualHost *:80> <VirtualHost *:80>
@ -7,16 +8,16 @@ Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['addr
CustomLog /var/log/{{ apache_dir }}/horizon-access.log combined CustomLog /var/log/{{ apache_dir }}/horizon-access.log combined
WSGIScriptReloading On WSGIScriptReloading On
WSGIDaemonProcess horizon-http processes=5 threads=1 user=horizon group=horizon display-name=%{GROUP} WSGIDaemonProcess horizon-http processes=5 threads=1 user=horizon group=horizon display-name=%{GROUP} python-path={{ python_path }}
WSGIProcessGroup horizon-http WSGIProcessGroup horizon-http
WSGIScriptAlias / /usr/lib/python2.7/site-packages/openstack_dashboard/wsgi/django.wsgi WSGIScriptAlias / {{ python_path }}/openstack_dashboard/wsgi/django.wsgi
WSGIPassAuthorization On WSGIPassAuthorization On
<Location "/"> <Location "/">
Require all granted Require all granted
</Location> </Location>
Alias /static /usr/lib/python2.7/site-packages/static Alias /static {{ python_path }}/static
<Location "/static"> <Location "/static">
SetHandler None SetHandler None
</Location> </Location>

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/ironic-api", "command": "ironic-api",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/ironic.conf", "source": "{{ container_config_directory }}/ironic.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/ironic-conductor", "command": "ironic-conductor",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/ironic.conf", "source": "{{ container_config_directory }}/ironic.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/ironic-discoverd --config-file /etc/ironic-discoverd/discoverd.conf", "command": "ironic-discoverd --config-file /etc/ironic-discoverd/discoverd.conf",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/discoverd.conf", "source": "{{ container_config_directory }}/discoverd.conf",

View File

@ -1,9 +1,10 @@
{% set apache_dir = 'apache2' if kolla_base_distro in ['ubuntu', 'debian'] else 'httpd' %} {% set apache_dir = 'apache2' if kolla_base_distro in ['ubuntu', 'debian'] else 'httpd' %}
{% set python_path = '/usr/lib/python2.7/site-packages' if kolla_install_type == 'binary' else '/var/lib/kolla/venv/lib/python2.7/site-packages' %}
Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ keystone_public_port }} Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ keystone_public_port }}
Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ keystone_admin_port }} Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ keystone_admin_port }}
<VirtualHost *:{{ keystone_public_port }}> <VirtualHost *:{{ keystone_public_port }}>
WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} python-path={{ python_path }}
WSGIProcessGroup keystone-public WSGIProcessGroup keystone-public
WSGIScriptAlias / /var/www/cgi-bin/keystone/main WSGIScriptAlias / /var/www/cgi-bin/keystone/main
WSGIApplicationGroup %{GLOBAL} WSGIApplicationGroup %{GLOBAL}
@ -16,7 +17,7 @@ Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['addr
</VirtualHost> </VirtualHost>
<VirtualHost *:{{ keystone_admin_port }}> <VirtualHost *:{{ keystone_admin_port }}>
WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} python-path={{ python_path }}
WSGIProcessGroup keystone-admin WSGIProcessGroup keystone-admin
WSGIScriptAlias / /var/www/cgi-bin/keystone/admin WSGIScriptAlias / /var/www/cgi-bin/keystone/admin
WSGIApplicationGroup %{GLOBAL} WSGIApplicationGroup %{GLOBAL}

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/magnum-api --config-file /etc/magnum/magnum.conf", "command": "magnum-api --config-file /etc/magnum/magnum.conf",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/magnum.conf", "source": "{{ container_config_directory }}/magnum.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/magnum-conductor --config-file /etc/magnum/magnum.conf", "command": "magnum-conductor --config-file /etc/magnum/magnum.conf",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/magnum.conf", "source": "{{ container_config_directory }}/magnum.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/murano-api --config-file /etc/murano/murano.conf", "command": "murano-api --config-file /etc/murano/murano.conf",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/murano.conf", "source": "{{ container_config_directory }}/murano.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/murano-engine --config-file /etc/murano/murano.conf", "command": "murano-engine --config-file /etc/murano/murano.conf",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/murano.conf", "source": "{{ container_config_directory }}/murano.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/neutron-linuxbridge-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini", "command": "neutron-linuxbridge-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/neutron.conf", "source": "{{ container_config_directory }}/neutron.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/neutron-openvswitch-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini", "command": "neutron-openvswitch-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/neutron.conf", "source": "{{ container_config_directory }}/neutron.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini", "command": "neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/neutron.conf", "source": "{{ container_config_directory }}/neutron.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/nova-api", "command": "nova-api",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/nova.conf", "source": "{{ container_config_directory }}/nova.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/nova-compute", "command": "nova-compute",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/nova.conf", "source": "{{ container_config_directory }}/nova.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/nova-conductor", "command": "nova-conductor",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/nova.conf", "source": "{{ container_config_directory }}/nova.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/nova-consoleauth", "command": "nova-consoleauth",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/nova.conf", "source": "{{ container_config_directory }}/nova.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/nova-network", "command": "nova-network",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/nova.conf", "source": "{{ container_config_directory }}/nova.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/nova-novncproxy", "command": "nova-novncproxy",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/nova.conf", "source": "{{ container_config_directory }}/nova.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/nova-scheduler", "command": "nova-scheduler",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/nova.conf", "source": "{{ container_config_directory }}/nova.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/nova-spicehtml5proxy", "command": "nova-spicehtml5proxy",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/nova.conf", "source": "{{ container_config_directory }}/nova.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-account-auditor /etc/swift/account-auditor.conf --verbose", "command": "swift-account-auditor /etc/swift/account-auditor.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-account-reaper /etc/swift/account-reaper.conf --verbose", "command": "swift-account-reaper /etc/swift/account-reaper.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-account-replicator /etc/swift/account-replicator.conf --verbose", "command": "swift-account-replicator /etc/swift/account-replicator.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-account-server /etc/swift/account-server.conf --verbose", "command": "swift-account-server /etc/swift/account-server.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-container-auditor /etc/swift/container-auditor.conf --verbose", "command": "swift-container-auditor /etc/swift/container-auditor.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-container-replicator /etc/swift/container-replicator.conf --verbose", "command": "swift-container-replicator /etc/swift/container-replicator.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-container-server /etc/swift/container-server.conf --verbose", "command": "swift-container-server /etc/swift/container-server.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-container-updater /etc/swift/container-updater.conf --verbose", "command": "swift-container-updater /etc/swift/container-updater.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-object-auditor /etc/swift/object-auditor.conf --verbose", "command": "swift-object-auditor /etc/swift/object-auditor.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-object-expirer /etc/swift/object-expirer.conf --verbose", "command": "swift-object-expirer /etc/swift/object-expirer.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-object-replicator /etc/swift/object-replicator.conf --verbose", "command": "swift-object-replicator /etc/swift/object-replicator.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-object-server /etc/swift/object-server.conf --verbose", "command": "swift-object-server /etc/swift/object-server.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-object-updater /etc/swift/object-updater.conf --verbose", "command": "swift-object-updater /etc/swift/object-updater.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/bin/swift-proxy-server /etc/swift/proxy-server.conf --verbose", "command": "swift-proxy-server /etc/swift/proxy-server.conf --verbose",
"config_files": [ "config_files": [
{ {
"source": "/var/lib/kolla/swift/swift.conf", "source": "/var/lib/kolla/swift/swift.conf",

View File

@ -15,7 +15,7 @@ RUN yum -y install \
ADD ceilometer-base-archive /ceilometer-base-source ADD ceilometer-base-archive /ceilometer-base-source
RUN ln -s ceilometer-base-source/* ceilometer \ RUN ln -s ceilometer-base-source/* ceilometer \
&& useradd --user-group ceilometer \ && useradd --user-group ceilometer \
&& pip --no-cache-dir install -c requirements/upper-constraints.txt /ceilometer \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install -c requirements/upper-constraints.txt /ceilometer \
&& mkdir -p /etc/ceilometer /var/log/ceilometer /home/ceilometer \ && mkdir -p /etc/ceilometer /var/log/ceilometer /home/ceilometer \
&& cp -r /ceilometer/etc/* /etc/ceilometer/ \ && cp -r /ceilometer/etc/* /etc/ceilometer/ \
&& chown -R ceilometer: /etc/ceilometer /var/log/ceilometer /home/ceilometer && chown -R ceilometer: /etc/ceilometer /var/log/ceilometer /home/ceilometer

View File

@ -31,7 +31,7 @@ RUN apt-get install -y --no-install-recommends \
ADD cinder-base-archive /cinder-base-source ADD cinder-base-archive /cinder-base-source
RUN ln -s cinder-base-source/* cinder \ RUN ln -s cinder-base-source/* cinder \
&& useradd --user-group cinder \ && useradd --user-group cinder \
&& pip --no-cache-dir install -c requirements/upper-constraints.txt /cinder \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install -c requirements/upper-constraints.txt /cinder \
&& mkdir -p /etc/cinder /var/log/cinder /home/cinder \ && mkdir -p /etc/cinder /var/log/cinder /home/cinder \
&& cp -r /cinder/etc/cinder/* /etc/cinder/ \ && cp -r /cinder/etc/cinder/* /etc/cinder/ \
&& chown -R cinder: /etc/cinder /var/log/cinder /home/cinder && chown -R cinder: /etc/cinder /var/log/cinder /home/cinder

View File

@ -23,7 +23,7 @@ RUN yum install -y \
ADD designate-base-archive /designate-base-source ADD designate-base-archive /designate-base-source
RUN ln -s designate-base-source/* designate \ RUN ln -s designate-base-source/* designate \
&& useradd --user-group designate \ && useradd --user-group designate \
&& pip --no-cache-dir install -c requirements/upper-constraints.txt /designate \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install -c requirements/upper-constraints.txt /designate \
&& mkdir -p /etc/designate /var/log/designate /home/designate \ && mkdir -p /etc/designate /var/log/designate /home/designate \
&& cp -r /designate/etc/designate/* /etc/designate/ \ && cp -r /designate/etc/designate/* /etc/designate/ \
&& chown -R designate: /etc/designate /var/log/designate /home/designate && chown -R designate: /etc/designate /var/log/designate /home/designate

View File

@ -37,7 +37,7 @@ RUN apt-get install -y --no-install-recommends \
ADD glance-base-archive /glance-base-source ADD glance-base-archive /glance-base-source
RUN ln -s glance-base-source/* glance \ RUN ln -s glance-base-source/* glance \
&& useradd --user-group glance \ && useradd --user-group glance \
&& pip --no-cache-dir install -c requirements/upper-constraints.txt /glance \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install -c requirements/upper-constraints.txt /glance \
&& mkdir -p /etc/glance /var/log/glance /var/lib/glance /home/glance \ && mkdir -p /etc/glance /var/log/glance /var/lib/glance /home/glance \
&& cp -r /glance/etc/* /etc/glance/ \ && cp -r /glance/etc/* /etc/glance/ \
&& chown -R glance: /etc/glance /var/log/glance /var/lib/glance /home/glance && chown -R glance: /etc/glance /var/log/glance /var/lib/glance /home/glance

View File

@ -17,7 +17,7 @@ RUN apt-get install -y --no-install-recommends libpq-dev \
ADD gnocchi-base-archive /gnocchi-base-source ADD gnocchi-base-archive /gnocchi-base-source
RUN ln -s gnocchi-base-source/* gnocchi \ RUN ln -s gnocchi-base-source/* gnocchi \
&& useradd --user-group gnocchi \ && useradd --user-group gnocchi \
&& pip --no-cache-dir install -c requirements/upper-constraints.txt /gnocchi \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install -c requirements/upper-constraints.txt /gnocchi \
&& mkdir -p /etc/gnocchi /var/log/gnocchi /home/gnocchi \ && mkdir -p /etc/gnocchi /var/log/gnocchi /home/gnocchi \
&& cp -r /gnocchi/etc/* /etc/gnocchi/ \ && cp -r /gnocchi/etc/* /etc/gnocchi/ \
&& chown -R gnocchi: /etc/gnocchi /var/log/gnocchi /home/gnocchi && chown -R gnocchi: /etc/gnocchi /var/log/gnocchi /home/gnocchi

View File

@ -14,7 +14,7 @@ RUN yum -y install \
ADD heat-base-archive /heat-base-source ADD heat-base-archive /heat-base-source
RUN ln -s heat-base-source/* heat \ RUN ln -s heat-base-source/* heat \
&& useradd --user-group heat \ && useradd --user-group heat \
&& pip --no-cache-dir install -c requirements/upper-constraints.txt /heat \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install -c requirements/upper-constraints.txt /heat \
&& mkdir -p /etc/heat /var/log/heat /home/heat \ && mkdir -p /etc/heat /var/log/heat /home/heat \
&& cp -r /heat/etc/heat/* /etc/heat/ \ && cp -r /heat/etc/heat/* /etc/heat/ \
&& chown -R heat: /etc/heat /var/log/heat /home/heat && chown -R heat: /etc/heat /var/log/heat /home/heat

View File

@ -43,16 +43,16 @@ RUN apt-get install -y --no-install-recommends \
ADD horizon-archive /horizon-source ADD horizon-archive /horizon-source
RUN ln -s horizon-source/* horizon \ RUN ln -s horizon-source/* horizon \
&& pip --no-cache-dir install -c requirements/upper-constraints.txt /horizon \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install -c requirements/upper-constraints.txt /horizon \
&& useradd --user-group horizon \ && useradd --user-group horizon \
&& mkdir -p /etc/openstack-dashboard /home/horizon \ && mkdir -p /etc/openstack-dashboard /home/horizon \
&& ln -s /etc/openstack-dashboard/local_settings /usr/lib/python2.7/site-packages/openstack_dashboard/local/local_settings.py \ && ln -s /etc/openstack-dashboard/local_settings /var/lib/kolla/venv/lib/python2.7/site-packages/openstack_dashboard/local/local_settings.py \
&& cp -r /horizon/openstack_dashboard/conf/* /etc/openstack-dashboard/ \ && cp -r /horizon/openstack_dashboard/conf/* /etc/openstack-dashboard/ \
&& cp /horizon/openstack_dashboard/local/local_settings.py.example /etc/openstack-dashboard/local_settings \ && cp /horizon/openstack_dashboard/local/local_settings.py.example /etc/openstack-dashboard/local_settings \
&& cp /horizon/manage.py /usr/bin/manage.py \ && cp /horizon/manage.py /var/lib/kolla/venv/bin/manage.py \
&& /usr/bin/python /usr/bin/manage.py collectstatic --noinput --clear \ && /var/lib/kolla/venv/bin/python /var/lib/kolla/venv/bin/manage.py collectstatic --noinput --clear \
&& /usr/bin/python /usr/bin/manage.py compress --force \ && /var/lib/kolla/venv/bin/python /var/lib/kolla/venv/bin/manage.py compress --force \
&& chown -R horizon: /etc/openstack-dashboard /home/horizon /usr/lib/python2.7/site-packages/static && chown -R horizon: /etc/openstack-dashboard /home/horizon /var/lib/kolla/venv/lib/python2.7/site-packages/static
{% endif %} {% endif %}

View File

@ -20,7 +20,7 @@ RUN yum -y install \
ADD ironic-base-archive /ironic-base-source ADD ironic-base-archive /ironic-base-source
RUN ln -s ironic-base-source/* ironic \ RUN ln -s ironic-base-source/* ironic \
&& useradd --user-group ironic \ && useradd --user-group ironic \
&& pip --no-cache-dir install -c requirements/upper-constraints.txt /ironic \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install -c requirements/upper-constraints.txt /ironic \
&& mkdir -p /etc/ironic /var/log/ironic /home/ironic \ && mkdir -p /etc/ironic /var/log/ironic /home/ironic \
&& cp -r /ironic/etc/ironic/* /etc/ironic/ \ && cp -r /ironic/etc/ironic/* /etc/ironic/ \
&& chown -R ironic: /etc/ironic /var/log/ironic /home/ironic && chown -R ironic: /etc/ironic /var/log/ironic /home/ironic

View File

@ -4,7 +4,7 @@ MAINTAINER {{ maintainer }}
{% if install_type == 'binary' %} {% if install_type == 'binary' %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
RUN pip install ironic-discoverd RUN /var/lib/kolla/venv/bin/pip install ironic-discoverd
# discoverd no longer in delorean 9/28/2015, switch to inspector on TODO # discoverd no longer in delorean 9/28/2015, switch to inspector on TODO
#RUN yum -y install \ #RUN yum -y install \
# openstack-ironic-discoverd \ # openstack-ironic-discoverd \

View File

@ -38,7 +38,7 @@ RUN apt-get install -y --no-install-recommends \
ADD keystone-archive /keystone-source ADD keystone-archive /keystone-source
RUN ln -s keystone-source/* keystone \ RUN ln -s keystone-source/* keystone \
&& useradd --user-group keystone \ && useradd --user-group keystone \
&& pip --no-cache-dir install -c requirements/upper-constraints.txt /keystone \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install -c requirements/upper-constraints.txt /keystone \
&& mkdir -p /etc/keystone /var/www/cgi-bin/keystone /var/log/apache2 /home/keystone \ && mkdir -p /etc/keystone /var/www/cgi-bin/keystone /var/log/apache2 /home/keystone \
&& cp -r /keystone/etc/* /etc/keystone/ \ && cp -r /keystone/etc/* /etc/keystone/ \
&& cp /keystone/httpd/keystone.py /var/www/cgi-bin/keystone/admin \ && cp /keystone/httpd/keystone.py /var/www/cgi-bin/keystone/admin \

View File

@ -1,23 +1,42 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }} MAINTAINER {{ maintainer }}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
RUN yum -y install \ RUN yum -y install \
gcc \ gcc \
git \
libffi-devel \ libffi-devel \
libxml2-devel \ libxml2-devel \
libxslt-devel \ libxslt-devel \
mariadb-devel \
mariadb-libs \
openssl-devel \ openssl-devel \
python-devel \ python-devel \
openssh-clients \ openssh-clients \
&& yum clean all && yum clean all
RUN pip install -U pip wheel {% elif base_distro in ['ubuntu', 'debian'] %}
RUN apt-get -y --no-install-recommends install \
build-essential \
ca-certificates \
git \
libffi-dev \
libmariadbclient-dev \
libssl-dev \
libxslt1-dev \
python-dev \
&& apt-get clean
{% endif %} {% endif %}
RUN pip --no-cache-dir install \ RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
&& python get-pip.py \
&& rm get-pip.py \
&& pip install -U wheel \
&& pip --no-cache-dir install \
MySQL-python \
shade \ shade \
pyudev pyudev

View File

@ -25,7 +25,7 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
ADD magnum-base-archive /magnum-base-source ADD magnum-base-archive /magnum-base-source
RUN ln -s magnum-base-source/* magnum \ RUN ln -s magnum-base-source/* magnum \
&& useradd --user-group magnum \ && useradd --user-group magnum \
&& pip --no-cache-dir install -c requirements/upper-constraints.txt /magnum \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install -c requirements/upper-constraints.txt /magnum \
&& mkdir -p /etc/magnum /var/log/magnum /home/magnum \ && mkdir -p /etc/magnum /var/log/magnum /home/magnum \
&& cp -r /magnum/etc/magnum/* /etc/magnum \ && cp -r /magnum/etc/magnum/* /etc/magnum \
&& chown -R magnum: /etc/magnum /var/log/magnum /home/magnum && chown -R magnum: /etc/magnum /var/log/magnum /home/magnum

View File

@ -6,7 +6,7 @@ MAINTAINER {{ maintainer }}
ADD murano-base-archive /murano-base-source ADD murano-base-archive /murano-base-source
RUN ln -s murano-base-source/* murano \ RUN ln -s murano-base-source/* murano \
&& useradd --user-group murano \ && useradd --user-group murano \
&& pip --no-cache-dir install /murano \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install /murano \
&& mkdir -p /etc/murano /var/log/murano /home/murano \ && mkdir -p /etc/murano /var/log/murano /home/murano \
&& cp -r /murano/etc/murano/* /etc/murano/ \ && cp -r /murano/etc/murano/* /etc/murano/ \
&& chown -R murano: /etc/murano /var/log/murano /home/murano && chown -R murano: /etc/murano /var/log/murano /home/murano

View File

@ -5,7 +5,7 @@ set -o errexit
source /var/lib/kolla/config-sudoers.sh source /var/lib/kolla/config-sudoers.sh
# Will be removed when neutron-agents is a thin container # Will be removed when neutron-agents is a thin container
CMD="/usr/bin/neutron-dhcp-agent" CMD="neutron-dhcp-agent"
ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini" ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini"
exec $CMD $ARGS exec $CMD $ARGS

View File

@ -5,7 +5,7 @@ set -o errexit
source /var/lib/kolla/config-sudoers.sh source /var/lib/kolla/config-sudoers.sh
# Will be removed when this container is broken out into thin containers # Will be removed when this container is broken out into thin containers
CMD="/usr/bin/neutron-l3-agent" CMD="neutron-l3-agent"
ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini --config-file /etc/neutron/fwaas_driver.ini --config-file /etc/neutron/plugins/ml2/ml2_conf.ini" ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini --config-file /etc/neutron/fwaas_driver.ini --config-file /etc/neutron/plugins/ml2/ml2_conf.ini"
exec $CMD $ARGS exec $CMD $ARGS

View File

@ -5,7 +5,7 @@ set -o errexit
source /var/lib/kolla/config-sudoers.sh source /var/lib/kolla/config-sudoers.sh
# Will be removed when this container is broken out in thin containers # Will be removed when this container is broken out in thin containers
CMD="/usr/bin/neutron-metadata-agent" CMD="neutron-metadata-agent"
ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.ini" ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.ini"
exec $CMD $ARGS exec $CMD $ARGS

View File

@ -39,7 +39,7 @@ RUN apt-get install -y --no-install-recommends \
ADD neutron-base-archive /neutron-base-source ADD neutron-base-archive /neutron-base-source
RUN ln -s neutron-base-source/* neutron \ RUN ln -s neutron-base-source/* neutron \
&& useradd --user-group neutron \ && useradd --user-group neutron \
&& pip --no-cache-dir install /neutron \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install /neutron \
&& mkdir -p /etc/neutron /usr/share/neutron /var/log/neutron /home/neutron \ && mkdir -p /etc/neutron /usr/share/neutron /var/log/neutron /home/neutron \
&& cp -r /neutron/etc/* /etc/neutron/ \ && cp -r /neutron/etc/* /etc/neutron/ \
&& cp -r /neutron/etc/neutron/* /etc/neutron/ \ && cp -r /neutron/etc/neutron/* /etc/neutron/ \

View File

@ -36,7 +36,7 @@ RUN apt-get install -y --no-install-recommends \
ADD nova-base-archive /nova-base-source ADD nova-base-archive /nova-base-source
RUN ln -s nova-base-source/* nova \ RUN ln -s nova-base-source/* nova \
&& useradd --user-group nova \ && useradd --user-group nova \
&& pip --no-cache-dir install /nova \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install /nova \
&& mkdir -p /etc/nova /var/log/nova /home/nova \ && mkdir -p /etc/nova /var/log/nova /home/nova \
&& cp -r /nova/etc/nova/* /etc/nova/ \ && cp -r /nova/etc/nova/* /etc/nova/ \
&& chown -R nova: /etc/nova /var/log/nova /home/nova && chown -R nova: /etc/nova /var/log/nova /home/nova

View File

@ -15,9 +15,8 @@ RUN yum -y install \
{% elif install_type == 'source' %} {% elif install_type == 'source' %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
RUN pip uninstall -y requests \ RUN yum -y install \
&& yum -y install \ libvirt-devel \
libvirt-python \
openvswitch \ openvswitch \
qemu-img \ qemu-img \
sysfsutils \ sysfsutils \
@ -27,12 +26,16 @@ RUN pip uninstall -y requests \
{% elif base_distro in ['ubuntu', 'debian'] %} {% elif base_distro in ['ubuntu', 'debian'] %}
RUN apt-get install -y --no-install-recommends \ RUN apt-get install -y --no-install-recommends \
libvirt-dev \
qemu-utils \ qemu-utils \
ceph-common \ ceph-common \
&& apt-get clean \ && apt-get clean \
&& mkdir -p /etc/ceph && mkdir -p /etc/ceph
{% endif %} {% endif %}
RUN /var/lib/kolla/venv/bin/pip install --no-cache-dir libvirt-python
{% endif %} {% endif %}
{{ include_footer }} {{ include_footer }}

View File

@ -74,10 +74,13 @@ RUN apt-get install -y --no-install-recommends \
ADD openstack-base-archive /openstack-base-source ADD openstack-base-archive /openstack-base-source
RUN ln -s openstack-base-source/* /requirements \ RUN ln -s openstack-base-source/* /requirements \
&& mkdir /var/lib/kolla \
&& curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \ && curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
&& python get-pip.py \ && python get-pip.py \
&& rm get-pip.py \ && rm get-pip.py \
&& pip --no-cache-dir install -U -c requirements/upper-constraints.txt \ && pip install -U virtualenv \
&& virtualenv /var/lib/kolla/venv \
&& /var/lib/kolla/venv/bin/pip --no-cache-dir install -U -c requirements/upper-constraints.txt \
python-barbicanclient \ python-barbicanclient \
python-ceilometerclient \ python-ceilometerclient \
python-congressclient \ python-congressclient \
@ -96,5 +99,6 @@ RUN ln -s openstack-base-source/* /requirements \
python-openstackclient \ python-openstackclient \
MySQL-python \ MySQL-python \
python-memcached python-memcached
ENV PATH /var/lib/kolla/venv/bin:$PATH
{% endif %} {% endif %}

View File

@ -13,7 +13,7 @@ RUN yum -y install openstack-swift \
ADD swift-base-archive /swift-base-source ADD swift-base-archive /swift-base-source
RUN ln -s swift-base-source/* swift \ RUN ln -s swift-base-source/* swift \
&& useradd --user-group swift \ && useradd --user-group swift \
&& pip --no-cache-dir install /swift \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install /swift \
&& mkdir -p /etc/swift /var/log/swift /home/swift \ && mkdir -p /etc/swift /var/log/swift /home/swift \
&& cp -r /swift/etc/* /etc/swift/ \ && cp -r /swift/etc/* /etc/swift/ \
&& chown -R swift: /etc/swift /var/log/swift /home/swift && chown -R swift: /etc/swift /var/log/swift /home/swift

View File

@ -67,7 +67,7 @@ def run(args):
'and zones are required') 'and zones are required')
sys.exit(1) sys.exit(1)
run_cmd(['/usr/bin/swift-ring-builder', run_cmd(['swift-ring-builder',
args.ring_file, args.ring_file,
'create', 'create',
args.part_power, args.part_power,
@ -75,13 +75,13 @@ def run(args):
args.min_part_hours]) args.min_part_hours])
for i in xrange(len(hosts)): for i in xrange(len(hosts)):
run_cmd(['/usr/bin/swift-ring-builder', run_cmd(['swift-ring-builder',
args.ring_file, args.ring_file,
'add', 'add',
'z{}-{}/{}'.format(zones[i], hosts[i], devices[i]), 'z{}-{}/{}'.format(zones[i], hosts[i], devices[i]),
weights[i]]) weights[i]])
run_cmd(['/usr/bin/swift-ring-builder', args.ring_file, 'rebalance']) run_cmd(['swift-ring-builder', args.ring_file, 'rebalance'])
def main(): def main():

View File

@ -13,7 +13,7 @@ RUN yum -y install \
ADD tempest-archive /tempest-source ADD tempest-archive /tempest-source
RUN ln -s tempest-source/* tempest \ RUN ln -s tempest-source/* tempest \
&& pip --no-cache-dir install -c requirements/upper-constraints.txt /tempest \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install -c requirements/upper-constraints.txt /tempest \
&& mkdir -p /etc/tempest /var/log/tempest /etc/tempest/tempest_lock && mkdir -p /etc/tempest /var/log/tempest /etc/tempest/tempest_lock
{% endif %} {% endif %}

View File

@ -13,7 +13,7 @@ RUN yum -y install openstack-zaqar \
ADD zaqar-archive /zaqar-source ADD zaqar-archive /zaqar-source
RUN ln -s zaqar-source/* zaqar \ RUN ln -s zaqar-source/* zaqar \
&& useradd --user-group zaqar \ && useradd --user-group zaqar \
&& pip --no-cache-dir install /zaqar \ && /var/lib/kolla/venv/bin/pip --no-cache-dir install /zaqar \
&& mkdir -p /etc/zaqar /var/log/zaqar /home/zaqar \ && mkdir -p /etc/zaqar /var/log/zaqar /home/zaqar \
&& cp -r /zaqar/etc/* /etc/zaqar/ \ && cp -r /zaqar/etc/* /etc/zaqar/ \
&& chown -R zaqar: /etc/zaqar /var/log/zaqar /home/zaqar && chown -R zaqar: /etc/zaqar /var/log/zaqar /home/zaqar