'intelpod6' )
sed -i -- 's/10.4.1.1/10.4.1.2/g' ./bundles.yaml
;;
- 'intelpod6' )
+ 'intelpod5' )
sed -i -- 's/10.4.1.1/10.4.1.2/g' ./bundles.yaml
;;
esac
;;
'ha' )
cp opencontrail/juju-deployer/contrail-ha.yaml ./bundles.yaml
- juju-deployer -d -r 13 -c bundles.yaml openstack-phase1
;;
'tip' )
cp opencontrail/juju-deployer/contrail-tip.yaml ./bundles.yaml
'orangepod2' )
sed -i -- 's/10.4.1.1/192.168.2.2/g' ./bundles.yaml
;;
+ 'intelpod5' )
+ sed -i -- 's/10.4.1.1/10.4.1.2/g' ./bundles.yaml
+ ;;
+ 'intelpod6' )
+ sed -i -- 's/10.4.1.1/10.4.1.2/g' ./bundles.yaml
+ ;;
esac
echo "... Deployment Started ...."
-
-juju-deployer -d -r 13 -c bundles.yaml trusty-"$2"-contrail
+case "$1" in
+ 'nonha' )
+ juju-deployer -vW -d -c bundles.yaml trusty-"$2"-contrail
+ ;;
+ 'ha' )
+ juju-deployer -vW -d -c bundles.yaml openstack-phase1
+ ;;
+ 'tip' )
+ juju-deployer -vW -d -c bundles.yaml trusty-"$2"-contrail
+ ;;
+ * )
+ juju-deployer -vW -d -c bundles.yaml trusty-"$2"-contrail
+ ;;
+esac
echo "... Deployment finished ...."
cloud-sh-contrail is a collection of development shell scripts to deploy
and setup OpenStack with OpenContrail using Juju's local provider. This will
-create 4 KVMs as follows:
+create 3 KVMs as follows:
*KVM #1 - Keystone, Glance, Neutron Server, Nova Cloud Controller, Horizon,
MySQL, RabbitMQ, Contrail Configuration, Contrail Control,
- Contrail Analytics, Zookeeper
+ Contrail Analytics, Contrail Web UI, Zookeeper
-*KVM #2 - Neutron agents
+*KVM #2 - Nova Compute with Contrail vRouter
-*KVM #3 - Nova Compute with Contrail vRouter
-
-*KVM #4 - Cassandra
+*KVM #3 - Cassandra
You'll require approx. 25Gb RAM with 60Gb+ disk space.
Deployment can take anywhere between 20 mins to 1 hour.
Horizon will be located on the machine 'juju status openstack-dashboard' -
http://<ip>/horizon.
+
+Contrail Web UI will be located on the machine 'juju status contrail-webui' -
+http://<ip>:8080.
+
Admin credentials will be written to cloud/admin-openrc.
Upon deployment, the host's route and iptables config will be updated to send
CHARM_NEUTRON_CONTRAIL=local:precise/neutron-contrail
-CHARM_NEUTRON_GATEWAY=local:precise/quantum-gateway
-CHARM_NEUTRON_GATEWAY_DEPLOY_OPTS="--config config-precise.yaml"
-
CHARM_NOVA_CLOUD_CONTROLLER=local:precise/nova-cloud-controller
CHARM_NOVA_CLOUD_CONTROLLER_DEPLOY_OPTS="--config config-precise.yaml"
cassandra:
- allow-single-node: true
+ authenticator: AllowAllAuthenticator
contrail-analytics:
openstack-origin: cloud:precise-icehouse
manage-neutron-plugin-legacy-mode: false
openstack-origin: cloud:precise-icehouse
-neutron-gateway:
- openstack-origin: cloud:precise-icehouse
-
nova-cloud-controller:
network-manager: Neutron
openstack-origin: cloud:precise-icehouse
DEFAULT_SERIES=trusty
-CHARM_CASSANDRA=local:precise/cassandra
+CHARM_CASSANDRA=local:trusty/cassandra
CHARM_CASSANDRA_DEPLOY_OPTS="--config config-trusty-juno.yaml"
CHARM_CONTRAIL_ANALYTICS=local:trusty/contrail-analytics
CHARM_NEUTRON_CONTRAIL=local:trusty/neutron-contrail
-CHARM_NEUTRON_GATEWAY=local:trusty/quantum-gateway
-CHARM_NEUTRON_GATEWAY_DEPLOY_OPTS="--config config-trusty-juno.yaml"
-
CHARM_NOVA_CLOUD_CONTROLLER=local:trusty/nova-cloud-controller
CHARM_NOVA_CLOUD_CONTROLLER_DEPLOY_OPTS="--config config-trusty-juno.yaml"
cassandra:
- allow-single-node: true
+ authenticator: AllowAllAuthenticator
contrail-analytics:
openstack-origin: cloud:trusty-juno
manage-neutron-plugin-legacy-mode: false
openstack-origin: cloud:trusty-juno
-neutron-gateway:
- openstack-origin: cloud:trusty-juno
-
nova-cloud-controller:
network-manager: Neutron
openstack-origin: cloud:trusty-juno
DEFAULT_SERIES=trusty
-CHARM_CASSANDRA=local:precise/cassandra
+CHARM_CASSANDRA=local:trusty/cassandra
CHARM_CASSANDRA_DEPLOY_OPTS="--config config-trusty.yaml"
CHARM_CONTRAIL_ANALYTICS=local:trusty/contrail-analytics
CHARM_NEUTRON_CONTRAIL=local:trusty/neutron-contrail
-CHARM_NEUTRON_GATEWAY=local:trusty/quantum-gateway
-
CHARM_NOVA_CLOUD_CONTROLLER=local:trusty/nova-cloud-controller
CHARM_NOVA_CLOUD_CONTROLLER_DEPLOY_OPTS="--config config-trusty.yaml"
cassandra:
- allow-single-node: true
+ authenticator: AllowAllAuthenticator
keystone:
admin-password: password
juju bootstrap
waitForMachine 0
-spare_cpus=$(($(grep processor /proc/cpuinfo | wc -l) - 5))
+spare_cpus=$(($(grep processor /proc/cpuinfo | wc -l) - 4))
if [ $spare_cpus -gt 0 ]; then
spare_cpus=$(((spare_cpus * 3) / 4))
else
[ $spare_cpus -ne 0 ] && extra_cpus=$((1 + (((spare_cpus - 1) * 3) / 4))) && spare_cpus=$((spare_cpus - extra_cpus))
juju add-machine --constraints "cpu-cores=$((1 + extra_cpus)) mem=12G root-disk=20G" --series $DEFAULT_SERIES
-juju deploy --constraints mem=1G $CHARM_NEUTRON_GATEWAY_DEPLOY_OPTS "${CHARM_NEUTRON_GATEWAY:-quantum-gateway}" neutron-gateway
-
extra_cpus=0
[ $spare_cpus -ne 0 ] && extra_cpus=$((1 + (((spare_cpus - 1) * 3) / 4))) && spare_cpus=$((spare_cpus - extra_cpus))
juju deploy --constraints "cpu-cores=$((1 + extra_cpus)) mem=4G root-disk=20G" $CHARM_NOVA_COMPUTE_DEPLOY_OPTS "${CHARM_NOVA_COMPUTE:-nova-compute}"
juju scp lxc-network.sh 1:
juju run --machine 1 "sudo ./lxc-network.sh"
-waitForMachine 4
-juju scp lxc-network.sh 4:
-juju run --machine 4 "sudo ./lxc-network.sh"
+waitForMachine 3
+juju scp lxc-network.sh 3:
+juju run --machine 3 "sudo ./lxc-network.sh"
juju deploy --to lxc:1 $CHARM_MYSQL_DEPLOY_OPTS "${CHARM_MYSQL:-mysql}"
juju deploy --to lxc:1 $CHARM_RABBITMQ_SERVER_DEPLOY_OPTS "${CHARM_RABBITMQ_SERVER:-rabbitmq-server}"
juju deploy --to lxc:1 $CHARM_CONTRAIL_CONTROL_DEPLOY_OPTS "${CHARM_CONTRAIL_CONTROL:-contrail-control}"
juju deploy --to lxc:1 $CHARM_CONTRAIL_ANALYTICS_DEPLOY_OPTS "${CHARM_CONTRAIL_ANALYTICS:-contrail-analytics}"
juju deploy --to lxc:1 $CHARM_CONTRAIL_WEBUI_DEPLOY_OPTS "${CHARM_CONTRAIL_WEBUI:-contrail-webui}"
-juju deploy --to lxc:4 $CHARM_CASSANDRA_DEPLOY_OPTS "${CHARM_CASSANDRA:-cassandra}"
+juju deploy --to lxc:3 $CHARM_CASSANDRA_DEPLOY_OPTS "${CHARM_CASSANDRA:-cassandra}"
juju deploy $CHARM_NEUTRON_API_CONTRAIL_DEPLOY_OPTS "${CHARM_NEUTRON_API_CONTRAIL:-neutron-api-contrail}"
juju deploy $CHARM_NEUTRON_CONTRAIL_DEPLOY_OPTS "${CHARM_NEUTRON_CONTRAIL:-neutron-contrail}"
juju add-relation keystone mysql
sleep 60
-waitForService rabbitmq-server nova-cloud-controller glance openstack-dashboard neutron-gateway nova-compute
+waitForService rabbitmq-server nova-cloud-controller glance openstack-dashboard nova-compute
juju add-relation nova-cloud-controller mysql
juju add-relation nova-cloud-controller rabbitmq-server
juju add-relation nova-cloud-controller glance
juju add-relation nova-cloud-controller keystone
-juju add-relation neutron-gateway mysql
-juju add-relation neutron-gateway:amqp rabbitmq-server:amqp
-juju add-relation neutron-gateway nova-cloud-controller
juju add-relation nova-compute:shared-db mysql:shared-db
juju add-relation nova-compute:amqp rabbitmq-server:amqp
juju add-relation nova-compute glance
juju add-relation contrail-configuration zookeeper
juju add-relation contrail-configuration rabbitmq-server
juju add-relation contrail-configuration keystone
-juju add-relation contrail-configuration neutron-gateway
sleep 60
waitForService contrail-control contrail-analytics
juju add-relation neutron-api-contrail contrail-configuration
juju add-relation neutron-api-contrail keystone
+juju add-relation contrail-control:contrail-api contrail-configuration:contrail-api
juju add-relation contrail-control:contrail-discovery contrail-configuration:contrail-discovery
juju add-relation contrail-control:contrail-ifmap contrail-configuration:contrail-ifmap
+juju add-relation contrail-control keystone
juju add-relation contrail-analytics:cassandra cassandra:database
juju add-relation contrail-analytics contrail-configuration
juju add-relation nova-compute neutron-contrail
juju add-relation neutron-contrail:contrail-discovery contrail-configuration:contrail-discovery
-juju add-relation neutron-contrail neutron-gateway
juju add-relation neutron-contrail:contrail-api contrail-configuration:contrail-api
juju add-relation neutron-contrail keystone
sleep 60
# openstack
bzr branch lp:~openstack-charmers/charms/trusty/glance/next src/charms/trusty/glance-next
bzr branch lp:~openstack-charmers/charms/trusty/keystone/next src/charms/trusty/keystone-next
-bzr branch lp:~openstack-charmers/charms/trusty/neutron-api/vpp src/charms/trusty/neutron-api-vpp
+bzr branch lp:~openstack-charmers/charms/trusty/neutron-api/next src/charms/trusty/neutron-api-next
bzr branch lp:~openstack-charmers/charms/trusty/nova-cloud-controller/next src/charms/trusty/nova-cloud-controller-next
bzr branch lp:~openstack-charmers/charms/trusty/nova-compute/next src/charms/trusty/nova-compute-next
bzr branch lp:~openstack-charmers/charms/trusty/openstack-dashboard/next src/charms/trusty/openstack-dashboard-next
-bzr branch lp:~sdn-charmers/charms/trusty/quantum-gateway/contrail src/charms/trusty/quantum-gateway-contrail
# contrail
-bzr branch lp:~sdn-charmers/charms/precise/cassandra/forced-install src/charms/precise/cassandra-forced-install
+bzr branch lp:~stub/charms/trusty/cassandra/noauthentication src/charms/trusty/cassandra-noauthentication
bzr branch lp:~sdn-charmers/charms/trusty/contrail-analytics/trunk src/charms/trusty/contrail-analytics
bzr branch lp:~sdn-charmers/charms/trusty/contrail-configuration/trunk src/charms/trusty/contrail-configuration
bzr branch lp:~sdn-charmers/charms/trusty/contrail-control/trunk src/charms/trusty/contrail-control
bzr branch lp:~sdn-charmers/charms/trusty/contrail-webui/trunk src/charms/trusty/contrail-webui
bzr branch lp:~sdn-charmers/charms/trusty/neutron-api-contrail/trunk src/charms/trusty/neutron-api-contrail
bzr branch lp:~sdn-charmers/charms/trusty/neutron-contrail/trunk src/charms/trusty/neutron-contrail
-bzr branch lp:~sdn-charmers/charms/precise/zookeeper/fix-symlink src/charms/precise/zookeeper-fix-symlink
+bzr branch lp:~charmers/charms/precise/zookeeper/trunk src/charms/precise/zookeeper
mkdir -p charms/trusty charms/precise
(cd charms/trusty; ln -s ../../src/charms/trusty/* .)
constraints: mem=1G
options:
network-manager: Neutron
- neutron-gateway:
- branch: lp:~sdn-charmers/charms/trusty/quantum-gateway/contrail
- constraints: mem=1G
glance:
branch: lp:~openstack-charmers/charms/trusty/glance/next
constraints: mem=1G
neutron-api:
- branch: lp:~openstack-charmers/charms/trusty/neutron-api/vpp
+ branch: lp:~openstack-charmers/charms/trusty/neutron-api/next
constraints: mem=1G
options:
manage-neutron-plugin-legacy-mode: false
- [ nova-compute, glance ]
- [ glance, mysql ]
- [ glance, keystone ]
- - [ neutron-gateway, mysql ]
- - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ]
- - [ neutron-gateway, nova-cloud-controller ]
- [ openstack-dashboard, keystone ]
- [ neutron-api, mysql ]
- [ neutron-api, rabbitmq-server ]
inherits: openstack
services:
cassandra:
- branch: lp:~sdn-charmers/charms/precise/cassandra/forced-install
- series: precise
+ branch: lp:~stub/charms/trusty/cassandra/noauthentication
constraints: mem=8G root-disk=20G
+ options:
+ authenticator: AllowAllAuthenticator
units: 3
zookeeper:
- branch: lp:~sdn-charmers/charms/precise/zookeeper/fix-symlink
+ branch: lp:~charmers/charms/precise/zookeeper/trunk
series: precise
constraints: mem=1G
units: 3
- [ contrail-configuration, zookeeper ]
- [ contrail-configuration, rabbitmq-server ]
- [ contrail-configuration, keystone ]
- - [ contrail-configuration, neutron-gateway ]
- [ neutron-api-contrail, contrail-configuration ]
- [ neutron-api-contrail, keystone ]
+ - [ "contrail-control:contrail-api", "contrail-configuration:contrail-api" ]
- [ "contrail-control:contrail-discovery", "contrail-configuration:contrail-discovery" ]
- [ "contrail-control:contrail-ifmap", "contrail-configuration:contrail-ifmap" ]
+ - [ contrail-control, keystone ]
- [ "contrail-analytics:cassandra", "cassandra:database" ]
- [ contrail-analytics, contrail-configuration ]
- [ contrail-webui, keystone ]
- [ "contrail-webui:cassandra", "cassandra:database" ]
- [ nova-compute, neutron-contrail ]
- [ "neutron-contrail:contrail-discovery", "contrail-configuration:contrail-discovery" ]
- - [ neutron-contrail, neutron-gateway ]
- [ "neutron-contrail:contrail-api", "contrail-configuration:contrail-api" ]
- [ neutron-contrail, keystone ]
- [ contrail-configuration, haproxy ]
to:
- "lxc:ubuntu=0"
- neutron-gateway:
- branch: lp:~sdn-charmers/charms/trusty/quantum-gateway/contrail
- constraints: tags=virtual
+# neutron-gateway:
+# branch: lp:~sdn-charmers/charms/trusty/quantum-gateway/contrail
+# constraints: tags=virtual
glance:
branch: lp:~openstack-charmers/charms/trusty/glance/next
neutron-api:
branch: lp:~openstack-charmers/charms/trusty/neutron-api/vpp
- constraints: tags=virtual
+# constraints: tags=virtual
to:
- "lxc:ubuntu=0"
options:
- [ nova-compute, glance ]
- [ glance, mysql ]
- [ glance, keystone ]
- - [ neutron-gateway, mysql ]
- - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ]
- - [ neutron-gateway, nova-cloud-controller ]
- [ openstack-dashboard, keystone ]
- [ neutron-api, mysql ]
- [ neutron-api, rabbitmq-server ]
- [ neutron-api, nova-cloud-controller ]
- [ neutron-api, keystone ]
- [ neutron-api, neutron-api-contrail ]
+
contrail:
inherits: openstack
services:
cassandra:
- branch: lp:~sdn-charmers/charms/precise/cassandra/forced-install
- series: precise
- constraints: tags=control
+ branch: lp:~stub/charms/trusty/cassandra/noauthentication
options:
- allow-single-node: true
+ authenticator: AllowAllAuthenticator
+ - "lxc:ubuntu=0"
zookeeper:
- branch: lp:~sdn-charmers/charms/precise/zookeeper/fix-symlink
+ branch: lp:~charmers/charms/precise/zookeeper/trunk
series: precise
- constraints: mem=1G
to:
- - "lxc:cassandra=0"
+ - "lxc:ubuntu=0"
contrail-configuration:
- branch: lp:~sdn-charmers/charms/trusty/contrail-configuration/ssl
- constraints: mem=4G
+ branch: lp:~sdn-charmers/charms/trusty/contrail-configuration/trunk
to:
- "lxc:ubuntu=0"
# options:
contrail-control:
branch: lp:~sdn-charmers/charms/trusty/contrail-control/trunk
- constraints: mem=2G
to:
- "lxc:ubuntu=0"
contrail-analytics:
branch: lp:~sdn-charmers/charms/trusty/contrail-analytics/trunk
- constraints: mem=4G
to:
- "lxc:ubuntu=0"
neutron-api-contrail:
branch: lp:~sdn-charmers/charms/trusty/neutron-api-contrail/trunk
-# options:
-# overlay-network-type: 'vxlan gre'
-# security-groups: true
-
neutron-contrail:
branch: lp:~sdn-charmers/charms/trusty/neutron-contrail/trunk
+
overrides:
admin-role: admin
relations:
- [ "contrail-configuration:cassandra", "cassandra:database" ]
+ - [ contrail-configuration, zookeeper ]
+ - [ contrail-configuration, rabbitmq-server ]
+ - [ contrail-configuration, keystone ]
- [ neutron-api-contrail, contrail-configuration ]
- [ neutron-api-contrail, keystone ]
+ - [ "contrail-control:contrail-api", "contrail-configuration:contrail-api" ]
- [ "contrail-control:contrail-discovery", "contrail-configuration:contrail-discovery" ]
- [ "contrail-control:contrail-ifmap", "contrail-configuration:contrail-ifmap" ]
+ - [ contrail-control, keystone ]
- [ "contrail-analytics:cassandra", "cassandra:database" ]
- [ contrail-analytics, contrail-configuration ]
- [ contrail-webui, keystone ]
- [ "contrail-webui:cassandra", "cassandra:database" ]
- [ nova-compute, neutron-contrail ]
- [ "neutron-contrail:contrail-discovery", "contrail-configuration:contrail-discovery" ]
- - [ neutron-contrail, neutron-gateway ]
- [ "neutron-contrail:contrail-api", "contrail-configuration:contrail-api" ]
- [ neutron-contrail, keystone ]
- - [ contrail-configuration, zookeeper ]
- - [ contrail-configuration, rabbitmq-server ]
- - [ contrail-configuration, keystone ]
- - [ contrail-configuration, neutron-gateway ]
+
precise-icehouse-contrail:
inherits: contrail
series: precise
charm: cs:trusty/rabbitmq-server
overrides:
openstack-origin: cloud:trusty-juno
+trusty-kilo-contrail:
+ inherits: contrail
+ series: trusty
+ services:
+ mysql:
+ charm: cs:trusty/mysql
+ rabbitmq-server:
+ charm: cs:trusty/rabbitmq-server
+ overrides:
+ openstack-origin: cloud:trusty-kilo
+trusty-liberty-contrail:
+ inherits: contrail
+ series: trusty
+ services:
+ mysql:
+ charm: cs:trusty/mysql
+ rabbitmq-server:
+ charm: cs:trusty/rabbitmq-server
+ overrides:
+ openstack-origin: cloud:trusty-liberty
+
mkdir -m 0700 -p cloud
controller_address=$(unitAddress keystone 0)
-configOpenrc admin openstack admin http://$controller_address:5000/v2.0 RegionOne > cloud/admin-openrc
+configOpenrc admin openstck admin http://$controller_address:5000/v2.0 RegionOne > cloud/admin-openrc
chmod 0600 cloud/admin-openrc
machine=$(unitMachine nova-cloud-controller 0)