diff options
13 files changed, 355 insertions, 16 deletions
diff --git a/INFO.yaml b/INFO.yaml new file mode 100644 index 00000000..3712ad36 --- /dev/null +++ b/INFO.yaml @@ -0,0 +1,56 @@ +--- +project: 'Compass4nfv' +project_creation_date: '' +project_category: 'Integration and testing' +lifecycle_state: 'Proposal approved' +project_lead: &opnfv_compass4nfv_ptl + name: 'Justin chi' + email: 'chigang@huawei.com' + id: 'chigang' + company: 'huawei.com' + timezone: 'Unknown' +primary_contact: *opnfv_compass4nfv_ptl +issue_tracking: + type: 'jira' + url: 'https://jira.opnfv.org/projects/COMPASS' + key: 'COMPASS' +mailing_list: + type: 'mailman2' + url: 'opnfv-tech-discuss@lists.opnfv.org' + tag: '[compass4nfv]' +realtime_discussion: + type: irc + server: 'freenode.net' + channel: '#opnfv-compass4nfv' +meetings: + - type: 'gotomeeting+irc' + agenda: # eg: 'https://wiki.opnfv.org/display/' + url: # eg: 'https://global.gotomeeting.com/join/819733085' + server: 'freenode.net' + channel: '#opnfv-meeting' + repeats: 'weekly' + time: # eg: '16:00 UTC' +repositories: + - 'compass4nfv' +committers: + - <<: *opnfv_compass4nfv_ptl + - name: 'Prakash Ramchandran' + email: 'prakash.ramchandran@huawei.com' + company: 'huawei.com' + id: 'rprakash' + - name: 'shuai chen' + email: 'chenshuai@huawei.com' + company: 'huawei.com' + id: 'chenshuai' + - name: 'Yifei Xue' + email: 'xueyifei@huawei.com' + company: 'huawei.com' + id: 'xueyifei1988' + - name: 'HU Xinhui' + email: 'xinhui_hu@foxmail.com' + company: 'foxmail.com' + id: 'huxinhui' +tsc: + # yamllint disable rule:line-length + approval: 'http//ircbot.wl.linuxfoundation.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-07-21-14.02.html' + # yamllint enable rule:line-length diff --git a/ci/deploy_ci.sh b/ci/deploy_ci.sh index bd5adcc7..dd8786af 100755 --- a/ci/deploy_ci.sh +++ b/ci/deploy_ci.sh @@ -18,12 +18,13 @@ case $DEPLOY_SCENARIO in echo "os-onos-sfc-ha scenario supports mitaka only" exit 1 ;; - k8-nosdn-nofeature-ha) - export COMPASS_OS_VERSION=centos7 - export KUBERNETES_VERSION="v1.7.3" - ;; esac +if [[ "$DEPLOY_SCENARIO" =~ "k8-" ]]; then + export KUBERNETES_VERSION="v1.7.3" +fi + + if [[ "$NODE_NAME" =~ "intel-pod17" ]]; then export USER_NAMESERVER=8.8.8.8 fi diff --git a/deploy/adapters/ansible/kubernetes/ansible-kubernetes.yml b/deploy/adapters/ansible/kubernetes/ansible-kubernetes.yml index 1eae8a97..68dec5c2 100755 --- a/deploy/adapters/ansible/kubernetes/ansible-kubernetes.yml +++ b/deploy/adapters/ansible/kubernetes/ansible-kubernetes.yml @@ -47,7 +47,8 @@ remote_user: root max_fail_percentage: 0 roles: - - storage + - role: storage + when: stor4nfv is defined and stor4nfv == "Enable" - hosts: storage_master remote_user: root diff --git a/deploy/adapters/ansible/kubernetes/roles/kargo/tasks/main.yml b/deploy/adapters/ansible/kubernetes/roles/kargo/tasks/main.yml index 187e2a52..6d947623 100644 --- a/deploy/adapters/ansible/kubernetes/roles/kargo/tasks/main.yml +++ b/deploy/adapters/ansible/kubernetes/roles/kargo/tasks/main.yml @@ -199,6 +199,24 @@ regexp: '"calico", "weave", "canal", "flannel"', replace: '"calico", "weave", "canal", "flannel", "2flannel"'} +# yamllint disable rule:line-length +- name: enable CSI plugin feature + lineinfile: + dest: "/opt/kargo_k8s/roles/kubespray-defaults/defaults/main.yaml" + regexp: "^kube_feature_gates:" + line: "{% raw %}kube_feature_gates: ['Initializers={{ istio_enabled|string }}', 'PersistentLocalVolumes={{ local_volumes_enabled|string }}', 'CSIPersistentVolume=True', 'MountPropagation=True']{% endraw %}" + when: + - stor4nfv is defined and stor4nfv == "Enable" +# yamllint enable rule:line-length + +- name: enable CSI plugin runtime_config + lineinfile: + dest: /opt/kargo_k8s/roles/kubernetes/master/defaults/main.yml + insertafter: '^ - admissionregistration.k8s.io/v1alpha1' + line: ' - storage.k8s.io/v1alpha1' + when: + - stor4nfv is defined and stor4nfv == "Enable" + - name: run kargo playbook shell: | cd /opt/kargo_k8s diff --git a/deploy/compass_conf/role/kubernetes_ansible.conf b/deploy/compass_conf/role/kubernetes_ansible.conf index f86902e3..3e79cbb9 100755 --- a/deploy/compass_conf/role/kubernetes_ansible.conf +++ b/deploy/compass_conf/role/kubernetes_ansible.conf @@ -18,10 +18,12 @@ ROLES = [{ }, { 'role': 'storage_master', 'display_name': 'storage master', - 'description': 'storage master' + 'description': 'storage master', + 'optional': True }, { 'role': 'storage_node', 'display_name': 'storage node', - 'description': 'storage node' + 'description': 'storage node', + 'optional': True } ] diff --git a/deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-stor4nfv-ha.yml b/deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-stor4nfv-ha.yml new file mode 100644 index 00000000..6cf62db7 --- /dev/null +++ b/deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-stor4nfv-ha.yml @@ -0,0 +1,74 @@ +############################################################################## +# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +TYPE: baremetal +FLAVOR: cluster +POWER_TOOL: ipmitool + +ipmiUser: root +ipmiVer: '2.0' + +plugins: + - stor4nfv: "Enable" + +hosts: + - name: host1 + mac: 'F8:4A:BF:55:A2:8D' + interfaces: + - eth1: 'F8:4A:BF:55:A2:8E' + ipmiIp: 172.16.130.26 + ipmiPass: Opnfv@pod1 + roles: + - kube_master + - etcd + - ha + + - name: host2 + mac: 'D8:49:0B:DA:5A:B7' + interfaces: + - eth1: 'D8:49:0B:DA:5A:B8' + ipmiIp: 172.16.130.27 + ipmiPass: Opnfv@pod1 + roles: + - kube_master + - etcd + - ha + + - name: host3 + mac: '78:D7:52:A0:B1:99' + interfaces: + - eth1: '78:D7:52:A0:B1:9A' + ipmiIp: 172.16.130.29 + ipmiPass: Opnfv@pod1 + roles: + - kube_master + - etcd + - ha + - storage_master + + - name: host4 + mac: 'D8:49:0B:DA:5B:5D' + interfaces: + - eth1: 'D8:49:0B:DA:5B:5E' + ipmiIp: 172.16.130.30 + ipmiPass: Opnfv@pod1 + roles: + - kube_node + - storage_node + + - name: host5 + mac: 'D8:49:0B:DA:56:85' + interfaces: + - eth1: 'D8:49:0B:DA:56:86' + ipmiIp: 172.16.130.31 + ipmiPass: Opnfv@pod1 + roles: + - kube_node + - storage_node diff --git a/deploy/conf/hardware_environment/huawei-pod2/k8-nosdn-nofeature-ha.yml b/deploy/conf/hardware_environment/huawei-pod2/k8-nosdn-nofeature-ha.yml new file mode 100644 index 00000000..a96a5259 --- /dev/null +++ b/deploy/conf/hardware_environment/huawei-pod2/k8-nosdn-nofeature-ha.yml @@ -0,0 +1,73 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- + +TYPE: baremetal +FLAVOR: cluster +POWER_TOOL: ipmitool + +ipmiVer: '2.0' + +hosts: + - name: host1 + mac: 'EC:38:8F:79:0C:2C' + ipmiUser: root + ipmiPass: Opnfv@pod2 + ipmiIp: 172.16.130.20 + interfaces: + - eth1: 'EC:38:8F:79:0C:2D' + roles: + - kube_master + - etcd + - ha + + - name: host2 + mac: 'EC:38:8F:79:0C:48' + ipmiIp: 172.16.130.19 + ipmiUser: root + ipmiPass: Opnfv@pod2 + interfaces: + - eth1: 'EC:38:8F:79:0C:49' + roles: + - kube_master + - etcd + - ha + + - name: host3 + mac: 'EC:38:8F:79:10:CC' + ipmiIp: 172.16.130.18 + ipmiUser: root + ipmiPass: Opnfv@pod2 + interfaces: + - eth1: 'EC:38:8F:79:10:CD' + roles: + - kube_master + - etcd + - ha + + - name: host4 + mac: 'EC:38:8F:79:0C:6C' + ipmiIp: 172.16.130.17 + ipmiUser: root + ipmiPass: Opnfv@pod2 + interfaces: + - eth1: 'EC:38:8F:79:0C:6D' + roles: + - kube_node + + - name: host5 + mac: 'EC:38:8F:7A:E6:ED' + ipmiIp: 172.16.130.16 + ipmiUser: root + ipmiPass: Opnfv@pod2 + interfaces: + - eth1: 'EC:38:8F:7A:E6:EE' + roles: + - kube_node diff --git a/deploy/conf/hardware_environment/huawei-pod2/k8-nosdn-stor4nfv-ha.yml b/deploy/conf/hardware_environment/huawei-pod2/k8-nosdn-stor4nfv-ha.yml new file mode 100644 index 00000000..4fbea1f0 --- /dev/null +++ b/deploy/conf/hardware_environment/huawei-pod2/k8-nosdn-stor4nfv-ha.yml @@ -0,0 +1,79 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- + +TYPE: baremetal +FLAVOR: cluster +POWER_TOOL: ipmitool + +ipmiVer: '2.0' + +plugins: + - stor4nfv: "Enable" + +hosts: + - name: host1 + mac: 'EC:38:8F:79:0C:2C' + ipmiUser: root + ipmiPass: Opnfv@pod2 + ipmiIp: 172.16.130.20 + interfaces: + - eth1: 'EC:38:8F:79:0C:2D' + roles: + - kube_master + - etcd + - ha + + - name: host2 + mac: 'EC:38:8F:79:0C:48' + ipmiIp: 172.16.130.19 + ipmiUser: root + ipmiPass: Opnfv@pod2 + interfaces: + - eth1: 'EC:38:8F:79:0C:49' + roles: + - kube_master + - etcd + - ha + + - name: host3 + mac: 'EC:38:8F:79:10:CC' + ipmiIp: 172.16.130.18 + ipmiUser: root + ipmiPass: Opnfv@pod2 + interfaces: + - eth1: 'EC:38:8F:79:10:CD' + roles: + - kube_master + - etcd + - ha + - storage_master + + - name: host4 + mac: 'EC:38:8F:79:0C:6C' + ipmiIp: 172.16.130.17 + ipmiUser: root + ipmiPass: Opnfv@pod2 + interfaces: + - eth1: 'EC:38:8F:79:0C:6D' + roles: + - kube_node + - storage_node + + - name: host5 + mac: 'EC:38:8F:7A:E6:ED' + ipmiIp: 172.16.130.16 + ipmiUser: root + ipmiPass: Opnfv@pod2 + interfaces: + - eth1: 'EC:38:8F:7A:E6:EE' + roles: + - kube_node + - storage_node diff --git a/deploy/conf/hardware_environment/intel-pod17/k8-nosdn-nofeature-ha.yml b/deploy/conf/hardware_environment/intel-pod17/k8-nosdn-nofeature-ha.yml index 7cc2c215..660f5e2e 100644 --- a/deploy/conf/hardware_environment/intel-pod17/k8-nosdn-nofeature-ha.yml +++ b/deploy/conf/hardware_environment/intel-pod17/k8-nosdn-nofeature-ha.yml @@ -27,6 +27,7 @@ hosts: roles: - kube_master - etcd + - ha - name: host2 mac: 'A4:BF:01:14:01:13' @@ -39,6 +40,7 @@ hosts: roles: - kube_master - etcd + - ha - name: host3 mac: 'A4:BF:01:14:71:1E' @@ -51,6 +53,7 @@ hosts: roles: - kube_master - etcd + - ha - name: host4 mac: 'A4:BF:01:16:2F:17' diff --git a/plugins/barometer/roles/collectd/tasks/collectd.yml b/plugins/barometer/roles/collectd/tasks/collectd.yml index 4167e71b..0f6a6266 100644 --- a/plugins/barometer/roles/collectd/tasks/collectd.yml +++ b/plugins/barometer/roles/collectd/tasks/collectd.yml @@ -143,6 +143,17 @@ dest: /root/collectd_sample_configs/virt.conf when: libvirt_result|succeeded +- name: configure virt conf extra stats when rdt is present + remote_user: root + shell: | + sed -i '/ExtraStats/s/^#//g' /root/collectd_sample_configs/virt.conf + when: rdt_result|failed and libvirt_result|succeeded + +- name: configure rrdtool conf + template: + src: rrdtool.conf.j2 + dest: /root/collectd_sample_configs/rrdtool.conf + - name: configure intel_pmu conf remote_user: root template: diff --git a/plugins/barometer/roles/collectd/templates/default_plugins.conf.j2 b/plugins/barometer/roles/collectd/templates/default_plugins.conf.j2 index bd1850e6..a4d632a6 100644 --- a/plugins/barometer/roles/collectd/templates/default_plugins.conf.j2 +++ b/plugins/barometer/roles/collectd/templates/default_plugins.conf.j2 @@ -11,21 +11,21 @@ # 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. -#Hostname "" +Hostname "{{ inventory_hostname }}" LoadPlugin cpufreq LoadPlugin disk -#LoadPlugin ethstat -#LoadPlugin ipc -#LoadPlugin ipmi +LoadPlugin ethstat +LoadPlugin ipc +LoadPlugin ipmi LoadPlugin load LoadPlugin memory LoadPlugin numa LoadPlugin processes -#LoadPlugin df -#LoadPlugin turbostat -#LoadPlugin uptime -#LoadPlugin contextswitch +LoadPlugin df +LoadPlugin turbostat +LoadPlugin uptime +LoadPlugin contextswitch LoadPlugin irq LoadPlugin swap diff --git a/plugins/barometer/roles/collectd/templates/rrdtool.conf.j2 b/plugins/barometer/roles/collectd/templates/rrdtool.conf.j2 new file mode 100644 index 00000000..50bd6603 --- /dev/null +++ b/plugins/barometer/roles/collectd/templates/rrdtool.conf.j2 @@ -0,0 +1,21 @@ +# Copyright 2017-18 OPNFV +# +# 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. +Loadplugin rrdtool + +<Plugin rrdtool> + DataDir "/tmp/collectd/rrd" + CacheFlush 120 + WritesPerSecond 50 +</Plugin> + diff --git a/plugins/barometer/roles/collectd/templates/virt.conf.j2 b/plugins/barometer/roles/collectd/templates/virt.conf.j2 index 8048bc13..c6161237 100644 --- a/plugins/barometer/roles/collectd/templates/virt.conf.j2 +++ b/plugins/barometer/roles/collectd/templates/virt.conf.j2 @@ -27,6 +27,6 @@ LoadPlugin virt # InterfaceFormat name # PluginInstanceFormat name # Instances 1 - ExtraStats "cpu_util disk disk_err domain_state fs_info job_stats_background pcpu perf vcpupin" +# ExtraStats "cpu_util disk disk_err domain_state fs_info job_stats_background pcpu perf vcpupin" </Plugin> |