Revert "NFV workload"
Revert until a proper agreement on merging has been done. The previous NFV workload patch was merged without having a quorum on at least 2 cores and was self approved by a self-company core reviewer. This reverts commit 436d97c6725ff02c223ab52bbaa50da3d6f179d2. Change-Id: If915d7e958c3413851cd0d7dab344744dc5c3e6e
This commit is contained in:
parent
436d97c672
commit
2605a7de60
5
.gitignore
vendored
5
.gitignore
vendored
@ -23,9 +23,10 @@ setuptools*.egg/
|
|||||||
!/.mailmap
|
!/.mailmap
|
||||||
!/.pylintrc
|
!/.pylintrc
|
||||||
!/.testr.conf
|
!/.testr.conf
|
||||||
run/
|
|
||||||
*.retry
|
|
||||||
|
|
||||||
# Files created by releasenotes build
|
# Files created by releasenotes build
|
||||||
releasenotes/build
|
releasenotes/build
|
||||||
|
|
||||||
|
Contact GitHub API Training Shop Blog About
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,4 +5,3 @@
|
|||||||
pbr>=1.8 # Apache-2.0
|
pbr>=1.8 # Apache-2.0
|
||||||
ansible>=2.0.0.0 # GNU LGPL 3.0
|
ansible>=2.0.0.0 # GNU LGPL 3.0
|
||||||
shade==1.13.2 # Apache-2.0
|
shade==1.13.2 # Apache-2.0
|
||||||
docker-py==1.9.0 # Apache-2.0
|
|
||||||
|
8
tox.ini
8
tox.ini
@ -38,14 +38,6 @@ setenv =
|
|||||||
ANSIBLE_CONFIG = {env:LAMPSTACK_DIR}/ansible.cfg
|
ANSIBLE_CONFIG = {env:LAMPSTACK_DIR}/ansible.cfg
|
||||||
commands = ansible-playbook -e "action=apply {posargs}" {env:LAMPSTACK_DIR}/site.yml
|
commands = ansible-playbook -e "action=apply {posargs}" {env:LAMPSTACK_DIR}/site.yml
|
||||||
|
|
||||||
[testenv:nfv]
|
|
||||||
deps =
|
|
||||||
{[testenv:ansible]deps}
|
|
||||||
setenv =
|
|
||||||
{[testenv:ansible]setenv}
|
|
||||||
NFV_DIR = {toxinidir}/workloads/ansible/openo/nfv
|
|
||||||
commands = ansible-playbook {env:NFV_DIR}/nfv_launch.yml
|
|
||||||
|
|
||||||
[testenv:docs]
|
[testenv:docs]
|
||||||
commands = python setup.py build_sphinx
|
commands = python setup.py build_sphinx
|
||||||
|
|
||||||
|
@ -1,117 +0,0 @@
|
|||||||
# NFV Ansible deployments on OpenStack Cloud
|
|
||||||
|
|
||||||
This ansible playbook will install an OPEN-O first then deploy
|
|
||||||
Clearwater vIMS by OPEN-O.
|
|
||||||
|
|
||||||
Once the script finishes, a vIMS is ready to be used.
|
|
||||||
|
|
||||||
## Status
|
|
||||||
|
|
||||||
Complete
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
- [Install Ansible](http://docs.ansible.com/ansible/intro_installation.html)
|
|
||||||
- [Install docker-py 1.9.0](https://github.com/docker/docker-py)
|
|
||||||
- Make sure there is a VM to be used to install OPEN-O.
|
|
||||||
|
|
||||||
It should meet the requirements below
|
|
||||||
|
|
||||||
- at least 4 CPUs, 64G RAM, 100G Disk
|
|
||||||
|
|
||||||
- Make sure the OpenStack cloud is able to deploy at least 7 nodes.
|
|
||||||
|
|
||||||
Each node requires resources as below
|
|
||||||
|
|
||||||
- 1 CPU, 2G RAM, 2G RAM, 20G Disk
|
|
||||||
|
|
||||||
- Clone this project into a directory to the VM
|
|
||||||
|
|
||||||
## Ansible
|
|
||||||
|
|
||||||
Ansible will be used to orchestrate the whole process
|
|
||||||
|
|
||||||
### Prep
|
|
||||||
|
|
||||||
#### General OpenStack Settings
|
|
||||||
|
|
||||||
Before running the script, cloud environment authentication needs to be
|
|
||||||
provided. Please update the file under group_vars/all
|
|
||||||
|
|
||||||
There is one example for your reference
|
|
||||||
|
|
||||||
##### group_vars/all::
|
|
||||||
|
|
||||||
os_project_domain_name: default
|
|
||||||
os_user_domain_name: default
|
|
||||||
os_username: admin
|
|
||||||
os_password: password
|
|
||||||
os_project_name: admin
|
|
||||||
os_auth_url: http://205.156.212.201:5000/v3
|
|
||||||
os_identity_api_version: 3
|
|
||||||
os_region_name: RegionOne
|
|
||||||
|
|
||||||
## Run the script to deploy vIMS with the help of OPEN-O
|
|
||||||
|
|
||||||
With your cloud environment set, you should be able to run the script::
|
|
||||||
|
|
||||||
tox -e nfv
|
|
||||||
|
|
||||||
The above command will firstly install Ansible and other required packages.
|
|
||||||
|
|
||||||
Then, it will deploy OPEN-O, and a vIMS will be set up by
|
|
||||||
OPEN-O.
|
|
||||||
|
|
||||||
Also, OPNFV Functest is leveraged to test the vIMS to make sure it is
|
|
||||||
working.
|
|
||||||
|
|
||||||
## The results of the work load successful run
|
|
||||||
|
|
||||||
If everything goes well, it will accomplish the following::
|
|
||||||
|
|
||||||
1. Deploy OPEN-O docker containers
|
|
||||||
2. Create security group
|
|
||||||
3. Add security rules to allow icmp, tcp and ucp ports
|
|
||||||
4. Deploy a VM on OpenStack and install Juju
|
|
||||||
5. Connect Juju with OPEN-O and OpenStack
|
|
||||||
6. Configure OPEN-O with vIMS topology definition
|
|
||||||
7. Deploy vIMS Clearwater via OPEN-O
|
|
||||||
8. Test the vIMS Clearwater by leveraging OPNFV Functest
|
|
||||||
9. Create user on Ellis of vIMS Clearwater
|
|
||||||
10. Create calling number on Ellis of vIMS Clearwater
|
|
||||||
|
|
||||||
### Environment Information
|
|
||||||
|
|
||||||
- OPEN-O can be accessed through
|
|
||||||
|
|
||||||
http://VM_host_IP/openoui/common/default.html
|
|
||||||
|
|
||||||
- Calling information is put under {{ playbook_dir }}/run/results/ellis.info
|
|
||||||
|
|
||||||
- Log is put under {{ playbook_dir }}/run/results/opera.log
|
|
||||||
|
|
||||||
|
|
||||||
## Execution Duration
|
|
||||||
|
|
||||||
The process involves pulling 20+ docker images and downloading about nearly 4G
|
|
||||||
OpenStack images. The time it takes can be impacted by the network enormously.
|
|
||||||
Thus the duration varies from lab to lab. If this step is once run, it will be
|
|
||||||
skipped in the future round of execution. One suggestion is to run this step
|
|
||||||
in advance to decrease the whole execution duration.
|
|
||||||
|
|
||||||
The deployment and configuration of OPEN-O takes approximately 30~40 minutes.
|
|
||||||
|
|
||||||
The deployment of vIMS Clearwater takes about 30~40 minutes. It also depends on
|
|
||||||
the network as vIMS downloads quite a number of packages.
|
|
||||||
|
|
||||||
|
|
||||||
## Next Steps
|
|
||||||
|
|
||||||
### Make a call via SIP client
|
|
||||||
|
|
||||||
Install the SIP client, e.g. jitsi and configure the client with calling
|
|
||||||
information.
|
|
||||||
|
|
||||||
### Cleanup
|
|
||||||
|
|
||||||
Script is needed to clean up the environment.
|
|
@ -1,21 +0,0 @@
|
|||||||
---
|
|
||||||
# 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.
|
|
||||||
|
|
||||||
os_project_domain_name: default
|
|
||||||
os_user_domain_name: default
|
|
||||||
os_username: admin
|
|
||||||
os_password: password
|
|
||||||
os_project_name: admin
|
|
||||||
os_auth_url: http://205.156.212.201:5000/v3
|
|
||||||
os_identity_api_version: 3
|
|
||||||
os_region_name: RegionOne
|
|
@ -1,116 +0,0 @@
|
|||||||
---
|
|
||||||
# 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.
|
|
||||||
|
|
||||||
- hosts: localhost
|
|
||||||
remote_user: root
|
|
||||||
max_fail_percentage: 0
|
|
||||||
tasks:
|
|
||||||
- set_fact:
|
|
||||||
starttime: "{{ ansible_date_time }}"
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
exec_dir: "{{ playbook_dir }}/run"
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
opera_dir: "{{ exec_dir }}/opera"
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
results_dir: "{{ exec_dir }}/results"
|
|
||||||
|
|
||||||
- name: Creates execution directory
|
|
||||||
file: path={{ exec_dir }} state=directory
|
|
||||||
|
|
||||||
- name: pull OPNFV Opera code
|
|
||||||
git:
|
|
||||||
repo: https://github.com/opnfv/opera.git
|
|
||||||
dest: "{{ opera_dir }}"
|
|
||||||
update: no
|
|
||||||
|
|
||||||
- name: config admin-openrc.sh
|
|
||||||
template:
|
|
||||||
src: admin-openrc.sh.j2
|
|
||||||
dest: "{{ opera_dir }}/conf/admin-openrc.sh"
|
|
||||||
|
|
||||||
- name: pull OPNFV Functest docker image to test vIMS
|
|
||||||
docker_image:
|
|
||||||
name: yaohelan/functest:stable
|
|
||||||
state: present
|
|
||||||
force: yes
|
|
||||||
|
|
||||||
- name: Creates result directory
|
|
||||||
file: path={{ results_dir }} state=directory
|
|
||||||
|
|
||||||
- name: create the opera log file
|
|
||||||
file: dest={{ results_dir }}/opera.log state=touch
|
|
||||||
|
|
||||||
- name: deploy OPEN-O and vIMS
|
|
||||||
shell: "{{ opera_dir }}/opera_launch.sh > opera.log"
|
|
||||||
args:
|
|
||||||
chdir: "{{ results_dir }}"
|
|
||||||
|
|
||||||
- name: create openstack.creds
|
|
||||||
shell: cp {{ opera_dir }}/conf/admin-openrc.sh {{ opera_dir }}/conf/openstack.creds
|
|
||||||
|
|
||||||
- name: remove OPNFV Functest docker container
|
|
||||||
shell: "docker rm -f functest-opera || true"
|
|
||||||
|
|
||||||
- name: get open-o endpoint
|
|
||||||
shell: . {{ opera_dir }}/work/scripts/open-o.conf; echo $OPENO_IP:$COMMON_SERVICES_MSB_PORT
|
|
||||||
register: openo_endpoint
|
|
||||||
|
|
||||||
- name: Creates Functest result directory
|
|
||||||
file: path={{ results_dir }}/functest state=directory
|
|
||||||
|
|
||||||
- name: run OPNFV Functest docker container
|
|
||||||
command: "docker run -id
|
|
||||||
-v {{ opera_dir }}/conf/openstack.creds:/home/opnfv/functest/conf/openstack.creds
|
|
||||||
-v {{ results_dir }}/functest:/home/opnfv/functest/results
|
|
||||||
-e INSTALLER_TYPE=unknown
|
|
||||||
-e DEPLOY_SCENARIO=unknown
|
|
||||||
-e OPENO_MSB_ENDPOINT={{ item }}
|
|
||||||
-e CI_DEBUG=false
|
|
||||||
--name=functest-opera
|
|
||||||
yaohelan/functest:stable /bin/bash"
|
|
||||||
with_items: "{{ openo_endpoint.stdout_lines }}"
|
|
||||||
|
|
||||||
- name: start OPNFV Functest docker container
|
|
||||||
command: "docker start functest-opera"
|
|
||||||
|
|
||||||
- name: run vIMS test on OPNFV Functest
|
|
||||||
command: docker exec functest-opera python /home/opnfv/repos/functest/functest/ci/run_tests.py -t opera_ims
|
|
||||||
|
|
||||||
- name: copy call information
|
|
||||||
command: docker cp functest-opera:/home/opnfv/functest/results/opera_ims/ellis.info {{ results_dir }}/ellis.info
|
|
||||||
|
|
||||||
- name: get end time
|
|
||||||
shell: date '+%H:%M:%S'
|
|
||||||
register: end_time
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
msg: >-
|
|
||||||
Access OPEN-O dashboard at
|
|
||||||
http://{{ openo_endpoint.stdout_lines }}
|
|
||||||
|
|
||||||
- name: get Ellis call information
|
|
||||||
command: /bin/cat {{ results_dir }}/ellis.info
|
|
||||||
register: details
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
msg: >-
|
|
||||||
Ellis details
|
|
||||||
{{ details.stdout_lines }}
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
msg: >-
|
|
||||||
The work load started at {{ starttime.time }},
|
|
||||||
ended at {{ end_time.stdout }}
|
|
@ -1,20 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
export OS_PROJECT_DOMAIN_NAME={{ os_project_domain_name }}
|
|
||||||
export OS_USER_DOMAIN_NAME={{ os_user_domain_name }}
|
|
||||||
export OS_USERNAME={{ os_username }}
|
|
||||||
export OS_PASSWORD={{ os_password }}
|
|
||||||
export OS_PROJECT_NAME={{ os_project_name }}
|
|
||||||
export OS_AUTH_URL={{ os_auth_url }}
|
|
||||||
export OS_IDENTITY_API_VERSION={{ os_identity_api_version }}
|
|
||||||
export OS_REGION_NAME={{ os_region_name }}
|
|
Loading…
x
Reference in New Issue
Block a user