[CORD-1673]
Fixes to E-CORD pod deploy
includes #5016/1 and #4402/5
fix pubkey paths
Includes 5038/2
Fix high Logtash CPU usage (backport of part of CORD-1588)
post-China Mobile fixes
Change-Id: I07bf9a54afd803082491e37b3bcfd6557ec32cb7
diff --git a/.gitignore b/.gitignore
index 497a91a..c0857ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,6 +27,7 @@
# Vagrant
.vagrant
+pki/*
# Docker registry
/registry
diff --git a/profile_manifests/ecord-global.yml b/profile_manifests/ecord-global.yml
index 3d49f90..b45e6f2 100644
--- a/profile_manifests/ecord-global.yml
+++ b/profile_manifests/ecord-global.yml
@@ -17,11 +17,14 @@
use_vtn: False
xos_tosca_config_templates:
- - openstack.yaml
+ - vtn-service.yaml
- vnodglobal-service.yaml
- xos-gui-extensions.yml
+ - carrierethernet-global-app.yaml
cord_profile_dir: "{{ ansible_user_dir + '/cord_profile' }}"
+pki_dir: "{{ playbook_dir + '/pki' }}"
+credentials_dir: "{{ playbook_dir + '/credentials_dir' }}"
xos_docker_volumes:
- host: "{{ cord_profile_dir }}/images"
@@ -50,9 +53,6 @@
- name: vtn
path: onos-apps/apps/vtn
synchronizer: true
- - name: openstack
- path: orchestration/xos_services/openstack
- synchronizer: true
- name: onos
path: orchestration/xos_services/onos-service
synchronizer: true
@@ -70,12 +70,6 @@
- name: metro-net_rsa.pub
source_path: "~/.ssh/id_rsa.pub"
-# VM networks/bridges on head
-virt_nets:
- - name: mgmtbr
- ipv4_prefix: 192.168.122
- head_vms: true
-
# site domain suffix
site_suffix: cord.lab
@@ -95,22 +89,6 @@
altnames:
- "DNS:xos-core.{{ site_suffix }}"
-# NSD/Unbound settings
-nsd_zones:
- - name: "{{ site_suffix }}"
- ipv4_first_octets: 192.168.122
- name_reverse_unbound: "168.192.in-addr.arpa"
- soa: ns1
- ns:
- - { name: ns1 }
- nodelist: head_vm_list
- aliases:
- - { name: "ns1" , dest: "head" }
- - { name: "ns" , dest: "head" }
- - { name: "apt-cache" , dest: "head" }
-
-name_on_public_interface: head
-
# VTN network configuration
management_network_cidr: 172.27.0.0/24
management_network_ip: 172.27.0.1/24
@@ -119,216 +97,7 @@
# CORD ONOS app version
cord_app_version: 1.2-SNAPSHOT
-# If true, unbound listens on the head node's `ansible_default_ipv4` interface
-unbound_listen_on_default: True
-
-# turn this on, or override it when running the playbook with --extra-vars="on_cloudlab=True"
-on_cloudlab: False
-
-# turn this off, or override when running playbook with --extra-vars="on_maas=False"
-on_maas: True
+onos_docker_image: "onosproject/onos:1.8.9"
run_dist_upgrade: False
-maas_node_key: /etc/maas/ansible/id_rsa
-
-openstack_version: kilo
-
-juju_config_name: cord
-
-juju_config_path: /usr/local/src/juju_config.yml
-
-# Pull ONOS from local Docker registry rather than Docker Hub
-onos_docker_image: "docker-registry:5000/onosproject/onos:candidate"
-
-# Pull XOS from local Docker registry
-xos_docker_image: "docker-registry:5000/xosproject/xos:candidate"
-
-keystone_admin_password: "{{ lookup('password', 'credentials/cord_keystone_admin chars=ascii_letters,digits') }}"
-
-deployment_flavors:
- - m1.small
- - m1.medium
- - m1.large
- - m1.xlarge
-
-charm_versions:
- ceilometer: "cs:trusty/ceilometer-17"
- ceilometer-agent: "cs:trusty/ceilometer-agent-13"
- glance: "cs:trusty/glance-28"
- keystone: "cs:trusty/keystone-33"
- mongodb: "cs:trusty/mongodb-33"
- percona-cluster: "cs:trusty/percona-cluster-31"
- nagios: "cs:trusty/nagios-10"
- neutron-api: "cs:~cordteam/trusty/neutron-api-5"
- nova-cloud-controller: "cs:trusty/nova-cloud-controller-64"
- nova-compute: "cs:~cordteam/trusty/nova-compute-2"
- nrpe: "cs:trusty/nrpe-4"
- ntp: "cs:trusty/ntp-14"
- openstack-dashboard: "cs:trusty/openstack-dashboard-19"
- rabbitmq-server: "cs:trusty/rabbitmq-server-42"
-
-head_vm_list: []
-
-head_lxd_list:
- - name: "juju-1"
- service: "juju"
- aliases:
- - "juju"
- ipv4_last_octet: 10
-
- - name: "ceilometer-1"
- service: "ceilometer"
- aliases:
- - "ceilometer"
- ipv4_last_octet: 20
- forwarded_ports:
- - { ext: 8777, int: 8777 }
-
- - name: "glance-1"
- service: "glance"
- aliases:
- - "glance"
- ipv4_last_octet: 30
- forwarded_ports:
- - { ext: 9292, int: 9292 }
-
- - name: "keystone-1"
- service: "keystone"
- aliases:
- - "keystone"
- ipv4_last_octet: 40
- forwarded_ports:
- - { ext: 35357, int: 35357 }
- - { ext: 4990, int: 4990 }
- - { ext: 5000, int: 5000 }
-
- - name: "percona-cluster-1"
- service: "percona-cluster"
- aliases:
- - "percona-cluster"
- ipv4_last_octet: 50
-
- - name: "nagios-1"
- service: "nagios"
- aliases:
- - "nagios"
- ipv4_last_octet: 60
- forwarded_ports:
- - { ext: 3128, int: 80 }
-
- - name: "neutron-api-1"
- service: "neutron-api"
- aliases:
- - "neutron-api"
- ipv4_last_octet: 70
- forwarded_ports:
- - { ext: 9696, int: 9696 }
-
- - name: "nova-cloud-controller-1"
- service: "nova-cloud-controller"
- aliases:
- - "nova-cloud-controller"
- ipv4_last_octet: 80
- forwarded_ports:
- - { ext: 8774, int: 8774 }
-
- - name: "openstack-dashboard-1"
- service: "openstack-dashboard"
- aliases:
- - "openstack-dashboard"
- ipv4_last_octet: 90
- forwarded_ports:
- - { ext: 8080, int: 80 }
-
- - name: "rabbitmq-server-1"
- service: "rabbitmq-server"
- aliases:
- - "rabbitmq-server"
- ipv4_last_octet: 100
-
- - name: "mongodb-1"
- service: "mongodb"
- aliases:
- - "mongodb"
- ipv4_last_octet: 110
-
-lxd_service_list:
- - ceilometer
- - glance
- - keystone
- - mongodb
- - nagios
- - neutron-api
- - nova-cloud-controller
- - openstack-dashboard
- - percona-cluster
- - rabbitmq-server
-
-standalone_service_list:
- - ntp
- - nrpe
- - ceilometer-agent
-
-
-service_relations:
- - name: keystone
- relations: [ "percona-cluster", "nrpe", ]
-
- - name: nova-cloud-controller
- relations: [ "percona-cluster", "rabbitmq-server", "glance", "keystone", "nrpe", ]
-
- - name: glance
- relations: [ "percona-cluster", "keystone", "nrpe", ]
-
- - name: neutron-api
- relations: [ "keystone", "percona-cluster", "rabbitmq-server", "nova-cloud-controller", "nrpe", ]
-
- - name: openstack-dashboard
- relations: [ "keystone", "nrpe", ]
-
- - name: nagios
- relations: [ "nrpe", ]
-
- - name: "percona-cluster:juju-info"
- relations: [ "nrpe:general-info", ]
-
- - name: rabbitmq-server
- relations: [ "nrpe", ]
-
- - name: ceilometer
- relations: [ "mongodb", "rabbitmq-server", "nagios", "nrpe", ]
-
- - name: "ceilometer:identity-service"
- relations: [ "keystone:identity-service", ]
-
- - name: "ceilometer:ceilometer-service"
- relations: [ "ceilometer-agent:ceilometer-service", ]
-
-
-compute_relations:
- - name: nova-compute
- relations: [ "ceilometer-agent", "glance", "nova-cloud-controller", "nagios", "nrpe", ]
-
- - name: "nova-compute:shared-db"
- relations: [ "percona-cluster:shared-db", ]
-
- - name: "nova-compute:amqp"
- relations: [ "rabbitmq-server:amqp", ]
-
- - name: ntp
- relations: [ "nova-compute", ]
-
-
-xos_images:
- - name: "trusty-server-multi-nic"
- url: "http://www.vicci.org/opencloud/trusty-server-cloudimg-amd64-disk1.img.20170201"
- checksum: "sha256:ebf007ba3ec1043b7cd011fc6668e2a1d1d4c69c41071e8513ab355df7a057cb"
-
- - name: "ceilometer-trusty-server-multi-nic"
- url: "http://www.vicci.org/cord/ceilometer-trusty-server-multi-nic.compressed.qcow2"
- checksum: "sha256:b77ef8d692b640568dea13df99fe1dfcb1f4bb4ac05408db9ff77399b34f754f"
-
- - name: "ceilometer-service-trusty-server-multi-nic"
- url: "http://www.vicci.org/cord/ceilometer-service-trusty-server-multi-nic.compressed.qcow2.20170131"
- checksum: "sha256:f0341e283f0f2cb8f70cd1a6347e0081c9c8492ef34eb6397c657ef824800d4f"
diff --git a/profile_manifests/ecord.yml b/profile_manifests/ecord.yml
index a031d72..4717d6a 100644
--- a/profile_manifests/ecord.yml
+++ b/profile_manifests/ecord.yml
@@ -25,6 +25,7 @@
- public-net.yaml
- vee-service.yaml
- xos-gui-extensions.yml
+ - carrierethernet-local-app.yaml
xos_other_templates:
- fabric-network-cfg.json
@@ -46,28 +47,38 @@
gui_branding_favicon: "/static/cord-favicon.png"
gui_branding_bg: "/static/cord-bg.jpg"
-enabled_gui_extensions: []
+enabled_gui_extensions:
+ - name: vtr
+ path: orchestration/xos_services/vtr/xos/gui
# paths defined in manifest/default.xml
xos_services:
- name: openstack
path: orchestration/xos_services/openstack
+ synchronizer: true
- name: onos
path: orchestration/xos_services/onos-service
keypair: onos_rsa
+ synchronizer: true
- name: vtn
path: onos-apps/apps/vtn
+ synchronizer: true
- name: fabric
path: orchestration/xos_services/fabric
+ synchronizer: true
- name: vrouter
path: orchestration/xos_services/vrouter
+ synchronizer: true
- name: veg
path: orchestration/xos_services/vEG
keypair: veg_rsa
+ synchronizer: true
- name: vnodlocal
path: orchestration/xos_services/metronet-local
+ synchronizer: true
- name: vee
path: orchestration/xos_services/vEE
+ synchronizer: true
xos_service_sshkeys:
- name: onos_rsa
diff --git a/profile_manifests/mock-ecord-global.yml b/profile_manifests/mock-ecord-global.yml
index cfc1445..2809386 100644
--- a/profile_manifests/mock-ecord-global.yml
+++ b/profile_manifests/mock-ecord-global.yml
@@ -21,6 +21,7 @@
- mock-onos.yaml
- vnodglobal-service.yaml
- xos-gui-extensions.yml
+ - carrierethernet-global-app.yaml
# GUI Config [new GUI]
gui_project_name: "E-CORD"
diff --git a/profile_manifests/mock-ecord.yml b/profile_manifests/mock-ecord.yml
index ffdec0f..e5a5586 100644
--- a/profile_manifests/mock-ecord.yml
+++ b/profile_manifests/mock-ecord.yml
@@ -25,6 +25,7 @@
- ecord-services.yaml
- vee-service.yaml
- xos-gui-extensions.yml
+ - carrierethernet-local-app.yaml
# GUI Config [new GUI]
gui_project_name: "E-CORD"
diff --git a/roles/cord-profile/templates/carrierethernet-global-app.yaml.j2 b/roles/cord-profile/templates/carrierethernet-global-app.yaml.j2
new file mode 100644
index 0000000..43d04a2
--- /dev/null
+++ b/roles/cord-profile/templates/carrierethernet-global-app.yaml.j2
@@ -0,0 +1,25 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+
+description: carrierethernet-app onboarding, generated by platform-install
+topology_template:
+ node_templates:
+
+ service#ONOS_CORD:
+ type: tosca.nodes.ONOSService
+ properties:
+ no-delete: true
+ no-create: true
+ no-update: true
+
+ CarrierEthernet_ONOS_app:
+ type: tosca.nodes.ONOSApp
+ requirements:
+ - onos_tenant:
+ node: service#ONOS_CORD
+ relationship: tosca.relationships.TenantOfService
+ properties:
+ install_dependencies: http://mavenrepo:8080/repository/org/opencord/ce/ce-api/{{ cord_app_version }}/ce-api-{{ cord_app_version }}.oar, http://mavenrepo:8080/repository/org/opencord/ce/ecord-global-app/{{ cord_app_version }}/ecord-global-app-{{ cord_app_version }}.oar
+ dependencies: org.onosproject.drivers, org.onosproject.drivers.ovsdb, org.onosproject.openflow-base, org.onosproject.ovsdb-base
diff --git a/roles/cord-profile/templates/carrierethernet-local-app.yaml.j2 b/roles/cord-profile/templates/carrierethernet-local-app.yaml.j2
new file mode 100644
index 0000000..43d04a2
--- /dev/null
+++ b/roles/cord-profile/templates/carrierethernet-local-app.yaml.j2
@@ -0,0 +1,25 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+
+description: carrierethernet-app onboarding, generated by platform-install
+topology_template:
+ node_templates:
+
+ service#ONOS_CORD:
+ type: tosca.nodes.ONOSService
+ properties:
+ no-delete: true
+ no-create: true
+ no-update: true
+
+ CarrierEthernet_ONOS_app:
+ type: tosca.nodes.ONOSApp
+ requirements:
+ - onos_tenant:
+ node: service#ONOS_CORD
+ relationship: tosca.relationships.TenantOfService
+ properties:
+ install_dependencies: http://mavenrepo:8080/repository/org/opencord/ce/ce-api/{{ cord_app_version }}/ce-api-{{ cord_app_version }}.oar, http://mavenrepo:8080/repository/org/opencord/ce/ecord-global-app/{{ cord_app_version }}/ecord-global-app-{{ cord_app_version }}.oar
+ dependencies: org.onosproject.drivers, org.onosproject.drivers.ovsdb, org.onosproject.openflow-base, org.onosproject.ovsdb-base
diff --git a/roles/cord-profile/templates/ecord-services.yaml.j2 b/roles/cord-profile/templates/ecord-services.yaml.j2
index dc6a71f..312a861 100644
--- a/roles/cord-profile/templates/ecord-services.yaml.j2
+++ b/roles/cord-profile/templates/ecord-services.yaml.j2
@@ -82,7 +82,7 @@
# node_label: label_veg
replaces: service_veg
artifacts:
- pubkey: /opt/xos/services/veg/keys/veg_rsa.pub
+ pubkey: /opt/cord_profile/key_import/veg_rsa.pub
service#vrouter:
type: tosca.nodes.VRouterService
diff --git a/roles/cord-profile/templates/mock-onos.yaml.j2 b/roles/cord-profile/templates/mock-onos.yaml.j2
index 1f733f9..a3953c6 100644
--- a/roles/cord-profile/templates/mock-onos.yaml.j2
+++ b/roles/cord-profile/templates/mock-onos.yaml.j2
@@ -1,3 +1,4 @@
+
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
diff --git a/roles/cord-profile/templates/vee-service.yaml.j2 b/roles/cord-profile/templates/vee-service.yaml.j2
index 56a7de4..da07cc9 100644
--- a/roles/cord-profile/templates/vee-service.yaml.j2
+++ b/roles/cord-profile/templates/vee-service.yaml.j2
@@ -26,7 +26,7 @@
no-create: true
no-update: true
artifacts:
- pubkey: /opt/xos/services/veg/keys/veg_rsa.pub
+ pubkey: /opt/cord_profile/key_import/veg_rsa.pub
service#vnodlocal:
type: tosca.nodes.VNodLocalService
diff --git a/roles/cord-profile/templates/vnodglobal-service-complete.yaml.j2 b/roles/cord-profile/templates/vnodglobal-service-complete.yaml.j2
new file mode 100644
index 0000000..a1b57ff
--- /dev/null
+++ b/roles/cord-profile/templates/vnodglobal-service-complete.yaml.j2
@@ -0,0 +1,113 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/metronet.yaml
+
+description: vnodglobal services, generated by platform-install
+
+topology_template:
+ node_templates:
+
+ enterpriselocation#onlab:
+ type: tosca.nodes.EnterpriseLocation
+ requirements:
+ properties:
+ name: onlab
+ cord_site_ip: 127.0.0.1
+ cord_site_port: 8181
+ cord_site_username: onos
+ cord_site_password: rocks
+ cord_site_type: onos
+
+
+ enterpriselocation#onlab1:
+ type: tosca.nodes.EnterpriseLocation
+ requirements:
+ properties:
+ name: onlab1
+ cord_site_ip: 127.0.0.2
+ cord_site_port: 8181
+ cord_site_username: onos
+ cord_site_password: rocks
+ cord_site_type: onos
+
+ onosmodel#onlab:
+ type: tosca.nodes.OnosModel
+ requirements:
+ properties:
+ name: onlabT
+ onos_ip: 127.0.0.1
+ onos_port: 8181
+ onos_username: onos
+ onos_password: rocks
+ onos_type: global
+
+ bandwidthprofile#bronze:
+ type: tosca.nodes.BandwidthProfile
+ requirements:
+ properties:
+ cbs: 1000
+ ebs: 1200
+ cir: 1000000
+ eir: 1200000
+ name: bronze
+
+ bandwidthprofile#silver:
+ type: tosca.nodes.BandwidthProfile
+ requirements:
+ properties:
+ cbs: 1500
+ ebs: 2000
+ cir: 1500000
+ eir: 2000000
+ name: silver
+
+ bandwidthprofile#gold:
+ type: tosca.nodes.BandwidthProfile
+ requirements:
+ properties:
+ cbs: 2000
+ ebs: 2700
+ cir: 2000000
+ eir: 2700000
+ name: gold
+
+ bandwidthprofile#platinum:
+ type: tosca.nodes.BandwidthProfile
+ requirements:
+ properties:
+ cbs: 2500
+ ebs: 3200
+ cir: 2500000
+ eir: 3200000
+ name: platinum
+
+ usernetworkinterface#UserNetworkInterface1:
+ type: tosca.nodes.UserNetworkInterface
+ requirements:
+ properties:
+ tenant: onlab
+ name: uni1
+ latlng: [37.973535, -122.531087]
+ cpe_id: netconf:192.168.56.10:830/0
+
+ usernetworkinterface#UserNetworkInterface2:
+ type: tosca.nodes.UserNetworkInterface
+ requirements:
+ properties:
+ tenant: onlab
+ name: uni2
+ latlng: [37.773972, -122.431297]
+ cpe_id: netconf:192.168.56.20:830/0
+
+ eline#testeline:
+ type: tosca.nodes.ELine
+ requirements:
+ properties:
+ name: testeline
+ connect_point_1_id: netconf:192.168.56.10:830/0
+ connect_point_2_id: netconf:192.168.56.20:830/0
+ vlanids: 100
+ cord_site_name: onlabT
+ bwp: gold
\ No newline at end of file
diff --git a/roles/cord-profile/templates/vnodglobal-service.yaml.j2 b/roles/cord-profile/templates/vnodglobal-service.yaml.j2
index a1b57ff..348f121 100644
--- a/roles/cord-profile/templates/vnodglobal-service.yaml.j2
+++ b/roles/cord-profile/templates/vnodglobal-service.yaml.j2
@@ -9,34 +9,11 @@
topology_template:
node_templates:
- enterpriselocation#onlab:
- type: tosca.nodes.EnterpriseLocation
- requirements:
- properties:
- name: onlab
- cord_site_ip: 127.0.0.1
- cord_site_port: 8181
- cord_site_username: onos
- cord_site_password: rocks
- cord_site_type: onos
-
-
- enterpriselocation#onlab1:
- type: tosca.nodes.EnterpriseLocation
- requirements:
- properties:
- name: onlab1
- cord_site_ip: 127.0.0.2
- cord_site_port: 8181
- cord_site_username: onos
- cord_site_password: rocks
- cord_site_type: onos
-
- onosmodel#onlab:
+ onosmodel#globalONOS:
type: tosca.nodes.OnosModel
requirements:
properties:
- name: onlabT
+ name: globalONOS
onos_ip: 127.0.0.1
onos_port: 8181
onos_username: onos
@@ -81,33 +58,4 @@
ebs: 3200
cir: 2500000
eir: 3200000
- name: platinum
-
- usernetworkinterface#UserNetworkInterface1:
- type: tosca.nodes.UserNetworkInterface
- requirements:
- properties:
- tenant: onlab
- name: uni1
- latlng: [37.973535, -122.531087]
- cpe_id: netconf:192.168.56.10:830/0
-
- usernetworkinterface#UserNetworkInterface2:
- type: tosca.nodes.UserNetworkInterface
- requirements:
- properties:
- tenant: onlab
- name: uni2
- latlng: [37.773972, -122.431297]
- cpe_id: netconf:192.168.56.20:830/0
-
- eline#testeline:
- type: tosca.nodes.ELine
- requirements:
- properties:
- name: testeline
- connect_point_1_id: netconf:192.168.56.10:830/0
- connect_point_2_id: netconf:192.168.56.20:830/0
- vlanids: 100
- cord_site_name: onlabT
- bwp: gold
\ No newline at end of file
+ name: platinum
\ No newline at end of file
diff --git a/roles/create-lxd/tasks/main.yml b/roles/create-lxd/tasks/main.yml
index fd3ace2..570e151 100644
--- a/roles/create-lxd/tasks/main.yml
+++ b/roles/create-lxd/tasks/main.yml
@@ -112,7 +112,7 @@
- skip_ansible_lint # connectivity check
- name: Verify that containers have external connectivity
- command: ansible containers -m uri -u ubuntu -a "url=http://www.google.com"
+ command: ansible containers -m uri -u ubuntu -a "url=http://opencord.org"
tags:
- skip_ansible_lint # connectivity check
diff --git a/roles/elasticstack/files/30-elasticsearch-output.conf b/roles/elasticstack/files/30-elasticsearch-output.conf
index ab51625..11c7bfc 100644
--- a/roles/elasticstack/files/30-elasticsearch-output.conf
+++ b/roles/elasticstack/files/30-elasticsearch-output.conf
@@ -1,4 +1,3 @@
output {
elasticsearch { hosts => ["localhost:9200"] }
- stdout { codec => rubydebug }
}