Merge "Changes needed to deploy liberty with mitaka code" into stable/liberty
This commit is contained in:
commit
33cf5a1cf7
|
@ -151,7 +151,7 @@ admin_protocol: "http"
|
|||
####################
|
||||
# OpenStack options
|
||||
####################
|
||||
openstack_release: "2.0.0"
|
||||
openstack_release: "1.1.0"
|
||||
openstack_logging_debug: "False"
|
||||
|
||||
openstack_region_name: "RegionOne"
|
||||
|
|
|
@ -50,7 +50,7 @@ max_retries = -1
|
|||
[keystone_authtoken]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
|
|
@ -23,7 +23,7 @@ max_retries = -1
|
|||
[keystone_authtoken]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
|
|
@ -15,7 +15,7 @@ max_retries = -1
|
|||
[keystone_authtoken]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
|
|
@ -40,7 +40,7 @@ max_retries = -1
|
|||
[keystone_authtoken]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
|
|
@ -34,7 +34,7 @@ max_retries = -1
|
|||
[keystone_authtoken]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
---
|
||||
- name: Creating admin project, user, role, service, and endpoint
|
||||
command: docker exec keystone kolla_keystone_bootstrap {{ openstack_auth.username }} {{ openstack_auth.password }} {{ openstack_auth.project_name }} admin {{ keystone_admin_url }} {{ keystone_internal_url }} {{ keystone_public_url }} {{ openstack_region_name }}
|
||||
command: docker exec -t keystone python /usr/local/bin/kolla_keystone_bootstrap {{ keystone_admin_token }} {{ openstack_auth.password }} {{ openstack_auth.project_name }} admin {{ keystone_admin_url }} {{ keystone_internal_url }} {{ keystone_public_url }} {{ openstack_region_name }} http://{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ keystone_admin_port }}/v2.0
|
||||
register: keystone_bootstrap
|
||||
changed_when: "{{ (keystone_bootstrap.stdout | from_json).changed }}"
|
||||
failed_when: "{{ (keystone_bootstrap.stdout | from_json).failed }}"
|
||||
run_once: True
|
||||
|
||||
|
|
|
@ -5,12 +5,8 @@ debug = {{ keystone_logging_debug }}
|
|||
log_file = /var/log/kolla/keystone/keystone.log
|
||||
|
||||
secure_proxy_ssl_header = HTTP_X_FORWARDED_PROTO
|
||||
admin_token = {{ keystone_admin_token }}
|
||||
|
||||
[database]
|
||||
connection = mysql+pymysql://{{ keystone_database_user }}:{{ keystone_database_password }}@{{ keystone_database_address }}/{{ keystone_database_name }}
|
||||
max_retries = -1
|
||||
|
||||
[cache]
|
||||
backend = oslo_cache.memcache_pool
|
||||
enabled = True
|
||||
memcache_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}
|
||||
|
|
|
@ -19,7 +19,7 @@ region_name = {{ openstack_region_name }}
|
|||
[keystone_authtoken]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
@ -29,7 +29,7 @@ password = {{ magnum_keystone_password }}
|
|||
[trustee]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
|
|
@ -26,7 +26,7 @@ os_region_name = {{ openstack_region_name }}
|
|||
[cinder]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
region_name = {{ openstack_region_name }}
|
||||
|
@ -38,7 +38,7 @@ memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansi
|
|||
[nova]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
region_name = {{ openstack_region_name }}
|
||||
|
@ -51,7 +51,7 @@ memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansi
|
|||
url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }}
|
||||
uth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
region_name = {{ openstack_region_name }}
|
||||
|
|
|
@ -19,7 +19,7 @@ max_retries = -1
|
|||
[keystone_authtoken]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
|
|
@ -15,7 +15,7 @@ max_retries = -1
|
|||
[keystone_authtoken]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
|
|
@ -36,7 +36,7 @@ service_plugins = router
|
|||
|
||||
[nova]
|
||||
auth_url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
region_name = {{ openstack_region_name }}
|
||||
|
@ -64,7 +64,7 @@ max_retries = -1
|
|||
[keystone_authtoken]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
|
|
@ -21,7 +21,8 @@ metadata_listen_port = {{ nova_metadata_port }}
|
|||
ec2_listen = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
||||
ec2_listen_port = {{ nova_api_ec2_port }}
|
||||
|
||||
use_neutron = True
|
||||
security_group_api = neutron
|
||||
network_api_class = nova.network.neutronv2.api.API
|
||||
firewall_driver = nova.virt.firewall.NoopFirewallDriver
|
||||
|
||||
scheduler_max_attempts = 10
|
||||
|
@ -111,7 +112,7 @@ metadata_proxy_shared_secret = {{ metadata_secret }}
|
|||
service_metadata_proxy = true
|
||||
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_name = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
@ -137,7 +138,7 @@ memcache_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansib
|
|||
[keystone_authtoken]
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_plugin = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
@ -161,8 +162,5 @@ disk_cachemodes="network=writeback"
|
|||
hw_disk_discard = unmap
|
||||
{% endif %}
|
||||
|
||||
[upgrade_levels]
|
||||
compute = auto
|
||||
|
||||
[oslo_messaging_notifications]
|
||||
driver = noop
|
||||
|
|
|
@ -2,7 +2,6 @@ RABBITMQ_NODENAME=rabbit
|
|||
RABBITMQ_BOOT_MODULE=rabbit_clusterer
|
||||
|
||||
RABBITMQ_LOG_BASE=/var/log/kolla/rabbitmq
|
||||
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.5.7/plugins/rabbitmq_clusterer-3.5.x-189b3a81.ez/rabbitmq_clusterer-3.5.x-189b3a81/ebin"
|
||||
|
||||
# TODO(sdake, vhosakot)
|
||||
# erlang by default binds to wildcard (all interfaces) and can potentially
|
||||
|
@ -14,5 +13,12 @@ RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-pa /usr/lib/rabbitmq/lib/rabbitmq_server-3
|
|||
# https://bugs.launchpad.net/kolla/+bug/1562701
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1324922
|
||||
# export ERL_EPMD_ADDRESS={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
||||
{% if not kolla_base_distro in ['ubuntu', 'debian'] %}
|
||||
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.5.5/plugins/rabbitmq_clusterer-3.5.x-189b3a81.ez/rabbitmq_clusterer-3.5.x-189b3a81/ebin"
|
||||
# See bug https://bugs.launchpad.net/ubuntu/+source/erlang/+bug/1374109
|
||||
export ERL_EPMD_ADDRESS={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
||||
{% else %}
|
||||
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.5.4/plugins/rabbitmq_clusterer-3.5.x-189b3a81.ez/rabbitmq_clusterer-3.5.x-189b3a81/ebin"
|
||||
{% endif %}
|
||||
|
||||
export ERL_EPMD_PORT={{ rabbitmq_epmd_port }}
|
||||
|
|
|
@ -32,7 +32,7 @@ use = egg:swift#proxy_logging
|
|||
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
|
||||
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
|
||||
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
auth_type = password
|
||||
auth_templates = password
|
||||
project_domain_id = default
|
||||
user_domain_id = default
|
||||
project_name = service
|
||||
|
|
|
@ -66,7 +66,7 @@ RUN yum-config-manager --enable rhel-7-server-rpms \
|
|||
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 \
|
||||
&& yum install -y \
|
||||
epel-release \
|
||||
centos-release-openstack-mitaka \
|
||||
centos-release-openstack-liberty \
|
||||
yum-plugin-priorities \
|
||||
centos-release-ceph-hammer \
|
||||
centos-release-qemu-ev \
|
||||
|
@ -103,7 +103,7 @@ RUN yum install -y \
|
|||
http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/epel-release-7-5.noarch.rpm \
|
||||
&& yum clean all \
|
||||
&& rpm -Uvh --nodeps \
|
||||
http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-openstack-mitaka-1-2.el7.centos.noarch.rpm \
|
||||
http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-openstack-liberty-1-4.el7.noarch.rpm \
|
||||
http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-ceph-hammer-1.0-5.el7.centos.noarch.rpm \
|
||||
http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-qemu-ev-1.0-1.el7.noarch.rpm \
|
||||
http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-virt-common-1-1.el7.centos.noarch.rpm \
|
||||
|
|
|
@ -8,7 +8,7 @@ deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe
|
|||
|
||||
# We need to add the Liberty repo for the updated packages they provide. The main
|
||||
# ones are qemu, libvirt, and openvswitch.
|
||||
deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/mitaka main
|
||||
deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/liberty main
|
||||
|
||||
# MariaDB 10.0 repo
|
||||
deb http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.0/ubuntu trusty main
|
||||
|
|
|
@ -64,8 +64,7 @@ RUN usermod -a -G kolla keystone \
|
|||
&& chown -R keystone: /var/www/cgi-bin/keystone \
|
||||
&& chmod 755 /var/www/cgi-bin/keystone/*
|
||||
|
||||
COPY keystone_bootstrap.sh /usr/local/bin/kolla_keystone_bootstrap
|
||||
COPY keystone_bootstrap.py /usr/local/bin/kolla_keystone_bootstrap
|
||||
COPY extend_start.sh /usr/local/bin/kolla_extend_start
|
||||
RUN chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_keystone_bootstrap
|
||||
|
||||
{{ include_footer }}
|
||||
|
|
|
@ -0,0 +1,94 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
# Copyright 2015 Intel corporation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import json
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
from keystoneclient import exceptions
|
||||
from keystoneclient.v2_0 import client
|
||||
|
||||
os_token = sys.argv[1]
|
||||
password = sys.argv[2]
|
||||
project = sys.argv[3]
|
||||
role = sys.argv[4]
|
||||
admin_url = sys.argv[5]
|
||||
internal_url = sys.argv[6]
|
||||
public_url = sys.argv[7]
|
||||
region = sys.argv[8]
|
||||
os_url = sys.argv[9]
|
||||
|
||||
changed = False
|
||||
failed = False
|
||||
|
||||
try:
|
||||
ks = client.Client(token=os_token, endpoint=os_url)
|
||||
|
||||
services = [s for s in ks.services.list() if s.type == "identity"]
|
||||
if not services:
|
||||
service = ks.services.create(
|
||||
name="keystone",
|
||||
service_type="identity",
|
||||
description="OpenStack Identity")
|
||||
changed = True
|
||||
else:
|
||||
service = services[0]
|
||||
|
||||
endpoints = [e for e in ks.endpoints.list() if e.service_id == service.id]
|
||||
if not endpoints:
|
||||
ks.endpoints.create(region, service.id, public_url,
|
||||
adminurl=admin_url, internalurl=internal_url)
|
||||
changed = True
|
||||
|
||||
try:
|
||||
tenant = ks.tenants.create("admin", description="Admin Project")
|
||||
except exceptions.Conflict as e:
|
||||
tenant = [t for t in ks.tenants.list() if t.name == "admin"][0]
|
||||
else:
|
||||
changed = True
|
||||
|
||||
try:
|
||||
user = ks.users.create("admin", password=password)
|
||||
except exceptions.Conflict as e:
|
||||
user = [u for u in ks.users.list() if u.username == "admin"][0]
|
||||
else:
|
||||
changed = True
|
||||
|
||||
try:
|
||||
role = ks.roles.create("admin")
|
||||
except exceptions.Conflict as e:
|
||||
role = [r for r in ks.roles.list() if r.name == "admin"][0]
|
||||
else:
|
||||
changed = True
|
||||
|
||||
if not ks.roles.roles_for_user(user.id, tenant=tenant.id):
|
||||
changed = True
|
||||
ks.roles.add_user_role(role=role, user=user.id, tenant=tenant.id)
|
||||
|
||||
except Exception as e:
|
||||
result = {
|
||||
'failed': True,
|
||||
'changed': True,
|
||||
'msg': traceback.format_exc(),
|
||||
}
|
||||
else:
|
||||
result = {
|
||||
'failed': False,
|
||||
'changed': changed,
|
||||
'msg': 'OK'
|
||||
}
|
||||
|
||||
print(json.dumps(result))
|
|
@ -1,48 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# NOTE(SamYaple): Kolla needs to wraps `keystone-manage bootstrap` to ensure
|
||||
# any change is reported correctly for idempotency. This script will exit with
|
||||
# valid json that can be parsed with information about if the task has failed
|
||||
# and if anything changed.
|
||||
|
||||
USERNAME=$1
|
||||
PASSWORD=$2
|
||||
PROJECT=$3
|
||||
ROLE=$4
|
||||
ADMIN_URL=$5
|
||||
INTERNAL_URL=$6
|
||||
PUBLIC_URL=$7
|
||||
REGION=$8
|
||||
|
||||
function fail_json {
|
||||
echo '{"failed": true, "msg": "'$1'", "changed": true}'
|
||||
exit 1
|
||||
}
|
||||
|
||||
function exit_json {
|
||||
echo '{"failed": false, "changed": '"${changed}"'}'
|
||||
}
|
||||
|
||||
changed="false"
|
||||
keystone_bootstrap=$(keystone-manage bootstrap --bootstrap-username "${USERNAME}" --bootstrap-password "${PASSWORD}" --bootstrap-project-name "${PROJECT}" --bootstrap-role-name "${ROLE}" --bootstrap-admin-url "${ADMIN_URL}" --bootstrap-internal-url "${INTERNAL_URL}" --bootstrap-public-url "${PUBLIC_URL}" --bootstrap-service-name "keystone" --bootstrap-region-id "${REGION}" 2>&1)
|
||||
if [[ $? != 0 ]]; then
|
||||
fail_json "${keystone_bootstrap}"
|
||||
fi
|
||||
|
||||
changed=$(echo "${keystone_bootstrap}" | awk '
|
||||
/Domain default already exists, skipping creation./ ||
|
||||
/Project '"${PROJECT}"' already exists, skipping creation./ ||
|
||||
/User '"${USERNAME}"' already exists, skipping creation./ ||
|
||||
/Role '"${ROLE}"' exists, skipping creation./ ||
|
||||
/User '"${USERNAME}"' already has '"${ROLE}"' on '"${PROJECT}"'./ ||
|
||||
/Region '"${REGION}"' exists, skipping creation./ ||
|
||||
/Skipping admin endpoint as already created/ ||
|
||||
/Skipping internal endpoint as already created/ ||
|
||||
/Skipping public endpoint as already created/ {count++}
|
||||
END {
|
||||
if (count == 9) changed="false"; else changed="true"
|
||||
print changed
|
||||
}'
|
||||
)
|
||||
|
||||
exit_json
|
|
@ -4,7 +4,5 @@
|
|||
# of the KOLLA_BOOTSTRAP variable being set, including empty.
|
||||
if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
|
||||
nova-manage db sync
|
||||
nova-manage api_db sync
|
||||
nova-manage db online_data_migrations
|
||||
exit 0
|
||||
fi
|
||||
|
|
|
@ -25,7 +25,7 @@ RUN apt-get install -y --no-install-recommends \
|
|||
qemu \
|
||||
qemu-block-extra \
|
||||
ebtables \
|
||||
xen-utils-4.6 \
|
||||
xen-utils \
|
||||
&& apt-get clean \
|
||||
&& mkdir -p /etc/ceph \
|
||||
&& rm /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/autostart/default.xml \
|
||||
|
|
|
@ -5,23 +5,24 @@ MAINTAINER {{ maintainer }}
|
|||
|
||||
RUN yum -y install \
|
||||
hostname \
|
||||
https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_5_7/rabbitmq-server-3.5.7-1.noarch.rpm \
|
||||
&& yum clean all
|
||||
https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_5_5/rabbitmq-server-3.5.5-3.noarch.rpm \
|
||||
&& yum clean all \
|
||||
&& rm -rf /var/lib/rabbitmq/* \
|
||||
&& curl -o /usr/lib/rabbitmq/lib/rabbitmq_server-3.5.5/plugins/rabbitmq_clusterer-3.5.x-189b3a81.ez http://www.rabbitmq.com/community-plugins/v3.5.x/rabbitmq_clusterer-3.5.x-189b3a81.ez
|
||||
|
||||
{% elif base_distro in ['ubuntu', 'debian'] %}
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
rabbitmq-server \
|
||||
&& apt-get clean
|
||||
RUN apt-get install -y --no-install-recommends rabbitmq-server \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/rabbitmq/* \
|
||||
&& curl -o /usr/lib/rabbitmq/lib/rabbitmq_server-3.5.4/plugins/rabbitmq_clusterer-3.5.x-189b3a81.ez http://www.rabbitmq.com/community-plugins/v3.5.x/rabbitmq_clusterer-3.5.x-189b3a81.ez
|
||||
|
||||
{% endif %}
|
||||
|
||||
# NOTE(sdake): the /bin/true unblocks the rabbitmq-plugins tool. Not sure how
|
||||
# or why. My suspicion is it sends a signal to the parent
|
||||
# process.
|
||||
RUN rm -rf /var/lib/rabbitmq/* \
|
||||
&& curl -o /usr/lib/rabbitmq/lib/rabbitmq_server-3.5.7/plugins/rabbitmq_clusterer-3.5.x-189b3a81.ez http://www.rabbitmq.com/community-plugins/v3.5.x/rabbitmq_clusterer-3.5.x-189b3a81.ez \
|
||||
&& /usr/lib/rabbitmq/bin/rabbitmq-plugins enable --offline \
|
||||
RUN /usr/lib/rabbitmq/bin/rabbitmq-plugins enable --offline \
|
||||
rabbitmq_management \
|
||||
rabbitmq_clusterer \
|
||||
&& /bin/true
|
||||
|
@ -37,3 +38,4 @@ RUN chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/rabbitmq_get_gosp
|
|||
{{ include_footer }}
|
||||
|
||||
USER rabbitmq
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#kolla_install_type: "binary"
|
||||
|
||||
# Valid option is Docker repository tag
|
||||
#openstack_release: "2.0.0"
|
||||
#openstack_release: "1.1.0"
|
||||
|
||||
# This should be a VIP, an unused IP on your network that will float between
|
||||
# the hosts running keepalived for high-availability. When running an All-In-One
|
||||
|
|
|
@ -21,6 +21,7 @@ docker_registry_password:
|
|||
####################
|
||||
# OpenStack options
|
||||
####################
|
||||
keystone_admin_token:
|
||||
keystone_admin_password:
|
||||
keystone_database_password:
|
||||
|
||||
|
|
|
@ -156,67 +156,67 @@ SOURCES = {
|
|||
'aodh-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/aodh/'
|
||||
'aodh-2.0.0.0rc1.tar.gz')},
|
||||
'aodh-2.0.0.tar.gz')},
|
||||
'ceilometer-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/ceilometer/'
|
||||
'ceilometer-6.0.0.0rc3.tar.gz')},
|
||||
'ceilometer-5.0.2.tar.gz')},
|
||||
'cinder-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/cinder/'
|
||||
'cinder-8.0.0.0rc2.tar.gz')},
|
||||
'cinder-7.0.2.tar.gz')},
|
||||
'designate-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/designate/'
|
||||
'designate-2.0.0.0rc2.tar.gz')},
|
||||
'designate-1.0.2.tar.gz')},
|
||||
'glance-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/glance/'
|
||||
'glance-12.0.0.0rc2.tar.gz')},
|
||||
'glance-11.0.1.tar.gz')},
|
||||
'gnocchi-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/gnocchi/'
|
||||
'gnocchi-2.0.2.tar.gz')},
|
||||
'gnocchi-1.3.5.tar.gz')},
|
||||
'heat-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/heat/'
|
||||
'heat-6.0.0.0rc3.tar.gz')},
|
||||
'heat-5.0.1.tar.gz')},
|
||||
'horizon': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/horizon/'
|
||||
'horizon-9.0.0.0rc2.tar.gz')},
|
||||
'horizon-8.0.1.tar.gz')},
|
||||
'ironic-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/ironic/'
|
||||
'ironic-5.1.0.tar.gz')},
|
||||
'ironic-4.3.0.tar.gz')},
|
||||
'keystone': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/keystone/'
|
||||
'keystone-9.0.0.0rc2.tar.gz')},
|
||||
'keystone-8.1.0.tar.gz')},
|
||||
'magnum-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/magnum/'
|
||||
'magnum-2.0.0.tar.gz')},
|
||||
'magnum-1.1.0.tar.gz')},
|
||||
'manila-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/manila/'
|
||||
'manila-2.0.0.0rc1.tar.gz')},
|
||||
'manila-1.0.1.tar.gz')},
|
||||
'mistral-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/mistral/'
|
||||
'mistral-2.0.0.0rc2.tar.gz')},
|
||||
'mistral-1.0.1.tar.gz')},
|
||||
'murano-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/murano/'
|
||||
'murano-2.0.0.0rc3.tar.gz')},
|
||||
'murano-1.0.2.tar.gz')},
|
||||
'neutron-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/neutron/'
|
||||
'neutron-8.0.0.0rc3.tar.gz')},
|
||||
'neutron-7.0.4.tar.gz')},
|
||||
'nova-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/nova/'
|
||||
'nova-13.0.0.0rc3.tar.gz')},
|
||||
'nova-12.0.3.tar.gz')},
|
||||
'nova-spicehtml5proxy': {
|
||||
'type': 'url',
|
||||
'location': ('http://github.com/SPICE/spice-html5/tarball/'
|
||||
|
@ -228,7 +228,7 @@ SOURCES = {
|
|||
'swift-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/swift/'
|
||||
'swift-2.7.0.tar.gz')},
|
||||
'swift-2.5.0.tar.gz')},
|
||||
'tempest': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/tempest/'
|
||||
|
@ -236,11 +236,11 @@ SOURCES = {
|
|||
'trove-base': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/trove/'
|
||||
'trove-5.0.0.0rc2.tar.gz')},
|
||||
'trove-4.0.0.tar.gz')},
|
||||
'zaqar': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/zaqar/'
|
||||
'zaqar-2.0.0.0rc2.tar.gz')}
|
||||
'zaqar-1.0.0.tar.gz')}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -76,7 +76,8 @@ class BuildTestCentosBinary(BuildTest, base.BaseTestCase):
|
|||
def setUp(self):
|
||||
super(BuildTestCentosBinary, self).setUp()
|
||||
self.build_args.extend(["--base", "centos",
|
||||
"--type", "binary"])
|
||||
"--type", "binary",
|
||||
"--tag", "1.1.0"])
|
||||
|
||||
|
||||
class BuildTestCentosSource(BuildTest, base.BaseTestCase):
|
||||
|
@ -89,7 +90,8 @@ class BuildTestCentosSource(BuildTest, base.BaseTestCase):
|
|||
def setUp(self):
|
||||
super(BuildTestCentosSource, self).setUp()
|
||||
self.build_args.extend(["--base", "centos",
|
||||
"--type", "source"])
|
||||
"--type", "source",
|
||||
"--tag", "1.1.0"])
|
||||
|
||||
|
||||
class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase):
|
||||
|
@ -100,7 +102,8 @@ class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase):
|
|||
def setUp(self):
|
||||
super(BuildTestUbuntuBinary, self).setUp()
|
||||
self.build_args.extend(["--base", "ubuntu",
|
||||
"--type", "binary"])
|
||||
"--type", "binary",
|
||||
"--tag", "1.1.0"])
|
||||
|
||||
|
||||
class BuildTestUbuntuSource(BuildTest, base.BaseTestCase):
|
||||
|
@ -109,7 +112,8 @@ class BuildTestUbuntuSource(BuildTest, base.BaseTestCase):
|
|||
def setUp(self):
|
||||
super(BuildTestUbuntuSource, self).setUp()
|
||||
self.build_args.extend(["--base", "ubuntu",
|
||||
"--type", "source"])
|
||||
"--type", "source",
|
||||
"--tag", "1.1.0"])
|
||||
|
||||
|
||||
class BuildTestOracleLinuxBinary(BuildTest, base.BaseTestCase):
|
||||
|
@ -122,7 +126,8 @@ class BuildTestOracleLinuxBinary(BuildTest, base.BaseTestCase):
|
|||
def setUp(self):
|
||||
super(BuildTestOracleLinuxBinary, self).setUp()
|
||||
self.build_args.extend(["--base", "oraclelinux",
|
||||
"--type", "binary"])
|
||||
"--type", "binary",
|
||||
"--tag", "1.1.0"])
|
||||
|
||||
|
||||
class BuildTestOracleLinuxSource(BuildTest, base.BaseTestCase):
|
||||
|
@ -131,7 +136,8 @@ class BuildTestOracleLinuxSource(BuildTest, base.BaseTestCase):
|
|||
def setUp(self):
|
||||
super(BuildTestOracleLinuxSource, self).setUp()
|
||||
self.build_args.extend(["--base", "oraclelinux",
|
||||
"--type", "source"])
|
||||
"--type", "source",
|
||||
"--tag", "1.1.0"])
|
||||
|
||||
|
||||
class DeployTestCentosBinary(BuildTestCentosBinary):
|
||||
|
|
|
@ -32,7 +32,7 @@ function setup_config {
|
|||
sudo cp /etc/apt/sources.list /etc/kolla/sources.list
|
||||
# Append non-infra provided repos to list
|
||||
cat << EOF | sudo tee -a /etc/kolla/sources.list
|
||||
deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/mitaka main
|
||||
deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/liberty main
|
||||
deb http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.0/ubuntu trusty main
|
||||
deb http://repo.percona.com/apt trusty main
|
||||
deb http://download.ceph.com/debian-hammer/ trusty main
|
||||
|
|
Loading…
Reference in New Issue