[CORD-1569]
Clean up defaults files, removal of old gui config for documentation
Change-Id: I73a1c5bd0dedcfe09d817e4e5d59e1d5fca3c297
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index a83d3c4..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,12 +0,0 @@
-Copyright 2014 The Trustees of Princeton University
-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.
diff --git a/README.md b/README.md
index 2404454..7cdd26d 100644
--- a/README.md
+++ b/README.md
@@ -5,68 +5,8 @@
OpenStack, ONOS, and XOS.
It is used as a sub-module of the [main CORD
-repository](https://github.com/opencord/cord), but can independently bring up
-various CORD profiles for development work.
-
-If you want to set up an entire CORD pod on physical hardware, or set up the
-Cord-in-a-Box deployment, you should start at the [CORD
repository](https://github.com/opencord/cord).
-## Using platform-install for development
-
-### Bootstrapping your development environment
-
-There's a helper script,
-[scripts/cord-bootstrap.sh](https://github.com/opencord/platform-install/blob/master/scripts/cord-bootstrap.sh).
-that will install development environment prerequisites on a Ubuntu 14.04 node.
-You can download it with:
-
-```
-curl -o ~/cord-bootstrap.sh https://raw.githubusercontent.com/opencord/platform-install/master/scripts/cord-bootstrap.sh
-```
-
-Running the script will install the [repo](https://code.google.com/p/git-repo/)
-tool, [Ansible](https://docs.ansible.com/ansible/index.html), and
-[Docker](https://www.docker.com/), as well as make a checkout of the CORD
-[manifest](https://gerrit.opencord.org/gitweb?p=manifest.git;a=blob;f=default.xml)
-into `/opt/cord`.
-
-You can specify which gerrit changesets you would like repo to checkout using
-the `-b` option on the script [as documented
-here](https://github.com/opencord/cord/blob/master/docs/quickstart.md#using-cord-in-a-boxsh-to-download-development-code-from-gerrit).
-
-Once you have done this, if you're not already in the `docker` group, you
-should logout and log back into your system to refresh your user account's
-group membership. If you don't do this, any docker command you run or ansible
-runs for you will fail. You can check your group membership by running
-`groups`.
-
-Once you log back in, you may want to run `tmux` to maintain a server-side
-session you can reconnect to, in case of network trouble.
-
-All of the commands below assume you're in the `/opt/cord/build/platform-install` directory.
-
-### Creating a development environment on you machine
-
-If you are doing work that does not involve `openstack` you can create a
-development environment inside a VM on your local machine. This environment is
-mostly designed to do `GUI`, `APIs` and `modeling` related work. It can also be
-useful to test a `synchronizer` whose job is synchronizing data using REST
-APIs.
-
-To do that we provided a `Vagrant` VM. From this folder just execute `vagrant
-up head-node`. We'll create an Ubuntu based VM with all the `cord` code shared
-from your local machine, so that you can make your changes locally and quickly
-test the outcome.
-
-Once the `vm` is created you can connect to it with `vagrant ssh head-node` and
-then from the `/opt/cord/build/platform-install` execute the profile you are
-interested in. For instance you can spin up the `frontend` configuration with:
-`ansible-playbook -i inventory/frontend deploy-xos-playbook.yml`.
-
-_Note that the `cord-bootstrap.sh` script is automatically invoked by the
-provisioning script and the `vagrant` vm requires VirtualBox_
-
### Credentials
Credentials will be autogenerated and placed in the `credentials/` directory
@@ -75,65 +15,11 @@
For most profiles the XOS admin user is named `xosadmin@opencord.org`.
-### Development Loop
-
-Most profiles are run by specifying an inventory file when running
-`ansible-playbook`. For most frontend or mock profiles, you'll want to run the
-`deploy-xos-playbook.yml` playbook.
-
-For example, to run the `frontend` config, you would run:
-
-```
-ansible-playbook -i inventory/frontend deploy-xos-playbook.yml
-```
-
-Setting up the initial environment, and launching XOS for the first time,
-will take about 30 minutes. You can then explore the environment you've set up.
-
-Suppose you've made a change to your code and want the changes reflected
-in the running XOS containers. To get there, run:
-
-```
-ansible-playbook -i inventory/frontend redeploy-xos-playbook.yml
-```
-
-Rebuilding and redeploying containers using this method will usually take much
-less time than the initial setup phase. All changes to the local environment's
-source tree should be reflected in the redeployed containers. Note that
-running the above playbook will preserve the existing database.
-
-When you're ready to tear down your environment, for example to switch
-to another profile, or to launch the current profile again from a fresh
-database, run:
-
-```
-ansible-playbook -i inventory/frontend teardown-playbook.yml
-```
-
-This will destroy all the docker containers created. Note that you must run the
-`teardown-playbook.yml` using the same inventory file it was created with,
-otherwise rogue docker containers may still be running after the teardown.
-
-You can then make changes to code and re-run the same or a different profile.
-
### Creating a new CORD profile
-To create a new CORD profile, you should:
-
-1. Create an inventory file in `inventory/` that defines the `cord_profile`
- variable, with the name of your profile.
-
-```
-[all:vars]
-cord_profile=my-profile
-```
-
-2. Create a .yaml variables file in `profile_manifests/` with the name of your
- profile (ex: `my-profile.yaml`), and populate it with your configuration.
-
-3. To test the profile, run the `deploy-xos-playbook.yml` playbook using your
- inventory profile:
- `ansible-playbook -i inventory/my-profile deploy-xos-playbook.yml`
+To create a new CORD profile, you should create a .yaml variables file in
+`profile_manifests/` with the name of your profile (ex: `my-profile.yaml`), and
+populate it with your configuration.
### Making changes and lint checking your changes
@@ -143,26 +29,6 @@
## Specific profiles notes
-### api-test
-
-This profile runs API tests for both the REST and TOSCA APIs. This can be done
-in an automated fashion:
-
-`ansible-playbook -i inventory/api-test api-test-playbook.yml`
-
-The XOS credentials in this config are `padmin@vicci.org` and `letmein` (until
-the tests are modified to support generated credentials).
-
-### frontend
-
-Builds a basic XOS frontend installation, useful for UI testing and
-experimentation.
-
-### mock-rcord, mock-mcord
-
-Builds a Mock R-CORD or Mock M-CORD pod, without running service synchronizers
-in a manner similar to frontend.
-
### opencloud
Used as a part of the [OpenCloud](http://www.opencloud.us/) deployment. Similar
@@ -178,28 +44,13 @@
Guide](https://github.com/opencord/cord/blob/master/docs/quickstart.md) for how
to set up a virtual multi-node R-CORD pod on a single host.
-If you've already built a CiaB and want to go through the dev loop described
-above on the head/production node, when running `ansible-playbook` you must
-pass the path to the configuration file that was generated by Gradle during the
-build:
+### ecord
-```
-ansible-playbook -i inventory/head-localhost --extra-vars @../genconfig/config.yml playbook.yml
-```
+E-CORD description goes here.
-You may find the following shell aliases to be helpful during development:
+### mcord
-```
-alias xos-teardown="pushd /opt/cord/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @/opt/cord/build/genconfig/config.yml teardown-playbook.yml"
-alias xos-launch="pushd /opt/cord/build/platform-install; ansible-playbook -i inventory/head-localhost --extra-vars @/opt/cord/build/genconfig/config.yml launch-xos-playbook.yml"
-alias compute-node-refresh="pushd /opt/cord/build/platform-install; ansible-playbook -i /etc/maas/ansible/pod-inventory --extra-vars=@/opt/cord/build/genconfig/config.yml compute-node-refresh-playbook.yml"
-```
-
-With these aliases, tearing down XOS and rebuilding it from a fresh database becomes:
-
-```
-xos-teardown; xos-launch; compute-node-refresh
-```
+M-CORD description goes here.
## Design Notes for Developers
@@ -248,6 +99,6 @@
more likely to indent and syntax highlight properly in most editors.
Roles should always have the same outcome, so avoid using conditionals or tags
-to change the behavior of a role.
-
+to change the behavior of a role. These features should only be used for
+avoiding time-consuming tasks in an idempotent manner.
diff --git a/Vagrantfile b/Vagrantfile
deleted file mode 100644
index 9cffcbe..0000000
--- a/Vagrantfile
+++ /dev/null
@@ -1,25 +0,0 @@
-Vagrant.configure("2") do |config|
- # base image
- config.vm.box = "ubuntu/trusty64"
-
- # share the folder
- config.vm.synced_folder "../../", "/opt/cord/", create: true
- config.vm.synced_folder "./cord_profile/", "/opt/cord_profile/", create: true
- config.vm.synced_folder ".", "/vagrant", disabled: true
-
- # set the frontend vm
- config.vm.define "head-node" do |d|
- d.vm.network "private_network", ip: "192.168.46.100"
- d.vm.provider "virtualbox" do |vb|
- vb.memory = "2048"
- vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
- vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
- end
- end
-
- config.vm.provision :shell, privileged: false, path: "./scripts/cord-bootstrap.sh"
- config.vm.provision "ansible_local" do |ansible|
- ansible.provisioning_path = "/opt/cord/build/platform-install"
- ansible.playbook = "bootstrap-dev-env.yml"
- end
-end
diff --git a/ansible.cfg b/ansible.cfg
index 073b1f5..0902052 100644
--- a/ansible.cfg
+++ b/ansible.cfg
@@ -5,5 +5,5 @@
timeout=30
[ssh_connection]
-ssh_args = -o ControlMaster=auto -o ControlPersist=15s
+ssh_args = -o ControlMaster=auto -o ControlPersist=15s -o ConnectionAttempts=20
diff --git a/deploy-openstack-playbook.yml b/deploy-openstack-playbook.yml
index 915f489..a806147 100644
--- a/deploy-openstack-playbook.yml
+++ b/deploy-openstack-playbook.yml
@@ -47,4 +47,4 @@
- name: Configure Nova with DPDK-enabled flavors
hosts: head
roles:
- - { role: setup-nova-dpdk, when: enable_dpdk | default(False) }
+ - { role: setup-nova-dpdk, when: use_dpdk | default(False) }
diff --git a/PLATFORM_INSTALL_INTERNALS.md b/docs/PLATFORM_INSTALL_INTERNALS.md
similarity index 100%
rename from PLATFORM_INSTALL_INTERNALS.md
rename to docs/PLATFORM_INSTALL_INTERNALS.md
diff --git a/group_vars/all b/group_vars/all
deleted file mode 100644
index 4f71380..0000000
--- a/group_vars/all
+++ /dev/null
@@ -1,3 +0,0 @@
----
-# file: group_vars/all
-ansible_ssh_common_args: "-o ConnectionAttempts=20"
\ No newline at end of file
diff --git a/inventory/devstack b/inventory/devstack
deleted file mode 100644
index 717a046..0000000
--- a/inventory/devstack
+++ /dev/null
@@ -1,8 +0,0 @@
-; devstack configuration
-
-[all:vars]
-cord_profile=devstack
-
-[head]
-localhost ansible_connection=local
-
diff --git a/inventory/localhost b/inventory/localhost
deleted file mode 100644
index 3dcd971..0000000
--- a/inventory/localhost
+++ /dev/null
@@ -1,6 +0,0 @@
-; localhost configuration
-; used for installing prereqs with cord-bootstrap.sh script
-
-[head]
-localhost ansible_connection=local
-
diff --git a/inventory/mock-ecord b/inventory/mock-ecord
deleted file mode 100644
index 0dae463..0000000
--- a/inventory/mock-ecord
+++ /dev/null
@@ -1,8 +0,0 @@
-; mock-ecord configuration
-
-[all:vars]
-cord_profile=mock-ecord
-
-[head]
-localhost ansible_connection=local
-
diff --git a/inventory/mock-ecord-global b/inventory/mock-ecord-global
deleted file mode 100644
index 05c8ed1..0000000
--- a/inventory/mock-ecord-global
+++ /dev/null
@@ -1,13 +0,0 @@
-; mock-ecord-global configuration
-
-[all:vars]
-cord_profile=mock-ecord-global
-
-[config]
-localhost ansible_connection=local
-
-[head]
-localhost ansible_connection=local
-
-[build]
-localhost ansible_connection=local
\ No newline at end of file
diff --git a/inventory/mock-mcord b/inventory/mock-mcord
deleted file mode 100644
index bc2d4d1..0000000
--- a/inventory/mock-mcord
+++ /dev/null
@@ -1,8 +0,0 @@
-; mock-mcord configuration
-
-[all:vars]
-cord_profile=mock-mcord
-
-[head]
-localhost ansible_connection=local
-
diff --git a/inventory/mock-rcord b/inventory/mock-rcord
deleted file mode 100644
index 5148c20..0000000
--- a/inventory/mock-rcord
+++ /dev/null
@@ -1,16 +0,0 @@
-; mock-rcord configuration
-
-[all:vars]
-cord_profile=mock-rcord
-
-[config]
-localhost ansible_connection=local
-
-[head]
-localhost ansible_connection=local
-
-[build]
-localhost ansible_connection=local
-
-[compute]
-
diff --git a/inventory/rcord-new b/inventory/rcord-new
deleted file mode 100644
index 92fb59c..0000000
--- a/inventory/rcord-new
+++ /dev/null
@@ -1,8 +0,0 @@
-; rcord configuration
-
-[all:vars]
-cord_profile=rcord-new
-
-[head]
-localhost ansible_connection=local
-
diff --git a/profile_manifests/ecord-global.yml b/profile_manifests/ecord-global.yml
index e44e4b5..39bad06 100644
--- a/profile_manifests/ecord-global.yml
+++ b/profile_manifests/ecord-global.yml
@@ -1,3 +1,4 @@
+---
# Copyright 2017-present Open Networking Foundation
#
@@ -13,15 +14,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-
----
# profile_manifests/ecord-global.yml
# E-CORD Profile Manifest
# Site configuration
site_name: mysite
site_humanname: MySite
-# site_suffix: "{{ site_name }}.cord.lab"
site_suffix: "cord.lab"
deployment_type: MyDeployment
@@ -44,12 +42,6 @@
gui_background: "cord-bg.jpg" # TODO find ecord image
gui_payoff: "Your Enterprise VNF orchestrator"
-# GUI branding
-gui_branding_name: "ECORD"
-gui_branding_icon: "/static/cord-logo.png"
-gui_branding_favicon: "/static/cord-favicon.png"
-gui_branding_bg: "/static/cord-bg.jpg"
-
enabled_gui_extensions: []
# paths defined in manifest/default.xml
diff --git a/profile_manifests/ecord.yml b/profile_manifests/ecord.yml
index 4053e81..d793dfe 100644
--- a/profile_manifests/ecord.yml
+++ b/profile_manifests/ecord.yml
@@ -1,3 +1,4 @@
+---
# Copyright 2017-present Open Networking Foundation
#
@@ -13,8 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-
----
# profile_manifests/ecord.yaml
# E-CORD Profile Manifest
@@ -46,12 +45,6 @@
gui_background: "cord-bg.jpg" # TODO find ecord image
gui_payoff: "Your Enterprise VNF orchestrator"
-# GUI branding
-gui_branding_name: "ECORD"
-gui_branding_icon: "/static/cord-logo.png"
-gui_branding_favicon: "/static/cord-favicon.png"
-gui_branding_bg: "/static/cord-bg.jpg"
-
enabled_gui_extensions: []
# paths defined in manifest/default.xml
diff --git a/profile_manifests/mcord.yml b/profile_manifests/mcord.yml
index ff9c35c..f94799a 100644
--- a/profile_manifests/mcord.yml
+++ b/profile_manifests/mcord.yml
@@ -1,3 +1,4 @@
+---
# Copyright 2017-present Open Networking Foundation
#
@@ -13,8 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-
----
# profile_manifests/mcord.yml
# Configures an M-CORD pod
@@ -34,10 +33,6 @@
- fabric-service.yaml
- management-net.yaml
- xos-gui-extensions.yml
-# - mcord-services.yaml # should unify this with services.yaml.j2 eventually
-# - public-net.yaml
-# - volt-devices.yaml
-# - vrouter.yaml
xos_other_templates:
- fabric-network-cfg.json
@@ -46,18 +41,7 @@
gui_project_name: "M-CORD"
gui_background: "cord-bg.jpg" # TODO find mcord image
-# GUI branding [OLD GUI to be removed]
-gui_branding_name: "MCORD"
-gui_branding_icon: "/static/mcord-logo.png"
-gui_branding_favicon: "/static/mcord-favicon.png"
-gui_branding_bg: "/static/mcord-bg.jpg"
-
enabled_gui_extensions: []
-#enabled_gui_extensions:
-# - name: vtr
-# path: orchestration/xos_services/vtr/xos/gui
-# - name: rcord
-# path: orchestration/profiles/rcord/xos/gui
# paths defined in manifest/default.xml
xos_services:
@@ -75,23 +59,10 @@
- name: fabric
path: orchestration/xos_services/fabric
synchronizer: true
-# - name: vBBU
-# path: orchestration/xos_services/vBBU
-# keypair: mcord_rsa
-# synchronizer: true
- name: vmme
path: orchestration/xos_services/vmme
keypair: mcord_rsa
synchronizer: true
-# - name: vSGW
-# path: orchestration/xos_services/vSGW
-# keypair: mcord_rsa
-# synchronizer: true
-# - name: vPGWC
-# path: orchestration/xos_services/vPGWC
-# keypair: mcord_rsa
-# synchronizer: true
-# needed onboarding synchronizer doesn't require service code to be present when started
- name: exampleservice
path: orchestration/xos_services/exampleservice
keypair: exampleservice_rsa
@@ -101,8 +72,6 @@
keypair: monitoringservice_rsa
synchronizer: false
-# profile_library: "mcord"
-
# SSL server certificate generation
server_certs:
- cn: "keystone.{{ site_suffix }}"
diff --git a/profile_manifests/mock-ecord-global.yml b/profile_manifests/mock-ecord-global.yml
deleted file mode 100644
index 91fa0be..0000000
--- a/profile_manifests/mock-ecord-global.yml
+++ /dev/null
@@ -1,82 +0,0 @@
-
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-
----
-# profile_manifests/mock-ecord.yml
-# creates a mock E-CORD pod
-
-site_name: mock-ecord
-deployment_type: "Mock E-CORD Global Pod"
-
-credentials_dir: "{{ playbook_dir }}/credentials"
-xos_admin_user: "xosadmin@opencord.org"
-xos_admin_pass: "{{ lookup('password', credentials_dir ~ '/xosadmin@opencord.org chars=ascii_letters,digits') }}"
-xos_admin_first: XOS
-xos_admin_last: Admin
-
-frontend_only: False
-use_openstack: False
-use_vtn: False
-needs_pki_install: True
-
-build_xos_base_image: True
-
-xos_tosca_config_templates:
- - mock-onos.yaml
- - vnodglobal-service.yaml
- - xos-gui-extensions.yml
-
-# GUI Config [new GUI]
-gui_project_name: "E-CORD"
-gui_background: "cord-bg.jpg" # TODO find ecord image
-gui_payoff: "Your Enterprise VNF orchestrator"
-
-# GUI branding
-gui_branding_name: "ECORD"
-gui_branding_icon: "/static/cord-logo.png"
-gui_branding_favicon: "/static/cord-favicon.png"
-gui_branding_bg: "/static/cord-bg.jpg"
-
-enabled_gui_extensions:
- - name: metro-net-gui
- path: orchestration/xos_services/metro-net/xos/gui
- extra_files:
- - app/style/style.css
-
-# paths defined in manifest/default.xml
-xos_services:
- - name: onos
- path: orchestration/xos_services/onos-service
- - name: metro-net
- path: orchestration/xos_services/metro-net
-
-xos_service_sshkeys:
- - name: onos_rsa
- source_path: "/dev/null"
- - name: onos_rsa.pub
- source_path: "/dev/null"
-
-# site domain suffix
-site_suffix: opencord.org
-
-# SSL server certificate generation
-server_certs:
- - cn: "xos-core.{{ site_suffix }}"
- subj: "/C=US/ST=California/L=Menlo Park/O=ON.Lab/OU=Test Deployment/CN=xos-core.{{ site_suffix }}"
- altnames:
- - "DNS:xos-core.{{ site_suffix }}"
-
-xos_images: []
\ No newline at end of file
diff --git a/profile_manifests/mock-ecord.yml b/profile_manifests/mock-ecord.yml
deleted file mode 100644
index 7c10dc8..0000000
--- a/profile_manifests/mock-ecord.yml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-
----
-# profile_manifests/mock-ecord.yml
-# creates a mock E-CORD pod
-
-site_name: mock-ecord
-deployment_type: "Mock E-CORD Pod"
-
-credentials_dir: "{{ playbook_dir }}/credentials"
-xos_admin_user: "xosadmin@opencord.org"
-xos_admin_pass: "{{ lookup('password', credentials_dir ~ '/xosadmin@opencord.org chars=ascii_letters,digits') }}"
-xos_admin_first: XOS
-xos_admin_last: Admin
-
-frontend_only: False
-use_openstack: False
-use_vtn: False
-needs_pki_install: True
-
-build_xos_base_image: True
-
-xos_tosca_config_templates:
- - management-net.yaml
- - mock-onos.yaml
-# - vtn-service.yaml # rimosso
-# - fabric-service.yaml # rimosso
- - ecord-services.yaml
- - vee-service.yaml
- - xos-gui-extensions.yml
-
-# GUI Config [new GUI]
-gui_project_name: "E-CORD"
-gui_background: "cord-bg.jpg" # TODO find ecord image
-gui_payoff: "Your Enterprise VNF orchestrator"
-
-# GUI branding
-gui_branding_name: "ECORD"
-gui_branding_icon: "/static/cord-logo.png"
-gui_branding_favicon: "/static/cord-favicon.png"
-gui_branding_bg: "/static/cord-bg.jpg"
-
-# paths defined in manifest/default.xml
-xos_services:
- - name: openstack
- path: orchestration/xos_services/openstack
- - name: onos
- path: orchestration/xos_services/onos-service
- - name: vtn
- path: orchestration/xos_services/vtn-service
- - name: fabric
- path: orchestration/xos_services/fabric
- - name: vrouter
- path: orchestration/xos_services/vrouter
- - name: veg
- path: orchestration/xos_services/vEG
- - name: vnodlocal
- path: orchestration/xos_services/metronet-local
- - name: vee
- path: orchestration/xos_services/vEE
-
-xos_service_sshkeys:
- - name: onos_rsa
- source_path: "/dev/null"
- - name: onos_rsa.pub
- source_path: "/dev/null"
- - name: veg_rsa
- source_path: "/dev/null"
- - name: veg_rsa.pub
- source_path: "/dev/null"
-
-# site domain suffix
-site_suffix: opencloud.us
-
-# SSL server certificate generation
-server_certs:
- - cn: "xos-core.{{ site_suffix }}"
- subj: "/C=US/ST=California/L=Menlo Park/O=ON.Lab/OU=Test Deployment/CN=xos-core.{{ site_suffix }}"
- altnames:
- - "DNS:xos-core.{{ site_suffix }}"
-
-xos_images: []
\ No newline at end of file
diff --git a/profile_manifests/mock-mcord.yml b/profile_manifests/mock-mcord.yml
deleted file mode 100644
index 42b21d5..0000000
--- a/profile_manifests/mock-mcord.yml
+++ /dev/null
@@ -1,76 +0,0 @@
-
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-
----
-# vars/mock-mcord.yaml
-# creates a mock MCORD pod
-
-site_name: mock-mcord
-deployment_type: "Mock M-CORD Pod"
-
-credentials_dir: "{{ playbook_dir }}/credentials"
-xos_admin_user: "xosadmin@opencord.org"
-xos_admin_pass: "{{ lookup('password', credentials_dir ~ '/xosadmin@opencord.org chars=ascii_letters,digits') }}"
-xos_admin_first: XOS
-xos_admin_last: Admin
-
-frontend_only: True
-use_openstack: False
-use_vtn: False
-needs_pki_install: True
-
-build_xos_base_image: True
-
-xos_tosca_config_templates:
- - sample.yaml
- - management-net.yaml
- - mock-mcord.yaml
- - xos-gui-extensions.yml
-
-# GUI Config [new GUI]
-gui_project_name: "M-CORD"
-gui_payoff: "Your way toward 5G"
-gui_routes:
- - label: "Slices"
- state: "xos.core.slice"
- - label: "Nodes"
- state: "xos.core.node"
- - label: "Instances"
- state: "xos.core.instance"
- - label: "MCORD"
- state: "xos.mcord"
- - label: "Topology"
- state: "xos.mcord.topology"
- parent: "xos.mcord"
-
-# GUI branding
-gui_branding_name: "M-CORD"
-gui_branding_icon: "/static/cord-logo.png"
-gui_branding_favicon: "/static/cord-favicon.png"
-gui_branding_bg: "/static/mcord-bg.jpg"
-gui_service_view_class: "core.views.mCordServiceGrid.ServiceGridView"
-
-# site domain suffix
-site_suffix: opencloud.us
-
-# SSL server certificate generation
-server_certs:
- - cn: "xos-core.{{ site_suffix }}"
- subj: "/C=US/ST=California/L=Menlo Park/O=ON.Lab/OU=Test Deployment/CN=xos-core.{{ site_suffix }}"
- altnames:
- - "DNS:xos-core.{{ site_suffix }}"
-
-xos_images: []
\ No newline at end of file
diff --git a/profile_manifests/mock-rcord.yml b/profile_manifests/mock-rcord.yml
deleted file mode 100644
index a714b1a..0000000
--- a/profile_manifests/mock-rcord.yml
+++ /dev/null
@@ -1,108 +0,0 @@
-
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-
----
-# vars/frontend-rcord.yaml
-# creates a mock R-CORD pod
-
-site_name: mock-rcord
-deployment_type: "Mock R-CORD Pod"
-
-xos_admin_user: "xosadmin@opencord.org"
-xos_admin_pass: "{{ lookup('password', credentials_dir ~ '/xosadmin@opencord.org chars=ascii_letters,digits') }}"
-xos_admin_first: XOS
-xos_admin_last: Admin
-
-credentials_dir: "{{ playbook_dir }}/credentials"
-
-frontend_only: True
-use_openstack: False
-use_vtn: True
-needs_pki_install: True
-
-build_xos_base_image: True
-
-xos_tosca_config_templates:
- - management-net.yaml
- - mock-onos.yaml
- - cord-services.yaml
- - public-net.yaml
- # - test-subscriber.yaml # broken? Missing lan_network config on vOLT ?
- - xos-gui-extensions.yml
-
-# GUI Config [new GUI]
-gw_port: 3000
-gui_api_endpoint: "/xosapi/v1"
-gui_websocket: "/"
-gui_project_name: "R-CORD"
-gui_favicon: "cord-favicon.png"
-gui_background: "cord-bg.jpg"
-gui_payoff: "Your VNF orchestrator"
-gui_logo: "cord-logo.png"
-gui_routes:
- - label: "Slices"
- state: "xos.core.slice"
- - label: "Nodes"
- state: "xos.core.node"
- - label: "Instances"
- state: "xos.core.instance"
-
-enabled_gui_extensions:
- - name: vtr
- path: orchestration/xos_services/vtr/xos/gui
- - name: rcord
- path: orchestration/profiles/rcord/xos/gui
-
-# GUI branding [OLD GUI to be removed]
-gui_branding_name: "CORD"
-gui_branding_icon: "/static/cord-logo.png"
-gui_branding_favicon: "/static/cord-favicon.png"
-gui_branding_bg: "/static/cord-bg.jpg"
-
-# paths defined in manifest/default.xml
-xos_services:
- - name: volt
- path: orchestration/xos_services/olt-service
- keypair: volt_rsa
- - name: onos
- path: orchestration/xos_services/onos-service
- keypair: onos_rsa
- - name: vrouter
- path: orchestration/xos_services/vrouter
- - name: addressmanager
- path: orchestration/xos_services/addressmanager
- - name: vsg
- path: orchestration/xos_services/vsg
- keypair: vsg_rsa
- - name: vtr
- path: orchestration/xos_services/vtr
- keypair: vsg_rsa
- - name: fabric
- path: orchestration/xos_services/fabric
-
-profile_library: "rcord"
-
-# site domain suffix
-site_suffix: opencord.org
-
-# SSL server certificate generation
-server_certs:
- - cn: "xos-core.{{ site_suffix }}"
- subj: "/C=US/ST=California/L=Menlo Park/O=ON.Lab/OU=Test Deployment/CN=xos-core.{{ site_suffix }}"
- altnames:
- - "DNS:xos-core.{{ site_suffix }}"
-
-xos_images: []
\ No newline at end of file
diff --git a/profile_manifests/rcord.yml b/profile_manifests/rcord.yml
index c68ef8a..eecae0a 100644
--- a/profile_manifests/rcord.yml
+++ b/profile_manifests/rcord.yml
@@ -1,3 +1,4 @@
+---
# Copyright 2017-present Open Networking Foundation
#
@@ -13,8 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-
----
# profile_manifests/rcord.yml
# R-CORD Profile Manifest
@@ -42,12 +41,6 @@
xos_other_templates:
- fabric-network-cfg.json
-# GUI branding [OLD GUI to be removed]
-gui_branding_name: "CORD"
-gui_branding_icon: "/static/cord-logo.png"
-gui_branding_favicon: "/static/cord-favicon.png"
-gui_branding_bg: "/static/cord-bg.jpg"
-
enabled_gui_extensions:
- name: vtr
path: orchestration/xos_services/vtr/xos/gui
diff --git a/roles/compute-node-enable-maas/defaults/main.yml b/roles/compute-node-enable-maas/defaults/main.yml
index 5335970..62cedcb 100644
--- a/roles/compute-node-enable-maas/defaults/main.yml
+++ b/roles/compute-node-enable-maas/defaults/main.yml
@@ -1,3 +1,4 @@
+---
# Copyright 2017-present Open Networking Foundation
#
@@ -13,14 +14,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-
----
# compute-node-enable-maas/defaults/main.yml
-credentials_dir: "/opt/credentials"
head_cord_profile_dir: "/opt/cord_profile"
xos_admin_user: "xosadmin@opencord.org"
-xos_admin_pass: "{{ lookup('password', credentials_dir ~ '/xosadmin@opencord.org chars=ascii_letters,digits') }}"
+maas_xos_admin_pass: "{{ lookup('file', '/opt/credentials/xosadmin@opencord.org') }}"
xos_ui_port: 9000
diff --git a/roles/compute-node-enable-maas/tasks/main.yml b/roles/compute-node-enable-maas/tasks/main.yml
index 135d882..5a00ad8 100644
--- a/roles/compute-node-enable-maas/tasks/main.yml
+++ b/roles/compute-node-enable-maas/tasks/main.yml
@@ -33,7 +33,7 @@
xostosca:
url: "http://xos.{{ site_suffix }}:{{ xos_ui_port }}/api/utility/tosca/run/"
user: "{{ xos_admin_user }}"
- password: "{{ xos_admin_pass }}"
+ password: "{{ maas_xos_admin_pass }}"
recipe: "{{ lookup('file', '/tmp/' + item ) }}"
with_items:
- openstack.yaml
@@ -47,7 +47,7 @@
xostosca:
url: "http://xos.{{ site_suffix }}:{{ xos_ui_port }}/api/utility/tosca/run/"
user: "{{ xos_admin_user }}"
- password: "{{ xos_admin_pass }}"
+ password: "{{ maas_xos_admin_pass }}"
recipe: "{{ lookup('file', '/tmp/' + item ) }}"
with_items:
- vtn-service.yaml
diff --git a/roles/cord-profile/defaults/main.yml b/roles/cord-profile/defaults/main.yml
index 8612e86..4a3af66 100644
--- a/roles/cord-profile/defaults/main.yml
+++ b/roles/cord-profile/defaults/main.yml
@@ -93,14 +93,6 @@
- label: "Instances"
state: "xos.core.instance"
-# GUI branding, used in xos_common_config.j2
-disable_minidashboard: "True"
-gui_branding_name: "OpenCloud"
-gui_branding_icon: "/static/logo.png"
-gui_branding_favicon: "/static/favicon.png"
-gui_branding_bg: "/static/bg.jpg"
-gui_service_view_class: False
-
# used in admin-openrc.sh.j2
keystone_admin_password: "{{ lookup('password', credentials_dir ~ '/cord_keystone_admin chars=ascii_letters,digits') }}"
diff --git a/roles/juju-setup/defaults/main.yml b/roles/juju-setup/defaults/main.yml
index 882473d..0802ced 100644
--- a/roles/juju-setup/defaults/main.yml
+++ b/roles/juju-setup/defaults/main.yml
@@ -1,3 +1,4 @@
+---
# Copyright 2017-present Open Networking Foundation
#
@@ -13,10 +14,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-
----
# juju-setup/defaults/main.yml
-
+#
# note: juju_config_path and charm_versions are also set in
# `juju-compute-setup/defaults/main.yml`. Keep these in sync.
@@ -31,7 +30,7 @@
keystone_admin_password: "{{ lookup('password', credentials_dir ~ '/cord_keystone_admin chars=ascii_letters,digits') }}"
-enable_dpdk: False
+use_dpdk: False
vcpu_pin_set: "^0,^2"
hugepages: "60%"
dpdk_socket_memory: "1024,0"
diff --git a/roles/juju-setup/templates/juju_config.yml.j2 b/roles/juju-setup/templates/juju_config.yml.j2
index cd6b929..f3db2ae 100644
--- a/roles/juju-setup/templates/juju_config.yml.j2
+++ b/roles/juju-setup/templates/juju_config.yml.j2
@@ -1,4 +1,4 @@
-
+---
{#
Copyright 2017-present Open Networking Foundation
@@ -15,8 +15,6 @@
limitations under the License.
#}
-
----
# juju configuration file for CORD deployments
ceilometer:
@@ -49,7 +47,7 @@
onos-vtn-port: 8182
neutron-security-groups: "True"
overlay-network-type: vxlan
- {% if enable_dpdk -%}
+ {% if use_dpdk -%}
onos-vtn-branch: cord-2.0-dpdk-kilo
{% endif %}
@@ -60,7 +58,7 @@
config-flags: "force_config_drive=always"
console-access-protocol: novnc
network-manager: Neutron
- {% if enable_dpdk -%}
+ {% if use_dpdk -%}
scheduler-default-filters: "RetryFilter,AvailabilityZoneFilter,CoreFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,NUMATopologyFilter"
{% endif %}
@@ -68,7 +66,7 @@
openstack-origin: "cloud:trusty-kilo"
virt-type: kvm
disable-neutron-security-groups: "True"
- {% if enable_dpdk -%}
+ {% if use_dpdk -%}
config-flags: "firewall_driver=nova.virt.firewall.NoopFirewallDriver,vcpu_pin_set={{ vcpu_pin_set }}"
enable-dpdk: True
hugepages: "{{ hugepages }}"
diff --git a/roles/onos-fabric-install/defaults/main.yml b/roles/onos-fabric-install/defaults/main.yml
index 775ab97..2551ed6 100644
--- a/roles/onos-fabric-install/defaults/main.yml
+++ b/roles/onos-fabric-install/defaults/main.yml
@@ -18,7 +18,7 @@
# onos-fabric-install/defaults/main.yml
# paths
-head_onos_fabric_dir: "/opt/onos_fabric/"
+head_onos_fabric_dir: "/opt/onos_fabric"
# ONOS docker image to use
pull_docker_registry: ""
diff --git a/roles/onos-fabric-install/tasks/main.yml b/roles/onos-fabric-install/tasks/main.yml
index f664550..b6bd712 100644
--- a/roles/onos-fabric-install/tasks/main.yml
+++ b/roles/onos-fabric-install/tasks/main.yml
@@ -41,5 +41,6 @@
- name: Start ONOS for fabric
docker_service:
+ project_name: "onosfabric"
project_src: "{{ head_onos_fabric_dir }}"
diff --git a/roles/teardown-onos/defaults/main.yml b/roles/teardown-onos/defaults/main.yml
new file mode 100644
index 0000000..abab6d0
--- /dev/null
+++ b/roles/teardown-onos/defaults/main.yml
@@ -0,0 +1,20 @@
+---
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+# teardown-onos/defaults/main.yml
+
+head_onos_cord_dir: "/opt/onos_cord"
+head_onos_fabric_dir: "/opt/onos_fabric"
+
diff --git a/roles/teardown-onos/tasks/main.yml b/roles/teardown-onos/tasks/main.yml
new file mode 100644
index 0000000..5d12823
--- /dev/null
+++ b/roles/teardown-onos/tasks/main.yml
@@ -0,0 +1,37 @@
+---
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+# teardown-onos/tasks/main.yml
+#
+# Destroys the ONOS containers
+# NOTE: ignoring errors so that incomplete builds can be removed
+
+- name: Stop and remove onos-cord containers
+ docker_service:
+ project_name: "onoscord"
+ project_src: "{{ head_onos_cord_dir }}"
+ state: absent
+ remove_images: local
+ ignore_errors: yes
+
+- name: Stop and remove onos-fabric containers
+ when: use_fabric
+ docker_service:
+ project_name: "onosfabric"
+ project_src: "{{ head_onos_fabric_dir }}"
+ state: absent
+ remove_images: local
+ ignore_errors: yes
+
diff --git a/roles/test-exampleservice/defaults/main.yml b/roles/test-exampleservice/defaults/main.yml
index 8550ade..c6c615f 100644
--- a/roles/test-exampleservice/defaults/main.yml
+++ b/roles/test-exampleservice/defaults/main.yml
@@ -1,4 +1,4 @@
-
+---
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,15 +13,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-
----
# test-exampleservice/defaults/main.yml
head_cord_profile_dir: "/opt/cord_profile"
-credentials_dir: "/opt/credentials"
xos_ui_port: 9000
xos_admin_user: "xosadmin@opencord.org"
-xos_admin_pass: "{{ lookup('password', credentials_dir ~ '/xosadmin@opencord.org chars=ascii_letters,digits') }}"
+maas_xos_admin_pass: "{{ lookup('file', '/opt/credentials/xosadmin@opencord.org') }}"
diff --git a/roles/test-exampleservice/tasks/main.yml b/roles/test-exampleservice/tasks/main.yml
index 865631c..168697f 100644
--- a/roles/test-exampleservice/tasks/main.yml
+++ b/roles/test-exampleservice/tasks/main.yml
@@ -22,7 +22,7 @@
xostosca:
url: "http://xos.{{ site_suffix }}:{{ xos_ui_port }}/api/utility/tosca/run/"
user: "{{ xos_admin_user }}"
- password: "{{ xos_admin_pass }}"
+ password: "{{ maas_xos_admin_pass }}"
recipe: "{{ lookup('file', head_cord_profile_dir + '/test-exampleservice.yaml' ) }}"
- name: Wait for ExampleService VM to come up
diff --git a/scripts/cleanup.sh b/scripts/clean_openstack.sh
similarity index 97%
rename from scripts/cleanup.sh
rename to scripts/clean_openstack.sh
index 22ea636..051a141 100755
--- a/scripts/cleanup.sh
+++ b/scripts/clean_openstack.sh
@@ -29,7 +29,7 @@
neutron net-delete $NETWORK
}
-source ./admin-openrc.sh
+source /opt/cord_profile/admin-openrc.sh
echo "Deleting VMs"
# Delete all VMs
diff --git a/scripts/cord-bootstrap.sh b/scripts/cord-bootstrap.sh
deleted file mode 100644
index 8a4e7b8..0000000
--- a/scripts/cord-bootstrap.sh
+++ /dev/null
@@ -1,145 +0,0 @@
-
-# Copyright 2017-present Open Networking Foundation
-#
-# 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.
-
-
-#!/usr/bin/env bash
-# cord-bootstrap.sh
-# Bootstraps environment and downloads CORD repos
-
-set -e
-set -x
-
-CORDDIR=/opt/cord
-
-function bootstrap() {
-
- if [ ! -x "/usr/bin/ansible" ]
- then
- echo "Installing Ansible..."
- sudo apt-get update
- sudo apt-get install -y software-properties-common
- sudo apt-add-repository -y ppa:ansible/ansible
- sudo apt-get update
- sudo apt-get -y install python-dev libffi-dev python-pip libssl-dev sshpass python-netaddr ansible
- sudo pip install markupsafe
- fi
-
- if [ ! -x "/usr/local/bin/repo" ]
- then
- echo "Installing repo..."
- REPO_SHA256SUM="e147f0392686c40cfd7d5e6f332c6ee74c4eab4d24e2694b3b0a0c037bf51dc5"
- curl -o /tmp/repo https://storage.googleapis.com/git-repo-downloads/repo
- echo "$REPO_SHA256SUM /tmp/repo" | sha256sum -c -
- sudo mv /tmp/repo /usr/local/bin/repo
- sudo chmod a+x /usr/local/bin/repo
- fi
-
- if [ ! -d "$CORDDIR" ]
- then
- echo "Downloading CORD/XOS..."
-
- if [ ! -e "~/.gitconfig" ]
- then
- echo "No ~/.gitconfig, setting testing defaults"
- git config --global user.name 'Test User'
- git config --global user.email 'test@null.com'
- git config --global color.ui false
- fi
-
- mkdir $CORDDIR && cd $CORDDIR
- repo init -u https://gerrit.opencord.org/manifest -b master
- repo sync
-
- # check out gerrit branches using repo
- for gerrit_branch in ${GERRIT_BRANCHES[@]}; do
- echo "checking out opencord gerrit branch: $gerrit_branch"
- repo download ${gerrit_branch/:/ }
- done
- fi
-
- if [ ! -x "/usr/bin/docker" ]
- then
- echo "Installing Devel Tools..."
- cd ${CORDDIR}/build/platform-install
- ansible-playbook -i inventory/localhost devel-tools-playbook.yml
- fi
-
- set +x
- echo "*******************************************************************************"
- echo "* IMPORTANT: Logout and login so your account is added to the docker group! *"
- echo "* Then 'cd ${CORDDIR}/build/platform-install' and start your CORD profile. *"
- echo "* Need help? Check out the wiki at: https://wiki.opencord.org/ *"
- echo "*******************************************************************************"
-
-}
-
-function cleanup() {
- if [ ! -x "/usr/bin/ansible" ]
- then
- echo "Ansible not installed, can't cleanup. Is this the initial run?"
- else
- echo "Cleaning up - destroying docker containers..."
- cd ${CORDDIR}/build/platform-install
- ansible-playbook -i inventory/localhost teardown-playbook.yaml
- fi
-}
-
-function cord_profile() {
- echo "Running a profile is broken due to docker group membership issue"
-}
-
-# options that may be set by getopt
-GERRIT_BRANCHES=
-CLEANUP=0
-CORD_PROFILE=""
-
-while getopts "b:hcp:" opt; do
- case ${opt} in
- b ) GERRIT_BRANCHES+=("$OPTARG")
- ;;
- c ) CLEANUP=1
- ;;
- h ) echo "Usage:"
- echo " $0 prep system to run a CORD profile"
- echo " $0 -b <project:changeset/revision> checkout a changesets from gerrit. Can"
- echo " be used multiple times."
- echo " $0 -c cleanup from previous test"
- echo " $0 -p <profile> prep then start running the specified profile"
- echo " $0 -h display this help message"
- exit 0
- ;;
- p ) CORD_PROFILE=$OPTARG
- ;;
- \? ) echo "Invalid option: -$OPTARG"
- exit 1
- ;;
- esac
-done
-
-# "main" function
-if [[ $CLEANUP -eq 1 ]]
-then
- cleanup
-fi
-
-bootstrap
-
-if [[ $CORD_PROFILE -ne "" ]]
-then
- set -x
- cord_profile
-fi
-
-exit 0