diff --git a/.gitignore b/.gitignore index 3e5e11c..a752346 100644 --- a/.gitignore +++ b/.gitignore @@ -23,9 +23,10 @@ setuptools*.egg/ !/.mailmap !/.pylintrc !/.testr.conf -run/ -*.retry # Files created by releasenotes build releasenotes/build + Contact GitHub API Training Shop Blog About + + diff --git a/requirements.txt b/requirements.txt index 8c39620..48c2f4f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,4 +5,3 @@ pbr>=1.8 # Apache-2.0 ansible>=2.0.0.0 # GNU LGPL 3.0 shade==1.13.2 # Apache-2.0 -docker-py==1.9.0 # Apache-2.0 diff --git a/tox.ini b/tox.ini index 761624f..844f5ba 100755 --- a/tox.ini +++ b/tox.ini @@ -38,14 +38,6 @@ setenv = ANSIBLE_CONFIG = {env:LAMPSTACK_DIR}/ansible.cfg 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] commands = python setup.py build_sphinx diff --git a/workloads/ansible/openo/nfv/README.md b/workloads/ansible/openo/nfv/README.md deleted file mode 100644 index a378d9f..0000000 --- a/workloads/ansible/openo/nfv/README.md +++ /dev/null @@ -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. diff --git a/workloads/ansible/openo/nfv/group_vars/all b/workloads/ansible/openo/nfv/group_vars/all deleted file mode 100644 index 6773403..0000000 --- a/workloads/ansible/openo/nfv/group_vars/all +++ /dev/null @@ -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 diff --git a/workloads/ansible/openo/nfv/nfv_launch.yml b/workloads/ansible/openo/nfv/nfv_launch.yml deleted file mode 100644 index a142109..0000000 --- a/workloads/ansible/openo/nfv/nfv_launch.yml +++ /dev/null @@ -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 }} diff --git a/workloads/ansible/openo/nfv/templates/admin-openrc.sh.j2 b/workloads/ansible/openo/nfv/templates/admin-openrc.sh.j2 deleted file mode 100644 index bbf8bfa..0000000 --- a/workloads/ansible/openo/nfv/templates/admin-openrc.sh.j2 +++ /dev/null @@ -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 }}