controllername=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
cloudname=`awk 'NR==1{print substr($1, 1, length($1)-1)}' deployconfig.yaml`
-juju bootstrap $controllername $cloudname --debug --constraints tags=bootstrap --bootstrap-series=xenial
+juju bootstrap $controllername $cloudname --debug --constraints tags=bootstrap --bootstrap-series=$1
sudo virsh pool-start default || true
sudo virsh pool-autostart default || true
-# As we use kvm so setup network on admin network
-ADMIN_BR=`cat labconfig.json | jq '.opnfv.spaces[] | select(.type=="admin")'.bridge | cut -d \" -f 2 `
-sed -i "s@brAdm@$ADMIN_BR@" net.xml
-sudo virsh net-destroy default || true
-sudo virsh net-undefine default || true
-sudo virsh net-define net.xml || true
-sudo virsh net-autostart default || true
-sudo virsh net-start default || true
+if [ "$virtinstall" -eq 1 ]; then
+ sudo virsh net-dumpxml default > default-net-org.xml
+ sed -i '/dhcp/d' default-net-org.xml
+ sed -i '/range/d' default-net-org.xml
+ sudo virsh net-destroy default
+ sudo virsh net-define default-net-org.xml
+ sudo virsh net-start default
+ sudo virsh net-autostart default || true
+ rm -f default-net-org.xml
+else
+ # As we use kvm so setup network on admin network
+ ADMIN_BR=`cat labconfig.json | jq '.opnfv.spaces[] | select(.type=="admin")'.bridge | cut -d \" -f 2 `
+ sed -i "s@brAdm@$ADMIN_BR@" net.xml
+ sudo virsh net-destroy default || true
+ sudo virsh net-undefine default || true
+ sudo virsh net-define net.xml || true
+ sudo virsh net-autostart default || true
+ sudo virsh net-start default || true
+ sudo virsh net-autostart default || true
+fi
#
# Cleanup, juju init and config backup
rm -rf precise
rm -rf trusty
rm -rf xenial
+rm -rf bionic
rm -rf ~/joid_config/admin-openrc
sleep 10
sudo sysctl -w vm.drop_caches=3
internal: *internal-space
shared-db: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
{% if os.ha.mode == 'ha' %}
{% else %}
nodes:
charm: "cs:{{ ubuntu.release }}/ubuntu"
+ series: {{ ubuntu.release }}
{% if os.ha.mode == 'ha' %}
num_units: 3
{% else %}
nodes-compute:
charm: "cs:{{ ubuntu.release }}/ubuntu"
+ series: {{ ubuntu.release }}
{% if os.ha.mode == 'ha' %}
num_units: {{ opnfv.units - 3 }}
{% else %}
{% endif %}
ntp:
charm: "./{{ ubuntu.release }}/ntp"
+ series: {{ ubuntu.release }}
{% 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"
admin: *admin-space
internal: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
{% if os.ha.mode == 'ha' %}
admin: *admin-space
internal: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
region: *openstack-region
public: *ceph-public-space
cluster: *ceph-cluster-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
expected-osd-count: {{ unit_ceph_qty() }}
source: *openstack-origin
public: *ceph-public-space
cluster: *ceph-cluster-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
osd-devices: *osd-devices
osd-journal: *osd-journal
- osd-reformat: 'yes'
+ osd-reformat: 'True'
source: *openstack-origin
{% if os.network.ipv6 %}
prefer-ipv6: {{ os.network.ipv6 }}
internal: *internal-space
mon: *ceph-public-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
region: *openstack-region
operator-roles: "Member,admin,SwiftOperator"
internal: *internal-space
shared-db: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
{% if os.git_repo.origin_git %}
shared-db: *internal-space
public: *public-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
region: *openstack-region
{% if ubuntu.release == 'trusty' %}
internal: *internal-space
shared-db: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
{% if os.git_repo.origin_git %}
internal: *internal-space
shared-db: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
worker-multiplier: *worker-multiplier
hacluster-keystone:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% endif %}
hacluster-cinder:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% endif %}
hacluster-heat:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% endif %}
hacluster-horizon:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% endif %}
hacluster-nova:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% endif %}
hacluster-neutron:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% endif %}
hacluster-glance:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% if os.network.controller != 'ocl' %}
hacluster-ceilometer:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% endif %}
hacluster-mysql:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% endif %}
hacluster-ceph-radosgw:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% endif %}
hacluster-aodh:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% endif %}
hacluster-gnocchi:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
{% endif %}
hacluster-designate:
charm: "./{{ ubuntu.release }}/hacluster"
+ series: {{ ubuntu.release }}
options:
corosync_transport: unicast
cluster_count: 3
internal: *internal-space
shared-db: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
region: *openstack-region
internal: *internal-space
shared-db: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
{% if os.git_repo.origin_git %}
cluster: *internal-space
shared-db: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
innodb-buffer-pool-size: 256M
max-connections: 4000
internal: *internal-space
shared-db: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
{% if os.git_repo.origin_git %}
"": *oam-space
data: *overlay-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
{% if os.git_repo.origin_git %}
{% if os.service.bindings %}
bindings:
data: *overlay-space
+ series: {{ ubuntu.release }}
options:
{% else %}
options:
internal: *internal-space
shared-db: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
{% if os.git_repo.origin_git %}
bindings:
"": *oam-space
internal: *internal-space
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
{% if os.git_repo.origin_git %}
contrail-openstack:
charm: ./{{ ubuntu.release }}/contrail-openstack
+ series: {{ ubuntu.release }}
options:
install-keys: |
- |
contrail-agent:
charm: ./{{ ubuntu.release }}/contrail-agent
+ series: {{ ubuntu.release }}
options:
install-keys: |
- |
controller-api: *internal-space
ovsdb-manager: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
install-url: "https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.tar.gz"
{% if os.network.sfc %}
onos-controller:
charm: ./{{ ubuntu.release }}/onos-controller
num_units: 1
+ series: {{ ubuntu.release }}
options:
{% if opnfv.ext_port is defined %}
ext-port: {{ opnfv.ext_port }}
"": *oam-space
internal: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
to:
- "lxd:nodes/0"
{# Empty block to avoid bad block trim #}
"": *public-space
shared-db: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
{% if os.git_repo.origin_git %}
bindings:
"": *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
to:
- "lxd:nodes/0"
{# Empty block to avoid bad block trim #}
amqp: *internal-space
cluster: *internal-space
{% endif %}
+ series: {{ ubuntu.release }}
options:
source: *openstack-origin
{% if opnfv.storage_dict.ceph is defined %}
scaleio-mdm:
charm: "./{{ ubuntu.release }}/scaleio-mdm"
num_units: {{ unit_scaleio_qty() }}
+ series: {{ ubuntu.release }}
options:
cluster-mode: 3
to:
scaleio-sds:
charm: "./{{ ubuntu.release }}/scaleio-sds"
num_units: {{ opnfv.units }}
+ series: {{ ubuntu.release }}
options:
protection-domain: 'pd1'
device-paths: {{ opnfv.storage_dict.scaleio.disk }}
{% endif %}
scaleio-sdc:
charm: "./{{ ubuntu.release }}/scaleio-sdc"
+ series: {{ ubuntu.release }}
num_units: {{ opnfv.units }}
to:
{% if os.hyperconverged %}
{% endif %}
scaleio-gw:
charm: "./{{ ubuntu.release }}/scaleio-gw"
+ series: {{ ubuntu.release }}
num_units: 1
to:
- "nodes/0"
scaleio-gui:
charm: "./{{ ubuntu.release }}/scaleio-gui"
num_units: 1
+ series: {{ ubuntu.release }}
to:
- "nodes/0"
{% endif %}
-{% if os.release == 'mitaka' %}
+{% if ubuntu.release == 'bionic' %}
openstack-origin: &openstack-origin distro
{% else %}
openstack-origin: &openstack-origin cloud:{{ ubuntu.release }}-{{ os.release }}
{% if os.network.controller != 'ocl' %}
ceilometer-agent:
charm: ./{{ ubuntu.release }}/ceilometer-agent
+ series: {{ ubuntu.release }}
options:
openstack-origin: *openstack-origin
{% endif %}
{% if opnfv.storage_dict.ceph is defined %}
cinder-ceph:
charm: ./{{ ubuntu.release }}/cinder-ceph
+ series: {{ ubuntu.release }}
options:
{% if opnfv.storage_dict.ceph is defined %}
ceph-osd-replication-count: {{ unit_ceph_qty() }}
{% elif os.network.controller == 'odl' %}
neutron-api-odl:
charm: ./{{ ubuntu.release }}/neutron-api-odl
+ series: {{ ubuntu.release }}
options:
overlay-network-type: 'vxlan'
security-groups: True
openvswitch-odl:
charm: ./{{ ubuntu.release }}/openvswitch-odl
+ series: {{ ubuntu.release }}
options:
{% if opnfv.ext_port is defined %}
provider_mappings: "physnet1:{{ opnfv.ext_port }}"
{% elif os.network.controller == 'onos' %}
neutron-api-onos:
charm: ./{{ ubuntu.release }}/neutron-api-onos
+ series: {{ ubuntu.release }}
options:
overlay-network-type: 'vxlan'
security-groups: True
openvswitch-onos:
charm: ./{{ ubuntu.release }}/openvswitch-onos
+ series: {{ ubuntu.release }}
options:
{% if opnfv.spaces_dict.data is defined %}
os-data-network: {{ opnfv.spaces_dict.data.cidr }}
{% if os.lxd %}
lxd:
charm: ./{{ ubuntu.release }}/lxd
+ series: {{ ubuntu.release }}
options:
{% if 'srv' not in opnfv.storage_dict.ceph.disk %}
block-devices: {{ opnfv.storage_dict.ceph.disk }}
{% if opnfv.storage_dict.scaleio is defined %}
scaleio-openstack:
charm: ./{{ ubuntu.release }}/scaleio-openstack
+ series: {{ ubuntu.release }}
options:
protection-domains: 'pd1'
{% endif %}
-d|--distro )
if ([ "arguments[index]" != "" ]); then
- opnfdistro=${arguments[index]}
+ opnfvdistro=${arguments[index]}
fi;
;;
fi
#bootstrap the node
- ./01-bootstrap.sh
+ ./01-bootstrap.sh $opnfvdistro
juju model-config default-series=$opnfvdistro enable-os-refresh-update=false enable-os-upgrade=false
juju set-model-constraints tags=
# openstack
bzr branch lp:~narindergupta/charms/trusty/promise/trunk $distro/promise
-git clone -b stable/18.02 https://github.com/openstack/charm-hacluster.git $distro/hacluster
-git clone -b stable/18.02 https://github.com/openstack/charm-ceilometer.git $distro/ceilometer
-git clone -b stable/18.02 https://github.com/openstack/charm-ceilometer-agent.git $distro/ceilometer-agent
-git clone -b stable/18.02 https://github.com/openstack/charm-ceph-mon.git $distro/ceph-mon
-git clone -b stable/18.02 https://github.com/openstack/charm-ceph-osd.git $distro/ceph-osd
-git clone -b stable/18.02 https://github.com/openstack/charm-ceph-radosgw.git $distro/ceph-radosgw
-git clone -b stable/18.02 https://github.com/openstack/charm-cinder.git $distro/cinder
-git clone -b stable/18.02 https://github.com/openstack/charm-cinder-ceph.git $distro/cinder-ceph
-git clone -b stable/18.02 https://github.com/openstack/charm-glance.git $distro/glance
-git clone -b stable/18.02 https://github.com/openstack/charm-keystone.git $distro/keystone
-git clone -b stable/18.02 https://github.com/openstack/charm-percona-cluster.git $distro/percona-cluster
-git clone -b stable/18.02 https://github.com/openstack/charm-neutron-api.git $distro/neutron-api
-git clone -b stable/18.02 https://github.com/openstack/charm-neutron-gateway.git $distro/neutron-gateway
-git clone -b stable/18.02 https://github.com/openstack/charm-neutron-openvswitch.git $distro/neutron-openvswitch
-git clone -b stable/18.02 https://github.com/openstack/charm-nova-cloud-controller.git $distro/nova-cloud-controller
-git clone -b stable/18.02 https://github.com/openstack/charm-nova-compute.git $distro/nova-compute
-git clone -b stable/18.02 https://github.com/openstack/charm-openstack-dashboard.git $distro/openstack-dashboard
-git clone -b stable/18.02 https://github.com/openstack/charm-rabbitmq-server.git $distro/rabbitmq-server
-git clone -b stable/18.02 https://github.com/openstack/charm-heat.git $distro/heat
-git clone -b stable/18.02 https://github.com/openstack/charm-lxd.git $distro/lxd
+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 https://github.com/openstack/charm-ceph-radosgw.git $distro/ceph-radosgw
+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
charm pull cs:designate $distro/designate