summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2017-09-21 19:06:46 +0000
committerTim Rozet <trozet@redhat.com>2017-09-30 15:09:55 +0000
commit17c64de8f2d9c86c0f80df8dddf7831210f5234a (patch)
tree9808e32cd5e522551ad54f6683f48e1e77efb1d0
parent5bbba78faa198976be1a1a5437d39cfa5059d896 (diff)
Adds Calipso scenario
Change-Id: Icc8a23e49c9ccc011481f6b97599d4f75873ebb1 Signed-off-by: Tim Rozet <trozet@redhat.com> (cherry picked from commit 1a824cf106f1996f184a7f699c754a7b72c501be)
-rw-r--r--apex/deploy.py3
-rw-r--r--apex/settings/deploy_settings.py3
-rw-r--r--build/rpm_specs/opnfv-apex-common.spec3
-rwxr-xr-xbuild/undercloud.sh8
-rw-r--r--build/variables.sh3
-rw-r--r--config/deploy/os-nosdn-calipso-noha.yaml9
-rw-r--r--lib/ansible/playbooks/post_deploy_undercloud.yml38
7 files changed, 66 insertions, 1 deletions
diff --git a/apex/deploy.py b/apex/deploy.py
index 8a3d13e..5ec0f7f 100644
--- a/apex/deploy.py
+++ b/apex/deploy.py
@@ -409,6 +409,9 @@ def main():
deploy_vars['congress'] = True
else:
deploy_vars['congress'] = False
+ deploy_vars['calipso'] = ds_opts.get('calipso', False)
+ deploy_vars['calipso_ip'] = net_settings['networks']['admin'][
+ 'installer_vm']['ip']
# TODO(trozet): this is probably redundant with getting external
# network info from undercloud.py
if 'external' in net_settings.enabled_network_list:
diff --git a/apex/settings/deploy_settings.py b/apex/settings/deploy_settings.py
index 164997e..c059405 100644
--- a/apex/settings/deploy_settings.py
+++ b/apex/settings/deploy_settings.py
@@ -33,7 +33,8 @@ OPT_DEPLOY_SETTINGS = ['performance',
'odl_vpp_routing_node',
'dvr',
'odl_vpp_netvirt',
- 'barometer']
+ 'barometer',
+ 'calipso']
VALID_ROLES = ['Controller', 'Compute', 'ObjectStorage']
VALID_PERF_OPTS = ['kernel', 'nova', 'vpp', 'ovs']
diff --git a/build/rpm_specs/opnfv-apex-common.spec b/build/rpm_specs/opnfv-apex-common.spec
index 0bf244e..51094a9 100644
--- a/build/rpm_specs/opnfv-apex-common.spec
+++ b/build/rpm_specs/opnfv-apex-common.spec
@@ -69,6 +69,7 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/
%{_sysconfdir}/opnfv-apex/os-nosdn-nofeature-noha.yaml
%{_sysconfdir}/opnfv-apex/os-nosdn-bar-noha.yaml
%{_sysconfdir}/opnfv-apex/os-nosdn-bar-ha.yaml
+%{_sysconfdir}/opnfv-apex/os-nosdn-calipso-noha.yaml
%{_sysconfdir}/opnfv-apex/os-nosdn-fdio-noha.yaml
%{_sysconfdir}/opnfv-apex/os-nosdn-fdio-ha.yaml
%{_sysconfdir}/opnfv-apex/os-nosdn-ovs_dpdk-noha.yaml
@@ -112,6 +113,8 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/
%doc %{_docdir}/opnfv/inventory.yaml.example
%changelog
+* Wed Sep 20 2017 Tim Rozet <trozet@redhat.com> - 5.0-7
+- Add calipso
* Fri Sep 08 2017 Tim Rozet <trozet@redhat.com> - 5.0-6
- Updates clean to use python
* Wed Aug 23 2017 Tim Rozet <trozet@redhat.com> - 5.0-5
diff --git a/build/undercloud.sh b/build/undercloud.sh
index 5014dfe..f43f0f5 100755
--- a/build/undercloud.sh
+++ b/build/undercloud.sh
@@ -26,6 +26,9 @@ popd > /dev/null
# inject rt_kvm kernel rpm name into the enable file
sed "s/kvmfornfv_kernel.rpm/$kvmfornfv_kernel_rpm/" ${BUILD_ROOT}/enable_rt_kvm.yaml | tee ${BUILD_DIR}/enable_rt_kvm.yaml
+# grab latest calipso
+populate_cache $calipso_uri_base/$calipso_script
+
# Turn off GSSAPI Auth in sshd
# installing forked apex-tht
# enabling ceph OSDs to live on the controller
@@ -38,6 +41,8 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--install "openstack-utils" \
--install "ceph-common" \
--install "python2-networking-sfc" \
+ --install epel-release \
+ --install python34,python34-pip \
--install openstack-ironic-inspector,subunit-filters,docker-distribution,openstack-tripleo-validations \
--run-command "cd /usr/share && rm -rf openstack-tripleo-heat-templates && tar xzf apex-tripleo-heat-templates.tar.gz" \
--run-command "sed -i '/ControllerEnableCephStorage/c\\ ControllerEnableCephStorage: true' /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml" \
@@ -51,10 +56,13 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--upload ${BUILD_ROOT}/virtual-environment.yaml:/home/stack/ \
--upload ${BUILD_ROOT}/baremetal-environment.yaml:/home/stack/ \
--uninstall "libvirt-client" \
+ --upload ${CACHE_DIR}/${calipso_script}:/root/ \
--install "libguestfs-tools" \
--install "python-tackerclient" \
--upload ${BUILD_ROOT}/patches/tacker-client-fix-symmetrical.patch:/usr/lib/python2.7/site-packages/ \
--run-command "cd usr/lib/python2.7/site-packages/ && patch -p1 < tacker-client-fix-symmetrical.patch" \
+ --run-command "yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo" \
+ --install yum-utils,lvm2,device-mapper-persistent-data \
-a undercloud_build.qcow2
mv -f undercloud_build.qcow2 undercloud.qcow2
diff --git a/build/variables.sh b/build/variables.sh
index 69e1fa0..376f568 100644
--- a/build/variables.sh
+++ b/build/variables.sh
@@ -38,6 +38,9 @@ dpdk_rpms=(
kvmfornfv_uri_base="http://artifacts.opnfv.org/kvmfornfv/danube"
kvmfornfv_kernel_rpm="kvmfornfv-4bfeded9-apex-kernel-4.4.50_rt62_centos.x86_64.rpm"
+calipso_uri_base="https://git.opnfv.org/calipso/plain/app/install"
+calipso_script="calipso-installer.py"
+
netvpp_repo="https://github.com/openstack/networking-vpp"
netvpp_branch="master"
netvpp_commit=$(git ls-remote ${netvpp_repo} ${netvpp_branch} | awk '{print substr($1,1,7)}')
diff --git a/config/deploy/os-nosdn-calipso-noha.yaml b/config/deploy/os-nosdn-calipso-noha.yaml
new file mode 100644
index 0000000..ce5c8a5
--- /dev/null
+++ b/config/deploy/os-nosdn-calipso-noha.yaml
@@ -0,0 +1,9 @@
+---
+global_params:
+ ha_enabled: false
+
+deploy_options:
+ sdn_controller: false
+ sfc: false
+ vpn: false
+ calipso: true
diff --git a/lib/ansible/playbooks/post_deploy_undercloud.yml b/lib/ansible/playbooks/post_deploy_undercloud.yml
index d6b8805..bd62f9c 100644
--- a/lib/ansible/playbooks/post_deploy_undercloud.yml
+++ b/lib/ansible/playbooks/post_deploy_undercloud.yml
@@ -115,3 +115,41 @@
become_user: stack
when: congress
with_items: "{{ congress_datasources }}"
+ - name: Configure Calipso
+ block:
+ - name: Install Calipso dependencies
+ pip:
+ name: "{{ item }}"
+ executable: pip3
+ with_items:
+ - docker
+ - pymongo
+ - name: Create Calipso user
+ user:
+ name: calipso
+ createhome: yes
+ - name: Remove old docker
+ package:
+ name: "{{ item }}"
+ state: absent
+ with_items:
+ - docker
+ - docker-common
+ - docker-selinux
+ - docker-engine
+ - name: Install Docker CE
+ package:
+ name: docker-ce
+ state: latest
+ - name: Start Docker
+ service:
+ name: docker
+ state: started
+ enabled: yes
+ - name: Install Calipso
+ command: >
+ python3 /root/calipso-installer.py --command start-all
+ --copy q --hostname {{ calipso_ip }} --dbport 37017 --webport 81
+ --apiport 8001 --rabbitmport 15673
+ become: yes
+ when: calipso