[nova]auth_plugin -> [nova]auth_type
[openstack-build/neutron-build.git] / trusty / debian / rules
1 #!/usr/bin/make -f
2
3 include /usr/share/openstack-pkg-tools/pkgos.make
4 export OSLO_PACKAGE_VERSION=$(shell dpkg-parsechangelog | grep Version: | cut -d' ' -f2 | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//' -e 's/~/.0/' | head -n 1)
5
6 PYTHONS:=$(shell pyversions -vr)
7
8 %:
9         dh $@ --buildsystem=python_distutils --with python2,systemd
10
11 override_dh_auto_install:
12         echo "Do nothing"
13
14 override_dh_install:
15         rm -rf $(CURDIR)/debian/tmp
16         python2.7 setup.py install --install-layout=deb --root=$(CURDIR)/debian/tmp
17         cp -auxf neutron $(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages
18         rm -rf $(CURDIR)/debian/tmp/usr/etc
19
20         # dhcp_agent.ini
21         mkdir -p $(CURDIR)/debian/neutron-dhcp-agent/etc/neutron
22         PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-dhcp-agent/etc/neutron/dhcp_agent.ini \
23                 --wrap-width 140 \
24                 --namespace neutron.base.agent \
25                 --namespace neutron.dhcp.agent \
26                 --namespace oslo.log
27         sed -i 's|^[ #\t]*interface_driver[ \t]*=.*|interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver|' $(CURDIR)/debian/neutron-dhcp-agent/etc/neutron/dhcp_agent.ini
28         sed -i 's|^[ #\t]*ovs_integration_bridge[ \t]*=.*|ovs_integration_bridge = br-int|' $(CURDIR)/debian/neutron-dhcp-agent/etc/neutron/dhcp_agent.ini
29         sed -i 's|^[ #\t]*dhcp_driver[ \t]*=.*|dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq|' $(CURDIR)/debian/neutron-dhcp-agent/etc/neutron/dhcp_agent.ini
30         sed -i 's|^[ #\t]*enable_isolated_metadata[ \t]*=.*|enable_isolated_metadata = False|' $(CURDIR)/debian/neutron-dhcp-agent/etc/neutron/dhcp_agent.ini
31         sed -i 's|^[ #\t]*dnsmasq_config_file[ \t]*=.*|dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf|' $(CURDIR)/debian/neutron-dhcp-agent/etc/neutron/dhcp_agent.ini
32
33         # l3_agent.ini
34         mkdir -p $(CURDIR)/debian/neutron-l3-agent/etc/neutron
35         PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-l3-agent/etc/neutron/l3_agent.ini \
36                 --wrap-width 140 \
37                 --namespace neutron.base.agent \
38                 --namespace neutron.l3.agent \
39                 --namespace oslo.log
40         sed -i 's|^[ #\t]*interface_driver[ \t]*=.*|interface_driver = openvswitch|' $(CURDIR)/debian/neutron-l3-agent/etc/neutron/l3_agent.ini
41         sed -i 's|^[ #\t]*handle_internal_only_routers[ \t]*=.*|handle_internal_only_routers = True|' $(CURDIR)/debian/neutron-l3-agent/etc/neutron/l3_agent.ini
42         sed -i 's|^[ #\t]*external_network_bridge[ \t]*=.*|external_network_bridge = br-ex|' $(CURDIR)/debian/neutron-l3-agent/etc/neutron/l3_agent.ini
43         sed -i 's|^[ #\t]*enable_metadata_proxy[ \t]*=.*|enable_metadata_proxy = True|' $(CURDIR)/debian/neutron-l3-agent/etc/neutron/l3_agent.ini
44         sed -i 's|^[ #\t]*agent_mode[ \t]*=.*|agent_mode = legacy|' $(CURDIR)/debian/neutron-l3-agent/etc/neutron/l3_agent.ini
45
46         # linuxbridge_agent.ini
47         mkdir -p $(CURDIR)/debian/neutron-linuxbridge-agent/etc/neutron/plugins/ml2
48         PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-linuxbridge-agent/etc/neutron/plugins/ml2/linuxbridge_agent.ini \
49                 --wrap-width 140 \
50                 --namespace neutron.ml2.linuxbridge.agent \
51                 --namespace oslo.log
52
53         # metadata_agent.ini
54         mkdir -p $(CURDIR)/debian/neutron-metadata-agent/usr/share/neutron-metadata-agent
55         PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-metadata-agent/usr/share/neutron-metadata-agent/metadata_agent.ini \
56                 --wrap-width 140 \
57                 --namespace neutron.metadata.agent \
58                 --namespace oslo.log
59         sed -i 's|^[ #\t]*nova_metadata_protocol[ \t]*=.*|nova_metadata_protocol = http|' $(CURDIR)/debian/neutron-metadata-agent/usr/share/neutron-metadata-agent/metadata_agent.ini
60         sed -i 's|^[ #\t]*nova_metadata_ip[ \t]*=.*|nova_metadata_ip = 127.0.0.1|' $(CURDIR)/debian/neutron-metadata-agent/usr/share/neutron-metadata-agent/metadata_agent.ini
61
62         # metering_agent.ini
63         mkdir -p $(CURDIR)/debian/neutron-metering-agent/etc/neutron
64         PYTHONPATH=$(CURDIR)/debian/tmp oslo-config-generator --output-file $(CURDIR)/debian/neutron-metering-agent/etc/neutron/metering_agent.ini \
65                 --wrap-width 140 \
66                 --namespace neutron.metering.agent \
67                 --namespace oslo.log
68
69         # ml2_conf.ini
70         mkdir -p $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2
71         PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/ml2_conf.ini \
72                 --wrap-width 140 \
73                 --namespace neutron.ml2 \
74                 --namespace oslo.log
75         sed -i 's|^[ #\t]*type_drivers[ \t]*=.*|type_drivers = flat,gre|' $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/ml2_conf.ini
76         sed -i 's|^[ #\t]*tenant_network_types[ \t]*=.*|tenant_network_types = gre|' $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/ml2_conf.ini
77         sed -i 's|^[ #\t]*mechanism_drivers[ \t]*=.*|mechanism_drivers = openvswitch,l2population|' $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/ml2_conf.ini
78         sed -i 's|^[ #\t]*flat_networks[ \t]*=.*|flat_networks = external|' $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/ml2_conf.ini
79         sed -i 's|^[ #\t]*tunnel_id_ranges[ \t]*=.*|tunnel_id_ranges = 1:1000|' $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/ml2_conf.ini
80         sed -i 's|^[ #\t]*enable_security_group[ \t]*=.*|enable_security_group = True|' $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/ml2_conf.ini
81         sed -i 's|^[ #\t]*enable_ipset[ \t]*=.*|enable_ipset = True |' $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/ml2_conf.ini
82
83         # ml2_conf_sriov.ini
84         PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/ml2_conf_sriov.ini \
85                 --wrap-width 140 \
86                 --namespace neutron.ml2.sriov \
87                 --namespace oslo.log
88
89         # neutron.conf
90         mkdir -p $(CURDIR)/debian/neutron-common/usr/share/neutron-common
91         PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf \
92                 --wrap-width 140 \
93                 --namespace neutron \
94                 --namespace neutron.agent \
95                 --namespace neutron.db \
96                 --namespace neutron.extensions \
97                 --namespace neutron.qos \
98                 --namespace nova.auth \
99                 --namespace oslo.log \
100                 --namespace oslo.db \
101                 --namespace oslo.policy \
102                 --namespace oslo.concurrency \
103                 --namespace oslo.messaging \
104                 --namespace oslo.middleware.cors \
105                 --namespace oslo.service.sslutils \
106                 --namespace oslo.service.wsgi \
107                 --namespace keystonemiddleware.auth_token
108         sed -i 's|^[ #\t]*core_plugin[ \t]*=.*|core_plugin = ml2|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
109         sed -i 's|^[ #\t]*service_plugins[ \t]*=.*|service_plugins = router,metering|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
110         sed -i 's|^[ #\t]*auth_strategy[ \t]*=.*|auth_strategy = keystone|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
111         sed -i 's|^[ #\t]*allow_overlapping_ips[ \t]*=.*|allow_overlapping_ips = True|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
112         sed -i 's|^[ #\t]*notify_nova_on_port_status_changes[ \t]*=.*|notify_nova_on_port_status_changes = True |' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
113         sed -i 's|^[ #\t]*rpc_backend[ \t]*=.*|rpc_backend = rabbit|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
114         sed -i 's|^[ #\t]*root_helper[ \t]*=.*|root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
115         sed -i 's|^[ #\t]*connection[ \t]*=.*|connection = sqlite:///var/lib/neutron/neutrondb|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
116         sed -i 's|^[ #\t]*region_name[ \t]*=.*|region_name = regionOne|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
117         sed -i 's|^[ #\t]*rabbit_host[ \t]*=.*|rabbit_host = localhost|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
118         sed -i 's|^[ #\t]*rabbit_userid[ \t]*=.*|rabbit_userid = guest|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
119         sed -i 's|^[ #\t]*rabbit_password[ \t]*=.*|rabbit_password = guest|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
120         sed -i 's/^[ \t#]*auth_protocol[ \t]*=[ \t].*/auth_protocol = http/' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf
121         pkgos-fix-config-default $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf oslo_concurrency lock_path /var/lock/neutron
122
123         # Fix v3 auth for the [nova] section
124         pkgos-fix-config-default $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf nova user_domain_id default
125         pkgos-fix-config-default $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf nova project_name admin
126         pkgos-fix-config-default $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf nova auth_type v3password
127         pkgos-fix-config-default $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf nova auth_url http://127.0.0.1:5000/v3
128         pkgos-fix-config-default $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf nova tenant_name admin
129         pkgos-fix-config-default $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf nova username admin
130         pkgos-fix-config-default $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf nova user_domain_name default
131         pkgos-fix-config-default $(CURDIR)/debian/neutron-common/usr/share/neutron-common/neutron.conf nova project_domain_name default
132
133
134         # openvswitch_agent.ini
135         mkdir -p $(CURDIR)/debian/neutron-common/usr/share/neutron-common
136         PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-common/usr/share/neutron-common/openvswitch_agent.ini \
137                 --wrap-width 140 \
138                 --namespace neutron.ml2.ovs.agent \
139                 --namespace oslo.log
140         sed -i 's|^[ #\t]*integration_bridge[ \t]*=.*|integration_bridge = br-int|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/openvswitch_agent.ini
141         sed -i 's|^[ #\t]*bridge_mappings[ \t]*=.*|bridge_mappings = external:br-ex|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/openvswitch_agent.ini
142         sed -i 's|^[ #\t]*polling_interval[ \t]*=.*|polling_interval = 15|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/openvswitch_agent.ini
143         sed -i 's|^[ #\t]*tunnel_types[ \t]*=.*|tunnel_types = gre|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/openvswitch_agent.ini
144         sed -i 's|^[ #\t]*l2_population[ \t]*=.*|l2_population = True|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/openvswitch_agent.ini
145         sed -i 's|^[ #\t]*arp_responder[ \t]*=.*|arp_responder = False|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/openvswitch_agent.ini
146         sed -i 's|^[ #\t]*enable_distributed_routing[ \t]*=.*|enable_distributed_routing = False|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/openvswitch_agent.ini
147         sed -i 's|^[ #\t]*firewall_driver[ \t]*=.*|firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver|' $(CURDIR)/debian/neutron-common/usr/share/neutron-common/openvswitch_agent.ini
148
149         # sriov_agent.ini
150         mkdir -p $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2
151         PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python2.7/dist-packages oslo-config-generator --output-file $(CURDIR)/debian/neutron-common/etc/neutron/plugins/ml2/sriov_agent.ini \
152                 --wrap-width 140 \
153                 --namespace neutron.ml2.sriov.agent \
154                 --namespace oslo.log
155
156         dh_install --fail-missing -X/usr/etc
157         
158 override_dh_auto_clean:
159         dh_auto_clean
160         find . -type f -name "*.pyc" | xargs rm -fr
161         rm -rf build neutron.egg-info
162         rm -f debian/neutron-common.config \
163                 debian/neutron-common.postinst \
164                 debian/neutron-server.config \
165                 debian/neutron-server.postinst \
166                 debian/neutron-dhcp-agent.postinst \
167                 debian/neutron-metadata-agent.config \
168                 debian/neutron-metadata-agent.postinst
169         rm -f debian/*.init debian/*.service debian/*.upstart
170
171 override_dh_clean:
172         dh_clean
173         find . -type f -name "*.pyc" -delete
174
175 override_dh_auto_test:
176 ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
177         PYTHONPATH=build/* ./run_tests.sh -N -P || true
178 endif
179
180 override_dh_auto_build:
181         dh_auto_build -O--buildsystem=python_distutils
182
183         /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-common.config
184         /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-common.postinst
185         /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-server.config
186         /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-server.postinst
187         /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-dhcp-agent.postinst
188         /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-metadata-agent.postinst
189         /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func neutron-metadata-agent.config