summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xci/02-deploybundle.sh26
-rwxr-xr-xci/03-maasdeploy.sh30
-rw-r--r--ci/config_tpl/juju2/bundle_tpl/ceilometer.yaml1
-rw-r--r--ci/config_tpl/juju2/bundle_tpl/ceph.yaml5
-rw-r--r--ci/config_tpl/juju2/bundle_tpl/cinder.yaml1
-rw-r--r--ci/config_tpl/juju2/bundle_tpl/glance.yaml1
-rw-r--r--ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml2
-rw-r--r--ci/config_tpl/juju2/bundle_tpl/openstack-dashboard.yaml1
-rw-r--r--ci/config_tpl/juju2/bundle_tpl/spaces.yaml32
-rw-r--r--ci/config_tpl/juju2/bundlek8_tpl/bundle.yaml2
-rw-r--r--ci/config_tpl/juju2/bundlek8_tpl/easyrsa.yaml2
-rw-r--r--ci/config_tpl/juju2/bundlek8_tpl/etcd.yaml2
-rw-r--r--ci/config_tpl/juju2/bundlek8_tpl/flannel.yaml4
-rw-r--r--ci/config_tpl/juju2/bundlek8_tpl/kubernetes.yaml4
-rw-r--r--ci/config_tpl/juju2/bundlek8_tpl/ovn.yaml5
-rw-r--r--ci/config_tpl/juju2/bundlek8_tpl/spaces.yaml5
-rwxr-xr-xci/deploy.sh39
17 files changed, 81 insertions, 81 deletions
diff --git a/ci/02-deploybundle.sh b/ci/02-deploybundle.sh
index 1bb0084c..0d4166e5 100755
--- a/ci/02-deploybundle.sh
+++ b/ci/02-deploybundle.sh
@@ -151,25 +151,13 @@ fi
#keep the back in cloud for later debugging.
pastebinit bundles.yaml || true
-if [[ "$jujuver" < "2" ]]; then
- echo "... Deployment Started ...."
- juju-deployer -vW -d -t 7200 -r 5 -c bundles.yaml $opnfvdistro-"$openstack"-nodes
- count=`juju status nodes --format=short | grep nodes | wc -l`
- c=0
- while [ $c -lt $count ]; do
- juju ssh nodes/$c 'echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p' || true
- juju ssh nodes-compute/$c 'echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p' || true
- juju ssh nodes/$c 'echo 2048 | sudo tee /proc/sys/fs/inotify/max_user_instances' || true
- juju ssh nodes-compute/$c 'echo 2048 | sudo tee /proc/sys/fs/inotify/max_user_instances' || true
- let c+=1
- done
+# with JUJU 2.0 bundles has to be deployed only once.
+juju deploy bundles.yaml --debug
+sleep 120
+check_status allocating
- juju-deployer -vW -d -t 7200 -r 5 -c bundles.yaml $opnfvdistro-"$openstack" || true
-else
- # with JUJU 2.0 bundles has to be deployed only once.
- juju deploy bundles.yaml --debug
- sleep 120
- check_status allocating
+# need to revisit later if not needed we will remove the below.
+openfile_fix() {
# seeing issue related to number of open files.
count=`juju status nodes --format=short | grep nodes | wc -l`
c=0
@@ -180,7 +168,7 @@ else
juju ssh nodes-compute/$c 'echo 2048 | sudo tee /proc/sys/fs/inotify/max_user_instances' || true
let c+=1
done
-fi
+}
if [ "$opnfvsdn" = "ocl" ]
then
diff --git a/ci/03-maasdeploy.sh b/ci/03-maasdeploy.sh
index dcf4b46b..d74214bf 100755
--- a/ci/03-maasdeploy.sh
+++ b/ci/03-maasdeploy.sh
@@ -255,9 +255,9 @@ configuremaas(){
#create the required spaces.
maas $PROFILE space update 0 name=default || true
- for space in unused admin-api internal-api public-api \
+ for space in admin-api internal-api public-api \
storage-access storage-cluster admin \
- tenant-data tenant-api tenant-public oam-space
+ tenant-data tenant-api tenant-public os-api
do
echo_info "Creating the space $space"
maas $PROFILE spaces create name=$space || true
@@ -281,7 +281,7 @@ configuremaas(){
setupspacenetwork(){
#get space, subnet and vlan and create accordingly.
- #for type in pxe admin data storage external floating public; do
+ #for type in admin osapi data storage external floating public; do
nettypes=`cat labconfig.json | jq '.opnfv.spaces[]'.type | cut -d \" -f 2`
for type in $nettypes; do
config_done=0
@@ -335,13 +335,13 @@ setupspacenetwork(){
fi
fi
case "$type" in
- 'pxe') JUJU_SPACE="oam-space"; DHCP='enabled' ;;
'admin') JUJU_SPACE="internal-api"; DHCP='enabled' ;;
'data') JUJU_SPACE="tenant-data"; DHCP='' ;;
'public') JUJU_SPACE="public-api"; DHCP='' ;;
'storage') JUJU_SPACE="storage-cluster"; DHCP='' ;;
'storageaccess') JUJU_SPACE="storage-data"; DHCP='' ;;
'floating') JUJU_SPACE="tenant-public"; DHCP='' ;;
+ 'osapi') JUJU_SPACE="os-api"; DHCP='' ;;
*) JUJU_SPACE='default'; DHCP='OFF'; echo_info " >>> Unknown SPACE" ;;
esac
JUJU_SPACE_ID=$(maas $PROFILE spaces read | jq -r ".[] | select(.name==\"$JUJU_SPACE\")".id)
@@ -352,7 +352,7 @@ setupspacenetwork(){
maas $PROFILE vlan update $NET_FABRIC_ID $JUJU_VLAN_VID space=$JUJU_SPACE_ID
fi
fi
- if ([ $type == "admin" ] || [ $type == "pxe" ]); then
+ if ([ $type == "admin" ]); then
# If we have a network, we create it
if ([ $NET_FABRIC_ID ]); then
# Set ranges
@@ -409,10 +409,9 @@ addnodes(){
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 `
- PXE_BR=`cat labconfig.json | jq '.opnfv.spaces[] | select(.type=="admin")'.bridge | cut -d \" -f 2 `
for feature in $brid; do
- if ([ "$feature" == "$ADMIN_BR" ] || [ "$feature" == "$PXE_BR" ]); then
+ if ([ "$feature" == "$ADMIN_BR" ]); then
netw=$netw" --network bridge="$feature",model=virtio"
else
netw=$netw
@@ -489,8 +488,6 @@ addnodes(){
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_ADDRESS_PXE=`cat labconfig.json | jq ".lab.racks[].nodes[$units].nics[] | select(.spaces[]==\"pxe\").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 `
@@ -508,17 +505,10 @@ addnodes(){
NODE_ARC="$NODE_ARCHES/generic"
echo_info "Creating node $NODE_NAME"
- if ([ $MAC_ADDRESS_PXE ] && ["$MAC_ADDRESS_PXE" != "null" ]); then
- 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_PXE architecture=$NODE_ARC
- else
- 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
- fi
+ 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
diff --git a/ci/config_tpl/juju2/bundle_tpl/ceilometer.yaml b/ci/config_tpl/juju2/bundle_tpl/ceilometer.yaml
index b34bec24..de6a1214 100644
--- a/ci/config_tpl/juju2/bundle_tpl/ceilometer.yaml
+++ b/ci/config_tpl/juju2/bundle_tpl/ceilometer.yaml
@@ -1,6 +1,7 @@
mongodb:
charm: ./{{ ubuntu.release }}/mongodb
num_units: 1
+ constraints: *oam-space-constr
{% if os.service.bindings %}
bindings:
"": *internal-space
diff --git a/ci/config_tpl/juju2/bundle_tpl/ceph.yaml b/ci/config_tpl/juju2/bundle_tpl/ceph.yaml
index 87591a42..cdbe4869 100644
--- a/ci/config_tpl/juju2/bundle_tpl/ceph.yaml
+++ b/ci/config_tpl/juju2/bundle_tpl/ceph.yaml
@@ -28,8 +28,8 @@
{% endfor %}
{% else %}
- "lxd:nodes/0"
- - "lxd:nodes/1"
- - "lxd:nodes/2"
+ - "lxd:nodes/0"
+ - "lxd:nodes/0"
{% endif %}
{% endif %}
ceph-osd:
@@ -83,6 +83,7 @@
charm: "./{{ ubuntu.release }}/ceph-radosgw"
num_units: {{ unit_qty() if os.beta.hacluster_ceph_radosgw else 1 }}
{% if os.service.bindings %}
+ constraints: *ceph-access-constr
bindings:
"": *oam-space
public: *public-space
diff --git a/ci/config_tpl/juju2/bundle_tpl/cinder.yaml b/ci/config_tpl/juju2/bundle_tpl/cinder.yaml
index 027fc045..0313f07c 100644
--- a/ci/config_tpl/juju2/bundle_tpl/cinder.yaml
+++ b/ci/config_tpl/juju2/bundle_tpl/cinder.yaml
@@ -6,6 +6,7 @@
num_units: {{ unit_qty() }}
{% endif %}
{% if os.service.bindings %}
+ constraints: *ceph-access-constr
bindings:
"": *oam-space
public: *public-space
diff --git a/ci/config_tpl/juju2/bundle_tpl/glance.yaml b/ci/config_tpl/juju2/bundle_tpl/glance.yaml
index 198cefb7..725c436e 100644
--- a/ci/config_tpl/juju2/bundle_tpl/glance.yaml
+++ b/ci/config_tpl/juju2/bundle_tpl/glance.yaml
@@ -2,6 +2,7 @@
charm: "./{{ ubuntu.release }}/glance"
num_units: {{ unit_qty() }}
{% if os.service.bindings %}
+ constraints: *ceph-access-constr
bindings:
"": *oam-space
public: *public-space
diff --git a/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml b/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml
index 588eeb2b..e27b0d48 100644
--- a/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml
+++ b/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml
@@ -105,7 +105,7 @@
charm: ./{{ ubuntu.release }}/contrail-keystone-auth
num_units: 1
bindings:
- "": internal-api
+ "": *oam-space
to:
- "lxd:nodes/0"
diff --git a/ci/config_tpl/juju2/bundle_tpl/openstack-dashboard.yaml b/ci/config_tpl/juju2/bundle_tpl/openstack-dashboard.yaml
index 5e240e24..9132096e 100644
--- a/ci/config_tpl/juju2/bundle_tpl/openstack-dashboard.yaml
+++ b/ci/config_tpl/juju2/bundle_tpl/openstack-dashboard.yaml
@@ -2,6 +2,7 @@
charm: "./{{ ubuntu.release }}/openstack-dashboard"
num_units: {{ unit_qty() }}
{% if os.service.bindings %}
+ constraints: *oam-space-constr
bindings:
"": *public-space
shared-db: *internal-space
diff --git a/ci/config_tpl/juju2/bundle_tpl/spaces.yaml b/ci/config_tpl/juju2/bundle_tpl/spaces.yaml
index 63f624f3..3023dfc0 100644
--- a/ci/config_tpl/juju2/bundle_tpl/spaces.yaml
+++ b/ci/config_tpl/juju2/bundle_tpl/spaces.yaml
@@ -1,34 +1,35 @@
-
-
{% if os.release == 'mitaka' %}
openstack-origin: &openstack-origin distro
{% else %}
openstack-origin: &openstack-origin cloud:{{ ubuntu.release }}-{{ os.release }}
{% endif %}
-
openstack-region: &openstack-region {{ os.region }}
worker-multiplier: &worker-multiplier {{ os.api.worker_multiplier }}
data-port: &data-port br-data:{{ opnfv.ext_port }}
# OAM - Operations, Administration and Maintenance
-{% if opnfv.spaces_dict.pxe is defined %}
- oam-space: &oam-space oam-space
-{% else %}
oam-space: &oam-space internal-api
-{% endif %}
+ # This is OpenStack Internal network; for internalURL endpoints
# This is OpenStack Admin network; for adminURL endpoints
+{% if opnfv.spaces_dict.osapi is defined %}
+ internal-space: &internal-space os-api
+ admin-space: &admin-space os-api
+{% else %}
+ internal-space: &internal-space internal-api
admin-space: &admin-space internal-api
+{% endif %}
# This is OpenStack Public network; for publicURL endpoints
{% if opnfv.spaces_dict.public is defined %}
public-space: &public-space public-api
{% else %}
+{% if opnfv.spaces_dict.osapi is defined %}
+ public-space: &public-space os-api
+{% else %}
public-space: &public-space internal-api
{% endif %}
-
- # This is OpenStack Internal network; for internalURL endpoints
- internal-space: &internal-space internal-api
+{% endif %}
# This is the overlay network
{% if opnfv.spaces_dict.data is defined %}
@@ -39,7 +40,13 @@
# CEPH configuration
# CEPH access network
- ceph-public-space: &ceph-public-space internal-api
+{% if opnfv.spaces_dict.storageaccess is defined %}
+ ceph-public-space: &ceph-public-space storage-access-space
+ ceph-access-constr: &ceph-access-constr spaces=storage-access-space
+{% else %}
+ ceph-public-space: &ceph-public-space internal-api
+ ceph-access-constr: &ceph-access-constr spaces=internal-api
+{% endif %}
# CEPH replication network
{% if opnfv.spaces_dict.storage is defined %}
@@ -49,8 +56,7 @@
{% endif %}
# Workaround for 'only one default binding supported'
- oam-space-constr: &oam-space-constr spaces=oam-space
- ceph-access-constr: &ceph-access-constr spaces=ceph-access-space
+ oam-space-constr: &oam-space-constr spaces=internal-api
# CEPH OSD and journal devices; temporary workaround for #1674148
{% if os.lxd %}
diff --git a/ci/config_tpl/juju2/bundlek8_tpl/bundle.yaml b/ci/config_tpl/juju2/bundlek8_tpl/bundle.yaml
index 96a27cfb..b4ed14ac 100644
--- a/ci/config_tpl/juju2/bundlek8_tpl/bundle.yaml
+++ b/ci/config_tpl/juju2/bundlek8_tpl/bundle.yaml
@@ -6,6 +6,8 @@
# deployment before moving to production.
#
series: {{ ubuntu.release }}
+ variables:
+{% include 'spaces.yaml' %}
services:
nodes:
charm: "cs:{{ ubuntu.release }}/ubuntu"
diff --git a/ci/config_tpl/juju2/bundlek8_tpl/easyrsa.yaml b/ci/config_tpl/juju2/bundlek8_tpl/easyrsa.yaml
index ea46e424..87802a0e 100644
--- a/ci/config_tpl/juju2/bundlek8_tpl/easyrsa.yaml
+++ b/ci/config_tpl/juju2/bundlek8_tpl/easyrsa.yaml
@@ -3,7 +3,7 @@
num_units: 1
{% if os.service.bindings %}
bindings:
- "": internal-api
+ "": *oam-space
{% endif %}
to:
{% if k8.network.controller == 'ovn' %}
diff --git a/ci/config_tpl/juju2/bundlek8_tpl/etcd.yaml b/ci/config_tpl/juju2/bundlek8_tpl/etcd.yaml
index d902adf8..0908e3a1 100644
--- a/ci/config_tpl/juju2/bundlek8_tpl/etcd.yaml
+++ b/ci/config_tpl/juju2/bundlek8_tpl/etcd.yaml
@@ -11,7 +11,7 @@
{% endif %}
{% if os.service.bindings %}
bindings:
- "": internal-api
+ "": *oam-space
{% endif %}
to:
{% if k8.network.controller == 'ovn' %}
diff --git a/ci/config_tpl/juju2/bundlek8_tpl/flannel.yaml b/ci/config_tpl/juju2/bundlek8_tpl/flannel.yaml
index 561e0880..79b89c7f 100644
--- a/ci/config_tpl/juju2/bundlek8_tpl/flannel.yaml
+++ b/ci/config_tpl/juju2/bundlek8_tpl/flannel.yaml
@@ -3,5 +3,5 @@
charm: cs:~containers/flannel
{% if os.service.bindings %}
bindings:
- "": internal-api
-{% endif %} \ No newline at end of file
+ "": *oam-space
+{% endif %}
diff --git a/ci/config_tpl/juju2/bundlek8_tpl/kubernetes.yaml b/ci/config_tpl/juju2/bundlek8_tpl/kubernetes.yaml
index 933c1ef7..645ab157 100644
--- a/ci/config_tpl/juju2/bundlek8_tpl/kubernetes.yaml
+++ b/ci/config_tpl/juju2/bundlek8_tpl/kubernetes.yaml
@@ -4,7 +4,7 @@
expose: true
{% if os.service.bindings %}
bindings:
- "": internal-api
+ "": *oam-space
{% endif %}
{% if k8.network.controller == 'ovn' %}
options:
@@ -23,7 +23,7 @@
expose: true
{% if os.service.bindings %}
bindings:
- "": internal-api
+ "": *oam-space
{% endif %}
{% if k8.network.controller == 'ovn' %}
options:
diff --git a/ci/config_tpl/juju2/bundlek8_tpl/ovn.yaml b/ci/config_tpl/juju2/bundlek8_tpl/ovn.yaml
index 978c07c9..98def5ae 100644
--- a/ci/config_tpl/juju2/bundlek8_tpl/ovn.yaml
+++ b/ci/config_tpl/juju2/bundlek8_tpl/ovn.yaml
@@ -3,7 +3,8 @@
charm: "cs:~aakashkt/ovn-15"
{% if os.service.bindings %}
bindings:
- "": internal-api
+ "": *oam-space
{% endif %}
options:
- gateway-physical-interface: "none" \ No newline at end of file
+ gateway-physical-interface: "none"
+
diff --git a/ci/config_tpl/juju2/bundlek8_tpl/spaces.yaml b/ci/config_tpl/juju2/bundlek8_tpl/spaces.yaml
new file mode 100644
index 00000000..17dbd7da
--- /dev/null
+++ b/ci/config_tpl/juju2/bundlek8_tpl/spaces.yaml
@@ -0,0 +1,5 @@
+
+
+ # OAM - Operations, Administration and Maintenance
+ oam-space: &oam-space internal-api
+
diff --git a/ci/deploy.sh b/ci/deploy.sh
index f9c1b2d0..b013b33c 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -228,29 +228,32 @@ echo_info "Configuring public access"
# translate bundle.yaml to json
python -c 'import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout, indent=4)' < bundles.yaml > bundles.json
-# get services list having a public interface
-srv_list=$(cat bundles.json | jq -r ".services | to_entries[] | {\"key\": .key, \"value\": .value[\"bindings\"]} | select (.value!=null) | select(.value[] | contains(\"public-api\"))".key)
-# get cnt list from service list
-cnt_list=$(for cnt in $srv_list; do juju status $cnt --format=json | jq -r ".machines[].containers | to_entries[]".key; done)
-# get public network gateway (supposing it is the first ip of the network)
-public_api_gw=$(cat labconfig.json | jq --raw-output ".opnfv.spaces[] | select(.type==\"public\")".gateway)
-admin_gw=$(cat labconfig.json | jq --raw-output ".opnfv.spaces[] | select(.type==\"admin\")".gateway)
-
-if ([ $admin_gw ] && [ $admin_gw != "null" ]); then
- # set default gateway to public api gateway
- for cnt in $cnt_list; do
- echo_info "Changing default gateway on $cnt"
- if ([ $public_api_gw ] && [ $public_api_gw != "null" ]); then
- juju ssh $cnt "sudo ip r d default && sudo ip r a default via $public_api_gw";
- juju ssh $cnt "gw_dev=\$(ip r l | grep 'via $public_api_gw' | cut -d \ -f5) &&\
+
+public_service() {
+ # get services list having a public interface
+ srv_list=$(cat bundles.json | jq -r ".services | to_entries[] | {\"key\": .key, \"value\": .value[\"bindings\"]} | select (.value!=null) | select(.value[] | contains(\"public-api\"))".key)
+ # get cnt list from service list
+ cnt_list=$(for cnt in $srv_list; do juju status $cnt --format=json | jq -r ".machines[].containers | to_entries[]".key; done)
+ # get public network gateway (supposing it is the first ip of the network)
+ public_api_gw=$(cat labconfig.json | jq --raw-output ".opnfv.spaces[] | select(.type==\"public\")".gateway)
+ admin_gw=$(cat labconfig.json | jq --raw-output ".opnfv.spaces[] | select(.type==\"admin\")".gateway)
+
+ if ([ $admin_gw ] && [ $admin_gw != "null" ]); then
+ # set default gateway to public api gateway
+ for cnt in $cnt_list; do
+ echo_info "Changing default gateway on $cnt"
+ if ([ $public_api_gw ] && [ $public_api_gw != "null" ]); then
+ juju ssh $cnt "sudo ip r d default && sudo ip r a default via $public_api_gw";
+ juju ssh $cnt "gw_dev=\$(ip r l | grep 'via $public_api_gw' | cut -d \ -f5) &&\
sudo cp /etc/network/interfaces /etc/network/interfaces.bak &&\
echo 'removing old default gateway' &&\
sudo perl -i -pe 's/^\ *gateway $admin_gw\n$//' /etc/network/interfaces &&\
sudo perl -i -pe \"s/iface \$gw_dev inet static/iface \$gw_dev inet static\\n gateway $public_api_gw/\" /etc/network/interfaces \
";
- fi
- done
-fi
+ fi
+ done
+ fi
+}
# Configuring deployment
if ([ $opnfvmodel == "openstack" ]); then