diff options
99 files changed, 628 insertions, 3771 deletions
diff --git a/ci/02-deploybundle.sh b/ci/02-deploybundle.sh index 647d18b0..974d65ac 100755 --- a/ci/02-deploybundle.sh +++ b/ci/02-deploybundle.sh @@ -25,18 +25,23 @@ fi #check whether charms are still executing the code even juju-deployer says installed. check_status() { + waitstatus=$1 retval=0 timeoutiter=0 + + echo -n "executing the reltionship within charms ." while [ $retval -eq 0 ]; do - sleep 30 - juju status > status.txt - if [ "$(grep -c "waiting" status.txt )" -ge 2 ]; then - echo " still waiting for machines ..." + if juju status | grep -q $waitstatus; then + echo -n '.' if [ $timeoutiter -ge 240 ]; then + echo 'timed out' retval=1 + else + sleep 30 fi timeoutiter=$((timeoutiter+1)) else + echo 'done' retval=1 fi done @@ -113,7 +118,7 @@ case "$opnfvlab" in ;; esac -# lets put the if seperateor as "," as this will save me from world. +# lets put the if separator as "," as this will save me from world. fea="" IFS="," for feature in $opnfvfeature; do @@ -128,7 +133,7 @@ if [[ "$opnfvmodel" = "openstack" ]]; then #update source if trusty is target distribution var=os-$opnfvsdn-$fea-$opnfvtype"-"$opnfvdistro"_"$openstack - if [ "$osdomname" != "None" ]; then + if ([ $osdomname ] && [ $osdomname != "null" ] && [ $osdomname != "None"]); then var=$var"_"publicapi fi else @@ -164,7 +169,7 @@ else # with JUJU 2.0 bundles has to be deployed only once. juju deploy bundles.yaml --debug sleep 120 - check_status + check_status allocating # seeing issue related to number of open files. count=`juju status nodes --format=short | grep nodes | wc -l` c=0 @@ -177,5 +182,20 @@ else done fi +if [ "$opnfvsdn" = "ocl" ] +then + ROLES="contrail-controller contrail-analytics contrail-analyticsdb" + TAG="ubuntu16.04-4.0.0.0-20.tar.gz" + + for ROLE in $ROLES + do + FILE="${ROLE}-${TAG}" + if [ ! -f $FILE ] + then + curl -o $FILE http://artifacts.opnfv.org/ovno/containers/$FILE + fi + juju attach $ROLE ${ROLE}="./$FILE" +done +fi #lets gather the status of deployment once juju-deployer completed. juju status --format=tabular diff --git a/ci/03-maasdeploy.sh b/ci/03-maasdeploy.sh index 479ab039..198d2484 100755 --- a/ci/03-maasdeploy.sh +++ b/ci/03-maasdeploy.sh @@ -2,6 +2,8 @@ #placeholder for deployment script. set -ex +source tools.sh + virtinstall=0 labname=$1 @@ -9,7 +11,19 @@ if [ ! -e $HOME/.ssh/id_rsa ]; then ssh-keygen -N '' -f $HOME/.ssh/id_rsa fi -#install the packages needed +NODE_ARCTYPE=`arch` +NODE_ARC="amd64/generic" + +if [ "x86_64" == "$NODE_ARCTYPE" ]; then + NODE_ARC="amd64/generic" +elif [ "ppc64le" == "$NODE_ARCTYPE" ]; then + NODE_ARC='ppc64el' +else + NODE_ARC=$NODE_ARCTYPE +fi + +# Install the packages needed +echo_info "Installing and upgrading required packages" sudo apt-get install software-properties-common -y sudo apt-add-repository ppa:juju/stable -y sudo apt-add-repository ppa:maas/stable -y @@ -25,7 +39,7 @@ sudo apt-get install bridge-utils openssh-server bzr git virtinst qemu-kvm libvi #sudo snap install maas --classic #sudo snap install juju --classic -sudo pip install --upgrade pip +sudo -H pip install --upgrade pip #first parameter should be custom and second should be either # absolute location of file (including file name) or url of the @@ -37,6 +51,7 @@ sudo pip install --upgrade pip # # Get labconfig and generate deployconfig.yaml +echo_info "Parsing lab configuration file" case "$labname" in intelpod[569]|orangepod[12]|cengnpod[12] ) array=(${labname//pod/ }) @@ -81,8 +96,8 @@ python -c 'import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout, i MAAS_IP=$(grep " ip_address" deployconfig.yaml | cut -d ':' -f 2 | sed -e 's/ //') MAAS_NAME=`grep "maas_name" deployconfig.yaml | cut -d ':' -f 2 | sed -e 's/ //'` -API_SERVER="http://$MAAS_IP/MAAS/api/2.0" -API_SERVERMAAS="http://$MAAS_IP/MAAS/" +API_SERVER="http://$MAAS_IP:5240/MAAS/api/2.0" +API_SERVERMAAS="http://$MAAS_IP:5240/MAAS/" PROFILE=ubuntu MY_UPSTREAM_DNS=`grep "upstream_dns" deployconfig.yaml | cut -d ':' -f 2 | sed -e 's/ //'` SSH_KEY=`cat ~/.ssh/id_rsa.pub` @@ -126,7 +141,7 @@ else sudo mv 90-joid-init /etc/sudoers.d/ fi -echo "... Deployment of maas Started ...." +echo_info "Deployment of MAAS started" # # Virsh preparation @@ -160,7 +175,7 @@ fi # To avoid problem between apiclient/maas_client and apiclient from google # we remove the package google-api-python-client from yardstick installer -if [ $(pip list |grep google-api-python-client |wc -l) == 1 ]; then +if [ $(pip list --format=columns | grep google-api-python-client | wc -l) == 1 ]; then sudo pip uninstall google-api-python-client fi @@ -196,7 +211,7 @@ installmaas(){ # configuremaas(){ #reconfigure maas with correct MAAS address. - #Below code is needed as MAAS have issue in commisoning without restart. + #Below code is needed as MAAS have issue in commissioning without restart. #sudo ./maas-reconfigure-region.sh $MAAS_IP sleep 30 sudo maas-rack config --region-url http://$MAAS_IP:5240/MAAS @@ -221,7 +236,7 @@ configuremaas(){ compute-external storage-data storage-cluster admin \ tenant-data tenant-api tenant-public do - echo "Creating the space $space" + echo_info "Creating the space $space" maas $PROFILE spaces create name=$space || true done @@ -299,7 +314,7 @@ setupspacenetwork(){ 'storage') JUJU_SPACE="tenant-stor"; DHCP='' ;; 'storagecluster') JUJU_SPACE="storclus"; DHCP='' ;; 'floating') JUJU_SPACE="tenant-public"; DHCP='' ;; - *) JUJU_SPACE='default'; DHCP='OFF'; echo " >>> Unknown SPACE" ;; + *) JUJU_SPACE='default'; DHCP='OFF'; echo_info " >>> Unknown SPACE" ;; esac JUJU_SPACE_ID=$(maas $PROFILE spaces read | jq -r ".[] | select(.name==\"$JUJU_SPACE\")".id) JUJU_VLAN_VID=$(maas $PROFILE subnets read | jq -r ".[] | select(.name==\"$SPACE_CIDR\")".vlan.vid) @@ -310,7 +325,7 @@ setupspacenetwork(){ fi fi if ([ $type == "admin" ]); then - # If we have a network, we create it + # If we have a network, we create it if ([ $NET_FABRIC_ID ]); then # Set ranges SUBNET_PREFIX=${SPACE_CIDR::-5} @@ -345,10 +360,12 @@ addnodes(){ # if we have a virshurl configuration we use it, else we use local VIRSHURL=$(cat labconfig.json | jq -r '.opnfv.virshurl') if ([ $VIRSHURL == "" ] || [ "$VIRSHURL" == "null" ]); then - VIRSHURL="qemu+ssh://$USER@$MAAS_IP/system " + VIRSHIP=$MAAS_IP + VIRSHURL="qemu+ssh://$USER@$VIRSHIP/system " VIRSHHOST="" else VIRSHHOST=$(echo $VIRSHURL| cut -d\/ -f 3 | cut -d@ -f2) + VIRSHIP="" # TODO: parse from $VIRSHURL if needed fi if [ "$virtinstall" -eq 1 ]; then @@ -360,22 +377,34 @@ addnodes(){ # prepare a file containing virsh remote url to connect without adding it n command line echo "export VIRSH_DEFAULT_CONNECT_URI=$VIRSHURL" > virsh_uri.sh else + netw="" + brid=`brctl show | grep 8000 | cut -d "8" -f 1 | tr "\n" " " | tr " " " " | tr -s " "` + ADMIN_BR=`cat labconfig.json | jq '.opnfv.spaces[] | select(.type=="admin")'.bridge | cut -d \" -f 2 ` - netw="" for feature in $brid; do - if [ "$feature" == "" ]; then - netw=$netw - elif [ "$feature" == "virbr0" ]; then - netw=$netw - else + if [ "$feature" == "$ADMIN_BR" ]; then netw=$netw" --network bridge="$feature",model=virtio" + else + netw=$netw fi done fi + # Add server fingerprint to known hosts to prevent security prompt in the + # SSH connection during the virt-install + if [ $VIRSHIP != "" ]; then + # Check if the IP is not already present among the known hosts + if ! ssh-keygen -F $VIRSHIP > /dev/null ; then + echo_info "SSH fingerprint of the host is not known yet, adding to known_hosts" + ssh-keyscan -H $VIRSHIP >> ~/.ssh/known_hosts + fi + fi + + echo_info "Creating and adding bootstrap node" + virt-install --connect $VIRSHURL --name bootstrap --ram 4098 --cpu host --vcpus 2 --video \ - cirrus --arch x86_64 --disk size=20,format=qcow2,bus=virtio,cache=directsync,io=native,pool=default \ + cirrus --disk size=20,format=qcow2,bus=virtio,cache=directsync,io=native,pool=default \ $netw --boot network,hd,menu=off --noautoconsole \ --vnc --print-xml | tee bootstrap @@ -396,7 +425,7 @@ addnodes(){ maas $PROFILE machines create autodetect_nodegroup='yes' name='bootstrap' \ tags='bootstrap' hostname='bootstrap' power_type='virsh' mac_addresses=$bootstrapmac \ power_parameters_power_address="$VIRSHURL" \ - architecture='amd64/generic' power_parameters_power_id='bootstrap' + architecture=$NODE_ARC power_parameters_power_id='bootstrap' bootstrapid=$(maas $PROFILE machines read | jq -r '.[] | select(.hostname == "bootstrap").system_id') @@ -419,36 +448,58 @@ addnodes(){ maas $PROFILE machines create autodetect_nodegroup='yes' name=$NODE_NAME \ tags='control compute' hostname=$NODE_NAME power_type='virsh' mac_addresses=$nodemac \ power_parameters_power_address="$VIRSHURL" \ - architecture='amd64/generic' power_parameters_power_id=$NODE_NAME + architecture=$NODE_ARC power_parameters_power_id=$NODE_NAME nodeid=$(maas $PROFILE machines read | jq -r '.[] | select(.hostname == '\"$NODE_NAME\"').system_id') maas $PROFILE tag update-nodes control add=$nodeid || true maas $PROFILE tag update-nodes compute add=$nodeid || true done else - units=`cat deployconfig.json | jq .opnfv.units` + units=`cat deployconfig.json | jq .opnfv.units` - until [ $(($units)) -lt 1 ]; do - units=$(($units - 1)); - NODE_NAME=`cat labconfig.json | jq ".lab.racks[].nodes[$units].name" | cut -d \" -f 2 ` - MAC_ADDRESS=`cat labconfig.json | jq ".lab.racks[].nodes[$units].nics[] | select(.spaces[]==\"admin\").mac"[0] | cut -d \" -f 2 ` - POWER_TYPE=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.type" | cut -d \" -f 2 ` - POWER_IP=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.address" | cut -d \" -f 2 ` - POWER_USER=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.user" | cut -d \" -f 2 ` - POWER_PASS=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.pass" | cut -d \" -f 2 ` - - maas $PROFILE machines create autodetect_nodegroup='yes' name=$NODE_NAME \ - hostname=$NODE_NAME power_type=$POWER_TYPE power_parameters_power_address=$POWER_IP \ - power_parameters_power_user=$POWER_USER power_parameters_power_pass=$POWER_PASS mac_addresses=$MAC_ADDRESS \ - architecture='amd64/generic' - done + until [ $(($units)) -lt 1 ]; do + units=$(($units - 1)); + NODE_NAME=`cat labconfig.json | jq ".lab.racks[].nodes[$units].name" | cut -d \" -f 2 ` + MAC_ADDRESS=`cat labconfig.json | jq ".lab.racks[].nodes[$units].nics[] | select(.spaces[]==\"admin\").mac"[0] | cut -d \" -f 2 ` + #MAC_ADDRESS1=`cat labconfig.json | jq ".lab.racks[].nodes[$units].nics[] | select(.spaces[]==\"floating\").mac"[0] | cut -d \" -f 2 ` + POWER_TYPE=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.type" | cut -d \" -f 2 ` + POWER_IP=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.address" | cut -d \" -f 2 ` + POWER_USER=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.user" | cut -d \" -f 2 ` + POWER_PASS=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.pass" | cut -d \" -f 2 ` + NODE_ARCTYPE=`cat labconfig.json | jq ".lab.racks[].nodes[$units].architecture" | cut -d \" -f 2 ` + + if [ "x86_64" == "$NODE_ARCTYPE" ]; then + NODE_ARC="amd64/generic" + elif [ "ppc64le" == "$NODE_ARCTYPE" ]; then + NODE_ARC='ppc64el' + else + NODE_ARC=$NODE_ARCTYPE + fi + + echo_info "Creating node $NODE_NAME" + maas $PROFILE machines create autodetect_nodegroup='yes' name=$NODE_NAME \ + hostname=$NODE_NAME power_type=$POWER_TYPE power_parameters_power_address=$POWER_IP \ + power_parameters_power_user=$POWER_USER power_parameters_power_pass=$POWER_PASS mac_addresses=$MAC_ADDRESS \ + architecture=$NODE_ARC + done fi maas $PROFILE pods create type=virsh power_address="$VIRSHURL" power_user=$USER - # make sure nodes are added into MAAS and none of them is in commisoning state - while [ "$(maas $PROFILE nodes read | grep Commissioning )" ]; + # Make sure nodes are added into MAAS and none of them is in commissioning state + i=0 + while [ "$(maas $PROFILE nodes read | grep Commissioning )" ]; do + echo_info "Waiting for nodes to finish commissioning. ${i} minutes elapsed." sleep 60 + i=$[$i+1] + + # Make sure that no nodes have failed commissioning or testing + if [ "$(maas $PROFILE nodes read | grep 'Failed' )" ]; + then + echo "Error: Some nodes have failed commissioning or testing" 1>&2 + exit 1 + fi + done } @@ -467,10 +518,10 @@ setupspacenetwork sudo ./maas-reconfigure-region.sh $MAAS_IP sleep 120 -#lets add the nodes now. Currently works only for virtual deploymnet. +# Let's add the nodes now. Currently works only for virtual deployment. addnodes -echo "... Deployment of maas finish ...." +echo_info "Initial deployment of MAAS finished" #Added the Qtip public to run the Qtip test after install on bare metal nodes. #maas $PROFILE sshkeys new key="`cat ./maas/sshkeys/QtipKey.pub`" @@ -500,6 +551,7 @@ addcloud() { echo " auth-types: [oauth1]" >> maas-cloud.yaml echo " endpoint: $API_SERVERMAAS" >> maas-cloud.yaml + echo_info "Adding cloud $cloudname" juju add-cloud $cloudname maas-cloud.yaml --replace } @@ -517,7 +569,7 @@ if [ -e ./labconfig.json ]; then # Get the NAME/SYS_ID of this node NODE_NAME=$(cat labconfig.json | jq --raw-output ".lab.racks[0].nodes[$NODE_ID].name") NODE_SYS_ID=$(maas $PROFILE nodes read | jq -r ".[] | select(.hostname==\"$NODE_NAME\")".system_id) - echo ">>> Configuring node $NODE_NAME [$NODE_ID][$NODE_SYS_ID]" + echo_info ">>> Configuring node $NODE_NAME [$NODE_ID][$NODE_SYS_ID]" # Recover the network interfaces list and configure each one # with sorting the list, we have hardware interface first, than the vlan interfaces IF_LIST=$(cat labconfig.json | jq --raw-output ".lab.racks[0].nodes[$NODE_ID].nics[] ".ifname | sort -u ) @@ -530,9 +582,9 @@ if [ -e ./labconfig.json ]; then 'public') IF_MODE='AUTO' ;; 'storage') IF_MODE='AUTO' ;; 'floating') IF_MODE='link_up' ;; - *) SUBNET_CIDR='null'; IF_MODE='null'; echo " >>> Unknown SPACE" ;; + *) SUBNET_CIDR='null'; IF_MODE='null'; echo_info " >>> Unknown SPACE" ;; esac - echo " >>> Configuring interface $IF_NAME [$IF_SPACE][$SUBNET_CIDR]" + echo_info " >>> Configuring interface $IF_NAME [$IF_SPACE][$SUBNET_CIDR]" # if we have a vlan parameter in the space config IF_VLAN=$(cat labconfig.json | jq --raw-output ".opnfv.spaces[] | select(.type==\"$IF_SPACE\")".vlan) @@ -545,7 +597,7 @@ if [ -e ./labconfig.json ]; then # In case of a VLAN interface if ([ $IF_VLAN ] && [ "$IF_VLAN" != "null" ]); then - echo " >>> Configuring VLAN $IF_VLAN" + echo_info " >>> Configuring VLAN $IF_VLAN" VLANID=$(maas $PROFILE subnets read | jq ".[].vlan | select(.vid==$IF_VLAN)".id) FABRICID=$(maas $PROFILE subnets read | jq ".[].vlan | select(.vid==$IF_VLAN)".fabric_id) INTERFACE=$(maas $PROFILE interfaces read $NODE_SYS_ID | jq ".[] | select(.vlan.fabric_id==$FABRICID)".id) @@ -584,7 +636,7 @@ if [ -e ./labconfig.json ]; then maas $PROFILE interface link-subnet $NODE_SYS_ID $IF_NAME mode=$IF_MODE subnet=$SUBNET_CIDR || true sleep 2 else - echo " >>> Not configuring, we have an empty Subnet CIDR" + echo_info " >>> Not configuring, we have an empty Subnet CIDR" fi done @@ -602,4 +654,4 @@ fi # # End of scripts # -echo " .... MAAS deployment finished successfully ...." +echo_info " .... MAAS deployment finished successfully ...." diff --git a/ci/cleanvm.sh b/ci/cleanvm.sh index 5a5365b2..df069baf 100755 --- a/ci/cleanvm.sh +++ b/ci/cleanvm.sh @@ -5,7 +5,7 @@ set -x echo " Cleanup Started ..." #use the below commands if you needs to delete the virtual machine -# also along with envuronment destroy. +# also along with environment destroy. ./clean.sh vm_list=$(sudo virsh list --all) @@ -16,7 +16,7 @@ for vm in node1-control node2-compute node3-control node4-control \ do echo "$vm_list" | grep -q " $vm " || continue sudo virsh destroy $vm - sudo virsh undefine $vm + sudo virsh undefine --nvram $vm sudo rm -f /var/lib/libvirt/images/${vm}.qcow2 done diff --git a/ci/config_tpl/bundle_tpl/aodh.yaml b/ci/config_tpl/bundle_tpl/aodh.yaml deleted file mode 100644 index b2671e69..00000000 --- a/ci/config_tpl/bundle_tpl/aodh.yaml +++ /dev/null @@ -1,7 +0,0 @@ - aodh: - charm: "local:{{ ubuntu.release }}/aodh" - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - to: - - "lxc:nodes=0" -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/bundle.yaml b/ci/config_tpl/bundle_tpl/bundle.yaml deleted file mode 100644 index 8aab10f8..00000000 --- a/ci/config_tpl/bundle_tpl/bundle.yaml +++ /dev/null @@ -1,96 +0,0 @@ -# vim: set ts=2 et: -{{ ubuntu.release }}-{{ os.release }}-nodes: - inherits: openstack-phase1 - overrides: -{% include 'phase2-overrides.yaml' %} - -{{ ubuntu.release }}-{{ os.release }}: - inherits: openstack-phase2 - -openstack-phase1: - services: -{% if os.hyperconverged %} - nodes: - charm: "cs:{{ ubuntu.release }}/ubuntu" - num_units: {{ opnfv.units }} -{% else %} - nodes: - charm: "cs:{{ ubuntu.release }}/ubuntu" -{% if os.ha.mode == 'ha' %} - num_units: 3 -{% else %} - num_units: 1 -{% endif %} - constraints: tags=control - nodes-compute: - charm: "cs:{{ ubuntu.release }}/ubuntu" -{% if os.ha.mode == 'ha' %} - num_units: {{ opnfv.units - 3 }} -{% else %} - num_units: {{ opnfv.units - 1 }} -{% endif %} -{% endif %} - ntp: - charm: "local:{{ ubuntu.release }}/ntp" -{% if os.network.controller == 'ocl' %} - options: - source: "0.ubuntu.pool.ntp.org 1.ubuntu.pool.ntp.org 2.ubuntu.pool.ntp.org 3.ubuntu.pool.ntp.org" - auto_peers: false -{% endif %} -{% include 'mysql.yaml' %} -{% include 'ceilometer.yaml' %} -{% if opnfv.storage_dict.scaleio is defined %} -{% include 'scaleio.yaml' %} -{% else %} -{% include 'ceph.yaml' %} -{% endif %} -{% include 'cinder.yaml' %} -{% include 'glance.yaml' %} -{% if opnfv.storage_dict.ceph is defined %} -{% if os.service.promise %} -{% include 'opnfv-promise.yaml' %} -{% endif %} -{% if os.service.congress %} -{% include 'congress.yaml' %} -{% endif %} -{% endif %} -{% include 'keystone.yaml' %} -{% include 'nova-cloud-controller.yaml' %} -{% include 'nova-compute.yaml' %} -{% include 'openstack-dashboard.yaml' %} -{% include 'rabbitmq.yaml' %} -{% include 'heat.yaml' %} -{% include 'neutron-api.yaml' %} -{% include 'neutron-gateway.yaml' %} -{% include 'aodh.yaml' %} -{% if os.network.controller == 'odl' %} -{% include 'odl.yaml' %} -{% elif os.network.controller == 'onos' %} -{% include 'onos.yaml' %} -{% elif os.network.controller == 'ocl' %} -{% include 'oclphase1.yaml' %} -{% endif %} -{% if os.ha.mode == 'ha' %} -{% include 'haclusters.yaml' %} -{% endif %} - - -{% if os.hyperconverged %} - relations: - - [ 'ntp:juju-info', 'nodes:juju-info' ] -{% else %} - relations: - - [ 'ntp:juju-info', 'nodes:juju-info' ] - - [ 'ntp:juju-info', 'nodes-compute:juju-info' ] -{% endif %} - -{% if os.ha.mode == 'ha' %} -{% include 'harelations.yaml' %} -{% endif %} - -openstack-phase2: - inherits: openstack-phase1 - relations: -{% include 'relations.yaml' %} - services: -{% include 'subordinate.yaml' %} diff --git a/ci/config_tpl/bundle_tpl/ceilometer.yaml b/ci/config_tpl/bundle_tpl/ceilometer.yaml deleted file mode 100644 index e7b0d924..00000000 --- a/ci/config_tpl/bundle_tpl/ceilometer.yaml +++ /dev/null @@ -1,20 +0,0 @@ - mongodb: - charm: local:{{ ubuntu.release }}/mongodb - to: - - "lxc:nodes=0" - ceilometer: - charm: "local:{{ ubuntu.release }}/ceilometer" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.ceilometer }} -{% endif %} -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/ceph.yaml b/ci/config_tpl/bundle_tpl/ceph.yaml deleted file mode 100644 index 1ed43d4e..00000000 --- a/ci/config_tpl/bundle_tpl/ceph.yaml +++ /dev/null @@ -1,92 +0,0 @@ -{% if opnfv.storage_dict.ceph is defined %} - ceph: - charm: "local:{{ ubuntu.release }}/ceph" - num_units: {{ unit_ceph_qty() }} - options: - monitor-count: {{ unit_ceph_qty() }} - fsid: 5a791d94-980b-11e4-b6f6-3c970e8b1cf7 - monitor-secret: AQAi5a9UeJXUExAA+By9u+GPhl8/XiUQ4nwI3A== -{% if ubuntu.release == 'trusty' and os.release < 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% elif ubuntu.release == 'xenial' and os.release >= 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if opnfv.spaces_dict.storage is defined %} - #ceph-cluster-network: {{ opnfv.spaces_dict.storage.cidr }} -{% endif %} - to: -{% if os.hyperconverged %} -{% for unit_id in to_select(unit_ceph_qty()) %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} -{% else %} -{% if os.ha.mode == 'ha' %} -{% for unit_id in range(0, 3) %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} -{% else %} - - "lxc:nodes=0" - - "lxc:nodes=0" - - "lxc:nodes=0" -{% endif %} -{% endif %} - ceph-osd: - charm: "local:{{ ubuntu.release }}/ceph-osd" -{% if os.hyperconverged %} - num_units: {{ opnfv.units }} -{% else %} - num_units: 3 -{% endif %} - options: - osd-devices: {{ opnfv.storage_dict.ceph.disk }} - osd-reformat: 'yes' -{% if ubuntu.release == 'trusty' and os.release < 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% elif ubuntu.release == 'xenial' and os.release >= 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - to: -{% if os.hyperconverged %} -{% for unit_id in range(0, opnfv.units) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} -{% if os.ha.mode == 'ha' %} -{% for unit_id in range(0, 3) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} - - "nodes=0" - - "nodes-compute=0" - - "nodes-compute=1" -{% endif %} -{% endif %} - ceph-radosgw: - charm: "local:{{ ubuntu.release }}/ceph-radosgw" - num_units: {{ unit_qty() if os.beta.hacluster_ceph_radosgw else 1 }} - options: - region: {{ os.region }} - use-embedded-webserver: true - operator-roles: "Member,admin" -{% if ubuntu.release == 'trusty' and os.release < 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% elif ubuntu.release == 'xenial' and os.release >= 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} - to: -{% for unit_id in to_select(unit_qty() if os.beta.hacluster_ceph_radosgw else 1) %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/cinder.yaml b/ci/config_tpl/bundle_tpl/cinder.yaml deleted file mode 100644 index dee6be08..00000000 --- a/ci/config_tpl/bundle_tpl/cinder.yaml +++ /dev/null @@ -1,38 +0,0 @@ - cinder: - charm: "local:{{ ubuntu.release }}/cinder" -{% if opnfv.storage_dict.scaleio is defined %} - num_units: 1 -{% else %} - num_units: {{ unit_qty() }} -{% endif %} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} - block-device: None - glance-api-version: 2 -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.cinder }} -{% endif %} -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: -{% if opnfv.storage_dict.scaleio is defined %} - - "nodes=0" -{% else %} -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/congress.yaml b/ci/config_tpl/bundle_tpl/congress.yaml deleted file mode 100644 index 7d68f1d6..00000000 --- a/ci/config_tpl/bundle_tpl/congress.yaml +++ /dev/null @@ -1,10 +0,0 @@ - congress: - charm: "local:{{ ubuntu.release }}/congress" - options: - region: {{ os.region }} -{% if ubuntu.release == 'trusty' %} - source-branch: "stable/{{ os.release }}" -{% endif %} - to: - - "lxc:nodes=0" -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/glance.yaml b/ci/config_tpl/bundle_tpl/glance.yaml deleted file mode 100644 index 7ae7fcc7..00000000 --- a/ci/config_tpl/bundle_tpl/glance.yaml +++ /dev/null @@ -1,28 +0,0 @@ - glance: - charm: "local:{{ ubuntu.release }}/glance" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.glance }} -{% endif %} -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/haclusters.yaml b/ci/config_tpl/bundle_tpl/haclusters.yaml deleted file mode 100644 index 7edc7b28..00000000 --- a/ci/config_tpl/bundle_tpl/haclusters.yaml +++ /dev/null @@ -1,83 +0,0 @@ - - hacluster-keystone: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-cinder: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -# hacluster-heat: -# charm: "local:{{ ubuntu.release }}/hacluster" -# options: -# corosync_transport: unicast -# cluster_count: 3 -{% if os.network.ipv6 %} -# prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-horizon: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-nova: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-neutron: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-glance: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-ceilometer: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-mysql: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.beta.hacluster_ceph_radosgw %} - hacluster-ceph-radosgw: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/harelations.yaml b/ci/config_tpl/bundle_tpl/harelations.yaml deleted file mode 100644 index d4c4c064..00000000 --- a/ci/config_tpl/bundle_tpl/harelations.yaml +++ /dev/null @@ -1,14 +0,0 @@ -{% if os.ha.mode == 'ha' %} - - [ 'mysql:ha', 'hacluster-mysql:ha' ] - - [ 'cinder:ha', 'hacluster-cinder:ha' ] -# - [ 'heat:ha', 'hacluster-heat:ha' ] - - [ 'glance:ha', 'hacluster-glance:ha' ] - - [ 'keystone:ha', 'hacluster-keystone:ha' ] - - [ 'neutron-api:ha', 'hacluster-neutron:ha' ] - - [ 'nova-cloud-controller:ha', 'hacluster-nova:ha' ] - - [ 'openstack-dashboard:ha', 'hacluster-horizon:ha' ] - - [ 'ceilometer:ha', 'hacluster-ceilometer:ha' ] -{% if os.beta.hacluster_ceph_radosgw %} - - [ 'ceph-radosgw:ha', 'hacluster-ceph-radosgw:ha' ] -{% endif %} -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/heat.yaml b/ci/config_tpl/bundle_tpl/heat.yaml deleted file mode 100644 index 3c9bf4e8..00000000 --- a/ci/config_tpl/bundle_tpl/heat.yaml +++ /dev/null @@ -1,21 +0,0 @@ - heat: - charm: "local:{{ ubuntu.release }}/heat" - num_units: 1 - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if os.ha.mode == 'ha' %} -# vip: {{ opnfv.vip.heat }} -{% endif %} -{% if os.beta.public_api %} -# os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: - - "lxc:nodes=0" -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/keystone.yaml b/ci/config_tpl/bundle_tpl/keystone.yaml deleted file mode 100644 index 22d422cf..00000000 --- a/ci/config_tpl/bundle_tpl/keystone.yaml +++ /dev/null @@ -1,26 +0,0 @@ - keystone: - charm: "local:{{ ubuntu.release }}/keystone" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} - admin-role: {{ os.admin.role }} - keystone-admin-role: {{ os.admin.role }} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} - admin-password: {{ opnfv.admin_password | default(os.admin.password) }} - admin-token: {{ os.admin.name }} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.keystone }} -{% endif %} -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/mysql.yaml b/ci/config_tpl/bundle_tpl/mysql.yaml deleted file mode 100644 index ab2c4934..00000000 --- a/ci/config_tpl/bundle_tpl/mysql.yaml +++ /dev/null @@ -1,23 +0,0 @@ - mysql: - charm: "local:{{ ubuntu.release }}/percona-cluster" - num_units: {{ unit_qty() }} - options: -{% if os.ha.mode == 'ha' %} - innodb-buffer-pool-size: 10G -{% else %} - innodb-buffer-pool-size: 1G -{% endif %} - max-connections: 20000 - root-password: {{ get_password('mysql_root') }} - sst-password: {{ get_password('mysql_sst') }} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.mysql }} -{% endif %} - min-cluster-size: {{ unit_qty() }} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/neutron-api.yaml b/ci/config_tpl/bundle_tpl/neutron-api.yaml deleted file mode 100644 index dd477bd2..00000000 --- a/ci/config_tpl/bundle_tpl/neutron-api.yaml +++ /dev/null @@ -1,44 +0,0 @@ - neutron-api: - charm: "local:{{ ubuntu.release }}/neutron-api" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} - neutron-security-groups: true -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.neutron }} -{% endif %} -{% if os.network.controller == 'nosdn' %} - flat-network-providers: physnet1 -{% if os.network.dvr %} - overlay-network-type: vxlan -{% endif %} -{% elif os.network.controller == 'odl' %} - manage-neutron-plugin-legacy-mode: False - flat-network-providers: physnet1 -{% elif os.network.controller == 'onos' %} - flat-network-providers: physnet1 - manage-neutron-plugin-legacy-mode: False -{% endif %} -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} -{% if os.network.dvr %} - enable-dvr: true -{% endif %} -{% if os.network.l2_population %} - l2-population: true -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/neutron-gateway.yaml b/ci/config_tpl/bundle_tpl/neutron-gateway.yaml deleted file mode 100644 index dcd67346..00000000 --- a/ci/config_tpl/bundle_tpl/neutron-gateway.yaml +++ /dev/null @@ -1,54 +0,0 @@ - neutron-gateway: - charm: "local:{{ ubuntu.release }}/neutron-gateway" - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if opnfv.spaces_dict.data is defined %} - os-data-network: {{ opnfv.spaces_dict.data.cidr }} -{% endif %} -{% if os.network.controller == 'nosdn' %} -{% if opnfv.ext_port is defined %} -{% if opnfv.data_port is defined %} - bridge-mappings: physnet1:br-ex physnet2:br-data - data-port: br-ex:{{ opnfv.ext_port }} br-data:{{ opnfv.data_port }} -{% else %} - bridge-mappings: physnet1:br-ex - data-port: br-ex:{{ opnfv.ext_port }} -{% endif %} -{% endif %} -{% elif os.network.controller == 'onos' %} - plugin: onos -{% if opnfv.ext_port is defined %} -{% if opnfv.data_port is defined %} - bridge-mappings: physnet1:br-data external:br-ex - data-port: br-data:{{ opnfv.data_port }} br-ex:{{ opnfv.ext_port }} -{% else %} - bridge-mappings: external:br-ex - data-port: br-ex:{{ opnfv.ext_port }} -{% endif %} -{% endif %} -{% if os.network.sfc %} - profile: onos-sfc -{% endif %} -{% elif os.network.controller == 'odl' %} - plugin: ovs-odl -{% if opnfv.ext_port is defined %} -{% if opnfv.data_port is defined %} - bridge-mappings: physnet1:br-ex physnet2:br-data - data-port: br-ex:{{ opnfv.ext_port }} br-data:{{ opnfv.data_port }} -{% else %} - bridge-mappings: physnet1:br-ex - data-port: br-ex:{{ opnfv.ext_port }} -{% endif %} -{% endif %} -{% else %} -{% if opnfv.ext_port is defined %} - ext-port: {{ opnfv.ext_port }} -{% endif %} -{% endif %} - instance-mtu: 1400 - to: - - "nodes=0" -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/neutron-ovs.yaml b/ci/config_tpl/bundle_tpl/neutron-ovs.yaml deleted file mode 100644 index 6c612819..00000000 --- a/ci/config_tpl/bundle_tpl/neutron-ovs.yaml +++ /dev/null @@ -1,29 +0,0 @@ - neutron-openvswitch: - charm: local:{{ ubuntu.release }}/neutron-openvswitch - options: -{% if opnfv.spaces_dict.data is defined %} - os-data-network: {{ opnfv.spaces_dict.data.cidr }} -{% endif %} -{% if os.network.dpdk %} - enable-dpdk: true - #dpdk-driver: uio_pci_generic - #data-port: "" - #default-socket-memory: 1024 - #default-socket-cores: 1 -{% endif %} -{% if opnfv.ext_port is defined %} -{% if os.network.dvr %} -{% if os.network.controller == 'nosdn' %} -{% if opnfv.data_port is defined %} - bridge-mappings: physnet1:br-ex physnet2:br-data - data-port: br-ex:{{ opnfv.ext_port }} br-data:{{ opnfv.data_port }} -{% else %} - bridge-mappings: physnet1:br-ex - data-port: br-ex:{{ opnfv.ext_port }} -{% endif %} -{% else %} - ext-port: {{ opnfv.ext_port }} -{% endif %} -{% endif %} -{% endif %} -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/nova-cloud-controller.yaml b/ci/config_tpl/bundle_tpl/nova-cloud-controller.yaml deleted file mode 100644 index c3f809bb..00000000 --- a/ci/config_tpl/bundle_tpl/nova-cloud-controller.yaml +++ /dev/null @@ -1,32 +0,0 @@ - nova-cloud-controller: - charm: "local:{{ ubuntu.release }}/nova-cloud-controller" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} - #console-access-protocol: novnc - neutron-external-network: ext-net - service-guard: true -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.nova }} -{% endif %} -{% if opnfv.domain is defined %} - console-proxy-ip: {{ opnfv.domain }} -{% endif %} - network-manager: Neutron -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/nova-compute.yaml b/ci/config_tpl/bundle_tpl/nova-compute.yaml deleted file mode 100644 index d331332d..00000000 --- a/ci/config_tpl/bundle_tpl/nova-compute.yaml +++ /dev/null @@ -1,47 +0,0 @@ - nova-compute: - charm: "local:{{ ubuntu.release }}/nova-compute" -{% if os.hyperconverged %} - num_units: {{ opnfv.units - 1 }} -{% else %} -{% if os.ha.mode == 'ha' %} - num_units: {{ opnfv.units - 3 }} -{% else %} - num_units: {{ opnfv.units - 1 }} -{% endif %} -{% endif %} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - enable-live-migration: true - enable-resize: true - migration-auth-type: ssh -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% if os.beta.huge_pages %} - hugepages: "50%" -{% endif %} -{% if os.lxd %} - virt-type: lxd -{% endif %} - to: -{% if os.hyperconverged %} -{% for unit_id in range(1, opnfv.units) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} -{% if os.ha.mode == 'ha' %} -{% for unit_id in range(0, opnfv.units - 3) %} - - "nodes-compute={{ unit_id }}" -{% endfor %} -{% else %} -{% for unit_id in range(0, opnfv.units - 1) %} - - "nodes-compute={{ unit_id }}" -{% endfor %} -{% endif %} -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/oclphase1.yaml b/ci/config_tpl/bundle_tpl/oclphase1.yaml deleted file mode 100644 index 84d52bc7..00000000 --- a/ci/config_tpl/bundle_tpl/oclphase1.yaml +++ /dev/null @@ -1,84 +0,0 @@ - zookeeper: - charm: local:{{ ubuntu.release }}/zookeeper - num_units: {{ unit_qty() }} - series: {{ ubuntu.release }} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - cassandra: - charm: local:{{ ubuntu.release }}/cassandra - num_units: {{ unit_qty() }} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - options: - authenticator: AllowAllAuthenticator - contrail-configuration: - charm: local:{{ ubuntu.release }}/contrail-configuration - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.contrailconfig }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - contrail-control: - charm: local:{{ ubuntu.release }}/contrail-control - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - contrail-analytics: - charm: local:{{ ubuntu.release }}/contrail-analytics - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - contrail-webui: - charm: local:{{ ubuntu.release }}/contrail-webui - num_units: {{ unit_qty() }} - options: - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - haproxy: - charm: local:{{ ubuntu.release }}/haproxy - num_units: {{ unit_qty() }} - options: - peering_mode: active-active - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - kafka: - charm: local:{{ ubuntu.release }}/kafka - num_units: {{ unit_qty() }} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - diff --git a/ci/config_tpl/bundle_tpl/odl.yaml b/ci/config_tpl/bundle_tpl/odl.yaml deleted file mode 100644 index 257f3b67..00000000 --- a/ci/config_tpl/bundle_tpl/odl.yaml +++ /dev/null @@ -1,17 +0,0 @@ - odl-controller: - charm: local:{{ ubuntu.release }}/odl-controller - options: - install-url: "https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.0-Boron/distribution-karaf-0.5.0-Boron.tar.gz" -{% if os.network.sfc %} - profile: "openvswitch-odl-beryllium-sfc" -{% elif os.network.bgpvpn %} - profile: "openvswitch-odl-beryllium-vpn" -{% elif os.network.odll3 %} - profile: "openvswitch-odl-beryllium-l3" -{% else %} - profile: "openvswitch-odl-boron" -{% endif %} - http-proxy: "http://squid.internal:3128" - https-proxy: "http://squid.internal:3128" - to: - - "lxc:nodes=0" diff --git a/ci/config_tpl/bundle_tpl/onos.yaml b/ci/config_tpl/bundle_tpl/onos.yaml deleted file mode 100644 index fd08c717..00000000 --- a/ci/config_tpl/bundle_tpl/onos.yaml +++ /dev/null @@ -1,9 +0,0 @@ - onos-controller: - charm: local:{{ ubuntu.release }}/onos-controller - options: -{% if opnfv.ext_port is defined %} - ext-port: {{ opnfv.ext_port }} -{% endif %} - #gateway-mac: "default" - to: - - "lxc:nodes=0" diff --git a/ci/config_tpl/bundle_tpl/openstack-dashboard.yaml b/ci/config_tpl/bundle_tpl/openstack-dashboard.yaml deleted file mode 100644 index 43d8ef26..00000000 --- a/ci/config_tpl/bundle_tpl/openstack-dashboard.yaml +++ /dev/null @@ -1,20 +0,0 @@ - openstack-dashboard: - charm: "local:{{ ubuntu.release }}/openstack-dashboard" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - secret: admin - webroot: / -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.dashboard }} -{% endif %} -{% if os.beta.public_api %} - endpoint-type: internalURL -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/opnfv-promise.yaml b/ci/config_tpl/bundle_tpl/opnfv-promise.yaml deleted file mode 100644 index 4e96cf73..00000000 --- a/ci/config_tpl/bundle_tpl/opnfv-promise.yaml +++ /dev/null @@ -1,5 +0,0 @@ - opnfv-promise: - charm: local:{{ ubuntu.release }}/promise - to: - - "lxc:nodes=0" -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/phase2-overrides.yaml b/ci/config_tpl/bundle_tpl/phase2-overrides.yaml deleted file mode 100644 index 72de7790..00000000 --- a/ci/config_tpl/bundle_tpl/phase2-overrides.yaml +++ /dev/null @@ -1,43 +0,0 @@ -{% if opnfv.spaces_dict.storage is defined %} - #ceph-cluster-network: {{ opnfv.spaces_dict.storage.cidr }} -{% endif %} -{% if os.network.ipv6 %} - #prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.ha.mode == 'ha' %} -{% if os.api.haproxy_timeout %} - #haproxy-server-timeout: {{ os.api.haproxy_timeout }} - #haproxy-client-timeout: {{ os.api.haproxy_timeout }} - #haproxy-queue-timeout: {{ os.api.haproxy_timeout }} - #haproxy-connect-timeout: {{ os.api.haproxy_timeout }} -{% endif %} -{% endif %} -{% if os.api.worker_multiplier %} - #worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if os.network.dvr %} - #enable-dvr: true -{% endif %} -{% if os.network.l2_population %} - #l2-population: true -{% endif %} - region: {{ os.region }} -{% if ubuntu.release == 'trusty' %} - #source: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% endif %} - #openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% if ubuntu.release == 'xenial' %} -{% if os.release == 'newton' %} - #source: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% endif %} -{% endif %} -{% if os.ha.mode == 'nonha' %} -{% if opnfv.storage_dict.ceph is defined %} - #ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% endif %} - #admin-role: {{ os.admin.role }} - #keystone-admin-role: {{ os.admin.role }} -{% if os.beta.public_api %} - #use-internal-endpoints: true -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/rabbitmq.yaml b/ci/config_tpl/bundle_tpl/rabbitmq.yaml deleted file mode 100644 index f7c27c1d..00000000 --- a/ci/config_tpl/bundle_tpl/rabbitmq.yaml +++ /dev/null @@ -1,18 +0,0 @@ - rabbitmq-server: - charm: "local:{{ ubuntu.release }}/rabbitmq-server" - num_units: {{ unit_qty() }} - options: -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.rabbitmq }} - min-cluster-size: {{ unit_qty() }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/relations.yaml b/ci/config_tpl/bundle_tpl/relations.yaml deleted file mode 100644 index 9eb860b9..00000000 --- a/ci/config_tpl/bundle_tpl/relations.yaml +++ /dev/null @@ -1,110 +0,0 @@ - - [ 'nova-compute:amqp', 'rabbitmq-server:amqp' ] - - [ 'neutron-gateway:amqp', 'rabbitmq-server:amqp' ] - - [ 'keystone:shared-db', 'mysql:shared-db' ] - - [ 'nova-cloud-controller:identity-service', 'keystone:identity-service' ] - - [ 'glance:identity-service', 'keystone:identity-service' ] - - [ 'neutron-api:identity-service', 'keystone:identity-service' ] - - [ 'neutron-api:shared-db', 'mysql:shared-db' ] - - [ 'neutron-api:amqp', 'rabbitmq-server:amqp' ] - - [ 'neutron-gateway:neutron-plugin-api', 'neutron-api:neutron-plugin-api' ] - - [ 'glance:shared-db', 'mysql:shared-db' ] - - [ 'glance:amqp', 'rabbitmq-server:amqp' ] - - [ 'nova-cloud-controller:image-service', 'glance:image-service' ] - - [ 'nova-compute:image-service', 'glance:image-service' ] - - [ 'nova-cloud-controller:cloud-compute', 'nova-compute:cloud-compute' ] - - [ 'nova-cloud-controller:amqp', 'rabbitmq-server:amqp' ] - - [ 'nova-cloud-controller:quantum-network-service', 'neutron-gateway:quantum-network-service' ] - - [ 'openstack-dashboard:identity-service', 'keystone:identity-service' ] - - [ 'nova-cloud-controller:shared-db', 'mysql:shared-db' ] - - [ 'nova-cloud-controller:neutron-api', 'neutron-api:neutron-api' ] - - [ 'cinder:image-service', 'glance:image-service' ] - - [ 'cinder:amqp', 'rabbitmq-server:amqp' ] - - [ 'cinder:identity-service', 'keystone:identity-service' ] - - [ 'cinder:cinder-volume-service', 'nova-cloud-controller:cinder-volume-service' ] - - [ 'cinder:shared-db', 'mysql:shared-db' ] -{% if opnfv.storage_dict.scaleio is defined %} - - [ 'cinder:storage-backend', 'scaleio-openstack:storage-backend' ] - - [ 'scaleio-mdm:scaleio-sds', 'scaleio-sds:scaleio-sds' ] -# - [ 'scaleio-mdm:scaleio-sds', 'scaleio-sds-pd2:scaleio-sds' ] - - [ 'scaleio-mdm:scaleio-mdm', 'scaleio-sdc:scaleio-mdm' ] - - [ 'scaleio-mdm:scaleio-mdm', 'scaleio-gw:scaleio-mdm' ] - - [ 'scaleio-openstack:scaleio-gw', 'scaleio-gw:scaleio-gw' ] - - [ 'nova-compute:ephemeral-backend', 'scaleio-openstack:ephemeral-backend' ] -{% else %} - - [ 'cinder-ceph:storage-backend', 'cinder:storage-backend' ] - - [ 'ceph:client', 'nova-compute:ceph' ] - - [ 'ceph:client', 'cinder-ceph:ceph' ] - - [ 'ceph:client', 'glance:ceph' ] - - [ 'ceph-osd:mon', 'ceph:osd' ] - - [ 'ceph-radosgw:mon', 'ceph:radosgw' ] - - [ 'ceph-radosgw:identity-service', 'keystone:identity-service' ] -{% if os.service.congress %} - - [ 'congress:shared-db', 'mysql:shared-db' ] - - [ 'congress:identity-service', 'keystone:identity-service' ] - - [ 'congress:amqp', 'rabbitmq-server:amqp' ] -{% endif %} -{% endif %} - - [ 'ceilometer:amqp', 'rabbitmq-server:amqp' ] - - [ 'ceilometer-agent:ceilometer-service', 'ceilometer:ceilometer-service' ] - - [ 'ceilometer:identity-service', 'keystone:identity-service' ] - - [ 'ceilometer:identity-notifications', 'keystone:identity-notifications' ] - - [ 'ceilometer-agent:nova-ceilometer', 'nova-compute:nova-ceilometer' ] - - [ 'ceilometer:shared-db', 'mongodb:database' ] - - [ 'heat:shared-db', 'mysql:shared-db' ] - - [ 'heat:identity-service', 'keystone:identity-service' ] - - [ 'heat:amqp', 'rabbitmq-server:amqp' ] - - [ 'aodh:amqp', 'rabbitmq-server:amqp' ] - - [ 'aodh:shared-db', 'mysql:shared-db' ] - - [ 'aodh:identity-service', 'keystone:identity-service' ] -{% if os.lxd %} - - [ 'nova-compute:lxd', 'lxd:lxd' ] -{% endif %} -{% if os.network.controller == 'nosdn' %} - - [ 'neutron-openvswitch:amqp', 'rabbitmq-server:amqp' ] - - [ 'nova-compute:neutron-plugin', 'neutron-openvswitch:neutron-plugin' ] - - [ 'neutron-openvswitch:neutron-plugin-api', 'neutron-api:neutron-plugin-api' ] -{% elif os.network.controller == 'odl' %} - - [ 'neutron-api:neutron-plugin-api-subordinate', 'neutron-api-odl:neutron-plugin-api-subordinate' ] - - [ 'nova-compute:neutron-plugin', 'openvswitch-odl:neutron-plugin' ] - - [ 'neutron-gateway', 'openvswitch-odl' ] - - [ 'openvswitch-odl:ovsdb-manager', 'odl-controller:ovsdb-manager' ] - - [ 'neutron-api-odl:odl-controller', 'odl-controller:controller-api' ] -{% elif os.network.controller == 'onos' %} - - [ 'neutron-api:neutron-plugin-api-subordinate', 'neutron-api-onos:neutron-plugin-api-subordinate' ] - - [ 'nova-compute:neutron-plugin', 'openvswitch-onos:neutron-plugin' ] - - [ 'neutron-gateway', 'openvswitch-onos' ] - - [ 'openvswitch-onos:ovsdb-manager', 'onos-controller:ovsdb-manager' ] - - [ 'neutron-api-onos:onos-controller', 'onos-controller:controller-api' ] -{% elif os.network.controller == 'ocl' %} - - [ 'kafka', 'zookeeper' ] - - [ 'contrail-configuration:cassandra', 'cassandra:database' ] - - [ 'contrail-configuration:contrail-analytics-api', 'contrail-analytics:contrail-analytics-api' ] - - [ 'contrail-configuration', 'zookeeper' ] - - [ 'contrail-configuration', 'rabbitmq-server' ] - - [ 'contrail-configuration', 'keystone' ] - - [ 'contrail-configuration', 'haproxy' ] - - [ 'contrail-analytics:cassandra', 'cassandra:database' ] - - [ 'contrail-analytics:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-analytics:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-analytics', 'kafka' ] - - [ 'contrail-analytics', 'zookeeper' ] - - [ 'contrail-analytics', 'keystone' ] - - [ 'contrail-analytics', 'haproxy' ] - - [ 'contrail-control:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-control:contrail-ifmap', 'contrail-configuration:contrail-ifmap' ] - - [ 'contrail-control:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-control', 'keystone' ] - - [ 'neutron-api-contrail', 'contrail-configuration' ] - - [ 'neutron-api-contrail', 'keystone' ] - - [ 'contrail-webui', 'keystone' ] - - [ 'contrail-webui:contrail_api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-webui:contrail_discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-webui:cassandra', 'cassandra:database' ] - - [ 'contrail-webui', 'haproxy' ] - - [ 'neutron-contrail', 'keystone' ] - - [ 'neutron-contrail:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'neutron-contrail:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'haproxy', 'keepalived' ] - - [ 'ceilometer', 'ceilometer-contrail' ] - - [ 'ceilometer-contrail', 'contrail-analytics' ] -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/scaleio.yaml b/ci/config_tpl/bundle_tpl/scaleio.yaml deleted file mode 100644 index a970dd0d..00000000 --- a/ci/config_tpl/bundle_tpl/scaleio.yaml +++ /dev/null @@ -1,54 +0,0 @@ -{% if opnfv.storage_dict.scaleio is defined %} - scaleio-mdm: - charm: "local:{{ ubuntu.release }}/scaleio-mdm" - num_units: {{ unit_scaleio_qty() }} - options: - cluster-mode: 3 - to: -{% if os.hyperconverged %} -{% for unit_id in range(0, 3) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} - - "nodes=0" - - "nodes-compute=0" - - "nodes-compute=1" -{% endif %} - scaleio-sds: - charm: "local:{{ ubuntu.release }}/scaleio-sds" - num_units: {{ opnfv.units }} - options: - protection-domain: 'pd1' - device-paths: {{ opnfv.storage_dict.scaleio.disk }} - to: -{% if os.hyperconverged %} -{% for unit_id in range(0, opnfv.units) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} -{% for unit_id in range(0, opnfv.units) %} - - "{{ unit_id }}" -{% endfor %} -{% endif %} - scaleio-sdc: - charm: "local:{{ ubuntu.release }}/scaleio-sdc" - num_units: {{ opnfv.units }} - to: -{% if os.hyperconverged %} -{% for unit_id in range(0, opnfv.units) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} -{% for unit_id in range(0, opnfv.units) %} - - "{{ unit_id }}" -{% endfor %} -{% endif %} - scaleio-gw: - charm: "local:{{ ubuntu.release }}/scaleio-gw" - to: - - "nodes=0" - scaleio-gui: - charm: "local:{{ ubuntu.release }}/scaleio-gui" - to: - - "nodes=0" -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/subordinate.yaml b/ci/config_tpl/bundle_tpl/subordinate.yaml deleted file mode 100644 index b9233cef..00000000 --- a/ci/config_tpl/bundle_tpl/subordinate.yaml +++ /dev/null @@ -1,83 +0,0 @@ - - ceilometer-agent: - charm: local:{{ ubuntu.release }}/ceilometer-agent - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if opnfv.storage_dict.ceph is defined %} - cinder-ceph: - charm: local:{{ ubuntu.release }}/cinder-ceph - options: -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% endif %} -{% if os.network.controller == 'nosdn' %} -{% include 'neutron-ovs.yaml' %} -{% elif os.network.controller == 'odl' %} - neutron-api-odl: - charm: local:{{ ubuntu.release }}/neutron-api-odl - options: - overlay-network-type: 'vxlan' - security-groups: True - openvswitch-odl: - charm: local:{{ ubuntu.release }}/openvswitch-odl - options: -{% if opnfv.spaces_dict.data is defined %} - os-data-network: {{ opnfv.spaces_dict.data.cidr }} -{% endif %} -{% elif os.network.controller == 'onos' %} - neutron-api-onos: - charm: local:{{ ubuntu.release }}/neutron-api-onos - options: - overlay-network-type: 'vxlan' - security-groups: True - openvswitch-onos: - charm: local:{{ ubuntu.release }}/openvswitch-onos - options: -{% if opnfv.spaces_dict.data is defined %} - os-data-network: {{ opnfv.spaces_dict.data.cidr }} -{% endif %} -{% if os.network.sfc %} - profile: onos-sfc -{% endif %} -{% elif os.network.controller == 'ocl' %} - ceilometer-contrail: - charm: local:{{ ubuntu.release }}/ceilometer-contrail - options: - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - neutron-api-contrail: - charm: local:{{ ubuntu.release }}/neutron-api-contrail - options: - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - neutron-contrail: - charm: local:{{ ubuntu.release }}/neutron-contrail - options: - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - keepalived: - charm: local:{{ ubuntu.release }}/keepalived - options: - router-id: 1 -{% if os.ha.mode == 'ha' %} - virtual-ip: {{ opnfv.vip.keepalived }} -{% endif %} -{% endif %} -{% if os.lxd %} - lxd: - charm: local:{{ ubuntu.release }}/lxd - options: -{% endif %} -{% if opnfv.storage_dict.scaleio is defined %} - scaleio-openstack: - charm: local:{{ ubuntu.release }}/scaleio-openstack - options: - protection-domains: 'pd1' -{% endif %} diff --git a/ci/config_tpl/juju2/bundle_tpl/bundle.yaml b/ci/config_tpl/juju2/bundle_tpl/bundle.yaml index 5a49b9a7..910d6073 100644 --- a/ci/config_tpl/juju2/bundle_tpl/bundle.yaml +++ b/ci/config_tpl/juju2/bundle_tpl/bundle.yaml @@ -13,7 +13,7 @@ {% else %} num_units: 1 {% endif %} - constraints: tags=control + nodes-compute: charm: "cs:{{ ubuntu.release }}/ubuntu" {% if os.ha.mode == 'ha' %} @@ -30,7 +30,6 @@ auto_peers: false {% endif %} {% include 'mysql.yaml' %} -{% include 'ceilometer.yaml' %} {% if opnfv.storage_dict.scaleio is defined %} {% include 'scaleio.yaml' %} {% else %} @@ -54,9 +53,12 @@ {% include 'nova-compute.yaml' %} {% include 'openstack-dashboard.yaml' %} {% include 'rabbitmq.yaml' %} -{% include 'heat.yaml' %} {% include 'neutron-api.yaml' %} +{% if os.network.controller != 'ocl' %} {% include 'neutron-gateway.yaml' %} +{% include 'heat.yaml' %} +{% include 'ceilometer.yaml' %} +{% endif %} {% include 'aodh.yaml' %} {% if os.network.controller == 'odl' %} {% include 'odl.yaml' %} diff --git a/ci/config_tpl/juju2/bundle_tpl/ceph.yaml b/ci/config_tpl/juju2/bundle_tpl/ceph.yaml index dc4e101b..6b20d986 100644 --- a/ci/config_tpl/juju2/bundle_tpl/ceph.yaml +++ b/ci/config_tpl/juju2/bundle_tpl/ceph.yaml @@ -39,8 +39,8 @@ {% endfor %} {% else %} - "lxd:nodes/0" - - "lxd:nodes/0" - - "lxd:nodes/0" + - "lxd:nodes/1" + - "lxd:nodes/2" {% endif %} {% endif %} ceph-osd: diff --git a/ci/config_tpl/juju2/bundle_tpl/haclusters.yaml b/ci/config_tpl/juju2/bundle_tpl/haclusters.yaml index 1f1afb5a..3b5f1844 100644 --- a/ci/config_tpl/juju2/bundle_tpl/haclusters.yaml +++ b/ci/config_tpl/juju2/bundle_tpl/haclusters.yaml @@ -15,6 +15,7 @@ {% if os.network.ipv6 %} prefer-ipv6: {{ os.network.ipv6 }} {% endif %} +{% if os.network.controller != 'ocl' %} # hacluster-heat: # charm: "./{{ ubuntu.release }}/hacluster" # options: @@ -23,6 +24,7 @@ {% if os.network.ipv6 %} # prefer-ipv6: {{ os.network.ipv6 }} {% endif %} +{% endif %} hacluster-horizon: charm: "./{{ ubuntu.release }}/hacluster" options: @@ -55,6 +57,7 @@ {% if os.network.ipv6 %} prefer-ipv6: {{ os.network.ipv6 }} {% endif %} +{% if os.network.controller != 'ocl' %} hacluster-ceilometer: charm: "./{{ ubuntu.release }}/hacluster" options: @@ -63,6 +66,7 @@ {% if os.network.ipv6 %} prefer-ipv6: {{ os.network.ipv6 }} {% endif %} +{% endif %} hacluster-mysql: charm: "./{{ ubuntu.release }}/hacluster" options: diff --git a/ci/config_tpl/juju2/bundle_tpl/harelations.yaml b/ci/config_tpl/juju2/bundle_tpl/harelations.yaml index d4c4c064..212516c5 100644 --- a/ci/config_tpl/juju2/bundle_tpl/harelations.yaml +++ b/ci/config_tpl/juju2/bundle_tpl/harelations.yaml @@ -1,13 +1,15 @@ {% if os.ha.mode == 'ha' %} +{% if os.network.controller != 'ocl' %} +# - [ 'heat:ha', 'hacluster-heat:ha' ] + - [ 'ceilometer:ha', 'hacluster-ceilometer:ha' ] +{% endif %} - [ 'mysql:ha', 'hacluster-mysql:ha' ] - [ 'cinder:ha', 'hacluster-cinder:ha' ] -# - [ 'heat:ha', 'hacluster-heat:ha' ] - [ 'glance:ha', 'hacluster-glance:ha' ] - [ 'keystone:ha', 'hacluster-keystone:ha' ] - [ 'neutron-api:ha', 'hacluster-neutron:ha' ] - [ 'nova-cloud-controller:ha', 'hacluster-nova:ha' ] - [ 'openstack-dashboard:ha', 'hacluster-horizon:ha' ] - - [ 'ceilometer:ha', 'hacluster-ceilometer:ha' ] {% if os.beta.hacluster_ceph_radosgw %} - [ 'ceph-radosgw:ha', 'hacluster-ceph-radosgw:ha' ] {% endif %} diff --git a/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml b/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml index 28866fbe..588eeb2b 100644 --- a/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml +++ b/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml @@ -1,76 +1,111 @@ - zookeeper: - charm: ./{{ ubuntu.release }}/zookeeper - num_units: {{ unit_qty() }} - series: {{ ubuntu.release }} - to: -{% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" -{% endfor %} - cassandra: - charm: ./{{ ubuntu.release }}/cassandra - num_units: {{ unit_qty() }} - to: -{% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" -{% endfor %} - options: - authenticator: AllowAllAuthenticator - contrail-configuration: - charm: ./{{ ubuntu.release }}/contrail-configuration - num_units: {{ unit_qty() }} + + contrail-openstack: + charm: ./{{ ubuntu.release }}/contrail-openstack options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: ppa:opencontrail/trunk-20160812 -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.contrailconfig }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" -{% endfor %} - contrail-control: - charm: ./{{ ubuntu.release }}/contrail-control - num_units: {{ unit_qty() }} + install-keys: | + - | + -----BEGIN PGP PUBLIC KEY BLOCK----- + Version: GnuPG v1 + + mQENBFkIj2sBCADL2Kws0P+19LnEMuWmGDJFo5WjJ3nk6ubf8AKQiF/5MMyYP665 + s3nKviU4gO+NBjMGIRWfVDUdikG/mUhlIC2x17lrIVA1rrOj7IwL6CgLDOn5lQeu + SOL2XavLToJlG1TgkPOObmCjeg8wZxswUIIc9BVVdG2XKFlEEQ0ExyhDjq25JuOI + OaWsY0TrAfuLnimZ/cchBT8ThTcheko47jaKnHI0rlsqXKX6oeZ1vIAtMSPIAuc/ + G0Et8z+aXY7vpWRrJsdXvZECJCVhc58af3LwmcczC5WvwGbrTI2Q7mCiVoUUyRV/ + MBXYSPZFCiLZHBive5ZrpfWozoLDUL+dZCMrABEBAAG0LFN0dWFydCBNYWNraWUg + KE9QTkZWKSA8d3NtYWNraWVAanVuaXBlci5uZXQ+iQE4BBMBAgAiBQJZCI9rAhsD + BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB8SBQaOveMpwTSB/0Y0Fr0xXA+ + fd2j6Xq8+LJF6aM1/GKz9u36QR4nD2J6J4I01/OeJnemco1yPgkm7zLMMmWfIyRV + 1WStkRiKxcWYXU4Fg+iCikbPG09z5FeIDWh643mYClLpg+jI+c8gsYSzqiuLw7NM + 4Qn/cKqSh1IunFWgRSKpPlGgFSn+3jWaRZs98Pq+Zqz+FbjWArrsyWMsFXuB7/vm + X2wz1IcHWO4kcjtMaeTizMIitAjmWl0cO9X4IBgQMwRxlelD4lAw+iyCLUTkqmOW + kncGgfOOyV0A5Cd2Ws2Hi7Ikz1RUI6OqyVtlC76cEIG+DnPmb0v1BH8CQ6bLOrOT + kETcdvBBZOMmuQENBFkIj2sBCACy4VoDFcy8ZyLuKOwQw/9LdGMFkbb3OJDsrPT0 + bz9CmYHSTRVAbJljlOa0Q/qzpPNk7jHslMBjewp5nSdK091/LBc9OJw9SDcnLWHM + Nxxes6IyVOqZe2Xa49S3FqMJsfYf3Q6i89L5WySr+bcfF0+CFe57cKFGX3l/pPE2 + dVwIsCUo1puEFrvSJqQiU22MtrL7g8XM83zJF5OU7u34+BR+Rc40MSJm7dsbn29m + QKlmkoV1KSG7va/WNoz1sfySmPgMjHx2b1f5GGt3du5RQESn1jDTHdNj+bqvrQ3r + uw6SbbuCsGzMJMD3LovfI62xNGYhda/GlHgYAyg0nDJ1aa3TABEBAAGJAR8EGAEC + AAkFAlkIj2sCGwwACgkQfEgUGjr3jKdeigf/QsBlCNOXcuXjU0gw6w6Q77XQcNzD + 4+Bw2igCmQOhAZSMLsRMMWzLiu35xthVcUOACyLfCSZWSLQh8x8jGpU29cMhLqlY + CMerpnFldqH+f3omORBENAFCO1C4ZGym+zLFSBQBZhf8U7y2eC/sSeCGMEOkKpbg + TX5psQXa8SnjWUrfg0aDgd4KVK+AGE3BTVaJmT//OrXy8e4AzspX8oNa15ntk/ll + WOsSJ4g1WHIk3mwPLjCwufbu4GErHBxyCfYlG1I3Vu8Ilp7dL3vpjcDRocJLoIyb + WUHA5RozR0o3GEI/IDS5TiVqMxqvdkayP1ySrjBbQxT3wOiTBxic5wI/zQ== + =5y7K + -----END PGP PUBLIC KEY BLOCK----- + + install-sources: | + - "deb http:65.122.57.42/repo /" + + contrail-agent: + charm: ./{{ ubuntu.release }}/contrail-agent options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: ppa:opencontrail/trunk-20160812 - to: -{% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" -{% endfor %} + install-keys: | + - | + -----BEGIN PGP PUBLIC KEY BLOCK----- + Version: GnuPG v1 + + mQENBFkIj2sBCADL2Kws0P+19LnEMuWmGDJFo5WjJ3nk6ubf8AKQiF/5MMyYP665 + s3nKviU4gO+NBjMGIRWfVDUdikG/mUhlIC2x17lrIVA1rrOj7IwL6CgLDOn5lQeu + SOL2XavLToJlG1TgkPOObmCjeg8wZxswUIIc9BVVdG2XKFlEEQ0ExyhDjq25JuOI + OaWsY0TrAfuLnimZ/cchBT8ThTcheko47jaKnHI0rlsqXKX6oeZ1vIAtMSPIAuc/ + G0Et8z+aXY7vpWRrJsdXvZECJCVhc58af3LwmcczC5WvwGbrTI2Q7mCiVoUUyRV/ + MBXYSPZFCiLZHBive5ZrpfWozoLDUL+dZCMrABEBAAG0LFN0dWFydCBNYWNraWUg + KE9QTkZWKSA8d3NtYWNraWVAanVuaXBlci5uZXQ+iQE4BBMBAgAiBQJZCI9rAhsD + BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB8SBQaOveMpwTSB/0Y0Fr0xXA+ + fd2j6Xq8+LJF6aM1/GKz9u36QR4nD2J6J4I01/OeJnemco1yPgkm7zLMMmWfIyRV + 1WStkRiKxcWYXU4Fg+iCikbPG09z5FeIDWh643mYClLpg+jI+c8gsYSzqiuLw7NM + 4Qn/cKqSh1IunFWgRSKpPlGgFSn+3jWaRZs98Pq+Zqz+FbjWArrsyWMsFXuB7/vm + X2wz1IcHWO4kcjtMaeTizMIitAjmWl0cO9X4IBgQMwRxlelD4lAw+iyCLUTkqmOW + kncGgfOOyV0A5Cd2Ws2Hi7Ikz1RUI6OqyVtlC76cEIG+DnPmb0v1BH8CQ6bLOrOT + kETcdvBBZOMmuQENBFkIj2sBCACy4VoDFcy8ZyLuKOwQw/9LdGMFkbb3OJDsrPT0 + bz9CmYHSTRVAbJljlOa0Q/qzpPNk7jHslMBjewp5nSdK091/LBc9OJw9SDcnLWHM + Nxxes6IyVOqZe2Xa49S3FqMJsfYf3Q6i89L5WySr+bcfF0+CFe57cKFGX3l/pPE2 + dVwIsCUo1puEFrvSJqQiU22MtrL7g8XM83zJF5OU7u34+BR+Rc40MSJm7dsbn29m + QKlmkoV1KSG7va/WNoz1sfySmPgMjHx2b1f5GGt3du5RQESn1jDTHdNj+bqvrQ3r + uw6SbbuCsGzMJMD3LovfI62xNGYhda/GlHgYAyg0nDJ1aa3TABEBAAGJAR8EGAEC + AAkFAlkIj2sCGwwACgkQfEgUGjr3jKdeigf/QsBlCNOXcuXjU0gw6w6Q77XQcNzD + 4+Bw2igCmQOhAZSMLsRMMWzLiu35xthVcUOACyLfCSZWSLQh8x8jGpU29cMhLqlY + CMerpnFldqH+f3omORBENAFCO1C4ZGym+zLFSBQBZhf8U7y2eC/sSeCGMEOkKpbg + TX5psQXa8SnjWUrfg0aDgd4KVK+AGE3BTVaJmT//OrXy8e4AzspX8oNa15ntk/ll + WOsSJ4g1WHIk3mwPLjCwufbu4GErHBxyCfYlG1I3Vu8Ilp7dL3vpjcDRocJLoIyb + WUHA5RozR0o3GEI/IDS5TiVqMxqvdkayP1ySrjBbQxT3wOiTBxic5wI/zQ== + =5y7K + -----END PGP PUBLIC KEY BLOCK----- + + install-sources: | + - "deb http:65.122.57.42/repo /" + contrail-analytics: charm: ./{{ ubuntu.release }}/contrail-analytics num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: ppa:opencontrail/trunk-20160812 to: {% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" + - "nodes/{{ unit_id }}" {% endfor %} - contrail-webui: - charm: ./{{ ubuntu.release }}/contrail-webui + + contrail-analyticsdb: + charm: ./{{ ubuntu.release }}/contrail-analyticsdb num_units: {{ unit_qty() }} - options: - install-sources: ppa:opencontrail/trunk-20160812 to: {% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" + - "nodes/{{ unit_id }}" {% endfor %} - haproxy: - charm: ./{{ ubuntu.release }}/haproxy + + contrail-controller: + charm: ./{{ ubuntu.release }}/contrail-controller num_units: {{ unit_qty() }} - options: - peering_mode: active-active to: {% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" + - "nodes/{{ unit_id }}" {% endfor %} - kafka: - charm: ./{{ ubuntu.release }}/kafka - num_units: {{ unit_qty() }} + + contrail-keystone-auth: + charm: ./{{ ubuntu.release }}/contrail-keystone-auth + num_units: 1 + bindings: + "": internal-api to: -{% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" -{% endfor %} + - "lxd:nodes/0" diff --git a/ci/config_tpl/juju2/bundle_tpl/phase2-overrides.yaml b/ci/config_tpl/juju2/bundle_tpl/phase2-overrides.yaml deleted file mode 100644 index a8dbd400..00000000 --- a/ci/config_tpl/juju2/bundle_tpl/phase2-overrides.yaml +++ /dev/null @@ -1,41 +0,0 @@ -{% if opnfv.spaces_dict.storage is defined %} - #ceph-cluster-network: {{ opnfv.spaces_dict.storage.cidr }} -{% endif %} -{% if os.network.ipv6 %} - #prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.ha.mode == 'ha' %} -{% if os.api.haproxy_timeout %} - #haproxy-server-timeout: {{ os.api.haproxy_timeout }} - #haproxy-client-timeout: {{ os.api.haproxy_timeout }} - #haproxy-queue-timeout: {{ os.api.haproxy_timeout }} - #haproxy-connect-timeout: {{ os.api.haproxy_timeout }} -{% endif %} -{% endif %} -{% if os.api.worker_multiplier %} - #worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if os.network.dvr %} - #enable-dvr: true -{% endif %} -{% if os.network.l2_population %} - #l2-population: true -{% endif %} -{% if ubuntu.release == 'trusty' %} - #source: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% endif %} -{% if ubuntu.release == 'xenial' %} -{% if os.release == 'newton' %} - #source: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% endif %} -{% endif %} -{% if os.ha.mode == 'nonha' %} -{% if opnfv.storage_dict.ceph is defined %} - #ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% endif %} - #admin-role: {{ os.admin.role }} - #keystone-admin-role: {{ os.admin.role }} -{% if os.beta.public_api %} - #use-internal-endpoints: true -{% endif %} diff --git a/ci/config_tpl/juju2/bundle_tpl/relations.yaml b/ci/config_tpl/juju2/bundle_tpl/relations.yaml index 012d696d..525204e7 100644 --- a/ci/config_tpl/juju2/bundle_tpl/relations.yaml +++ b/ci/config_tpl/juju2/bundle_tpl/relations.yaml @@ -1,19 +1,30 @@ - [ 'nova-compute:amqp', 'rabbitmq-server:amqp' ] +{% if os.network.controller != 'ocl' %} - [ 'neutron-gateway:amqp', 'rabbitmq-server:amqp' ] + - [ 'neutron-gateway:neutron-plugin-api', 'neutron-api:neutron-plugin-api' ] + - [ 'nova-cloud-controller:quantum-network-service', 'neutron-gateway:quantum-network-service' ] + - [ 'heat:shared-db', 'mysql:shared-db' ] + - [ 'heat:identity-service', 'keystone:identity-service' ] + - [ 'heat:amqp', 'rabbitmq-server:amqp' ] + - [ 'ceilometer:amqp', 'rabbitmq-server:amqp' ] + - [ 'ceilometer-agent:ceilometer-service', 'ceilometer:ceilometer-service' ] + - [ 'ceilometer:identity-service', 'keystone:identity-service' ] + - [ 'ceilometer:identity-notifications', 'keystone:identity-notifications' ] + - [ 'ceilometer-agent:nova-ceilometer', 'nova-compute:nova-ceilometer' ] + - [ 'ceilometer:shared-db', 'mongodb:database' ] +{% endif %} - [ 'keystone:shared-db', 'mysql:shared-db' ] - [ 'nova-cloud-controller:identity-service', 'keystone:identity-service' ] - [ 'glance:identity-service', 'keystone:identity-service' ] - [ 'neutron-api:identity-service', 'keystone:identity-service' ] - [ 'neutron-api:shared-db', 'mysql:shared-db' ] - [ 'neutron-api:amqp', 'rabbitmq-server:amqp' ] - - [ 'neutron-gateway:neutron-plugin-api', 'neutron-api:neutron-plugin-api' ] - [ 'glance:shared-db', 'mysql:shared-db' ] - [ 'glance:amqp', 'rabbitmq-server:amqp' ] - [ 'nova-cloud-controller:image-service', 'glance:image-service' ] - [ 'nova-compute:image-service', 'glance:image-service' ] - [ 'nova-cloud-controller:cloud-compute', 'nova-compute:cloud-compute' ] - [ 'nova-cloud-controller:amqp', 'rabbitmq-server:amqp' ] - - [ 'nova-cloud-controller:quantum-network-service', 'neutron-gateway:quantum-network-service' ] - [ 'openstack-dashboard:identity-service', 'keystone:identity-service' ] - [ 'nova-cloud-controller:shared-db', 'mysql:shared-db' ] - [ 'nova-cloud-controller:neutron-api', 'neutron-api:neutron-api' ] @@ -44,15 +55,6 @@ - [ 'congress:amqp', 'rabbitmq-server:amqp' ] {% endif %} {% endif %} - - [ 'ceilometer:amqp', 'rabbitmq-server:amqp' ] - - [ 'ceilometer-agent:ceilometer-service', 'ceilometer:ceilometer-service' ] - - [ 'ceilometer:identity-service', 'keystone:identity-service' ] - - [ 'ceilometer:identity-notifications', 'keystone:identity-notifications' ] - - [ 'ceilometer-agent:nova-ceilometer', 'nova-compute:nova-ceilometer' ] - - [ 'ceilometer:shared-db', 'mongodb:database' ] - - [ 'heat:shared-db', 'mysql:shared-db' ] - - [ 'heat:identity-service', 'keystone:identity-service' ] - - [ 'heat:amqp', 'rabbitmq-server:amqp' ] - [ 'aodh:amqp', 'rabbitmq-server:amqp' ] - [ 'aodh:shared-db', 'mysql:shared-db' ] - [ 'aodh:identity-service', 'keystone:identity-service' ] @@ -76,35 +78,14 @@ - [ 'openvswitch-onos:ovsdb-manager', 'onos-controller:ovsdb-manager' ] - [ 'neutron-api-onos:onos-controller', 'onos-controller:controller-api' ] {% elif os.network.controller == 'ocl' %} - - [ 'kafka', 'zookeeper' ] - - [ 'contrail-configuration:cassandra', 'cassandra:database' ] - - [ 'contrail-configuration:contrail-analytics-api', 'contrail-analytics:contrail-analytics-api' ] - - [ 'contrail-configuration', 'zookeeper' ] - - [ 'contrail-configuration', 'rabbitmq-server' ] - - [ 'contrail-configuration', 'keystone' ] - - [ 'contrail-configuration', 'haproxy' ] - - [ 'contrail-analytics:cassandra', 'cassandra:database' ] - - [ 'contrail-analytics:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-analytics:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-analytics', 'kafka' ] - - [ 'contrail-analytics', 'zookeeper' ] - - [ 'contrail-analytics', 'keystone' ] - - [ 'contrail-analytics', 'haproxy' ] - - [ 'contrail-control:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-control:contrail-ifmap', 'contrail-configuration:contrail-ifmap' ] - - [ 'contrail-control:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-control', 'keystone' ] - - [ 'neutron-api-contrail', 'contrail-configuration' ] - - [ 'neutron-api-contrail', 'keystone' ] - - [ 'contrail-webui', 'keystone' ] - - [ 'contrail-webui:contrail_api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-webui:contrail_discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-webui:cassandra', 'cassandra:database' ] - - [ 'contrail-webui', 'haproxy' ] - - [ 'neutron-contrail', 'keystone' ] - - [ 'neutron-contrail:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'neutron-contrail:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'haproxy', 'keepalived' ] - - [ 'ceilometer', 'ceilometer-contrail' ] - - [ 'ceilometer-contrail', 'contrail-analytics' ] + - [ 'contrail-keystone-auth', 'keystone' ] + - [ 'contrail-controller', 'contrail-keystone-auth' ] + - [ 'contrail-analytics', 'contrail-analyticsdb' ] + - [ 'contrail-controller', 'contrail-analytics' ] + - [ 'contrail-controller', 'contrail-analyticsdb' ] + - [ 'contrail-openstack', 'nova-compute' ] + - [ 'contrail-openstack', 'neutron-api' ] + - [ 'contrail-openstack', 'contrail-controller' ] + - [ 'contrail-agent:juju-info', 'nova-compute:juju-info' ] + - [ 'contrail-agent', 'contrail-controller'] {% endif %} diff --git a/ci/config_tpl/juju2/bundle_tpl/subordinate.yaml b/ci/config_tpl/juju2/bundle_tpl/subordinate.yaml index c9378d91..b12f0a56 100644 --- a/ci/config_tpl/juju2/bundle_tpl/subordinate.yaml +++ b/ci/config_tpl/juju2/bundle_tpl/subordinate.yaml @@ -1,4 +1,5 @@ +{% if os.network.controller != 'ocl' %} ceilometer-agent: charm: ./{{ ubuntu.release }}/ceilometer-agent options: @@ -6,6 +7,7 @@ {% if os.beta.public_api %} use-internal-endpoints: true {% endif %} +{% endif %} {% if opnfv.storage_dict.ceph is defined %} cinder-ceph: charm: ./{{ ubuntu.release }}/cinder-ceph @@ -48,26 +50,6 @@ {% if os.network.sfc %} profile: onos-sfc {% endif %} -{% elif os.network.controller == 'ocl' %} - ceilometer-contrail: - charm: ./{{ ubuntu.release }}/ceilometer-contrail - options: - install-sources: ppa:opencontrail/trunk-20160812 - neutron-api-contrail: - charm: ./{{ ubuntu.release }}/neutron-api-contrail - options: - install-sources: ppa:opencontrail/trunk-20160812 - neutron-contrail: - charm: ./{{ ubuntu.release }}/neutron-contrail - options: - install-sources: ppa:opencontrail/trunk-20160812 - keepalived: - charm: ./{{ ubuntu.release }}/keepalived - options: - router-id: 1 -{% if os.ha.mode == 'ha' %} - virtual-ip: {{ opnfv.vip.keepalived }} -{% endif %} {% endif %} {% if os.lxd %} lxd: diff --git a/ci/config_tpl/juju2/bundlek8_tpl/bundle.yaml b/ci/config_tpl/juju2/bundlek8_tpl/bundle.yaml index 400dcb45..96a27cfb 100644 --- a/ci/config_tpl/juju2/bundlek8_tpl/bundle.yaml +++ b/ci/config_tpl/juju2/bundlek8_tpl/bundle.yaml @@ -15,11 +15,16 @@ {% include 'kubernetes.yaml' %} {% include 'easyrsa.yaml' %} {% include 'etcd.yaml' %} -{% include 'subordinate.yaml' %} {% if k8.feature.loadbalancer %} {% include 'kubeapi-load-balancer.yaml' %} {% endif %} +{% if k8.network.controller == 'ovn' %} +{% include 'ovn.yaml' %} +{% else %} +{% include 'flannel.yaml' %} +{% endif %} + relations: - [ 'ntp:juju-info', 'nodes:juju-info' ] diff --git a/ci/config_tpl/juju2/bundlek8_tpl/easyrsa.yaml b/ci/config_tpl/juju2/bundlek8_tpl/easyrsa.yaml index a4633fcb..ea46e424 100644 --- a/ci/config_tpl/juju2/bundlek8_tpl/easyrsa.yaml +++ b/ci/config_tpl/juju2/bundlek8_tpl/easyrsa.yaml @@ -6,5 +6,9 @@ "": internal-api {% endif %} to: - - "lxd:nodes/0" +{% if k8.network.controller == 'ovn' %} + - "nodes/1" +{% else %} + - "lxd:nodes/0" +{% endif %} diff --git a/ci/config_tpl/juju2/bundlek8_tpl/etcd.yaml b/ci/config_tpl/juju2/bundlek8_tpl/etcd.yaml index 5915038c..d902adf8 100644 --- a/ci/config_tpl/juju2/bundlek8_tpl/etcd.yaml +++ b/ci/config_tpl/juju2/bundlek8_tpl/etcd.yaml @@ -1,7 +1,11 @@ etcd: charm: "cs:~containers/etcd" {% if k8.feature.loadbalancer %} +{% if k8.network.controller == 'ovn' %} + num_units: 1 +{% else %} num_units: 3 +{% endif %} {% else %} num_units: 1 {% endif %} @@ -10,6 +14,9 @@ "": internal-api {% endif %} to: +{% if k8.network.controller == 'ovn' %} + - "nodes/0" +{% else %} {% if k8.feature.loadbalancer %} {% for unit_id in to_select() %} - "lxd:nodes/0" @@ -17,4 +24,5 @@ {% else %} - "lxd:nodes/0" {% endif %} +{% endif %} diff --git a/ci/config_tpl/juju2/bundlek8_tpl/flannel.yaml b/ci/config_tpl/juju2/bundlek8_tpl/flannel.yaml new file mode 100644 index 00000000..561e0880 --- /dev/null +++ b/ci/config_tpl/juju2/bundlek8_tpl/flannel.yaml @@ -0,0 +1,7 @@ + + flannel: + charm: cs:~containers/flannel +{% if os.service.bindings %} + bindings: + "": internal-api +{% endif %}
\ No newline at end of file diff --git a/ci/config_tpl/juju2/bundlek8_tpl/kubernetes.yaml b/ci/config_tpl/juju2/bundlek8_tpl/kubernetes.yaml index 93f8890e..933c1ef7 100644 --- a/ci/config_tpl/juju2/bundlek8_tpl/kubernetes.yaml +++ b/ci/config_tpl/juju2/bundlek8_tpl/kubernetes.yaml @@ -2,13 +2,33 @@ charm: "cs:~containers/kubernetes-master" num_units: 1 expose: true +{% if os.service.bindings %} + bindings: + "": internal-api +{% endif %} +{% if k8.network.controller == 'ovn' %} + options: + channel: 1.5/stable + service-cidr: "192.168.200.0/24" +{% endif %} to: - "nodes/0" + + + kubernetes-worker: charm: "cs:~containers/kubernetes-worker" num_units: {{ opnfv.units - 1 }} expose: true +{% if os.service.bindings %} + bindings: + "": internal-api +{% endif %} +{% if k8.network.controller == 'ovn' %} + options: + channel: 1.5/stable +{% endif %} to: {% for unit_id in range(1, opnfv.units) %} - "nodes/{{ unit_id }}" diff --git a/ci/config_tpl/juju2/bundlek8_tpl/ovn.yaml b/ci/config_tpl/juju2/bundlek8_tpl/ovn.yaml new file mode 100644 index 00000000..978c07c9 --- /dev/null +++ b/ci/config_tpl/juju2/bundlek8_tpl/ovn.yaml @@ -0,0 +1,9 @@ + + ovn: + charm: "cs:~aakashkt/ovn-15" +{% if os.service.bindings %} + bindings: + "": internal-api +{% endif %} + options: + gateway-physical-interface: "none"
\ No newline at end of file diff --git a/ci/config_tpl/juju2/bundlek8_tpl/relations.yaml b/ci/config_tpl/juju2/bundlek8_tpl/relations.yaml index 3a34aa1e..44018201 100644 --- a/ci/config_tpl/juju2/bundlek8_tpl/relations.yaml +++ b/ci/config_tpl/juju2/bundlek8_tpl/relations.yaml @@ -7,9 +7,14 @@ - [ 'kubernetes-master:etcd', 'etcd:db' ] - [ 'kubernetes-master:kube-control', 'kubernetes-worker:kube-control' ] - [ 'kubernetes-worker:certificates', 'easyrsa:client' ] +{% if k8.network.controller == 'ovn' %} + - [ 'ovn:cni', 'kubernetes-master:cni' ] + - [ 'ovn:cni', 'kubernetes-worker:cni' ] +{% else %} - [ 'flannel:etcd', 'etcd:db' ] - [ 'flannel:cni', 'kubernetes-master:cni' ] - [ 'flannel:cni', 'kubernetes-worker:cni' ] +{% endif %} - [ 'etcd:certificates', 'easyrsa:client' ] {% if k8.feature.loadbalancer %} - [ 'kubernetes-master:loadbalancer', 'kubeapi-load-balancer:loadbalancer' ] diff --git a/ci/config_tpl/juju2/bundlek8_tpl/subordinate.yaml b/ci/config_tpl/juju2/bundlek8_tpl/subordinate.yaml deleted file mode 100644 index 30832c54..00000000 --- a/ci/config_tpl/juju2/bundlek8_tpl/subordinate.yaml +++ /dev/null @@ -1,4 +0,0 @@ - - flannel: - charm: cs:~containers/flannel - diff --git a/ci/config_tpl/juju2/deployconfig.yaml b/ci/config_tpl/juju2/deployconfig.yaml index 844ede6f..bc2e1277 100644 --- a/ci/config_tpl/juju2/deployconfig.yaml +++ b/ci/config_tpl/juju2/deployconfig.yaml @@ -15,12 +15,14 @@ opnfv: {% set netdata_prefix = opnfv.spaces_dict.data.cidr[:-4] %} dataNetwork: {{ opnfv.spaces_dict.data.cidr }} {% endif %} +{% if lab.racks[0].osdomainname is defined %} domain: {{ lab.racks[0].osdomainname }} + os-domain-name: {{ lab.racks[0].osdomainname }} +{% endif %} ext-port: {{ lab.racks[0]['ext-port'] }} ext_port: {{ lab.racks[0]['ext-port'] }} floating-ip-range: {{ lab.racks[0]['floating-ip-range'] }} interface-enable: {{ lab.racks[0].ifnamelist }} - os-domain-name: {{ lab.racks[0].osdomainname }} {% if opnfv.spaces_dict.public is defined %} {% set netpublic_prefix = opnfv.spaces_dict.public.cidr[:-4] %} publicNetwork: {{ opnfv.spaces_dict.public.cidr }} diff --git a/ci/config_tpl/maas_tpl/deployment.yaml b/ci/config_tpl/maas_tpl/deployment.yaml deleted file mode 100644 index b57ec01c..00000000 --- a/ci/config_tpl/maas_tpl/deployment.yaml +++ /dev/null @@ -1,45 +0,0 @@ -opnfv-{{ lab.location }}{{ lab.racks[0].rack }}-maas: - juju-bootstrap: -{% include 'juju-bootstrap.yaml' %} - maas: - apt_sources: - - ppa:maas/stable - - ppa:juju/stable - arch: amd64 - boot_source: - keyring_filename: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg - selections: - '1': - arches: amd64 - labels: release - os: ubuntu - release: xenial - subarches: '*' - url: http://maas.ubuntu.com/images/ephemeral-v2/releases/ - disk_size: 160G - interfaces: -{% for net in opnfv.spaces %} - - bridge={{ net.bridge }},model=virtio -{% endfor %} - ip_address: {{ opnfv.spaces_dict.admin.cidr[:-4] }}5 - memory: 4096 - name: opnfv-{{ lab.location }}{{ lab.racks[0].rack }} - network_config: | -{% include 'maas-network_config.yaml' %} - node_group_ifaces: -{% include 'maas-node_group_ifaces.yaml' %} - nodes: -{% include 'maas-nodes.yaml' %} - password: ubuntu - pool: default - release: trusty - settings: - maas_name: {{ lab.location }}{{ lab.racks[0].rack }} - main_archive: http://archive.ubuntu.com/ubuntu - upstream_dns: {{ lab.racks[0].dns }} - user: ubuntu - vcpus: 4 - virsh: - rsa_priv_key: {{ os.home }}/.ssh/id_rsa - rsa_pub_key: {{ os.home }}/.ssh/id_rsa.pub - uri: qemu+ssh://{{ os.user }}@{{ os.brAdmIP }}/system diff --git a/ci/config_tpl/maas_tpl/juju-bootstrap.yaml b/ci/config_tpl/maas_tpl/juju-bootstrap.yaml deleted file mode 100644 index 533c62cc..00000000 --- a/ci/config_tpl/maas_tpl/juju-bootstrap.yaml +++ /dev/null @@ -1,13 +0,0 @@ - arch: amd64 - disk_size: 60G - interfaces: -{% for net in ['admin','public','external'] %} -{% if net in opnfv.spaces_dict %} - - bridge={{ opnfv.spaces_dict[net].bridge }},model=virtio -{% endif %} -{% endfor %} - memory: 4096 - name: bootstrap - pool: default - vcpus: 4 -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/maas_tpl/maas-network_config.yaml b/ci/config_tpl/maas_tpl/maas-network_config.yaml deleted file mode 100644 index 6188a515..00000000 --- a/ci/config_tpl/maas_tpl/maas-network_config.yaml +++ /dev/null @@ -1,20 +0,0 @@ - auto lo - iface lo inet loopback -{% set ethid = 0 %} -{% for net in opnfv.spaces %} - - auto eth{{ ethid }} - iface eth{{ ethid }} inet static - netmask 255.255.255.0 -{% if net.type!='external' %} -{% set net_prefix = net.cidr[:-4] %} - address {{ net_prefix }}5 -{% else %} - address {{ net.ipaddress }} -{% endif %} -{% if net.type=='admin' %} - gateway {{ net.gateway }} - dns-nameservers {{ lab.racks[0].dns }} {{ net_prefix }}5 127.0.0.1 -{% endif %} -{% set ethid = ethid+1 %} -{% endfor %} diff --git a/ci/config_tpl/maas_tpl/maas-node_group_ifaces.yaml b/ci/config_tpl/maas_tpl/maas-node_group_ifaces.yaml deleted file mode 100644 index 578c89fb..00000000 --- a/ci/config_tpl/maas_tpl/maas-node_group_ifaces.yaml +++ /dev/null @@ -1,23 +0,0 @@ -{% set ethid = 0 %} -{% for net in opnfv.spaces %} -{% if net.type!='external' %} -{% set net_prefix = net.cidr[:-4] %} - - broadcast_ip: {{ net_prefix }}255 - device: eth{{ ethid }} - dynamic_range: - high: {{ net_prefix }}250 - low: {{ net_prefix }}81 - ip: {{ net_prefix }}5 -{% if net.gateway!= None %} - router_ip: {{ net.gateway }} -{% endif %} -{% if net.type!='admin' %} - management: 1 -{% endif %} - static_range: - high: {{ net_prefix }}80 - low: {{ net_prefix }}50 - subnet_mask: 255.255.255.0 -{% set ethid = ethid+1 %} -{% endif %} -{% endfor %} diff --git a/ci/config_tpl/maas_tpl/maas-nodes.yaml b/ci/config_tpl/maas_tpl/maas-nodes.yaml deleted file mode 100644 index e32dd7ca..00000000 --- a/ci/config_tpl/maas_tpl/maas-nodes.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{% for node in lab.racks[0].nodes %} - - interfaces: -{% for nic in node.nics %} - - mac_address: {{ nic.mac[0] }} - mode: auto - name: {{ nic.ifname }} -{% endfor %} -{% if node.architecture=='x86_64' %} - architecture: amd64/generic -{% endif %} - mac_addresses: -{% for nic in node.nics %} - - {{ nic.mac[0] }} -{% endfor %} - name: {{ node.name }} - power: -{% if node.power.type=='ipmi' %} - address: {{ node.power.address }} - driver: LAN_2_0 - pass: {{ node.power.pass }} - type: ipmi - user: {{ node.power.user }} -{% elif node.power.type=='wakeonlan' %} - type: ether_wake - mac_address: {{ node.power.mac_address }} -{% endif %} - tags: {{ ' '.join(node.roles) }} -{% endfor %} diff --git a/ci/default_deployment_config.yaml b/ci/default_deployment_config.yaml index 0285ebcc..9a068177 100644 --- a/ci/default_deployment_config.yaml +++ b/ci/default_deployment_config.yaml @@ -40,3 +40,5 @@ os: k8: feature: loadbalancer: False + network: + controller: nosdn diff --git a/ci/deploy.sh b/ci/deploy.sh index 1ffa7dab..94c7b416 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -2,7 +2,7 @@ set -ex -#need to put mutiple cases here where decide this bundle to deploy by default use the odl bundle. +#need to put multiple cases here where decide this bundle to deploy by default use the odl bundle. # Below parameters are the default and we can according the release opnfvsdn=nosdn @@ -141,8 +141,8 @@ deploy() { echo " MAAS not deployed please deploy MAAS first." fi fi -#create json file which is missing in case of new deployment after maas and git tree cloned freshly. + #create json file which is missing in case of new deployment after maas and git tree cloned freshly. python -c 'import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout, indent=4)' < labconfig.yaml > labconfig.json python -c 'import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout, indent=4)' < deployconfig.yaml > deployconfig.json @@ -180,17 +180,19 @@ deploy() { #check whether charms are still executing the code even juju-deployer says installed. check_status() { + waitstatus=$1 retval=0 timeoutiter=0 - echo -n "executing the reltionship within charms ." + echo -n "executing the relationship within charms ." while [ $retval -eq 0 ]; do - sleep 30 - if juju status | grep -q "executing"; then + if juju status | grep -q $waitstatus; then echo -n '.' if [ $timeoutiter -ge 120 ]; then echo 'timed out' retval=1 + else + sleep 30 fi timeoutiter=$((timeoutiter+1)) else @@ -203,8 +205,9 @@ check_status() { juju expose ceph-radosgw || true #juju ssh ceph/0 \ 'sudo radosgw-admin user create --uid="ubuntu" --display-name="Ubuntu Ceph"' fi + echo "...... deployment finishing ......." -} + } # In the case of a virtual deployment if [ "$virtinstall" -eq 1 ]; then @@ -214,7 +217,7 @@ fi echo "...... deployment started ......" deploy -check_status +check_status executing echo "...... deployment finished ......." @@ -252,7 +255,7 @@ echo "...... configure ......." if ([ $opnfvmodel == "openstack" ]); then ./openstack.sh "$opnfvsdn" "$opnfvlab" "$opnfvdistro" "$openstack" || true - # creating heat domain after puching the public API into /etc/hosts + # creating heat domain after pushing the public API into /etc/hosts if [[ "$jujuver" > "2" ]]; then status=`juju run-action heat/0 domain-setup` echo $status @@ -264,6 +267,10 @@ if ([ $opnfvmodel == "openstack" ]); then sudo ../juju/get-cloud-images || true ../juju/joid-configure-openstack || true + if grep -q 'openbaton' bundles.yaml; then + juju add-relation openbaton keystone + fi + elif ([ $opnfvmodel == "kubernetes" ]); then ./k8.sh fi diff --git a/ci/genBundle.py b/ci/genBundle.py index 78e3b1cd..b70b29a3 100644 --- a/ci/genBundle.py +++ b/ci/genBundle.py @@ -169,6 +169,9 @@ config['os']['ha']['mode'] = hamode # change ha mode config['os']['network']['controller'] = sdn +if 'ocl' in sdn: + config['os']['hyperconverged'] = False + # Change features if 'lxd' in features: config['os']['lxd'] = True diff --git a/ci/genK8Bundle.py b/ci/genK8Bundle.py index 81deb5c0..2f0b63d5 100644 --- a/ci/genK8Bundle.py +++ b/ci/genK8Bundle.py @@ -165,6 +165,9 @@ if 'dpdk' in features: if 'lb' in features: config['k8']['feature']['loadbalancer'] = True +# change ha mode +config['k8']['network']['controller'] = sdn + # Set beta option from extra if 'hugepages' in extra: config['os']['beta']['huge_pages'] = True diff --git a/ci/maas/cengn_lynx/pod1/deployment.yaml b/ci/maas/cengn_lynx/pod1/deployment.yaml deleted file mode 100755 index fe71144a..00000000 --- a/ci/maas/cengn_lynx/pod1/deployment.yaml +++ /dev/null @@ -1,229 +0,0 @@ -# This file defines the deployment for the MAAS environment which is to be -# deployed and automated. -cengn-lynx-pod1: - maas: - # Defines the general setup for the MAAS environment, including the - # username and password for the host as well as the MAAS server. - user: ubuntu - password: ubuntu - - # Contains the virtual machine parameters for creating the MAAS virtual - # server. Here you can configure the name of the virsh domain, the - # parameters for how the network is attached. - name: opnfv-maas-cengn-lynx - interfaces: ['bridge=brAdm,model=virtio','bridge=brData,model=virtio','bridge=brPublic,model=virtio'] - memory: 4096 - vcpus: 4 - arch: amd64 - pool: default - disk_size: 160G - series: trusty - - # Apt http proxy setting(s) - apt_http_proxy: - - apt_sources: - - ppa:maas/stable - - ppa:juju/stable - - boot_source: - url: http://maas.ubuntu.com/images/ephemeral-v2/daily/ - keyring_filename: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg - exclusive: true - selections: - 1: - release: trusty - os: ubuntu - arches: amd64 - subarches: "*" - labels: daily - 2: - release: xenial - os: ubuntu - arches: amd64 - subarches: "*" - labels: daily - - # Virsh power settings - # Specifies the uri and keys to use for virsh power control of the - # juju virtual machine. If the uri is omitted, the value for the - # --remote is used. If no power settings are desired, then do not - # supply the virsh block. - virsh: - rsa_priv_key: /home/ubuntu/.ssh/id_rsa - rsa_pub_key: /home/ubuntu/.ssh/id_rsa.pub - uri: qemu+ssh://ubuntu@10.120.0.2/system - - # Defines the IP Address that the configuration script will use to - # to access the MAAS controller via SSH. - ip_address: 10.120.0.3 - - # This section allows the user to set a series of options on the - # MAAS server itself. The list of config options can be found in - # the upstream MAAS documentation: - # - http://maas.ubuntu.com/docs/api.html#maas-server - settings: - upstream_dns: 192.168.60.1 - maas_name: cengnlynxpod1 - # kernel_opts: "console=tty0 console=ttyS1,115200n8" - # ntp_server: ntp.ubuntu.com - - # This section is used to define the networking parameters for when - # the node first comes up. It is fed into the meta-data cloud-init - # configuration and is used to configure the networking piece of the - # service. The contents of this section are written directly to the - # /etc/network/interfaces file. - # - # Please note, this is slightly different than the - # node-group-interfaces section below. This will configure the - # machine's networking params, and the node-group-interfaces will - # configure the maas node-group interfaces which is used for - # controlling the dhcp, dns, etc. - network_config: | - auto lo - iface lo inet loopback - - auto eth0 - iface eth0 inet static - address 10.120.0.3 - netmask 255.255.255.0 - network 10.120.0.0 - broadcast 10.120.0.255 - gateway 10.120.0.254 - dns-nameservers 192.168.60.1 8.8.8.8 127.0.0.1 - - auto eth1 - iface eth1 inet static - address 172.16.121.3 - netmask 255.255.255.0 - - auto eth2 - iface eth2 inet static - address 172.16.122.3 - netmask 255.255.255.0 - - - # The node-group-interfaces section is used to configure the MAAS - # network interfaces. Basic configuration is supported, such as which - # device should be bound, the range of IP addresses, etc. - # Note: this may contain the special identifiers: - # ${maas_net} - the first 3 octets of the ipv4 address - # ${maas_ip} - the ip address of the MAAS controller - node_group_ifaces: - - device: eth0 - ip: 10.120.0.3 - subnet_mask: 255.255.255.0 - broadcast_ip: 10.120.0.255 - router_ip: 10.120.0.254 - static_range: - low: 10.120.0.50 - high: 10.120.0.80 - dynamic_range: - low: 10.120.0.81 - high: 10.120.0.249 - - device: eth1 - ip: 172.16.121.3 - subnet_mask: 255.255.255.0 - broadcast_ip: 172.16.121.255 - management: 1 - static_range: - low: 172.16.121.50 - high: 172.16.121.80 - dynamic_range: - low: 172.16.121.81 - high: 172.16.121.249 - - device: eth2 - ip: 172.16.122.3 - subnet_mask: 255.255.255.0 - broadcast_ip: 172.16.122.255 - management: 1 - static_range: - low: 172.16.122.50 - high: 172.16.122.80 - dynamic_range: - low: 172.16.122.81 - high: 172.16.122.249 - - # Defines the physical nodes which are added to the MAAS cluster - # controller upon startup of the node. - nodes: - - name: node3-control - tags: control - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:3a:c5:b6" - power: - type: ipmi - address: 192.168.42.72 - user: root - pass: root - driver: LAN_2_0 - - - name: node2-compute - tags: compute - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:3a:b2:ae" - power: - type: ipmi - address: 192.168.42.40 - user: root - pass: root - driver: LAN_2_0 - - - name: node1-compute - tags: compute - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:1f:6f:c0" - power: - type: ipmi - address: 192.168.42.33 - user: root - pass: root - driver: LAN_2_0 - - - name: node4-control - tags: control - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:31:9d:bc" - power: - type: ipmi - address: 192.168.42.6 - user: root - pass: root - driver: LAN_2_0 - - - name: node5-control - tags: control - architecture: amd64/generic - mac_addresses: - - "00:25:90:fd:2e:48" - power: - type: ipmi - address: 192.168.42.35 - user: root - pass: root - driver: LAN_2_0 - - -# - name: jenkins-slave -# tags: jenkins-slave -# architecture: amd64/generic -# mac_addresses: -# - "52:54:00:f0:5c:53" -# power: -# type: virsh -# address: qemu+ssh://ubuntu@10.4.1.1/system - - # Contains the virtual machine parameters for creating the Juju bootstrap - # node virtual machine - juju-bootstrap: - name: bootstrap - interfaces: ['bridge=brAdm,model=virtio','bridge=brPublic,model=virtio'] - memory: 4096 - vcpus: 4 - arch: amd64 - pool: default - disk_size: 120G diff --git a/ci/maas/cengn_lynx/pod1/environments.yaml b/ci/maas/cengn_lynx/pod1/environments.yaml deleted file mode 100644 index e1b18695..00000000 --- a/ci/maas/cengn_lynx/pod1/environments.yaml +++ /dev/null @@ -1,40 +0,0 @@ -default: cengn-lynx-pod1 - -environments: - - # https://juju.ubuntu.com/docs/config-maas.html - cengn-lynx-pod1: - type: maas - - # maas-server specifies the location of the MAAS server. It must - # specify the base path. - # - maas-server: 'http://10.120.0.3:80/MAAS' - - # maas-oauth holds the OAuth credentials from MAAS. - # - maas-oauth: '2RqvWSuUgT6EM9JDZT:QDMascKSWm67p92D6s:VZBhsHPUJs9TD4VPHqTzLrTqT3zPGya4' - - # maas-server bootstrap ssh connection options - # - - # bootstrap-timeout time to wait contacting a state server, in seconds. - bootstrap-timeout: 1800 - - # Whether or not to refresh the list of available updates for an - # OS. The default option of true is recommended for use in - # production systems, but disabling this can speed up local - # deployments for development or testing. - # - enable-os-refresh-update: false - - # Whether or not to perform OS upgrades when machines are - # provisioned. The default option of true is recommended for use - # in production systems, but disabling this can speed up local - # deployments for development or testing. - # - enable-os-upgrade: false - - - admin-secret: admin - default-series: trusty diff --git a/ci/maas/deployment.yaml b/ci/maas/deployment.yaml deleted file mode 100755 index e7df95c6..00000000 --- a/ci/maas/deployment.yaml +++ /dev/null @@ -1,50 +0,0 @@ -demo-maas: - juju-bootstrap: - arch: amd64 - disk_size: 120G - interfaces: - - bridge=brAdm,model=virtio - memory: 4096 - name: bootstrap - pool: default - vcpus: 4 - maas: - apt_http_proxy: null - apt_sources: - - ppa:maas/stable - - ppa:juju/stable - arch: amd64 - boot_source: - keyring_filename: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg - selections: - 1: - arches: amd64 - labels: release - os: ubuntu - release: xenial - subarches: '*' - url: http://maas.ubuntu.com/images/ephemeral-v2/releases/ - disk_size: 160G - interfaces: - - bridge=brAdm,model=virtio - ip_address: - memory: 4096 - name: - network_config: - node_group_ifaces: - - broadcast_ip: - nodes: - - name: - password: ubuntu - pool: default - release: trusty - settings: - maas_name: - main_archive: http://us.archive.ubuntu.com/ubuntu - upstream_dns: - user: ubuntu - vcpus: 4 - virsh: - rsa_priv_key: /home/ubuntu/.ssh/id_rsa - rsa_pub_key: /home/ubuntu/.ssh/id_rsa.pub - uri: diff --git a/ci/maas/juniper/pod1/deployment.yaml b/ci/maas/juniper/pod1/deployment.yaml deleted file mode 100755 index 04b12293..00000000 --- a/ci/maas/juniper/pod1/deployment.yaml +++ /dev/null @@ -1,194 +0,0 @@ -# This file defines the deployment for the MAAS environment which is to be -# deployed and automated. -demo-maas: - maas: - # Defines the general setup for the MAAS environment, including the - # username and password for the host as well as the MAAS server. - user: ubuntu - password: ubuntu - - # Contains the virtual machine parameters for creating the MAAS virtual - # server. Here you can configure the name of the virsh domain, the - # parameters for how the network is attached. - name: opnfv-maas-juniper - interfaces: ['bridge=brAdm,model=virtio', 'bridge=brPublic,model=virtio'] - memory: 4096 - vcpus: 1 - arch: amd64 - pool: default - disk_size: 160G - release: trusty - - # Apt http proxy setting(s) - apt_http_proxy: - - apt_sources: - - ppa:maas/stable - - ppa:juju/stable - - boot_source: - url: http://maas.ubuntu.com/images/ephemeral-v2/daily/ - keyring_filename: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg - exclusive: true - selections: - 1: - release: trusty - os: ubuntu - arches: amd64 - subarches: "*" - labels: daily - 2: - release: xenial - os: ubuntu - arches: amd64 - subarches: "*" - labels: daily - - # Virsh power settings - # Specifies the uri and keys to use for virsh power control of the - # juju virtual machine. If the uri is omitted, the value for the - # --remote is used. If no power settings are desired, then do not - # supply the virsh block. - virsh: - rsa_priv_key: /home/ubuntu/.ssh/id_rsa - rsa_pub_key: /home/ubuntu/.ssh/id_rsa.pub - uri: qemu+ssh://ubuntu@172.16.50.51/system - - # Defines the IP Address that the configuration script will use to - # to access the MAAS controller via SSH. - ip_address: 172.16.50.50 - - # This section allows the user to set a series of options on the - # MAAS server itself. The list of config options can be found in - # the upstream MAAS documentation: - # - http://maas.ubuntu.com/docs/api.html#maas-server - settings: - main_archive: http://us.archive.ubuntu.com/ubuntu - upstream_dns: 8.8.8.8 - maas_name: juniperpod1 - # kernel_opts: "console=tty0 console=ttyS1,115200n8" - # ntp_server: ntp.ubuntu.com - - # This section is used to define the networking parameters for when - # the node first comes up. It is fed into the meta-data cloud-init - # configuration and is used to configure the networking piece of the - # service. The contents of this section are written directly to the - # /etc/network/interfaces file. - # - # Please note, this is slightly different than the - # node-group-interfaces section below. This will configure the - # machine's networking params, and the node-group-interfaces will - # configure the maas node-group interfaces which is used for - # controlling the dhcp, dns, etc. - network_config: | - auto lo - iface lo inet loopback - - auto eth0 - iface eth0 inet static - address 172.16.50.50 - netmask 255.255.255.0 - network 172.16.50.0 - broadcast 172.16.50.255 - dns-nameservers 8.8.8.8 127.0.0.1 - - auto eth1 - iface eth1 inet static - address 10.10.15.50 - netmask 255.255.240.0 - network 10.10.0.0 - broadcast 10.10.15.255 - gateway 10.10.10.1 - - # The node-group-interfaces section is used to configure the MAAS - # network interfaces. Basic configuration is supported, such as which - # device should be bound, the range of IP addresses, etc. - # Note: this may contain the special identifiers: - # ${maas_net} - the first 3 octets of the ipv4 address - # ${maas_ip} - the ip address of the MAAS controller - node_group_ifaces: - - device: eth0 - ip: 172.16.50.50 - subnet_mask: 255.255.255.0 - broadcast_ip: 172.16.50.255 - router_ip: 172.16.50.50 - static_range: - low: 172.16.50.60 - high: 172.16.50.90 - dynamic_range: - low: 172.16.50.91 - high: 172.16.50.254 - - # Defines the physical nodes which are added to the MAAS cluster - # controller upon startup of the node. - nodes: - - name: 2-R4N4B2-control - tags: control - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:16:2a:70" - power: - type: ipmi - address: 10.10.7.92 - user: ADMIN - pass: ADMIN - driver: LAN_2_0 - - - name: 3-R4N3B1-compute - tags: compute - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:53:57:c2" - power: - type: ipmi - address: 10.10.7.84 - user: ADMIN - pass: ADMIN - driver: LAN_2_0 - - - name: 4-R4N4B4-control - tags: control - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:16:22:9c" - power: - type: ipmi - address: 10.10.7.95 - user: ADMIN - pass: ADMIN - driver: LAN_2_0 - - - name: 5-R4N3B2-compute - tags: compute - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:53:57:16" - power: - type: ipmi - address: 10.10.7.85 - user: ADMIN - pass: ADMIN - driver: LAN_2_0 - - - name: 6-R4N4B3-control - tags: control - architecture: amd64/generic - mac_addresses: - - "0c:c4:7a:16:2a:0a" - power: - type: ipmi - address: 10.10.7.93 - user: ADMIN - pass: ADMIN - driver: LAN_2_0 - - # Contains the virtual machine parameters for creating the Juju bootstrap - # node virtual machine - juju-bootstrap: - name: bootstrap - interfaces: ['bridge=brAdm,model=virtio', 'bridge=brPublic,model=virtio'] - memory: 4096 - vcpus: 2 - arch: amd64 - pool: default - disk_size: 120G diff --git a/ci/maas/juniper/pod1/environments.yaml b/ci/maas/juniper/pod1/environments.yaml deleted file mode 100644 index d138e53d..00000000 --- a/ci/maas/juniper/pod1/environments.yaml +++ /dev/null @@ -1,40 +0,0 @@ -default: demo-maas - -environments: - - # https://juju.ubuntu.com/docs/config-maas.html - demo-maas: - type: maas - - # maas-server specifies the location of the MAAS server. It must - # specify the base path. - # - maas-server: 'http://10.4.1.2/MAAS' - - # maas-oauth holds the OAuth credentials from MAAS. - # - maas-oauth: 'HyacKVwxBVE9xwmJW7:CVwUpERLN3fDUbkUra:ETW88KVJxDHQA3kqmZgghUQnzanSFwH4' - - # maas-server bootstrap ssh connection options - # - - # bootstrap-timeout time to wait contacting a state server, in seconds. - bootstrap-timeout: 1800 - - # Whether or not to refresh the list of available updates for an - # OS. The default option of true is recommended for use in - # production systems, but disabling this can speed up local - # deployments for development or testing. - # - enable-os-refresh-update: false - - # Whether or not to perform OS upgrades when machines are - # provisioned. The default option of true is recommended for use - # in production systems, but disabling this can speed up local - # deployments for development or testing. - # - enable-os-upgrade: false - - - admin-secret: admin - default-series: trusty diff --git a/ci/maas/sshkeys/DominoKey.pub b/ci/maas/sshkeys/DominoKey.pub deleted file mode 100644 index 0a282b7a..00000000 --- a/ci/maas/sshkeys/DominoKey.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPewJw9ezpriINTdlOqLnBqh68ntIl26F0DhF6KdPZDsPDVFvUZ5HxJV1t3yBqQ5JpvUN3c7KEH+wxkEchfkarTL7ekIvUF+Q/0zjmKtBQitertlcyQSpsc8zuvA2h2YYnJWrkCt+obXoWxN2AQv1efkrr+LQuFr9j79ORdpwB7S2d2yDCwOd0R8xxpEfMbiKwNGWMANDnlNr9CoCYhU1JIE4i9xUrbIoDTtfYqVJBVo4jZb6qx9EKY4Srz2hEoL1h7xOOG2XUVhQ50FI6XK540Q1Xa5VXW1+FQPg9ew7uyG1vR4SwWRBlF4CDiSWxo+qXG/ELgosFoucPsriSnRlF kozat@Kozat-MacBook-Pro.local diff --git a/ci/maas/sshkeys/QtipKey.pub b/ci/maas/sshkeys/QtipKey.pub deleted file mode 100644 index dc93faa0..00000000 --- a/ci/maas/sshkeys/QtipKey.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFWkAL5DwtPJ+0BMKBUcgq8ORdjMcj/wJl4qVVYeUdQDT/oS6pKuHNuk7BJpCLYLfHgSzO+Hv8J+5UyqXXXJKGxfAUPtpXrHRgburwhRJwcgtQVqWbQXHnY2jsikHeWWW5RX6SHxrLrxX04a8xmtD7BbDiJ6HZqVSem8XC15eZvw1C1dbqmbZqWBRWLFzhHf/9goucaSP3ekYWVCUPPlDS+D7r2Mc2Ch0Z7AivEJZ5mTamefS80B1ZNBRObvP/W5jPoAh5H9bHrqayZyEVGaYOk/toddJJAQHJIXu/8YSxnUnC0FbTtZ5s2JO/3Big5/IpW5m5NsHCOqVPjHkKkgkT diff --git a/ci/nosdn/fetch-charms.sh b/ci/nosdn/fetch-charms.sh index 9174ed0a..4a218da4 100755 --- a/ci/nosdn/fetch-charms.sh +++ b/ci/nosdn/fetch-charms.sh @@ -14,25 +14,25 @@ bzr branch lp:~narindergupta/charms/trusty/promise/trunk $distro/promise bzr branch lp:~billy-olsen/charms/xenial/mongodb/trunk $distro/mongodb bzr branch lp:~narindergupta/opnfv/ntp $distro/ntp -git clone -b stable/17.02 https://github.com/openstack/charm-hacluster.git $distro/hacluster -git clone -b stable/17.02 https://github.com/openstack/charm-ceilometer.git $distro/ceilometer -git clone -b stable/17.02 https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent -git clone -b stable/17.02 https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon -git clone -b stable/17.02 https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd +git clone https://github.com/openstack/charm-hacluster.git $distro/hacluster +git clone https://github.com/openstack/charm-ceilometer.git $distro/ceilometer +git clone https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent +git clone https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon +git clone https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd git clone -b stable/17.02 https://github.com/openstack/charm-ceph-radosgw.git $distro/ceph-radosgw -git clone -b stable/17.02 https://github.com/openstack/charm-cinder.git $distro/cinder -git clone -b stable/17.02 https://github.com/openstack/charm-cinder-ceph.git $distro/cinder-ceph -git clone -b stable/17.02 https://github.com/openstack/charm-glance.git $distro/glance -git clone -b stable/17.02 https://github.com/openstack/charm-keystone.git $distro/keystone -git clone -b stable/17.02 https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster -git clone -b stable/17.02 https://github.com/openstack/charm-neutron-api.git $distro/neutron-api -git clone -b stable/17.02 https://github.com/openstack/charm-neutron-gateway.git $distro/neutron-gateway -git clone -b stable/17.02 https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch -git clone -b stable/17.02 https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller -git clone -b stable/17.02 https://github.com/openstack/charm-nova-compute.git $distro/nova-compute -git clone -b stable/17.02 https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard -git clone -b stable/17.02 https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server -git clone -b stable/17.02 https://github.com/openstack/charm-heat.git $distro/heat +git clone https://github.com/openstack/charm-cinder.git $distro/cinder +git clone https://github.com/openstack/charm-cinder-ceph.git $distro/cinder-ceph +git clone https://github.com/openstack/charm-glance.git $distro/glance +git clone https://github.com/openstack/charm-keystone.git $distro/keystone +git clone https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster +git clone https://github.com/openstack/charm-neutron-api.git $distro/neutron-api +git clone https://github.com/openstack/charm-neutron-gateway.git $distro/neutron-gateway +git clone https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch +git clone https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller +git clone https://github.com/openstack/charm-nova-compute.git $distro/nova-compute +git clone https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard +git clone https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server +git clone https://github.com/openstack/charm-heat.git $distro/heat git clone https://github.com/openstack/charm-lxd.git $distro/lxd git clone https://github.com/openbaton/juju-charm.git $distro/openbaton diff --git a/ci/odl/fetch-charms.sh b/ci/odl/fetch-charms.sh index bda0f165..df000880 100755 --- a/ci/odl/fetch-charms.sh +++ b/ci/odl/fetch-charms.sh @@ -14,25 +14,25 @@ bzr branch lp:~narindergupta/charms/trusty/promise/trunk $distro/promise bzr branch lp:~billy-olsen/charms/xenial/mongodb/trunk $distro/mongodb bzr branch lp:~narindergupta/opnfv/ntp $distro/ntp -git clone -b stable/17.02 https://github.com/openstack/charm-hacluster.git $distro/hacluster -git clone -b stable/17.02 https://github.com/openstack/charm-ceilometer.git $distro/ceilometer -git clone -b stable/17.02 https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent -git clone -b stable/17.02 https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon -git clone -b stable/17.02 https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd +git clone https://github.com/openstack/charm-hacluster.git $distro/hacluster +git clone https://github.com/openstack/charm-ceilometer.git $distro/ceilometer +git clone https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent +git clone https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon +git clone https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd git clone -b stable/17.02 https://github.com/openstack/charm-ceph-radosgw.git $distro/ceph-radosgw -git clone -b stable/17.02 https://github.com/openstack/charm-cinder.git $distro/cinder -git clone -b stable/17.02 https://github.com/openstack/charm-cinder-ceph.git $distro/cinder-ceph -git clone -b stable/17.02 https://github.com/openstack/charm-glance.git $distro/glance -git clone -b stable/17.02 https://github.com/openstack/charm-keystone.git $distro/keystone -git clone -b stable/17.02 https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster -git clone -b stable/17.02 https://github.com/openstack/charm-neutron-api.git $distro/neutron-api -#git clone -b stable/17.02 https://github.com/openstack/charm-neutron-gateway.git $distro/neutron-gateway -git clone -b stable/17.02 https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch -git clone -b stable/17.02 https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller -git clone -b stable/17.02 https://github.com/openstack/charm-nova-compute.git $distro/nova-compute -git clone -b stable/17.02 https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard -git clone -b stable/17.02 https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server -git clone -b stable/17.02 https://github.com/openstack/charm-heat.git $distro/heat +git clone https://github.com/openstack/charm-cinder.git $distro/cinder +git clone https://github.com/openstack/charm-cinder-ceph.git $distro/cinder-ceph +git clone https://github.com/openstack/charm-glance.git $distro/glance +git clone https://github.com/openstack/charm-keystone.git $distro/keystone +git clone https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster +git clone https://github.com/openstack/charm-neutron-api.git $distro/neutron-api +#git clone https://github.com/openstack/charm-neutron-gateway.git $distro/neutron-gateway +git clone https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch +git clone https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller +git clone https://github.com/openstack/charm-nova-compute.git $distro/nova-compute +git clone https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard +git clone https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server +git clone https://github.com/openstack/charm-heat.git $distro/heat git clone https://github.com/openstack/charm-lxd.git $distro/lxd git clone https://github.com/openbaton/juju-charm.git $distro/openbaton diff --git a/ci/opencontrail/README b/ci/opencontrail/README deleted file mode 100644 index 4334818d..00000000 --- a/ci/opencontrail/README +++ /dev/null @@ -1,115 +0,0 @@ -OpenContrail Deployment with Juju -================================= - -This readme contains instructions for checking out and deploying Juju charms for -OpenContrail. - -The charms are targetted at Trusty but originally used OpenContrail Precise -packages. - - -Checkout charms ---------------- - -Charms are hosted on Launchpad. -You need to 'sudo apt-get install bzr' first. - -Follow these steps to checkout code: - -cd <deployer dir> -./fetch-charms.sh - -This will checkout the relevant charms into 'src' and create any Juju symlinks -in 'charms'. - - -Deploy with cloud-sh-contrail ------------------------------ - -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 3 KVMs as follows: - -*KVM #1 - Keystone, Glance, Neutron Server, Nova Cloud Controller, Horizon, - MySQL, RabbitMQ, Contrail Configuration, Contrail Control, - Contrail Analytics, Contrail Web UI, Zookeeper - -*KVM #2 - Nova Compute with Contrail vRouter - -*KVM #3 - Cassandra - -You'll require approx. 25Gb RAM with 60Gb+ disk space. -Deployment can take anywhere between 20 mins to 1 hour. - -You need to 'sudo apt-get install juju juju-local uvtool', and -logout/login in order to pick up libvirt group permissions before -proceeding. See https://bugs.launchpad.net/juju-core/+bug/1308088. - -Follow these steps: - -ssh-keygen - (if you don't already have a key at ~/.ssh/id_rsa). - -cp cloud-sh-contrail/environments.yaml ~/.juju - (or create your own default local environment in your existing - environments.yaml file) - -cd cloud-sh-contrail - -./deploy-trusty.sh (deploys under trusty) -or -./deploy-precise.sh (deploys under precise) - -This will log to 'out.log'. - -This will deploy OpenStack and import Trusty's daily image into Glance. - -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 -NAT'ed traffic to the Nova Compute node hosting Contrail's virtual gateway. -Such changes can be disabled by not defining or commenting out the variable -'CONFIGURE_HOST_ROUTING' in cloud-sh-contrail/config-*.sh. - -The deployment can be destroyed with: - -juju destroy-environment local - - -Deploy with Juju Deployer -------------------------- - -Juju Deployer can deploy a preset configuration of charms given a yaml -configuration file. There is a configuration file in -'juju-deployer/contrail.yaml'. - -You need to 'sudo apt-get install juju-deployer' first. - -Then: - -cd juju-deployer - -juju-deployer -c contrail.yaml -d trusty-icehouse-contrail (deploy trusty) -or -juju-deployer -c contrail.yaml -d precise-icehouse-contrail (deploy precise) - -Juju Deployer will branch its own copy of the remote charms. - -Post-deployment scripts exist to configure OpenStack. -You will need 'dnsutils' package installed beforehand. -To run: - -cd scripts - -CONFIGURE_HOST_ROUTING=true ./openstack.sh - -Setting 'CONFIGURE_HOST_ROUTING' environment variable will configure the host's -route and iptables config to send NAT'ed traffic to the Nova Compute node -hosting Contrail's virtual gateway. If you do not want this, run -'./openstack.sh' directly. diff --git a/ci/opencontrail/cloud-sh-contrail/cloud-setup.sh b/ci/opencontrail/cloud-sh-contrail/cloud-setup.sh deleted file mode 100755 index 47e625c9..00000000 --- a/ci/opencontrail/cloud-sh-contrail/cloud-setup.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -e - -. ~/admin-openrc - -# adjust tiny image -nova flavor-delete m1.tiny -nova flavor-create m1.tiny 1 512 8 1 - -# configure external network -neutron net-create --router:external=True public-net -neutron subnet-create --name public-subnet --no-gateway --allocation-pool start=10.0.10.2,end=10.0.10.254 --disable-dhcp public-net 10.0.10.0/24 - -# create vm network -neutron net-create ubuntu-net -neutron subnet-create --name ubuntu-subnet --gateway 10.0.5.1 ubuntu-net 10.0.5.0/24 - -# create pool of floating ips -i=0 -while [ $i -ne 10 ]; do - neutron floatingip-create public-net - i=$((i + 1)) -done - -# configure security groups -neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol icmp --remote-ip-prefix 0.0.0.0/0 default -neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol tcp --port-range-min 22 --port-range-max 22 --remote-ip-prefix 0.0.0.0/0 default - -# import key pair -nova keypair-add --pub-key id_rsa.pub ubuntu-keypair diff --git a/ci/opencontrail/cloud-sh-contrail/compute.sh b/ci/opencontrail/cloud-sh-contrail/compute.sh deleted file mode 100755 index eb818250..00000000 --- a/ci/opencontrail/cloud-sh-contrail/compute.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -e - -modprobe kvm_intel -printf "\n%s\n" kvm_intel >> /etc/modules -service libvirt-bin restart - -sed -e 's/KSM_ENABLED=1/KSM_ENABLED=0/' -i /etc/default/qemu-kvm -service qemu-kvm restart diff --git a/ci/opencontrail/cloud-sh-contrail/config-precise.sh b/ci/opencontrail/cloud-sh-contrail/config-precise.sh deleted file mode 100644 index b22f0a6d..00000000 --- a/ci/opencontrail/cloud-sh-contrail/config-precise.sh +++ /dev/null @@ -1,48 +0,0 @@ -export JUJU_REPOSITORY=../charms - -DEFAULT_SERIES=precise - -CHARM_CASSANDRA=local:precise/cassandra -CHARM_CASSANDRA_DEPLOY_OPTS="--config config-precise.yaml" - -CHARM_CONTRAIL_ANALYTICS=local:precise/contrail-analytics -CHARM_CONTRAIL_ANALYTICS_DEPLOY_OPTS="--config config-precise.yaml" - -CHARM_CONTRAIL_CONFIGURATION=local:precise/contrail-configuration -CHARM_CONTRAIL_CONFIGURATION_DEPLOY_OPTS="--config config-precise.yaml" - -CHARM_CONTRAIL_CONTROL=local:precise/contrail-control -CHARM_CONTRAIL_CONTROL_DEPLOY_OPTS="--config config-precise.yaml" - -CHARM_CONTRAIL_WEBUI=local:trusty/contrail-webui - -CHARM_GLANCE=local:precise/glance -CHARM_GLANCE_DEPLOY_OPTS="--config config-precise.yaml" - -CHARM_KEYSTONE=local:precise/keystone -CHARM_KEYSTONE_DEPLOY_OPTS="--config config-precise.yaml" - -CHARM_MYSQL=precise/mysql -CHARM_MYSQL_DEPLOY_OPTS="--config config-precise.yaml" - -CHARM_NEUTRON_API=local:precise/neutron-api -CHARM_NEUTRON_API_DEPLOY_OPTS="--config config-precise.yaml" - -CHARM_NEUTRON_API_CONTRAIL=local:precise/neutron-api-contrail - -CHARM_NEUTRON_CONTRAIL=local:precise/neutron-contrail - -CHARM_NOVA_CLOUD_CONTROLLER=local:precise/nova-cloud-controller -CHARM_NOVA_CLOUD_CONTROLLER_DEPLOY_OPTS="--config config-precise.yaml" - -CHARM_NOVA_COMPUTE=local:precise/nova-compute -CHARM_NOVA_COMPUTE_DEPLOY_OPTS="--config config-precise.yaml" - -CHARM_OPENSTACK_DASHBOARD=local:precise/openstack-dashboard -CHARM_OPENSTACK_DASHBOARD_DEPLOY_OPTS="--config config-precise.yaml" - -CHARM_RABBITMQ_SERVER=precise/rabbitmq-server - -CHARM_ZOOKEEPER=local:precise/zookeeper - -CONFIGURE_HOST_ROUTING=true diff --git a/ci/opencontrail/cloud-sh-contrail/config-precise.yaml b/ci/opencontrail/cloud-sh-contrail/config-precise.yaml deleted file mode 100644 index ebdd0337..00000000 --- a/ci/opencontrail/cloud-sh-contrail/config-precise.yaml +++ /dev/null @@ -1,37 +0,0 @@ -cassandra: - authenticator: AllowAllAuthenticator - -contrail-analytics: - openstack-origin: cloud:precise-icehouse - -contrail-configuration: - openstack-origin: cloud:precise-icehouse - -contrail-control: - openstack-origin: cloud:precise-icehouse - -glance: - openstack-origin: cloud:precise-icehouse - -keystone: - admin-password: password - admin-role: admin - openstack-origin: cloud:precise-icehouse - -mysql: - dataset-size: 15% - -neutron-api: - manage-neutron-plugin-legacy-mode: false - openstack-origin: cloud:precise-icehouse - -nova-cloud-controller: - network-manager: Neutron - openstack-origin: cloud:precise-icehouse - -nova-compute: - manage-neutron-plugin-legacy-mode: false - openstack-origin: cloud:precise-icehouse - -openstack-dashboard: - openstack-origin: cloud:precise-icehouse diff --git a/ci/opencontrail/cloud-sh-contrail/config-trusty-juno.sh b/ci/opencontrail/cloud-sh-contrail/config-trusty-juno.sh deleted file mode 100644 index aeebf861..00000000 --- a/ci/opencontrail/cloud-sh-contrail/config-trusty-juno.sh +++ /dev/null @@ -1,48 +0,0 @@ -export JUJU_REPOSITORY=../charms - -DEFAULT_SERIES=trusty - -CHARM_CASSANDRA=local:trusty/cassandra -CHARM_CASSANDRA_DEPLOY_OPTS="--config config-trusty-juno.yaml" - -CHARM_CONTRAIL_ANALYTICS=local:trusty/contrail-analytics -CHARM_CONTRAIL_ANALYTICS_DEPLOY_OPTS="--config config-trusty-juno.yaml" - -CHARM_CONTRAIL_CONFIGURATION=local:trusty/contrail-configuration -CHARM_CONTRAIL_CONFIGURATION_DEPLOY_OPTS="--config config-trusty-juno.yaml" - -CHARM_CONTRAIL_CONTROL=local:trusty/contrail-control -CHARM_CONTRAIL_CONTROL_DEPLOY_OPTS="--config config-trusty-juno.yaml" - -CHARM_CONTRAIL_WEBUI=local:trusty/contrail-webui - -CHARM_GLANCE=local:trusty/glance -CHARM_GLANCE_DEPLOY_OPTS="--config config-trusty-juno.yaml" - -CHARM_KEYSTONE=local:trusty/keystone -CHARM_KEYSTONE_DEPLOY_OPTS="--config config-trusty-juno.yaml" - -CHARM_MYSQL=trusty/mysql -CHARM_MYSQL_DEPLOY_OPTS="--config config-trusty-juno.yaml" - -CHARM_NEUTRON_API=local:trusty/neutron-api -CHARM_NEUTRON_API_DEPLOY_OPTS="--config config-trusty-juno.yaml" - -CHARM_NEUTRON_API_CONTRAIL=local:trusty/neutron-api-contrail - -CHARM_NEUTRON_CONTRAIL=local:trusty/neutron-contrail - -CHARM_NOVA_CLOUD_CONTROLLER=local:trusty/nova-cloud-controller -CHARM_NOVA_CLOUD_CONTROLLER_DEPLOY_OPTS="--config config-trusty-juno.yaml" - -CHARM_NOVA_COMPUTE=local:trusty/nova-compute -CHARM_NOVA_COMPUTE_DEPLOY_OPTS="--config config-trusty-juno.yaml" - -CHARM_OPENSTACK_DASHBOARD=local:trusty/openstack-dashboard -CHARM_OPENSTACK_DASHBOARD_DEPLOY_OPTS="--config config-trusty-juno.yaml" - -CHARM_RABBITMQ_SERVER=trusty/rabbitmq-server - -CHARM_ZOOKEEPER=local:precise/zookeeper - -CONFIGURE_HOST_ROUTING=true diff --git a/ci/opencontrail/cloud-sh-contrail/config-trusty-juno.yaml b/ci/opencontrail/cloud-sh-contrail/config-trusty-juno.yaml deleted file mode 100644 index 7db15be9..00000000 --- a/ci/opencontrail/cloud-sh-contrail/config-trusty-juno.yaml +++ /dev/null @@ -1,37 +0,0 @@ -cassandra: - authenticator: AllowAllAuthenticator - -contrail-analytics: - openstack-origin: cloud:trusty-juno - -contrail-configuration: - openstack-origin: cloud:trusty-juno - -contrail-control: - openstack-origin: cloud:trusty-juno - -glance: - openstack-origin: cloud:trusty-juno - -keystone: - admin-password: password - admin-role: admin - openstack-origin: cloud:trusty-juno - -mysql: - dataset-size: 15% - -neutron-api: - manage-neutron-plugin-legacy-mode: false - openstack-origin: cloud:trusty-juno - -nova-cloud-controller: - network-manager: Neutron - openstack-origin: cloud:trusty-juno - -nova-compute: - manage-neutron-plugin-legacy-mode: false - openstack-origin: cloud:trusty-juno - -openstack-dashboard: - openstack-origin: cloud:trusty-juno diff --git a/ci/opencontrail/cloud-sh-contrail/config-trusty.sh b/ci/opencontrail/cloud-sh-contrail/config-trusty.sh deleted file mode 100644 index 9d38461c..00000000 --- a/ci/opencontrail/cloud-sh-contrail/config-trusty.sh +++ /dev/null @@ -1,43 +0,0 @@ -export JUJU_REPOSITORY=../charms - -DEFAULT_SERIES=trusty - -CHARM_CASSANDRA=local:trusty/cassandra -CHARM_CASSANDRA_DEPLOY_OPTS="--config config-trusty.yaml" - -CHARM_CONTRAIL_ANALYTICS=local:trusty/contrail-analytics - -CHARM_CONTRAIL_CONFIGURATION=local:trusty/contrail-configuration - -CHARM_CONTRAIL_CONTROL=local:trusty/contrail-control - -CHARM_CONTRAIL_WEBUI=local:trusty/contrail-webui - -CHARM_GLANCE=local:trusty/glance - -CHARM_KEYSTONE=local:trusty/keystone -CHARM_KEYSTONE_DEPLOY_OPTS="--config config-trusty.yaml" - -CHARM_MYSQL=trusty/mysql -CHARM_MYSQL_DEPLOY_OPTS="--config config-trusty.yaml" - -CHARM_NEUTRON_API=local:trusty/neutron-api -CHARM_NEUTRON_API_DEPLOY_OPTS="--config config-trusty.yaml" - -CHARM_NEUTRON_API_CONTRAIL=local:trusty/neutron-api-contrail - -CHARM_NEUTRON_CONTRAIL=local:trusty/neutron-contrail - -CHARM_NOVA_CLOUD_CONTROLLER=local:trusty/nova-cloud-controller -CHARM_NOVA_CLOUD_CONTROLLER_DEPLOY_OPTS="--config config-trusty.yaml" - -CHARM_NOVA_COMPUTE=local:trusty/nova-compute -CHARM_NOVA_COMPUTE_DEPLOY_OPTS="--config config-trusty.yaml" - -CHARM_OPENSTACK_DASHBOARD=local:trusty/openstack-dashboard - -CHARM_RABBITMQ_SERVER=trusty/rabbitmq-server - -CHARM_ZOOKEEPER=local:precise/zookeeper - -CONFIGURE_HOST_ROUTING=true diff --git a/ci/opencontrail/cloud-sh-contrail/config-trusty.yaml b/ci/opencontrail/cloud-sh-contrail/config-trusty.yaml deleted file mode 100644 index abb862ad..00000000 --- a/ci/opencontrail/cloud-sh-contrail/config-trusty.yaml +++ /dev/null @@ -1,18 +0,0 @@ -cassandra: - authenticator: AllowAllAuthenticator - -keystone: - admin-password: password - admin-role: admin - -mysql: - dataset-size: 15% - -neutron-api: - manage-neutron-plugin-legacy-mode: false - -nova-cloud-controller: - network-manager: Neutron - -nova-compute: - manage-neutron-plugin-legacy-mode: false diff --git a/ci/opencontrail/cloud-sh-contrail/deploy-precise.sh b/ci/opencontrail/cloud-sh-contrail/deploy-precise.sh deleted file mode 100755 index 2e35546b..00000000 --- a/ci/opencontrail/cloud-sh-contrail/deploy-precise.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -e -exec ./openstack.sh ./config-precise.sh 2>&1 | tee out.log diff --git a/ci/opencontrail/cloud-sh-contrail/deploy-trusty-juno.sh b/ci/opencontrail/cloud-sh-contrail/deploy-trusty-juno.sh deleted file mode 100755 index 27a9d56f..00000000 --- a/ci/opencontrail/cloud-sh-contrail/deploy-trusty-juno.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -e -exec ./openstack.sh ./config-trusty-juno.sh 2>&1 | tee out.log diff --git a/ci/opencontrail/cloud-sh-contrail/deploy-trusty.sh b/ci/opencontrail/cloud-sh-contrail/deploy-trusty.sh deleted file mode 100755 index b7b21de0..00000000 --- a/ci/opencontrail/cloud-sh-contrail/deploy-trusty.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -e -exec ./openstack.sh ./config-trusty.sh 2>&1 | tee out.log diff --git a/ci/opencontrail/cloud-sh-contrail/environments.yaml b/ci/opencontrail/cloud-sh-contrail/environments.yaml deleted file mode 100644 index 72a492d3..00000000 --- a/ci/opencontrail/cloud-sh-contrail/environments.yaml +++ /dev/null @@ -1,8 +0,0 @@ -default: local - -environments: - local: - type: local - container: kvm - default-series: trusty - lxc-clone: true diff --git a/ci/opencontrail/cloud-sh-contrail/glance.sh b/ci/opencontrail/cloud-sh-contrail/glance.sh deleted file mode 100755 index 467932ff..00000000 --- a/ci/opencontrail/cloud-sh-contrail/glance.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -e - -. ~/admin-openrc - -wget http://cloud-images.ubuntu.com/trusty/current/MD5SUMS - -wget http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img -glance image-create --name ubuntu-trusty-daily --disk-format qcow2 --container-format bare --owner admin --file trusty-server-cloudimg-amd64-disk1.img --checksum $(grep trusty-server-cloudimg-amd64-disk1.img MD5SUMS | cut -d " " -f 1) --is-public True diff --git a/ci/opencontrail/cloud-sh-contrail/lxc-network.sh b/ci/opencontrail/cloud-sh-contrail/lxc-network.sh deleted file mode 100755 index 5a65fa18..00000000 --- a/ci/opencontrail/cloud-sh-contrail/lxc-network.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -e - -DEBIAN_FRONTEND=noninteractive apt-get -qy -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install lxc < /dev/null - -sed -e 's/^USE_LXC_BRIDGE="true"/USE_LXC_BRIDGE="false"/' -i /etc/default/lxc -service lxc-net restart - -ifdown eth0 -mv /etc/network/interfaces.d/eth0.cfg /etc/network/interfaces.d/eth0.cfg.bak -cat <<-"EOF" > /etc/network/interfaces.d/bridge.cfg - auto eth0 - iface eth0 inet manual - - auto lxcbr0 - iface lxcbr0 inet dhcp - bridge_ports eth0 - EOF -ifup eth0 lxcbr0 diff --git a/ci/opencontrail/cloud-sh-contrail/openstack.sh b/ci/opencontrail/cloud-sh-contrail/openstack.sh deleted file mode 100755 index b1234fcc..00000000 --- a/ci/opencontrail/cloud-sh-contrail/openstack.sh +++ /dev/null @@ -1,188 +0,0 @@ -#!/bin/sh -ex - -agentState() -{ - juju status | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"machines\"][\"$1\"][\"agent-state\"]" 2> /dev/null -} - -agentStateUnit() -{ - juju status | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"agent-state\"]" 2> /dev/null -} - -configOpenrc() -{ - cat <<-EOF - export OS_USERNAME=$1 - export OS_PASSWORD=$2 - export OS_TENANT_NAME=$3 - export OS_AUTH_URL=$4 - export OS_REGION_NAME=$5 - EOF -} - -unitAddress() -{ - juju status | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"public-address\"]" 2> /dev/null -} - -unitMachine() -{ - juju status | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"machine\"]" 2> /dev/null -} - -waitForMachine() -{ - for machine; do - while [ "$(agentState $machine)" != started ]; do - sleep 5 - done - done -} - -waitForService() -{ - for service; do - while [ "$(agentStateUnit "$service" 0)" != started ]; do - sleep 5 - done - done -} - -if [ $# -ne 0 ]; then - . "$1" -fi - -juju bootstrap -waitForMachine 0 - -spare_cpus=$(($(grep processor /proc/cpuinfo | wc -l) - 4)) -if [ $spare_cpus -gt 0 ]; then - spare_cpus=$(((spare_cpus * 3) / 4)) -else - spare_cpus=0 -fi - -extra_cpus=0 -[ $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 - -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 add-machine --constraints "cpu-cores=$((1 + spare_cpus)) mem=8G root-disk=20G" --series $DEFAULT_SERIES - -waitForMachine 1 -juju scp lxc-network.sh 1: -juju run --machine 1 "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_KEYSTONE_DEPLOY_OPTS "${CHARM_KEYSTONE:-keystone}" -juju deploy --to lxc:1 $CHARM_NOVA_CLOUD_CONTROLLER_DEPLOY_OPTS "${CHARM_NOVA_CLOUD_CONTROLLER:-nova-cloud-controller}" -juju deploy --to lxc:1 $CHARM_NEUTRON_API_DEPLOY_OPTS "${CHARM_NEUTRON_API:-neutron-api}" -juju deploy --to lxc:1 $CHARM_GLANCE_DEPLOY_OPTS "${CHARM_GLANCE:-glance}" -juju deploy --to lxc:1 $CHARM_OPENSTACK_DASHBOARD_DEPLOY_OPTS "${CHARM_OPENSTACK_DASHBOARD:-openstack-dashboard}" -# contrail -juju deploy --to lxc:1 $CHARM_ZOOKEEPER_DEPLOY_OPTS "${CHARM_ZOOKEEPER:-zookeeper}" -juju deploy --to lxc:1 $CHARM_CONTRAIL_CONFIGURATION_DEPLOY_OPTS "${CHARM_CONTRAIL_CONFIGURATION:-contrail-configuration}" -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: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}" - -# relation must be set first -# no official way of knowing when this relation hook will fire -waitForService mysql keystone -juju add-relation keystone mysql -sleep 60 - -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 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 nova-compute nova-cloud-controller -juju add-relation glance mysql -juju add-relation glance keystone -juju add-relation openstack-dashboard keystone -sleep 60 - -waitForService neutron-api -juju add-relation neutron-api mysql -juju add-relation neutron-api rabbitmq-server -juju add-relation neutron-api nova-cloud-controller -juju add-relation neutron-api keystone -juju add-relation neutron-api neutron-api-contrail -sleep 60 - -# contrail -waitForService cassandra zookeeper contrail-configuration -juju add-relation contrail-configuration:cassandra cassandra:database -juju add-relation contrail-configuration zookeeper -juju add-relation contrail-configuration rabbitmq-server -juju add-relation contrail-configuration keystone -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:contrail-api contrail-configuration:contrail-api -juju add-relation neutron-contrail keystone -sleep 60 - -waitForService contrail-webui -juju add-relation contrail-webui keystone -juju add-relation contrail-webui:contrail_api contrail-configuration:contrail-api -juju add-relation contrail-webui:contrail_discovery contrail-configuration:contrail-discovery -juju add-relation contrail-webui:cassandra cassandra:database -sleep 60 - -# enable kvm on compute -machine=$(unitMachine nova-compute 0) -juju scp compute.sh $machine: -juju run --machine $machine "sudo ./compute.sh" - -mkdir -m 0700 -p cloud -controller_address=$(unitAddress keystone 0) -configOpenrc admin password Admin http://$controller_address:5000/v2.0 RegionOne > cloud/admin-openrc -chmod 0600 cloud/admin-openrc - -machine=$(unitMachine nova-cloud-controller 0) -juju scp cloud-setup.sh cloud/admin-openrc ~/.ssh/id_rsa.pub $machine: -juju run --machine $machine ./cloud-setup.sh - -# setup contrail routing -juju set contrail-configuration "floating-ip-pools=[ { project: admin, network: public-net, pool-name: floatingip_pool, target-projects: [ admin ] } ]" -juju set neutron-contrail "virtual-gateways=[ { project: admin, network: public-net, interface: vgw, subnets: [ 10.0.10.0/24 ], routes: [ 0.0.0.0/0 ] } ]" - -machine=$(unitMachine glance 0) -juju scp glance.sh cloud/admin-openrc $machine: -juju run --machine $machine ./glance.sh - -# setup host routing -if [ -n "$CONFIGURE_HOST_ROUTING" ]; then - compute_address=$(unitAddress nova-compute 0) - sudo ip route replace 10.0.10.0/24 via $compute_address - sudo iptables -C FORWARD -s 10.0.10.0/24 -j ACCEPT 2> /dev/null || sudo iptables -I FORWARD 1 -s 10.0.10.0/24 -j ACCEPT - sudo iptables -C FORWARD -d 10.0.10.0/24 -j ACCEPT 2> /dev/null || sudo iptables -I FORWARD 2 -d 10.0.10.0/24 -j ACCEPT - sudo iptables -t nat -C POSTROUTING -s 10.0.10.0/24 ! -d 10.0.10.0/24 -j MASQUERADE 2> /dev/null || sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 ! -d 10.0.10.0/24 -j MASQUERADE -fi diff --git a/ci/opencontrail/fetch-charms.sh b/ci/opencontrail/fetch-charms.sh index 1ee385f6..211624c4 100755 --- a/ci/opencontrail/fetch-charms.sh +++ b/ci/opencontrail/fetch-charms.sh @@ -1,7 +1,6 @@ #!/bin/bash -ex distro=$1 -mkdir precise mkdir -p $distro function build { @@ -12,16 +11,12 @@ function build { # openstack bzr branch lp:~narindergupta/charms/trusty/promise/trunk $distro/promise -charm pull cs:trusty/mongodb $distro/mongodb -charm pull cs:$distro/haproxy $distro/haproxy -charm pull cs:$distro/ntp $distro/ntp -charm pull cs:$distro/aodh $distro/aodh -charm pull cs:~narindergupta/congress-1 $distro/congress +bzr branch lp:~billy-olsen/charms/xenial/mongodb/trunk $distro/mongodb +bzr branch lp:~narindergupta/opnfv/ntp $distro/ntp git clone -b stable/17.02 https://github.com/openstack/charm-hacluster.git $distro/hacluster -#bzr branch lp:~sdn-charmers/charms/$distro/ceilometer/ceilometer-plugin $distro/ceilometer -#git clone -b stable/17.02 https://github.com/openstack/charm-ceilometer.git $distro/ceilometer -#git clone -b stable/17.02 https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent +git clone -b stable/17.02 https://github.com/openstack/charm-ceilometer.git $distro/ceilometer +git clone -b stable/17.02 https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent git clone -b stable/17.02 https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon git clone -b stable/17.02 https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd git clone -b stable/17.02 https://github.com/openstack/charm-ceph-radosgw.git $distro/ceph-radosgw @@ -30,16 +25,21 @@ git clone -b stable/17.02 https://github.com/openstack/charm-cinder-ceph.git $di git clone -b stable/17.02 https://github.com/openstack/charm-glance.git $distro/glance git clone -b stable/17.02 https://github.com/openstack/charm-keystone.git $distro/keystone git clone -b stable/17.02 https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster +git clone -b stable/17.02 https://github.com/openstack/charm-neutron-api.git $distro/neutron-api git clone -b stable/17.02 https://github.com/openstack/charm-neutron-gateway.git $distro/neutron-gateway -#git clone -b stable/17.02 https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch +git clone -b stable/17.02 https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch git clone -b stable/17.02 https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller git clone -b stable/17.02 https://github.com/openstack/charm-nova-compute.git $distro/nova-compute git clone -b stable/17.02 https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard git clone -b stable/17.02 https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server git clone -b stable/17.02 https://github.com/openstack/charm-heat.git $distro/heat -git clone -b stable/17.02 https://github.com/openstack/charm-neutron-api.git $distro/neutron-api +git clone https://github.com/openstack/charm-lxd.git $distro/lxd git clone https://github.com/openbaton/juju-charm.git $distro/openbaton +charm pull cs:$distro/aodh $distro/aodh +charm pull cs:~free.ekanayaka/xenial/haproxy-1 $distro/haproxy +charm pull cs:~narindergupta/congress-1 $distro/congress + #pulling scaleio charms. charm pull cs:~cloudscaling/scaleio-mdm $distro/scaleio-mdm charm pull cs:~cloudscaling/scaleio-sds $distro/scaleio-sds @@ -49,30 +49,9 @@ charm pull cs:~cloudscaling/scaleio-openstack $distro/scaleio-openstack charm pull cs:~cloudscaling/scaleio-cluster $distro/scaleio-cluster charm pull cs:~cloudscaling/scaleio-gui $distro/scaleio-gui -#charm pull cs:~openstack-charmers-next/hacluster $distro/hacluster -#charm pull cs:~openstack-charmers-next/ceilometer $distro/ceilometer -#charm pull cs:~openstack-charmers-next/ceilometer-agent $distro/ceilometer-agent -#charm pull cs:~openstack-charmers-next/ceph-mon $distro/ceph -#charm pull cs:~openstack-charmers-next/ceph-osd $distro/ceph-osd -#charm pull cs:~openstack-charmers-next/ceph-radosgw $distro/ceph-radosgw -#charm pull cs:~openstack-charmers-next/cinder $distro/cinder -#charm pull cs:~openstack-charmers-next/cinder-ceph $distro/cinder-ceph -#charm pull cs:~openstack-charmers-next/glance $distro/glance -#charm pull cs:~openstack-charmers-next/keystone $distro/keystone -#charm pull cs:~openstack-charmers-next/percona-cluster $distro/percona-cluster -#charm pull cs:~openstack-charmers-next/neutron-api $distro/neutron-api -#charm pull cs:~openstack-charmers-next/neutron-gateway $distro/neutron-gateway -#charm pull cs:~openstack-charmers-next/neutron-openvswitch $distro/neutron-openvswitch -#charm pull cs:~openstack-charmers-next/nova-cloud-controller $distro/nova-cloud-controller -#charm pull cs:~openstack-charmers-next/nova-compute $distro/nova-compute -#charm pull cs:~openstack-charmers-next/openstack-dashboard $distro/openstack-dashboard -#charm pull cs:~openstack-charmers-next/rabbitmq-server $distro/rabbitmq-server -#charm pull cs:~openstack-charmers-next/heat $distro/heat -#charm pull cs:~openstack-charmers-next/lxd xenial/lxd +git clone https://github.com/Juniper/contrail-charms.git +cd contrail-charms/ +mv * ../$distro/ +cd ../ +rm -rf contrail-charms/ -# Controller specific charm -git clone https://git.opnfv.org/ovno.git -cd ovno/charms/trusty -mv * ../../../$distro/ -cd ../../../ -rm -rf ovno diff --git a/ci/opencontrail/juju-deployer/ovs-ocl-ha.yaml b/ci/opencontrail/juju-deployer/ovs-ocl-ha.yaml deleted file mode 120000 index 819993bd..00000000 --- a/ci/opencontrail/juju-deployer/ovs-ocl-ha.yaml +++ /dev/null @@ -1 +0,0 @@ -ovs-opencontrail-ha.yaml
\ No newline at end of file diff --git a/ci/opencontrail/juju-deployer/ovs-ocl-nonha.yaml b/ci/opencontrail/juju-deployer/ovs-ocl-nonha.yaml deleted file mode 120000 index dc2ea145..00000000 --- a/ci/opencontrail/juju-deployer/ovs-ocl-nonha.yaml +++ /dev/null @@ -1 +0,0 @@ -ovs-opencontrail-nonha.yaml
\ No newline at end of file diff --git a/ci/opencontrail/juju-deployer/ovs-ocl-tip.yaml b/ci/opencontrail/juju-deployer/ovs-ocl-tip.yaml deleted file mode 120000 index 509bf6cc..00000000 --- a/ci/opencontrail/juju-deployer/ovs-ocl-tip.yaml +++ /dev/null @@ -1 +0,0 @@ -ovs-opencontrail-tip.yaml
\ No newline at end of file diff --git a/ci/opencontrail/juju-deployer/ovs-opencontrail-ha.yaml b/ci/opencontrail/juju-deployer/ovs-opencontrail-ha.yaml deleted file mode 100644 index 18a80e24..00000000 --- a/ci/opencontrail/juju-deployer/ovs-opencontrail-ha.yaml +++ /dev/null @@ -1,392 +0,0 @@ -# vim: set ts=2 et: -trusty-mitaka-nodes: - inherits: openstack-phase1 - -trusty-mitaka: - inherits: contrail - overrides: - #os-data-network: 10.4.8.0/21 - #ceph-cluster-network: 10.4.0.0/21 - #prefer-ipv6: true - #enable-dvr: true - #l2-population: true - region: Canonical - #source: "cloud:trusty-mitaka" - openstack-origin: "cloud:trusty-mitaka" - #ceph-osd-replication-count: 2 - admin-role: admin - keystone-admin-role: admin - -openstack-phase1: - services: - nodes: - charm: "cs:trusty/ubuntu" - num_units: 5 - ntp: - charm: "local:trusty/ntp" - options: - source: "0.ubuntu.pool.ntp.org 1.ubuntu.pool.ntp.org 2.ubuntu.pool.ntp.org 3.ubuntu.pool.ntp.org" - auto_peers: false - zookeeper: - charm: local:precise/zookeeper - num_units: 3 - series: precise - to: - - "lxc:nodes=0" - - "lxc:nodes=1" - - "lxc:nodes=2" - cassandra: - charm: local:trusty/cassandra - num_units: 3 - to: - - "lxc:nodes=1" - - "lxc:nodes=2" - - "lxc:nodes=3" - options: - authenticator: AllowAllAuthenticator - relations: - - - "ntp:juju-info" - - "nodes:juju-info" - - - "ntp:juju-info" - - "nodes:juju-info" - -contrail: - inherits: openstack-phase2 - 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-analytics-api", "contrail-configuration:contrail-analytics-api" ] - - [ "contrail-configuration:contrail-discovery", "contrail-analytics:contrail-discovery" ] - - [ contrail-webui, keystone ] - - [ "contrail-webui:contrail_api", "contrail-configuration:contrail-api" ] - - [ "contrail-webui:contrail_discovery", "contrail-configuration:contrail-discovery" ] - - [ "contrail-webui:cassandra", "cassandra:database" ] - - [ nova-compute, neutron-contrail ] - - [ "neutron-contrail:contrail-discovery", "contrail-configuration:contrail-discovery" ] - - [ "neutron-contrail:contrail-api", "contrail-configuration:contrail-api" ] - - [ neutron-contrail, keystone ] - - [ contrail-configuration, ntp ] - - [ contrail-control, ntp ] - - [ contrail-analytics, ntp ] - - [ contrail-configuration, haproxy ] - - [ contrail-analytics, haproxy ] - - [ contrail-webui, haproxy ] - - [ haproxy, keepalived ] - services: - contrail-configuration: - charm: local:trusty/contrail-configuration - num_units: 3 - options: - vip: 10.4.1.18 - to: - - "lxc:nodes=2" - - "lxc:nodes=3" - - "lxc:nodes=4" - contrail-control: - charm: local:trusty/contrail-control - num_units: 3 - to: - - "lxc:nodes=3" - - "lxc:nodes=4" - - "lxc:nodes=0" - contrail-analytics: - charm: local:trusty/contrail-analytics - num_units: 3 - to: - - "lxc:nodes=4" - - "lxc:nodes=0" - - "lxc:nodes=1" - contrail-webui: - charm: local:trusty/contrail-webui - num_units: 3 - to: - - "lxc:nodes=0" - - "lxc:nodes=1" - - "lxc:nodes=2" - neutron-api-contrail: - charm: local:trusty/neutron-api-contrail - neutron-contrail: - charm: local:trusty/neutron-contrail - haproxy: - charm: local:trusty/haproxy - num_units: 3 - options: - peering_mode: active-active - to: - - "lxc:nodes=1" - - "lxc:nodes=2" - - "lxc:nodes=3" - keepalived: - charm: local:trusty/keepalived - options: - virtual-ip: 10.4.1.19 - -openstack-phase2: - inherits: openstack-phase1 - relations: - - [ "mysql:ha", "hacluster-mysql:ha" ] - - [ "glance:ha", "hacluster-glance:ha" ] - - [ "keystone:ha", "hacluster-keystone:ha" ] - - [ "neutron-api:ha", "hacluster-neutron:ha" ] - - [ "nova-cloud-controller:ha", "hacluster-nova:ha" ] - - [ "openstack-dashboard:ha", "hacluster-horizon:ha" ] - - [ "ceilometer:ha", "hacluster-ceilometer:ha" ] - - [ keystone, mysql ] - - [ nova-cloud-controller, mysql ] - - [ nova-cloud-controller, rabbitmq-server ] - - [ nova-cloud-controller, glance ] - - [ nova-cloud-controller, keystone ] - - [ nova-compute, nova-cloud-controller ] - - [ "nova-compute:shared-db", "mysql:shared-db" ] - - [ "nova-compute:amqp", "rabbitmq-server:amqp" ] - - [ nova-compute, glance ] - - [ glance, mysql ] - - [ glance, keystone ] - - [ openstack-dashboard, keystone ] - - [ neutron-api, mysql ] - - [ neutron-api, rabbitmq-server ] - - [ neutron-api, nova-cloud-controller ] - - [ neutron-api, keystone ] - - [ neutron-api, neutron-api-contrail ] - - [ "ceilometer:amqp", "rabbitmq-server:amqp" ] - - [ "ceilometer-agent:ceilometer-service", "ceilometer:ceilometer-service" ] - - [ "ceilometer:identity-service", "keystone:identity-service" ] - - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ] - - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ] - - [ "ceilometer:shared-db", "mongodb:database" ] - - [ "heat:shared-db", "mysql:shared-db" ] - - [ "heat:identity-service", "keystone:identity-service" ] - - [ "heat:amqp", "rabbitmq-server:amqp" ] - - [ "cinder:image-service", "glance:image-service" ] - - [ "cinder:amqp", "rabbitmq-server:amqp" ] - - [ "cinder:identity-service", "keystone:identity-service" ] - - [ "cinder:cinder-volume-service", "nova-cloud-controller:cinder-volume-service" ] - - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] - - [ "ceph:client", "nova-compute:ceph" ] - - [ "cinder:shared-db", "mysql:shared-db" ] - - [ "ceph:client", "cinder-ceph:ceph" ] - - [ "ceph:client", "glance:ceph" ] - - [ "ceph-osd:mon", "ceph:osd" ] - - [ "ceph-radosgw:mon", "ceph:radosgw" ] - - [ "ceph-radosgw:identity-service", "keystone:identity-service" ] - #- - nova-compute:lxd - #- lxd:lxd - - - congress:shared-db - - mysql:shared-db - - - congress:identity-service - - keystone:identity-service - - - congress:amqp - - rabbitmq-server:amqp - - services: - mysql: - charm: "local:trusty/percona-cluster" - num_units: 3 - options: - dataset-size: 2G - lp1366997-workaround: true - max-connections: 10000 - root-password: 293rhc395m - sst-password: 127rc14t51 - vip: 10.4.1.15 - to: - - "lxc:nodes=2" - - "lxc:nodes=3" - - "lxc:nodes=4" - hacluster-keystone: - charm: "local:trusty/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 - hacluster-horizon: - charm: "local:trusty/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 - hacluster-nova: - charm: "local:trusty/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 - hacluster-neutron: - charm: "local:trusty/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 - hacluster-glance: - charm: "local:trusty/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 - hacluster-ceilometer: - charm: "local:trusty/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 - hacluster-mysql: - charm: "local:trusty/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 - ceilometer: - charm: "local:trusty/ceilometer" - num_units: 3 - options: - vip: 10.4.1.14 - to: - - "lxc:nodes=3" - - "lxc:nodes=4" - - "lxc:nodes=0" - ceilometer-agent: - charm: "local:trusty/ceilometer-agent" - mongodb: - charm: "cs:trusty/mongodb" - num_units: 1 - to: - - "lxc:nodes=0" - heat: - charm: "local:trusty/heat" - to: - - "lxc:nodes=0" - ceph: - charm: local:trusty/ceph - num_units: 3 - options: - fsid: 5a791d94-980b-11e4-b6f6-3c970e8b1cf7 - monitor-secret: AQAi5a9UeJXUExAA+By9u+GPhl8/XiUQ4nwI3A== - monitor-count: 3 -# osd-reformat: 'no' -# ceph-cluster-network: 192.168.0.0/24 -# ceph-public-network: 192.168.0.0/24 - to: - - "lxc:nodes=4" - - "lxc:nodes=0" - - "lxc:nodes=1" - ceph-osd: - charm: local:trusty/ceph-osd - num_units: 3 - options: - osd-devices: /srv - osd-reformat: 'yes' - to: - - "nodes=2" - - "nodes=3" - - "nodes=4" - ceph-radosgw: - charm: local:trusty/ceph-radosgw - options: - use-embedded-webserver: true - operator-roles: "Member,admin" - to: - - "lxc:nodes=0" - cinder: - charm: local:trusty/cinder - num_units: 3 - options: - block-device: None - glance-api-version: 2 - to: - - "lxc:nodes=0" - - "lxc:nodes=1" - - "lxc:nodes=2" - cinder-ceph: - charm: local:trusty/cinder-ceph - rabbitmq-server: - charm: local:trusty/rabbitmq-server - num_units: 3 - options: - vip: 10.4.1.10 - to: - - "lxc:nodes=1" - - "lxc:nodes=2" - - "lxc:nodes=3" - keystone: - charm: local:trusty/keystone - num_units: 3 - options: - admin-password: openstack - admin-token: admin - vip: 10.4.1.13 - to: - - "lxc:nodes=2" - - "lxc:nodes=3" - - "lxc:nodes=4" - openstack-dashboard: - charm: local:trusty/openstack-dashboard - num_units: 3 - options: - secret: admin - vip: 10.4.1.11 - webroot: / - to: - - "lxc:nodes=3" - - "lxc:nodes=4" - - "lxc:nodes=0" - nova-compute: - charm: local:trusty/nova-compute - num_units: 4 - options: - enable-live-migration: False - manage-neutron-plugin-legacy-mode: False - migration-auth-type: ssh - #hugepages: "50%" - #virt-type: lxd - to: - - "nodes=1" - - "nodes=2" - - "nodes=3" - - "nodes=4" - nova-cloud-controller: - charm: local:trusty/nova-cloud-controller - num_units: 3 - options: - console-access-protocol: novnc - network-manager: Neutron - service-guard: true - vip: 10.4.1.16 - to: - - "lxc:nodes=4" - - "lxc:nodes=0" - - "lxc:nodes=1" - neutron-api: - charm: local:trusty/neutron-api - num_units: 3 - options: - neutron-security-groups: True - manage-neutron-plugin-legacy-mode: False - vip: 10.4.1.17 - to: - - "lxc:nodes=0" - - "lxc:nodes=1" - - "lxc:nodes=2" - glance: - charm: local:trusty/glance - num_units: 3 - options: - vip: 10.4.1.12 - to: - - "lxc:nodes=1" - - "lxc:nodes=2" - - "lxc:nodes=3" - opnfv-promise: - charm: local:trusty/promise - num_units: 1 - to: - - "lxc:nodes=0" - congress: - charm: local:trusty/congress - options: - #source-branch: stable/mitaka - to: - - "lxc:nodes=0" diff --git a/ci/opencontrail/juju-deployer/ovs-opencontrail-nonha.yaml b/ci/opencontrail/juju-deployer/ovs-opencontrail-nonha.yaml deleted file mode 100644 index 176e59a1..00000000 --- a/ci/opencontrail/juju-deployer/ovs-opencontrail-nonha.yaml +++ /dev/null @@ -1,256 +0,0 @@ -# vim: set ts=2 et: -trusty-mitaka-nodes: - inherits: openstack-phase1 - -trusty-mitaka: - inherits: contrail - overrides: - #os-data-network: 10.4.8.0/21 - #ceph-cluster-network: 10.4.0.0/21 - #prefer-ipv6: true - #enable-dvr: true - #l2-population: true - region: Canonical - #source: "cloud:trusty-mitaka" - openstack-origin: "cloud:trusty-mitaka" - #ceph-osd-replication-count: 2 - admin-role: admin - keystone-admin-role: admin - -openstack-phase1: - services: - nodes: - charm: "cs:trusty/ubuntu" - num_units: 2 - ntp: - charm: "local:trusty/ntp" - options: - source: "0.ubuntu.pool.ntp.org 1.ubuntu.pool.ntp.org 2.ubuntu.pool.ntp.org 3.ubuntu.pool.ntp.org" - auto_peers: false - zookeeper: - charm: local:precise/zookeeper - series: precise - to: - - "lxc:nodes=0" - cassandra: - charm: local:trusty/cassandra - to: - - "lxc:nodes=1" - options: - authenticator: AllowAllAuthenticator - relations: - - - "ntp:juju-info" - - "nodes:juju-info" - - - "ntp:juju-info" - - "nodes:juju-info" - -contrail: - inherits: openstack-phase2 - 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-analytics-api", "contrail-configuration:contrail-analytics-api" ] - - [ "contrail-configuration:contrail-discovery", "contrail-analytics:contrail-discovery" ] - - [ contrail-webui, keystone ] - - [ "contrail-webui:contrail_api", "contrail-configuration:contrail-api" ] - - [ "contrail-webui:contrail_discovery", "contrail-configuration:contrail-discovery" ] - - [ "contrail-webui:cassandra", "cassandra:database" ] - - [ nova-compute, neutron-contrail ] - - [ "neutron-contrail:contrail-discovery", "contrail-configuration:contrail-discovery" ] - - [ "neutron-contrail:contrail-api", "contrail-configuration:contrail-api" ] - - [ neutron-contrail, keystone ] - - [ contrail-configuration, ntp ] - - [ contrail-control, ntp ] - - [ contrail-analytics, ntp ] - services: - contrail-configuration: - charm: local:trusty/contrail-configuration - to: - - "lxc:nodes=0" - contrail-control: - charm: local:trusty/contrail-control - to: - - "lxc:nodes=1" - contrail-analytics: - charm: local:trusty/contrail-analytics - to: - - "lxc:nodes=0" - contrail-webui: - charm: local:trusty/contrail-webui - to: - - "lxc:nodes=1" - neutron-api-contrail: - charm: local:trusty/neutron-api-contrail - neutron-contrail: - charm: local:trusty/neutron-contrail - -openstack-phase2: - inherits: openstack-phase1 - relations: - - [ keystone, mysql ] - - [ nova-cloud-controller, mysql ] - - [ nova-cloud-controller, rabbitmq-server ] - - [ nova-cloud-controller, glance ] - - [ nova-cloud-controller, keystone ] - - [ nova-compute, nova-cloud-controller ] - - [ "nova-compute:shared-db", "mysql:shared-db" ] - - [ "nova-compute:amqp", "rabbitmq-server:amqp" ] - - [ nova-compute, glance ] - - [ glance, mysql ] - - [ glance, keystone ] - - [ openstack-dashboard, keystone ] - - [ neutron-api, mysql ] - - [ neutron-api, rabbitmq-server ] - - [ neutron-api, nova-cloud-controller ] - - [ neutron-api, keystone ] - - [ neutron-api, neutron-api-contrail ] - - [ "ceilometer:amqp", "rabbitmq-server:amqp" ] - - [ "ceilometer-agent:ceilometer-service", "ceilometer:ceilometer-service" ] - - [ "ceilometer:identity-service", "keystone:identity-service" ] - - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ] - - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ] - - [ "ceilometer:shared-db", "mongodb:database" ] - - [ "heat:shared-db", "mysql:shared-db" ] - - [ "heat:identity-service", "keystone:identity-service" ] - - [ "heat:amqp", "rabbitmq-server:amqp" ] - - [ "cinder:image-service", "glance:image-service" ] - - [ "cinder:amqp", "rabbitmq-server:amqp" ] - - [ "cinder:identity-service", "keystone:identity-service" ] - - [ "cinder:cinder-volume-service", "nova-cloud-controller:cinder-volume-service" ] - - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] - - [ "ceph:client", "nova-compute:ceph" ] - - [ "cinder:shared-db", "mysql:shared-db" ] - - [ "ceph:client", "cinder-ceph:ceph" ] - - [ "ceph:client", "glance:ceph" ] - - [ "ceph-osd:mon", "ceph:osd" ] - - [ "ceph-radosgw:mon", "ceph:radosgw" ] - - [ "ceph-radosgw:identity-service", "keystone:identity-service"] - #- - nova-compute:lxd - #- lxd:lxd - - - congress:shared-db - - mysql:shared-db - - - congress:identity-service - - keystone:identity-service - - - congress:amqp - - rabbitmq-server:amqp - services: - mysql: - charm: "local:trusty/percona-cluster" - options: - dataset-size: 2G - max-connections: 10000 - to: - - "lxc:nodes=0" - mongodb: - charm: local:trusty/mongodb - to: - - "lxc:nodes=1" - ceilometer: - charm: "local:trusty/ceilometer" - to: - - "lxc:nodes=0" - ceilometer-agent: - charm: "local:trusty/ceilometer-agent" - heat: - charm: "local:trusty/heat" - to: - - "lxc:nodes=1" - ceph: - charm: "local:trusty/ceph" - num_units: 2 - options: - fsid: 5a791d94-980b-11e4-b6f6-3c970e8b1cf7 - monitor-secret: AQAi5a9UeJXUExAA+By9u+GPhl8/XiUQ4nwI3A== - monitor-count: 2 -# osd-reformat: 'no' -# ceph-cluster-network: 192.168.0.0/24 -# ceph-public-network: 192.168.0.0/24 - to: - - "lxc:nodes=0" - - "lxc:nodes=1" - ceph-osd: - charm: "local:trusty/ceph-osd" - num_units: 2 - options: - osd-devices: /srv - osd-reformat: 'yes' - to: - - "nodes=0" - - "nodes=1" - ceph-radosgw: - charm: local:trusty/ceph-radosgw - options: - use-embedded-webserver: true - operator-roles: "Member,admin" - to: - - "lxc:nodes=0" - cinder: - charm: local:trusty/cinder - options: - block-device: None - glance-api-version: 2 - to: - - "lxc:nodes=1" - cinder-ceph: - charm: local:trusty/cinder-ceph - rabbitmq-server: - charm: local:trusty/rabbitmq-server - to: - - "lxc:nodes=0" - keystone: - charm: local:trusty/keystone - options: - admin-password: openstack - admin-token: admin - to: - - "lxc:nodes=1" - openstack-dashboard: - charm: local:trusty/openstack-dashboard - options: - secret: admin - webroot: / - to: - - "lxc:nodes=0" - nova-compute: - charm: local:trusty/nova-compute - options: - manage-neutron-plugin-legacy-mode: False - to: - - "nodes=1" - nova-cloud-controller: - charm: local:trusty/nova-cloud-controller - options: - network-manager: Neutron - to: - - "lxc:nodes=1" - neutron-api: - charm: local:trusty/neutron-api - options: - manage-neutron-plugin-legacy-mode: False - to: - - "lxc:nodes=0" - glance: - charm: local:trusty/glance - to: - - "lxc:nodes=1" - opnfv-promise: - charm: local:trusty/promise - to: - - "lxc:nodes=0" - congress: - charm: local:trusty/congress - options: - #source-branch: stable/mitaka - to: - - "lxc:nodes=1" diff --git a/ci/opencontrail/juju-deployer/ovs-opencontrail-tip.yaml b/ci/opencontrail/juju-deployer/ovs-opencontrail-tip.yaml deleted file mode 100644 index a19d84a3..00000000 --- a/ci/opencontrail/juju-deployer/ovs-opencontrail-tip.yaml +++ /dev/null @@ -1,258 +0,0 @@ -# vim: set ts=2 et: -trusty-mitaka-nodes: - inherits: openstack-phase1 - -trusty-mitaka: - inherits: contrail - overrides: - #os-data-network: 10.4.8.0/21 - #ceph-cluster-network: 10.4.0.0/21 - #prefer-ipv6: true - #enable-dvr: true - #l2-population: true - region: Canonical - #source: "cloud:trusty-mitaka" - openstack-origin: "cloud:trusty-mitaka" - #ceph-osd-replication-count: 2 - admin-role: admin - keystone-admin-role: admin - openstack-origin-git: mitaka - -openstack-phase1: - services: - nodes: - charm: "cs:trusty/ubuntu" - num_units: 2 - ntp: - charm: "local:trusty/ntp" - options: - source: "0.ubuntu.pool.ntp.org 1.ubuntu.pool.ntp.org 2.ubuntu.pool.ntp.org 3.ubuntu.pool.ntp.org" - auto_peers: false - zookeeper: - charm: local:precise/zookeeper - series: precise - to: - - "lxc:nodes=0" - cassandra: - charm: local:trusty/cassandra - to: - - "lxc:nodes=1" - options: - authenticator: AllowAllAuthenticator - relations: - - - "ntp:juju-info" - - "nodes:juju-info" - - - "ntp:juju-info" - - "nodes:juju-info" - -contrail: - inherits: openstack-phase2 - 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-analytics-api", "contrail-configuration:contrail-analytics-api" ] - - [ "contrail-configuration:contrail-discovery", "contrail-analytics:contrail-discovery" ] - - [ contrail-webui, keystone ] - - [ "contrail-webui:contrail_api", "contrail-configuration:contrail-api" ] - - [ "contrail-webui:contrail_discovery", "contrail-configuration:contrail-discovery" ] - - [ "contrail-webui:cassandra", "cassandra:database" ] - - [ nova-compute, neutron-contrail ] - - [ "neutron-contrail:contrail-discovery", "contrail-configuration:contrail-discovery" ] - - [ "neutron-contrail:contrail-api", "contrail-configuration:contrail-api" ] - - [ neutron-contrail, keystone ] - - [ contrail-configuration, ntp ] - - [ contrail-control, ntp ] - - [ contrail-analytics, ntp ] - services: - contrail-configuration: - charm: local:trusty/contrail-configuration - to: - - "lxc:nodes=0" - contrail-control: - charm: local:trusty/contrail-control - to: - - "lxc:nodes=1" - contrail-analytics: - charm: local:trusty/contrail-analytics - to: - - "lxc:nodes=0" - contrail-webui: - charm: local:trusty/contrail-webui - to: - - "lxc:nodes=1" - neutron-api-contrail: - charm: local:trusty/neutron-api-contrail - neutron-contrail: - charm: local:trusty/neutron-contrail - -openstack-phase2: - inherits: openstack-phase1 - relations: - - [ keystone, mysql ] - - [ nova-cloud-controller, mysql ] - - [ nova-cloud-controller, rabbitmq-server ] - - [ nova-cloud-controller, glance ] - - [ nova-cloud-controller, keystone ] - - [ nova-compute, nova-cloud-controller ] - - [ "nova-compute:shared-db", "mysql:shared-db" ] - - [ "nova-compute:amqp", "rabbitmq-server:amqp" ] - - [ nova-compute, glance ] - - [ glance, mysql ] - - [ glance, keystone ] - - [ openstack-dashboard, keystone ] - - [ neutron-api, mysql ] - - [ neutron-api, rabbitmq-server ] - - [ neutron-api, nova-cloud-controller ] - - [ neutron-api, keystone ] - - [ neutron-api, neutron-api-contrail ] - - [ "ceilometer:amqp", "rabbitmq-server:amqp" ] - - [ "ceilometer-agent:ceilometer-service", "ceilometer:ceilometer-service" ] - - [ "ceilometer:identity-service", "keystone:identity-service" ] - - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ] - - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ] - - [ "ceilometer:shared-db", "mongodb:database" ] - - [ "heat:shared-db", "mysql:shared-db" ] - - [ "heat:identity-service", "keystone:identity-service" ] - - [ "heat:amqp", "rabbitmq-server:amqp" ] - - [ "cinder:image-service", "glance:image-service" ] - - [ "cinder:amqp", "rabbitmq-server:amqp" ] - - [ "cinder:identity-service", "keystone:identity-service" ] - - [ "cinder:cinder-volume-service", "nova-cloud-controller:cinder-volume-service" ] - - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] - - [ "ceph:client", "nova-compute:ceph" ] - - [ "cinder:shared-db", "mysql:shared-db" ] - - [ "ceph:client", "cinder-ceph:ceph" ] - - [ "ceph:client", "glance:ceph" ] - - [ "ceph-osd:mon", "ceph:osd" ] - - [ "ceph-radosgw:mon", "ceph:radosgw" ] - - [ "ceph-radosgw:identity-service", "keystone:identity-service"] - #- - nova-compute:lxd - #- lxd:lxd - - - congress:shared-db - - mysql:shared-db - - - congress:identity-service - - keystone:identity-service - - - congress:amqp - - rabbitmq-server:amqp - services: - mysql: - charm: "local:trusty/percona-cluster" - options: - dataset-size: 2G - max-connections: 10000 - to: - - "lxc:nodes=0" - mongodb: - charm: local:trusty/mongodb - to: - - "lxc:nodes=1" - ceilometer: - charm: "local:trusty/ceilometer" - to: - - "lxc:nodes=0" - ceilometer-agent: - charm: "local:trusty/ceilometer-agent" - heat: - charm: "local:trusty/heat" - to: - - "lxc:nodes=1" - ceph: - charm: "local:trusty/ceph" - num_units: 2 - options: - fsid: 5a791d94-980b-11e4-b6f6-3c970e8b1cf7 - monitor-secret: AQAi5a9UeJXUExAA+By9u+GPhl8/XiUQ4nwI3A== - osd-devices: "" - monitor-count: 1 -# osd-reformat: 'no' -# ceph-cluster-network: 192.168.0.0/24 -# ceph-public-network: 192.168.0.0/24 - to: - - "lxc:nodes=0" - - "lxc:nodes=1" - ceph-osd: - charm: "local:trusty/ceph-osd" - num_units: 2 - options: - osd-devices: /srv - osd-reformat: 'yes' - to: - - "nodes=0" - - "nodes=1" - ceph-radosgw: - charm: local:trusty/ceph-radosgw - options: - use-embedded-webserver: true - operator-roles: "Member,admin" - to: - - "lxc:nodes=0" - cinder: - charm: local:trusty/cinder - options: - block-device: None - glance-api-version: 2 - to: - - "lxc:nodes=1" - cinder-ceph: - charm: local:trusty/cinder-ceph - rabbitmq-server: - charm: local:trusty/rabbitmq-server - to: - - "lxc:nodes=0" - keystone: - charm: local:trusty/keystone - options: - admin-password: openstack - admin-token: admin - to: - - "lxc:nodes=1" - openstack-dashboard: - charm: local:trusty/openstack-dashboard - options: - secret: admin - webroot: / - to: - - "lxc:nodes=0" - nova-compute: - charm: local:trusty/nova-compute - options: - manage-neutron-plugin-legacy-mode: False - to: - - "nodes=1" - nova-cloud-controller: - charm: local:trusty/nova-cloud-controller - options: - network-manager: Neutron - to: - - "lxc:nodes=1" - neutron-api: - charm: local:trusty/neutron-api - options: - manage-neutron-plugin-legacy-mode: False - to: - - "lxc:nodes=0" - glance: - charm: local:trusty/glance - to: - - "lxc:nodes=1" - opnfv-promise: - charm: local:trusty/promise - to: - - "lxc:nodes=0" - congress: - charm: local:trusty/congress - options: - #source-branch: stable/mitaka - to: - - "lxc:nodes=1" diff --git a/ci/opencontrail/juju-deployer/scripts/cloud-setup.sh b/ci/opencontrail/juju-deployer/scripts/cloud-setup.sh deleted file mode 100755 index fab347cf..00000000 --- a/ci/opencontrail/juju-deployer/scripts/cloud-setup.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -e - -. ~/admin-openrc - -# adjust tiny image -nova flavor-delete m1.tiny -nova flavor-create m1.tiny 1 512 8 1 - -# configure external network -neutron net-create --router:external=True public-net -neutron subnet-create --name public-subnet --no-gateway --allocation-pool start=10.0.10.2,end=10.0.10.254 --disable-dhcp public-net 10.0.10.0/24 - -# create vm network -neutron net-create ubuntu-net -neutron subnet-create --name ubuntu-subnet --gateway 10.0.5.1 ubuntu-net 10.0.5.0/24 - -# create pool of floating ips -i=0 -while [ $i -ne 10 ]; do - neutron floatingip-create public-net - i=$((i + 1)) -done - -# configure security groups -neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol icmp --remote-ip-prefix 0.0.0.0/0 default -neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol tcp --port-range-min 22 --port-range-max 22 --remote-ip-prefix 0.0.0.0/0 default - -# import key pair -nova keypair-add --pub-key id_rsa.pub ubuntu-keypair - -#http://docs.openstack.org/juno/install-guide/install/apt/content/launch-instance-neutron.html -# nova boot --flavor m1.small --image cirros-0.3.3-x86_64 --nic net-id=b65479a4-3638-4595-9245-6e41ccd8bfd8 --security-group default --key-name ubuntu-keypair demo-instance1 -# nova floating-ip-associate demo-instance1 10.5.8.35 diff --git a/ci/opencontrail/juju-deployer/scripts/glance.sh b/ci/opencontrail/juju-deployer/scripts/glance.sh deleted file mode 100755 index 467932ff..00000000 --- a/ci/opencontrail/juju-deployer/scripts/glance.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -e - -. ~/admin-openrc - -wget http://cloud-images.ubuntu.com/trusty/current/MD5SUMS - -wget http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img -glance image-create --name ubuntu-trusty-daily --disk-format qcow2 --container-format bare --owner admin --file trusty-server-cloudimg-amd64-disk1.img --checksum $(grep trusty-server-cloudimg-amd64-disk1.img MD5SUMS | cut -d " " -f 1) --is-public True diff --git a/ci/opencontrail/juju-deployer/scripts/openstack.sh b/ci/opencontrail/juju-deployer/scripts/openstack.sh deleted file mode 100755 index 8926a935..00000000 --- a/ci/opencontrail/juju-deployer/scripts/openstack.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -ex - -configOpenrc() -{ - cat <<-EOF - export OS_USERNAME=$1 - export OS_PASSWORD=$2 - export OS_TENANT_NAME=$3 - export OS_AUTH_URL=$4 - export OS_REGION_NAME=$5 - EOF -} - -unitAddress() -{ - juju status | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"public-address\"]" 2> /dev/null -} - -unitMachine() -{ - juju status | python -c "import yaml; import sys; print yaml.load(sys.stdin)[\"services\"][\"$1\"][\"units\"][\"$1/$2\"][\"machine\"]" 2> /dev/null -} - -mkdir -m 0700 -p cloud -controller_address=$(unitAddress keystone 0) -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) -juju scp cloud-setup.sh cloud/admin-openrc ~/.ssh/id_rsa.pub $machine: -juju run --machine $machine ./cloud-setup.sh - -# setup contrail routing -juju set contrail-configuration "floating-ip-pools=[ { project: admin, network: public-net, pool-name: floatingip_pool, target-projects: [ admin ] } ]" -juju set neutron-contrail "virtual-gateways=[ { project: admin, network: public-net, interface: vgw, subnets: [ 10.0.10.0/24 ], routes: [ 0.0.0.0/0 ] } ]" - -machine=$(unitMachine glance 0) -juju scp glance.sh cloud/admin-openrc $machine: -juju run --machine $machine ./glance.sh - -# setup host routing -if [ -n "$CONFIGURE_HOST_ROUTING" ]; then - compute_address=$(dig +short $(unitAddress nova-compute 0) | tail -n 1) - sudo ip route replace 10.0.10.0/24 via $compute_address - sudo iptables -C FORWARD -s 10.0.10.0/24 -j ACCEPT 2> /dev/null || sudo iptables -I FORWARD 1 -s 10.0.10.0/24 -j ACCEPT - sudo iptables -C FORWARD -d 10.0.10.0/24 -j ACCEPT 2> /dev/null || sudo iptables -I FORWARD 2 -d 10.0.10.0/24 -j ACCEPT - sudo iptables -t nat -C POSTROUTING -s 10.0.10.0/24 ! -d 10.0.10.0/24 -j MASQUERADE 2> /dev/null || sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 ! -d 10.0.10.0/24 -j MASQUERADE -fi diff --git a/ci/openstack.sh b/ci/openstack.sh index 4fdf1f96..ed082b9b 100755 --- a/ci/openstack.sh +++ b/ci/openstack.sh @@ -95,11 +95,15 @@ create_openrc() { v3api=`juju config keystone preferred-api-version` if [[ "$v3api" == "3" ]]; then - configOpenrc admin $adminPasswd admin http://$keystoneIp:5000/v3 RegionOne > ~/joid_config/admin-openrc + configOpenrc admin $adminPasswd admin http://$keystoneIp:5000/v3 RegionOne publicURL > ~/joid_config/admin-openrc chmod 0600 ~/joid_config/admin-openrc source ~/joid_config/admin-openrc projectid=`openstack project show admin -c id -f value` - configOpenrc admin $adminPasswd admin http://$keystoneIp:5000/v3 RegionOne $projectid > ~/joid_config/admin-openrc + projectdomainid=`openstack domain show admin_domain -c id -f value` + userdomainid=`openstack user show admin -c domain_id -f value` + urlapi=`openstack catalog show keystone --format yaml | python -c "import yaml; import sys; print yaml.load(sys.stdin)['endpoints']" | grep public | cut -d " " -f 4` + configOpenrc admin $adminPasswd admin $urlapi RegionOne publicURL $projectid $projectdomainid $userdomainid > ~/joid_config/admin-openrcinternal + configOpenrc admin $adminPasswd admin $urlapi RegionOne publicURL $projectid $projectdomainid $userdomainid > ~/joid_config/admin-openrc else configOpenrc2 admin $adminPasswd admin http://$keystoneIp:5000/v2.0 RegionOne > ~/joid_config/admin-openrc chmod 0600 ~/joid_config/admin-openrc @@ -121,21 +125,28 @@ EOF configOpenrc() { cat <<-EOF -# unsetting v3 items in case set -export OS_AUTH_URL=$4 +export OS_NO_CACHE='true' +export OS_TENANT_NAME=$3 +#export OS_TENANT_ID=$7 +export OS_PROJECT_NAME=$3 export OS_USERNAME=$1 export OS_PASSWORD=$2 +export OS_IDENTITY_API_VERSION=3 +export OS_DEFAULT_DOMAIN=admin_domain export OS_USER_DOMAIN_NAME=admin_domain +export OS_USER_DOMAIN_ID=$9 export OS_PROJECT_DOMAIN_NAME=admin_domain -export OS_PROJECT_NAME=$3 -export OS_TENANT_NAME=$3 -export OS_TENANT_ID=$6 +export OS_PROJECT_DOMAIN_ID=$8 +export OS_AUTH_STRATEGY='keystone' export OS_REGION_NAME=$5 -export OS_IDENTITY_API_VERSION=3 -# Swift needs this: -export OS_ENDPOINT_TYPE=publicURL +export CINDER_ENDPOINT_TYPE=$6 +export GLANCE_ENDPOINT_TYPE=$6 +export KEYSTONE_ENDPOINT_TYPE=$6 +export NOVA_ENDPOINT_TYPE=$6 +export NEUTRON_ENDPOINT_TYPE=$6 +export OS_ENDPOINT_TYPE=$6 export OS_INTERFACE=public -export OS_AUTH_VERSION=3 +export OS_AUTH_URL=$4 EOF } @@ -159,7 +170,7 @@ if [ "$API_FQDN" != "None" ]; then fi" # remove this enhancement for heat that does not manage endpoints - juju run --service=heat "cp /etc/hosts /tmp/hosts ; \ + juju run --application=heat "cp /etc/hosts /tmp/hosts ; \ grep -v $API_FQDN /tmp/hosts > /etc/hosts" #change in jumphost as well as below commands will run on jumphost diff --git a/ci/tools.sh b/ci/tools.sh new file mode 100644 index 00000000..4eed361b --- /dev/null +++ b/ci/tools.sh @@ -0,0 +1,26 @@ +############################################################################## +# Copyright (c) 2017 Nokia and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + + +####################################### +# Echo printing in yellow bold color +# Arguments: +# Same as for echo +# Returns: +# None +####################################### +function echo_info { ( + # don't clutter the script output with the xtrace of the echo command + { set +x; } 2> /dev/null + + yellow_bold='\033[1;33m' + color_off='\033[0m' + echo "${@:1:($#-1)}" -e "$yellow_bold${@: -1}$color_off"; + ) +} diff --git a/juju/configure-juju-on-openstack b/juju/configure-juju-on-openstack index c83a45a4..1d98fd08 100755 --- a/juju/configure-juju-on-openstack +++ b/juju/configure-juju-on-openstack @@ -91,9 +91,9 @@ cd - swift stat simplestreams swift post simplestreams --read-acl .r:* -openstack service create --name product-stream --description "Product Simple Stream" product-streams -SWIFT_URL=`openstack endpoint list --service swift --interface internal -c URL -f value` +openstack service show product-streams > /dev/null 2>&1 || openstack service create --name product-streams --description "Product Simple Stream" product-streams +SWIFT_URL=`openstack endpoint list --service swift --interface internal -c URL -f value` openstack endpoint create --region $OS_REGION_NAME product-streams public $SWIFT_URL/simplestreams/images openstack endpoint create --region $OS_REGION_NAME product-streams internal $SWIFT_URL/simplestreams/images @@ -124,7 +124,7 @@ juju add-credential openstack -f os-creds.yaml --replace #Bootstrap with Juju -juju bootstrap openstack --config image-metadata-url=$SWIFT_URL/simplestreams/images --config use-floating-ip=true --config network=private +juju bootstrap openstack --debug --config image-metadata-url=$SWIFT_URL/simplestreams/images --config use-floating-ip=true --config network=private juju gui --show-credentials --no-browser #Print the address of Juju-gui for deployments on Openstack diff --git a/juju/joid-configure-openstack b/juju/joid-configure-openstack index 52347b4a..ab4c1670 100755 --- a/juju/joid-configure-openstack +++ b/juju/joid-configure-openstack @@ -35,16 +35,16 @@ fi echo "Configuring Openstack Neutron Networking" #create ext network with neutron for floating IPs -EXTERNAL_NETWORK_ID=$(neutron net-show ext-net | grep " id" | awk '{print $4}') +EXTERNAL_NETWORK_ID=$(openstack network show ext-net | grep " id" | awk '{print $4}') #Create private network for neutron for tenant VMs -neutron net-show private > /dev/null 2>&1 || neutron net-create private -neutron subnet-show private_subnet > /dev/null 2>&1 || neutron subnet-create private $NEUTRON_FIXED_NET_CIDR -- --name private_subnet --dns_nameservers list=true 8.8.8.8 -SUBNET_ID=$(neutron subnet-show private_subnet | grep " id" | awk '{print $4}') +openstack network show private > /dev/null 2>&1 || openstack network create private +openstack subnet show private_subnet > /dev/null 2>&1 || neutron subnet-create private $NEUTRON_FIXED_NET_CIDR -- --name private_subnet --dns_nameservers list=true 8.8.8.8 +SUBNET_ID=$(openstack subnet show private_subnet | grep " id" | awk '{print $4}') #Create router for external network and private network -openstack router list provider-router > /dev/null 2>&1 || openstack router create --project-domain=$OS_PROJECT_DOMAIN_NAME --project $OS_PROJECT_NAME provider-router -ROUTER_ID=$(neutron router-show provider-router | grep " id" | awk '{print $4}') +openstack router show provider-router > /dev/null 2>&1 || openstack router create --project-domain=$OS_PROJECT_DOMAIN_NAME --project $OS_PROJECT_NAME provider-router +ROUTER_ID=$(openstack router show provider-router | grep " id" | awk '{print $4}') neutron router-gateway-clear provider-router || true neutron router-gateway-set $ROUTER_ID $EXTERNAL_NETWORK_ID @@ -57,9 +57,9 @@ echo "Configuring security groups for access to ICMP, SSH and RDP by default" PROJECT_ID=`openstack project list -c ID -f value --domain admin_domain` #Configure the default security group to allow ICMP and SSH -SEC_GRP=`openstack security group list --project "$PROJECT_ID" -c ID -f value` -openstack security group rule list $SEC_GRP | grep "icmp" > /dev/null 2>&1 || openstack security group rule create --remote-group $SEC_GRP --ingress --protocol icmp --prefix "0.0.0.0/0" $SEC_GRP -openstack security group rule list $SEC_GRP | grep "22/tcp" > /dev/null 2>&1 || openstack security group rule create --remote-group $SEC_GRP --ingress --protocol tcp --dst-port 22:22 --prefix "0.0.0.0/0" $SEC_GRP +#SEC_GRP=`openstack security group list --project "$PROJECT_ID" -c ID -f value` +#openstack security group rule list $SEC_GRP | grep "icmp" > /dev/null 2>&1 || openstack security group rule create --remote-group $SEC_GRP --ingress --protocol icmp --prefix "0.0.0.0/0" $SEC_GRP +#openstack security group rule list $SEC_GRP | grep "22/tcp" > /dev/null 2>&1 || openstack security group rule create --remote-group $SEC_GRP --ingress --protocol tcp --dst-port 22:22 --prefix "0.0.0.0/0" $SEC_GRP echo "Uploading default SSH key" @@ -94,13 +94,11 @@ echo "Uploading images to glance" ## image name is used by script to generate metadata .. don't screw the series if grep -q 'virt-type: lxd' bundles.yaml; then - glance image-list | grep "Xenial LXC x86_64" > /dev/null 2>&1 || glance image-create --name="Xenial LXC x86_64" --visibility=public --container-format=bare --disk-format=root-tar --property architecture="x86_64" < /srv/data/xenial-server-cloudimg-amd64-root.tar.gz - glance image-list | grep "Cirros LXC 0.3" > /dev/null 2>&1 || glance image-create --name="Cirros LXC 0.3" --visibility=public --container-format=bare --disk-format=root-tar --property architecture="x86_64" < /srv/data/cirros-0.3.4-x86_64-lxc.tar.gz + openstack image list | grep "Xenial LXC x86_64" > /dev/null 2>&1 || glance image-create --name="Xenial LXC x86_64" --visibility=public --container-format=bare --disk-format=root-tar --property architecture="x86_64" < /srv/data/xenial-server-cloudimg-amd64-root.tar.gz + openstack image list | grep "Cirros LXC 0.3" > /dev/null 2>&1 || glance image-create --name="Cirros LXC 0.3" --visibility=public --container-format=bare --disk-format=root-tar --property architecture="x86_64" < /srv/data/cirros-0.3.4-x86_64-lxc.tar.gz else - #glance image-list | grep "Precise x86_64" > /dev/null 2>&1 || glance image-create --name="Precise x86_64" --visibility=public --container-format=ovf --disk-format=qcow2 < /srv/data/precise-server-cloudimg-amd64-disk1.img - glance image-list | grep "Trusty x86_64" > /dev/null 2>&1 || glance image-create --name="Trusty x86_64" --visibility=public --container-format=ovf --disk-format=qcow2 < /srv/data/trusty-server-cloudimg-amd64-disk1.img - glance image-list | grep "Xenial x86_64" > /dev/null 2>&1 || glance image-create --name="Xenial x86_64" --visibility=public --container-format=ovf --disk-format=qcow2 < /srv/data/xenial-server-cloudimg-amd64-disk1.img - glance image-list | grep "CentOS 6.4" > /dev/null 2>&1 || glance image-create --name="CentOS 6.4" --visibility=public --container-format=bare --disk-format=qcow2 < /srv/data/centos6.4-x86_64-gold-master.img - glance image-list | grep "Cirros 0.3" > /dev/null 2>&1 || glance image-create --name="Cirros 0.3" --visibility=public --container-format=bare --disk-format=qcow2 < /srv/data/cirros-0.3.4-x86_64-disk.img - #glance image-list | grep "win2012r2" > /dev/null 2>&1 || gzip -cd /srv/data/windows_server_2012_r2_standard_eval_kvm_20151021.qcow2.gz |glance image-create --name="Windows Server 2012" --is-public=true --container-format=bare --disk-format=qcow2 --progress + openstack image list | grep "Trusty x86_64" > /dev/null 2>&1 || openstack image create "Trusty x86_64" --public --container-format=ovf --disk-format=qcow2 < /srv/data/trusty-server-cloudimg-amd64-disk1.img + openstack image list | grep "Xenial x86_64" > /dev/null 2>&1 || openstack image create "Xenial x86_64" --public --container-format=ovf --disk-format=qcow2 < /srv/data/xenial-server-cloudimg-amd64-disk1.img + openstack image list | grep "CentOS 6.4" > /dev/null 2>&1 || openstack image create "CentOS 6.4" --public --container-format=bare --disk-format=qcow2 < /srv/data/centos6.4-x86_64-gold-master.img + openstack image list | grep "Cirros 0.3" > /dev/null 2>&1 || openstack image create "Cirros 0.3" --public --container-format=bare --disk-format=qcow2 < /srv/data/cirros-0.3.4-x86_64-disk.img fi diff --git a/juju/k8s/clearwater/deploy_clearwater_k8s.sh b/juju/k8s/clearwater/deploy_clearwater_k8s.sh new file mode 100755 index 00000000..695f5083 --- /dev/null +++ b/juju/k8s/clearwater/deploy_clearwater_k8s.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +# Copyright 2017 Aakash KT <aakashkt0@gmail.com> <aakash.kt@research.iiit.ac.in> + +# 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. + + + +function setup_docker() { + echo "Installing docker..." + sudo apt-get install -y docker.io + + sudo docker login --username="aakashkt" --password="joid123" +} + +function setup_clearwater() { + echo "Preparing docker images..." + + git clone --recursive https://github.com/Metaswitch/clearwater-docker.git + pushd clearwater-docker + + for i in base astaire cassandra chronos bono ellis homer homestead ralf sprout + do + sudo docker build -t clearwater/$i $i + done + + for i in base astaire cassandra chronos bono ellis homer homestead ralf sprout + do + sudo docker tag clearwater/$i:latest $1/$i:latest + sudo docker push $1/$i:latest + done + + popd +} + +function setup_k8s() { + echo "Preparing the k8s cluster..." + python set_depl_files.py $1 $2 +} + +function deploy() { + juju run --application kubeapi-load-balancer 'open-port 5060' + + juju run --application kubernetes-master 'open-port 30080' + juju run --application kubernetes-worker 'open-port 30080' + + sudo kubectl create -f clearwater-docker/kubernetes + echo "Done" +} + +cp set_depl_files.py /tmp/ +pushd /tmp/ + +juju run --application kubeapi-load-balancer 'unit-get public-address' +load_balancer_ip=$? +docker_repo="aakashkt" + +setup_docker +setup_clearwater $docker_repo +setup_k8s $docker_repo $load_balancer_ip +deploy + +popd
\ No newline at end of file diff --git a/juju/k8s/clearwater/set_depl_files.py b/juju/k8s/clearwater/set_depl_files.py new file mode 100755 index 00000000..784ad5e3 --- /dev/null +++ b/juju/k8s/clearwater/set_depl_files.py @@ -0,0 +1,62 @@ +''' +Copyright 2017 Aakash KT <aakashkt0@gmail.com> <aakash.kt@research.iiit.ac.in> + +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 yaml +import sys +import os + +files = ["astaire", "bono", "cassandra", "chronos", "ellis", "etcd", "homer", "homestead", + "ralf", "sprout"]; + +try: + repo = sys.argv[1]; + load_balancer_ip = sys.argv[2]; +except: + print "Usage : python set_depl_files.py <repository_name> <load_balancer_ip>"; + sys.exit(0); + +for f in files: + + fp = file("clearwater-docker/kubernetes/%s-depl.yaml"%f, "r+"); + yaml_fp = yaml.load(fp); + + yaml_fp["spec"]["template"]["spec"]["containers"][0]["image"] = "%s/%s:latest" % (repo, f); + + fp.truncate(0); + fp.seek(0, 0); + fp.write(yaml.dump(yaml_fp)); + fp.close(); + +fp = file("clearwater-docker/kubernetes/bono-depl.yaml", "r+"); +bono_fp = yaml.load(fp); +bono_depl_env = bono_fp["spec"]["template"]["spec"]["containers"][0]["env"]; + +for item in bono_depl_env: + if item["name"] == "PUBLIC_IP": + item["value"] = load_balancer_ip; + +fp.truncate(0); +fp.seek(0, 0); +fp.write(yaml.dump(bono_fp)); +fp.close(); + +fp = file("clearwater-docker/kubernetes/bono-svc.yaml", "r+"); +bono_fp = yaml.load(fp); +bono_fp["spec"]["loadBalancerIP"] = load_balancer_ip; +fp.truncate(0); +fp.seek(0, 0); +fp.write(yaml.dump(bono_fp)); +fp.close();
\ No newline at end of file diff --git a/labconfig/juniper/pod1/labconfig.yaml b/labconfig/juniper/pod1/labconfig.yaml index 107d1c2b..b1b90ba9 100644 --- a/labconfig/juniper/pod1/labconfig.yaml +++ b/labconfig/juniper/pod1/labconfig.yaml @@ -7,11 +7,11 @@ lab: architecture: x86_64 roles: [compute,storage] nics: - - ifname: eth0 + - ifname: intf100 spaces: [admin] mac: ["0c:c4:7a:53:57:c2"] - - ifname: eth1 - spaces: [public] + - ifname: intf101 + spaces: [floating] mac: ["0c:c4:7a:53:57:c3"] power: type: ipmi @@ -22,11 +22,11 @@ lab: architecture: x86_64 roles: [compute,control,storage] nics: - - ifname: eth0 + - ifname: intf100 spaces: [admin] mac: ["0c:c4:7a:16:2a:70"] - - ifname: eth1 - spaces: [public] + - ifname: intf101 + spaces: [floating] mac: ["0c:c4:7a:16:2a:71"] power: type: ipmi @@ -37,11 +37,11 @@ lab: architecture: x86_64 roles: [compute,control,storage] nics: - - ifname: eth0 + - ifname: intf100 spaces: [admin] mac: ["0c:c4:7a:16:2a:0a"] - - ifname: eth1 - spaces: [public] + - ifname: intf101 + spaces: [floating] mac: ["0c:c4:7a:16:2a:0b"] power: type: ipmi @@ -52,11 +52,11 @@ lab: architecture: x86_64 roles: [compute,control,storage] nics: - - ifname: eth0 + - ifname: intf100 spaces: [admin] mac: ["0c:c4:7a:16:22:9c"] - - ifname: eth1 - spaces: [public] + - ifname: intf101 + spaces: [floating] mac: ["0c:c4:7a:16:22:9d"] power: type: ipmi @@ -67,11 +67,11 @@ lab: architecture: x86_64 roles: [compute,storage] nics: - - ifname: eth0 + - ifname: intf100 spaces: [admin] mac: ["0c:c4:7a:53:57:16"] - - ifname: eth1 - spaces: [public] + - ifname: intf101 + spaces: [floating] mac: ["0c:c4:7a:53:57:17"] power: type: ipmi @@ -79,28 +79,28 @@ lab: user: ADMIN pass: ADMIN floating-ip-range: 10.10.10.6,10.10.10.250,10.10.10.1,10.10.10.0/24 - ext-port: "br-eth1" + ext-port: "intf101" dns: 8.8.8.8 osdomainname: opnfv: - release: c - distro: trusty - type: nonha - openstack: mitaka + release: d + distro: xenial + type: ha + openstack: ocata sdncontroller: - - type: nosdn + - type: ocl storage: - type: ceph disk: /srv - feature: odl_l2 + feature: nofeature spaces: - type: admin bridge: brAdm cidr: 172.16.50.0/24 gateway: 172.16.50.1 vlan: - - type: public + - type: floating bridge: brPublic - cidr: 10.10.10.0/24 - gateway: 10.10.10.1 + cidr: 10.10.0.0/20 + gateway: vlan: diff --git a/labconfig/lenovo/pod1/labconfig.yaml b/labconfig/lenovo/pod1/labconfig.yaml index ba56362a..a29282da 100644 --- a/labconfig/lenovo/pod1/labconfig.yaml +++ b/labconfig/lenovo/pod1/labconfig.yaml @@ -39,10 +39,10 @@ lab: nics: - ifname: intf100 spaces: [admin] - mac: ["24:8a:07:3f:95:b6"] + mac: ["24:8a:07:3f:84:c4"] - ifname: intf101 spaces: [floating] - mac: ["24:8a:07:3f:95:b7"] + mac: ["24:8a:07:3f:84:c5"] power: type: ipmi address: 192.0.5.127 @@ -78,8 +78,8 @@ lab: address: 192.0.5.129 user: USERID pass: PASSW0RD - floating-ip-range: 172.21.159.6,172.21.159.100,172.21.159.1,172.21.159.0/24 - ext-port: "br-intf101" + floating-ip-range: 172.21.159.6,172.21.159.100,172.21.159.5,172.21.159.0/24 + ext-port: "intf101" dns: 8.8.8.8 osdomainname: opnfv: |