Merge "Do not download Fedora cloud image for heat"
diff --git a/doc/source/guides/devstack-with-lbaas-v2.rst b/doc/source/guides/devstack-with-lbaas-v2.rst
new file mode 100644
index 0000000..f679783
--- /dev/null
+++ b/doc/source/guides/devstack-with-lbaas-v2.rst
@@ -0,0 +1,99 @@
+Configure Load-Balancer in Kilo
+=================================
+
+The Kilo release of OpenStack will support Version 2 of the neutron load balancer. Until now, using OpenStack `LBaaS V2 <http://docs.openstack.org/api/openstack-network/2.0/content/lbaas_ext.html>`_ has required a good understanding of neutron and LBaaS architecture and several manual steps.
+
+
+Phase 1: Create DevStack + 2 nova instances
+--------------------------------------------
+
+First, set up a vm of your choice with at least 8 GB RAM and 16 GB disk space, make sure it is updated. Install git and any other developer tools you find useful.
+
+Install devstack
+
+ ::
+
+ git clone https://git.openstack.org/openstack-dev/devstack
+ cd devstack
+
+
+Edit your `local.conf` to look like
+
+ ::
+
+ [[local|localrc]]
+ # Load the external LBaaS plugin.
+ enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas
+
+ # ===== BEGIN localrc =====
+ DATABASE_PASSWORD=password
+ ADMIN_PASSWORD=password
+ SERVICE_PASSWORD=password
+ SERVICE_TOKEN=password
+ RABBIT_PASSWORD=password
+ # Enable Logging
+ LOGFILE=$DEST/logs/stack.sh.log
+ VERBOSE=True
+ LOG_COLOR=True
+ SCREEN_LOGDIR=$DEST/logs
+ # Pre-requisite
+ ENABLED_SERVICES=rabbit,mysql,key
+ # Horizon
+ ENABLED_SERVICES+=,horizon
+ # Nova
+ ENABLED_SERVICES+=,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch
+ IMAGE_URLS+=",https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img"
+ # Glance
+ ENABLED_SERVICES+=,g-api,g-reg
+ # Neutron
+ ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta
+ # Enable LBaaS V2
+ ENABLED_SERVICES+=,q-lbaasv2
+ # Cinder
+ ENABLED_SERVICES+=,c-api,c-vol,c-sch
+ # Tempest
+ ENABLED_SERVICES+=,tempest
+ # ===== END localrc =====
+
+Run stack.sh and do some sanity checks
+
+ ::
+
+ ./stack.sh
+ . ./openrc
+
+ neutron net-list # should show public and private networks
+
+Create two nova instances that we can use as test http servers:
+
+ ::
+
+ #create nova instances on private network
+ nova boot --image $(nova image-list | awk '/ cirros-0.3.0-x86_64-disk / {print $2}') --flavor 1 --nic net-id=$(neutron net-list | awk '/ private / {print $2}') node1
+ nova boot --image $(nova image-list | awk '/ cirros-0.3.0-x86_64-disk / {print $2}') --flavor 1 --nic net-id=$(neutron net-list | awk '/ private / {print $2}') node2
+ nova list # should show the nova instances just created
+
+ #add secgroup rule to allow ssh etc..
+ neutron security-group-rule-create default --protocol icmp
+ neutron security-group-rule-create default --protocol tcp --port-range-min 22 --port-range-max 22
+ neutron security-group-rule-create default --protocol tcp --port-range-min 80 --port-range-max 80
+
+Set up a simple web server on each of these instances. ssh into each instance (username 'cirros', password 'cubswin:)') and run
+
+ ::
+
+ MYIP=$(ifconfig eth0|grep 'inet addr'|awk -F: '{print $2}'| awk '{print $1}')
+ while true; do echo -e "HTTP/1.0 200 OK\r\n\r\nWelcome to $MYIP" | sudo nc -l -p 80 ; done&
+
+Phase 2: Create your load balancers
+------------------------------------
+
+ ::
+
+ neutron lbaas-loadbalancer-create --name lb1 private-subnet
+ neutron lbaas-listener-create --loadbalancer lb1 --protocol HTTP --protocol-port 80 --name listener1
+ neutron lbaas-pool-create --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP --name pool1
+ neutron lbaas-member-create --subnet private-subnet --address 10.0.0.3 --protocol-port 80 pool1
+ neutron lbaas-member-create --subnet private-subnet --address 10.0.0.5 --protocol-port 80 pool1
+
+Please note here that the "10.0.0.3" and "10.0.0.5" in the above commands are the IPs of the nodes (in my test run-thru, they were actually 10.2 and 10.4), and the address of the created LB will be reported as "vip_address" from the lbaas-loadbalancer-create, and a quick test of that LB is "curl that-lb-ip", which should alternate between showing the IPs of the two nodes.
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 0ffb15c..537f657 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -68,6 +68,7 @@
guides/neutron
guides/devstack-with-nested-kvm
guides/nova
+ guides/devstack-with-lbaas-v2
All-In-One Single VM
--------------------
diff --git a/files/debs/general b/files/debs/general
index 84d4302..5f10a20 100644
--- a/files/debs/general
+++ b/files/debs/general
@@ -6,7 +6,7 @@
gcc
g++
git
-graphviz # testonly - docs
+graphviz # needed for docs
lsof # useful when debugging
openssh-server
openssl
diff --git a/files/debs/glance b/files/debs/glance
index 9fda6a6..37877a8 100644
--- a/files/debs/glance
+++ b/files/debs/glance
@@ -1,6 +1,6 @@
-libmysqlclient-dev # testonly
-libpq-dev # testonly
-libssl-dev # testonly
+libmysqlclient-dev
+libpq-dev
+libssl-dev
libxml2-dev
-libxslt1-dev # testonly
-zlib1g-dev # testonly
+libxslt1-dev
+zlib1g-dev
diff --git a/files/debs/neutron b/files/debs/neutron
index aa3d709..2d69a71 100644
--- a/files/debs/neutron
+++ b/files/debs/neutron
@@ -1,12 +1,12 @@
-acl # testonly
+acl
ebtables
iptables
iputils-ping
iputils-arping
-libmysqlclient-dev # testonly
+libmysqlclient-dev
mysql-server #NOPRIME
sudo
-postgresql-server-dev-all # testonly
+postgresql-server-dev-all
python-mysqldb
python-mysql.connector
python-qpid # NOPRIME
diff --git a/files/debs/nova b/files/debs/nova
index 0c31385..9d9acde 100644
--- a/files/debs/nova
+++ b/files/debs/nova
@@ -4,7 +4,7 @@
kpartx
parted
iputils-arping
-libmysqlclient-dev # testonly
+libmysqlclient-dev
mysql-server # NOPRIME
python-mysqldb
python-mysql.connector
diff --git a/files/debs/trove b/files/debs/trove
index 09dcee8..96f8f29 100644
--- a/files/debs/trove
+++ b/files/debs/trove
@@ -1 +1 @@
-libxslt1-dev # testonly
+libxslt1-dev
diff --git a/files/rpms-suse/general b/files/rpms-suse/general
index 63cf14b..2219426 100644
--- a/files/rpms-suse/general
+++ b/files/rpms-suse/general
@@ -6,7 +6,7 @@
gcc
gcc-c++
git-core
-graphviz # testonly - docs
+graphviz # docs
iputils
libopenssl-devel # to rebuild pyOpenSSL if needed
lsof # useful when debugging
diff --git a/files/rpms-suse/neutron b/files/rpms-suse/neutron
index 66d6e4c..d278363 100644
--- a/files/rpms-suse/neutron
+++ b/files/rpms-suse/neutron
@@ -1,11 +1,11 @@
-acl # testonly
+acl
dnsmasq
dnsmasq-utils # dist:opensuse-12.3,opensuse-13.1
ebtables
iptables
iputils
mariadb # NOPRIME
-postgresql-devel # testonly
+postgresql-devel
python-eventlet
python-greenlet
python-iso8601
diff --git a/files/rpms-suse/trove b/files/rpms-suse/trove
index 09dcee8..96f8f29 100644
--- a/files/rpms-suse/trove
+++ b/files/rpms-suse/trove
@@ -1 +1 @@
-libxslt1-dev # testonly
+libxslt1-dev
diff --git a/files/rpms/general b/files/rpms/general
index eac4ec3..d74ecc6 100644
--- a/files/rpms/general
+++ b/files/rpms/general
@@ -5,7 +5,7 @@
gcc
gcc-c++
git-core
-graphviz # testonly - docs
+graphviz # needed only for docs
openssh-server
openssl
openssl-devel # to rebuild pyOpenSSL if needed
diff --git a/files/rpms/glance b/files/rpms/glance
index 119492a..479194f 100644
--- a/files/rpms/glance
+++ b/files/rpms/glance
@@ -1,6 +1,6 @@
-libxml2-devel # testonly
-libxslt-devel # testonly
-mysql-devel # testonly
-openssl-devel # testonly
-postgresql-devel # testonly
-zlib-devel # testonly
+libxml2-devel
+libxslt-devel
+mysql-devel
+openssl-devel
+postgresql-devel
+zlib-devel
diff --git a/files/rpms/neutron b/files/rpms/neutron
index c0dee78..8292e7b 100644
--- a/files/rpms/neutron
+++ b/files/rpms/neutron
@@ -1,15 +1,15 @@
MySQL-python
-acl # testonly
+acl
dnsmasq # for q-dhcp
dnsmasq-utils # for dhcp_release
ebtables
iptables
iputils
mysql-connector-python
-mysql-devel # testonly
+mysql-devel
mysql-server # NOPRIME
openvswitch # NOPRIME
-postgresql-devel # testonly
+postgresql-devel
rabbitmq-server # NOPRIME
qpid-cpp-server # NOPRIME
sqlite
diff --git a/files/rpms/nova b/files/rpms/nova
index 527928a..ebd6674 100644
--- a/files/rpms/nova
+++ b/files/rpms/nova
@@ -17,7 +17,7 @@
numpy # needed by websockify for spice console
m2crypto
mysql-connector-python
-mysql-devel # testonly
+mysql-devel
mysql-server # NOPRIME
parted
polkit
diff --git a/files/rpms/trove b/files/rpms/trove
index c5cbdea..e7bbd43 100644
--- a/files/rpms/trove
+++ b/files/rpms/trove
@@ -1 +1 @@
-libxslt-devel # testonly
+libxslt-devel
diff --git a/files/venv-requirements.txt b/files/venv-requirements.txt
index e473a2f..73d0579 100644
--- a/files/venv-requirements.txt
+++ b/files/venv-requirements.txt
@@ -1,10 +1,11 @@
+# Once we can prebuild wheels before a devstack run, uncomment the skipped libraries
cryptography
-lxml
+# lxml # still install from from packages
MySQL-python
-netifaces
+# netifaces # still install from packages
#numpy # slowest wheel by far, stop building until we are actually using the output
posix-ipc
-psycopg2
+# psycopg # still install from packages
pycrypto
pyOpenSSL
PyYAML
diff --git a/functions-common b/functions-common
index f96da5b..48e400d 100644
--- a/functions-common
+++ b/functions-common
@@ -883,16 +883,6 @@
fi
fi
- # Look for # testonly in comment
- if [[ $line =~ (.*)#.*testonly.* ]]; then
- package=${BASH_REMATCH[1]}
- # Are we installing test packages? (test for the default value)
- if [[ $INSTALL_TESTONLY_PACKAGES = "False" ]]; then
- # If not installing test packages the skip this package
- inst_pkg=0
- fi
- fi
-
if [[ $inst_pkg = 1 ]]; then
echo $package
fi
diff --git a/inc/python b/inc/python
index 229c540..2d76081 100644
--- a/inc/python
+++ b/inc/python
@@ -101,18 +101,17 @@
$cmd_pip install \
$@
- INSTALL_TESTONLY_PACKAGES=$(trueorfalse False INSTALL_TESTONLY_PACKAGES)
- if [[ "$INSTALL_TESTONLY_PACKAGES" == "True" ]]; then
- local test_req="$@/test-requirements.txt"
- if [[ -e "$test_req" ]]; then
- $sudo_pip \
- http_proxy=${http_proxy:-} \
- https_proxy=${https_proxy:-} \
- no_proxy=${no_proxy:-} \
- PIP_FIND_LINKS=$PIP_FIND_LINKS \
- $cmd_pip install \
- -r $test_req
- fi
+ # Also install test requirements
+ local test_req="$@/test-requirements.txt"
+ if [[ -e "$test_req" ]]; then
+ echo "Installing test-requirements for $test_req"
+ $sudo_pip \
+ http_proxy=${http_proxy:-} \
+ https_proxy=${https_proxy:-} \
+ no_proxy=${no_proxy:-} \
+ PIP_FIND_LINKS=$PIP_FIND_LINKS \
+ $cmd_pip install \
+ -r $test_req
fi
}
diff --git a/lib/trove b/lib/trove
index 4c5a438..5dd4f23 100644
--- a/lib/trove
+++ b/lib/trove
@@ -33,12 +33,12 @@
GITDIR["python-troveclient"]=$DEST/python-troveclient
TROVE_DIR=$DEST/trove
-TROVE_CONF_DIR=/etc/trove
-TROVE_CONF=$TROVE_CONF_DIR/trove.conf
-TROVE_TASKMANAGER_CONF=$TROVE_CONF_DIR/trove-taskmanager.conf
-TROVE_CONDUCTOR_CONF=$TROVE_CONF_DIR/trove-conductor.conf
-TROVE_GUESTAGENT_CONF=$TROVE_CONF_DIR/trove-guestagent.conf
-TROVE_API_PASTE_INI=$TROVE_CONF_DIR/api-paste.ini
+TROVE_CONF_DIR=${TROVE_CONF_DIR:-/etc/trove}
+TROVE_CONF=${TROVE_CONF:-$TROVE_CONF_DIR/trove.conf}
+TROVE_TASKMANAGER_CONF=${TROVE_TASKMANAGER_CONF:-$TROVE_CONF_DIR/trove-taskmanager.conf}
+TROVE_CONDUCTOR_CONF=${TROVE_CONDUCTOR_CONF:-$TROVE_CONF_DIR/trove-conductor.conf}
+TROVE_GUESTAGENT_CONF=${TROVE_GUESTAGENT_CONF:-$TROVE_CONF_DIR/trove-guestagent.conf}
+TROVE_API_PASTE_INI=${TROVE_API_PASTE_INI:-$TROVE_CONF_DIR/api-paste.ini}
TROVE_LOCAL_CONF_DIR=$TROVE_DIR/etc/trove
TROVE_LOCAL_API_PASTE_INI=$TROVE_LOCAL_CONF_DIR/api-paste.ini
diff --git a/stackrc b/stackrc
index 5b2ed70..bca434e 100644
--- a/stackrc
+++ b/stackrc
@@ -592,9 +592,6 @@
# Set default screen name
SCREEN_NAME=${SCREEN_NAME:-stack}
-# Do not install packages tagged with 'testonly' by default
-INSTALL_TESTONLY_PACKAGES=${INSTALL_TESTONLY_PACKAGES:-False}
-
# Undo requirements changes by global requirements
UNDO_REQUIREMENTS=${UNDO_REQUIREMENTS:-True}