diff options
author | Gary Wu <gary.i.wu@huawei.com> | 2018-11-08 07:34:49 -0800 |
---|---|---|
committer | Gary Wu <gary.i.wu@huawei.com> | 2018-11-08 16:39:52 -0800 |
commit | 48a3294079b0fee0ad9d33f7c7262f6c87255947 (patch) | |
tree | 73e15375e0d9487f1344dc6e0c7030ebf08e2a80 /deployment/heat/onap-oom | |
parent | 8b764b35919133a5c92640dedc588539bda1124d (diff) |
Alleviate startup disk contention issues
Add tuneable parameters in the heat template to
try to alleviate startup disk contention issues.
Also turn off use of RAM disk by default, reduce
size of Rancher VM, and use the RAM saved for an
extra k8s compute VM.
Change-Id: Ic638f33479338ebb9339b249ced9d6fa684935fa
Issue-ID: INT-586
Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
Diffstat (limited to 'deployment/heat/onap-oom')
-rw-r--r-- | deployment/heat/onap-oom/env/tlab/onap-oom.env | 6 | ||||
-rw-r--r-- | deployment/heat/onap-oom/env/windriver/onap-oom-light.env | 2 | ||||
-rw-r--r-- | deployment/heat/onap-oom/env/windriver/onap-oom.env | 4 | ||||
-rw-r--r-- | deployment/heat/onap-oom/k8s_vm_entrypoint.sh | 3 | ||||
-rw-r--r-- | deployment/heat/onap-oom/onap-oom.yaml | 254 | ||||
-rw-r--r-- | deployment/heat/onap-oom/parts/onap-oom-1.yaml | 9 | ||||
-rw-r--r-- | deployment/heat/onap-oom/rancher_vm_entrypoint.sh | 30 | ||||
-rwxr-xr-x | deployment/heat/onap-oom/scripts/deploy.sh | 2 | ||||
-rwxr-xr-x | deployment/heat/onap-oom/scripts/gen-onap-oom-yaml.sh | 12 |
9 files changed, 203 insertions, 119 deletions
diff --git a/deployment/heat/onap-oom/env/tlab/onap-oom.env b/deployment/heat/onap-oom/env/tlab/onap-oom.env index e5b6d6258..d41d462a8 100644 --- a/deployment/heat/onap-oom/env/tlab/onap-oom.env +++ b/deployment/heat/onap-oom/env/tlab/onap-oom.env @@ -5,8 +5,8 @@ parameters: apt_proxy: 192.168.31.204:8000 docker_proxy: 192.168.31.204:5000 - rancher_vm_flavor: m5.xlarge - k8s_vm_flavor: m4.xlarge + rancher_vm_flavor: m1.xlarge + k8s_vm_flavor: m1.xlarge etcd_vm_flavor: m1.large orch_vm_flavor: m1.xlarge @@ -32,7 +32,7 @@ parameters: openStackPrivateSubnetId: "__oam_subnet_id__" openStackPrivateNetCidr: "__oam_network_cidr__" openStackOamNetworkCidrPrefix: "10.0" - dcaeCollectorIp: "__k8s_1_vm_ip__" + dcaeCollectorIp: "__k8s_01_vm_ip__" vnfPubKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh" demoArtifactsVersion: "1.3.0-SNAPSHOT" scriptVersion: "1.3.0-SNAPSHOT" diff --git a/deployment/heat/onap-oom/env/windriver/onap-oom-light.env b/deployment/heat/onap-oom/env/windriver/onap-oom-light.env index c512c5111..4ded3dff4 100644 --- a/deployment/heat/onap-oom/env/windriver/onap-oom-light.env +++ b/deployment/heat/onap-oom/env/windriver/onap-oom-light.env @@ -28,7 +28,7 @@ parameters: openStackPrivateSubnetId: "__oam_subnet_id__" openStackPrivateNetCidr: "__oam_network_cidr__" openStackOamNetworkCidrPrefix: "10.0" - dcaeCollectorIp: "__k8s_1_vm_ip__" + dcaeCollectorIp: "__k8s_01_vm_ip__" vnfPubKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh" demoArtifactsVersion: "1.2.2" scriptVersion: "1.2.1" diff --git a/deployment/heat/onap-oom/env/windriver/onap-oom.env b/deployment/heat/onap-oom/env/windriver/onap-oom.env index 2ddda328c..5ffbd8c06 100644 --- a/deployment/heat/onap-oom/env/windriver/onap-oom.env +++ b/deployment/heat/onap-oom/env/windriver/onap-oom.env @@ -5,7 +5,7 @@ parameters: apt_proxy: 10.12.5.2:8000 docker_proxy: 10.12.5.2:5000 - rancher_vm_flavor: m2.xlarge + rancher_vm_flavor: m1.xlarge k8s_vm_flavor: m1.xlarge etcd_vm_flavor: m1.large orch_vm_flavor: m1.xlarge @@ -33,7 +33,7 @@ parameters: openStackPrivateNetCidr: "__oam_network_cidr__" openStackSecurityGroup: "__sec_group__" openStackOamNetworkCidrPrefix: "10.0" - dcaeCollectorIp: "__k8s_1_vm_ip__" + dcaeCollectorIp: "__k8s_01_vm_ip__" vnfPubKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh" demoArtifactsVersion: "1.3.0-SNAPSHOT" scriptVersion: "1.3.0-SNAPSHOT" diff --git a/deployment/heat/onap-oom/k8s_vm_entrypoint.sh b/deployment/heat/onap-oom/k8s_vm_entrypoint.sh index e93622cb3..62340c11c 100644 --- a/deployment/heat/onap-oom/k8s_vm_entrypoint.sh +++ b/deployment/heat/onap-oom/k8s_vm_entrypoint.sh @@ -34,6 +34,9 @@ Acquire::https::Proxy "DIRECT"; EOF fi +# tune ext4 for performance +sed -i 's/defaults/defaults,noatime,commit=60,barrier=0/' /etc/fstab + mkdir -p /dockerdata-nfs echo "__rancher_private_ip_addr__:/dockerdata-nfs /dockerdata-nfs nfs noauto,noatime,fg,retry=1,x-systemd.automount,_netdev,soft,nolock,intr,tcp,actimeo=1800 0 0" | tee -a /etc/fstab diff --git a/deployment/heat/onap-oom/onap-oom.yaml b/deployment/heat/onap-oom/onap-oom.yaml index dc06512bb..930032203 100644 --- a/deployment/heat/onap-oom/onap-oom.yaml +++ b/deployment/heat/onap-oom/onap-oom.yaml @@ -87,6 +87,15 @@ parameters: type: string default: "2.9.1" + helm_deploy_delay: + type: string + default: "2m" + + use_ramdisk: + type: string + description: Set to "true" if you want to use a RAM disk for /dockerdata-nfs/. + default: "false" + resources: random-str: type: OS::Heat::RandomString @@ -202,37 +211,41 @@ resources: __rancher_agent_version__: { get_param: rancher_agent_version } __kubectl_version__: { get_param: kubectl_version } __helm_version__: { get_param: helm_version } + __helm_deploy_delay__: { get_param: helm_deploy_delay } + __use_ramdisk__: { get_param: use_ramdisk } __public_net_id__: { get_param: public_net_id } __oam_network_cidr__: { get_param: oam_network_cidr } __oam_network_id__: { get_resource: oam_network } __oam_subnet_id__: { get_resource: oam_subnet } __sec_group__: { get_resource: onap_sg } - __k8s_1_vm_ip__: { get_attr: [k8s_1_floating_ip, floating_ip_address] } + __k8s_01_vm_ip__: { get_attr: [k8s_01_floating_ip, floating_ip_address] } __k8s_vm_ips__: [ - get_attr: [k8s_1_floating_ip, floating_ip_address], - get_attr: [k8s_2_floating_ip, floating_ip_address], - get_attr: [k8s_3_floating_ip, floating_ip_address], - get_attr: [k8s_4_floating_ip, floating_ip_address], - get_attr: [k8s_5_floating_ip, floating_ip_address], - get_attr: [k8s_6_floating_ip, floating_ip_address], - get_attr: [k8s_7_floating_ip, floating_ip_address], - get_attr: [k8s_8_floating_ip, floating_ip_address], - get_attr: [k8s_9_floating_ip, floating_ip_address], + get_attr: [k8s_01_floating_ip, floating_ip_address], + get_attr: [k8s_02_floating_ip, floating_ip_address], + get_attr: [k8s_03_floating_ip, floating_ip_address], + get_attr: [k8s_04_floating_ip, floating_ip_address], + get_attr: [k8s_05_floating_ip, floating_ip_address], + get_attr: [k8s_06_floating_ip, floating_ip_address], + get_attr: [k8s_07_floating_ip, floating_ip_address], + get_attr: [k8s_08_floating_ip, floating_ip_address], + get_attr: [k8s_09_floating_ip, floating_ip_address], get_attr: [k8s_10_floating_ip, floating_ip_address], + get_attr: [k8s_11_floating_ip, floating_ip_address], ] __k8s_private_ips__: [ - get_attr: [k8s_1_floating_ip, fixed_ip_address], - get_attr: [k8s_2_floating_ip, fixed_ip_address], - get_attr: [k8s_3_floating_ip, fixed_ip_address], - get_attr: [k8s_4_floating_ip, fixed_ip_address], - get_attr: [k8s_5_floating_ip, fixed_ip_address], - get_attr: [k8s_6_floating_ip, fixed_ip_address], - get_attr: [k8s_7_floating_ip, fixed_ip_address], - get_attr: [k8s_8_floating_ip, fixed_ip_address], - get_attr: [k8s_9_floating_ip, fixed_ip_address], + get_attr: [k8s_01_floating_ip, fixed_ip_address], + get_attr: [k8s_02_floating_ip, fixed_ip_address], + get_attr: [k8s_03_floating_ip, fixed_ip_address], + get_attr: [k8s_04_floating_ip, fixed_ip_address], + get_attr: [k8s_05_floating_ip, fixed_ip_address], + get_attr: [k8s_06_floating_ip, fixed_ip_address], + get_attr: [k8s_07_floating_ip, fixed_ip_address], + get_attr: [k8s_08_floating_ip, fixed_ip_address], + get_attr: [k8s_09_floating_ip, fixed_ip_address], get_attr: [k8s_10_floating_ip, fixed_ip_address], + get_attr: [k8s_11_floating_ip, fixed_ip_address], ] - k8s_1_private_port: + k8s_01_private_port: type: OS::Neutron::Port properties: network: { get_resource: oam_network } @@ -240,22 +253,22 @@ resources: security_groups: - { get_resource: onap_sg } - k8s_1_floating_ip: + k8s_01_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network_id: { get_param: public_net_id } - port_id: { get_resource: k8s_1_private_port } + port_id: { get_resource: k8s_01_private_port } - k8s_1_vm: + k8s_01_vm: type: OS::Nova::Server properties: name: - list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '1' ] ] + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '01' ] ] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } networks: - - port: { get_resource: k8s_1_private_port } + - port: { get_resource: k8s_01_private_port } user_data_format: RAW user_data: str_replace: @@ -269,7 +282,7 @@ resources: template: get_file: k8s_vm_entrypoint.sh - k8s_2_private_port: + k8s_02_private_port: type: OS::Neutron::Port properties: network: { get_resource: oam_network } @@ -277,22 +290,22 @@ resources: security_groups: - { get_resource: onap_sg } - k8s_2_floating_ip: + k8s_02_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network_id: { get_param: public_net_id } - port_id: { get_resource: k8s_2_private_port } + port_id: { get_resource: k8s_02_private_port } - k8s_2_vm: + k8s_02_vm: type: OS::Nova::Server properties: name: - list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '2' ] ] + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '02' ] ] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } networks: - - port: { get_resource: k8s_2_private_port } + - port: { get_resource: k8s_02_private_port } user_data_format: RAW user_data: str_replace: @@ -306,7 +319,7 @@ resources: template: get_file: k8s_vm_entrypoint.sh - k8s_3_private_port: + k8s_03_private_port: type: OS::Neutron::Port properties: network: { get_resource: oam_network } @@ -314,22 +327,22 @@ resources: security_groups: - { get_resource: onap_sg } - k8s_3_floating_ip: + k8s_03_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network_id: { get_param: public_net_id } - port_id: { get_resource: k8s_3_private_port } + port_id: { get_resource: k8s_03_private_port } - k8s_3_vm: + k8s_03_vm: type: OS::Nova::Server properties: name: - list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '3' ] ] + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '03' ] ] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } networks: - - port: { get_resource: k8s_3_private_port } + - port: { get_resource: k8s_03_private_port } user_data_format: RAW user_data: str_replace: @@ -343,7 +356,7 @@ resources: template: get_file: k8s_vm_entrypoint.sh - k8s_4_private_port: + k8s_04_private_port: type: OS::Neutron::Port properties: network: { get_resource: oam_network } @@ -351,22 +364,22 @@ resources: security_groups: - { get_resource: onap_sg } - k8s_4_floating_ip: + k8s_04_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network_id: { get_param: public_net_id } - port_id: { get_resource: k8s_4_private_port } + port_id: { get_resource: k8s_04_private_port } - k8s_4_vm: + k8s_04_vm: type: OS::Nova::Server properties: name: - list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '4' ] ] + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '04' ] ] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } networks: - - port: { get_resource: k8s_4_private_port } + - port: { get_resource: k8s_04_private_port } user_data_format: RAW user_data: str_replace: @@ -380,7 +393,7 @@ resources: template: get_file: k8s_vm_entrypoint.sh - k8s_5_private_port: + k8s_05_private_port: type: OS::Neutron::Port properties: network: { get_resource: oam_network } @@ -388,22 +401,22 @@ resources: security_groups: - { get_resource: onap_sg } - k8s_5_floating_ip: + k8s_05_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network_id: { get_param: public_net_id } - port_id: { get_resource: k8s_5_private_port } + port_id: { get_resource: k8s_05_private_port } - k8s_5_vm: + k8s_05_vm: type: OS::Nova::Server properties: name: - list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '5' ] ] + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '05' ] ] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } networks: - - port: { get_resource: k8s_5_private_port } + - port: { get_resource: k8s_05_private_port } user_data_format: RAW user_data: str_replace: @@ -417,7 +430,7 @@ resources: template: get_file: k8s_vm_entrypoint.sh - k8s_6_private_port: + k8s_06_private_port: type: OS::Neutron::Port properties: network: { get_resource: oam_network } @@ -425,22 +438,22 @@ resources: security_groups: - { get_resource: onap_sg } - k8s_6_floating_ip: + k8s_06_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network_id: { get_param: public_net_id } - port_id: { get_resource: k8s_6_private_port } + port_id: { get_resource: k8s_06_private_port } - k8s_6_vm: + k8s_06_vm: type: OS::Nova::Server properties: name: - list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '6' ] ] + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '06' ] ] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } networks: - - port: { get_resource: k8s_6_private_port } + - port: { get_resource: k8s_06_private_port } user_data_format: RAW user_data: str_replace: @@ -454,7 +467,7 @@ resources: template: get_file: k8s_vm_entrypoint.sh - k8s_7_private_port: + k8s_07_private_port: type: OS::Neutron::Port properties: network: { get_resource: oam_network } @@ -462,22 +475,22 @@ resources: security_groups: - { get_resource: onap_sg } - k8s_7_floating_ip: + k8s_07_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network_id: { get_param: public_net_id } - port_id: { get_resource: k8s_7_private_port } + port_id: { get_resource: k8s_07_private_port } - k8s_7_vm: + k8s_07_vm: type: OS::Nova::Server properties: name: - list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '7' ] ] + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '07' ] ] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } networks: - - port: { get_resource: k8s_7_private_port } + - port: { get_resource: k8s_07_private_port } user_data_format: RAW user_data: str_replace: @@ -491,7 +504,7 @@ resources: template: get_file: k8s_vm_entrypoint.sh - k8s_8_private_port: + k8s_08_private_port: type: OS::Neutron::Port properties: network: { get_resource: oam_network } @@ -499,22 +512,22 @@ resources: security_groups: - { get_resource: onap_sg } - k8s_8_floating_ip: + k8s_08_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network_id: { get_param: public_net_id } - port_id: { get_resource: k8s_8_private_port } + port_id: { get_resource: k8s_08_private_port } - k8s_8_vm: + k8s_08_vm: type: OS::Nova::Server properties: name: - list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '8' ] ] + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '08' ] ] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } networks: - - port: { get_resource: k8s_8_private_port } + - port: { get_resource: k8s_08_private_port } user_data_format: RAW user_data: str_replace: @@ -528,7 +541,7 @@ resources: template: get_file: k8s_vm_entrypoint.sh - k8s_9_private_port: + k8s_09_private_port: type: OS::Neutron::Port properties: network: { get_resource: oam_network } @@ -536,22 +549,22 @@ resources: security_groups: - { get_resource: onap_sg } - k8s_9_floating_ip: + k8s_09_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network_id: { get_param: public_net_id } - port_id: { get_resource: k8s_9_private_port } + port_id: { get_resource: k8s_09_private_port } - k8s_9_vm: + k8s_09_vm: type: OS::Nova::Server properties: name: - list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '9' ] ] + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '09' ] ] image: { get_param: ubuntu_1604_image } flavor: { get_param: k8s_vm_flavor } key_name: { get_param: key_name } networks: - - port: { get_resource: k8s_9_private_port } + - port: { get_resource: k8s_09_private_port } user_data_format: RAW user_data: str_replace: @@ -602,6 +615,43 @@ resources: template: get_file: k8s_vm_entrypoint.sh + k8s_11_private_port: + type: OS::Neutron::Port + properties: + network: { get_resource: oam_network } + fixed_ips: [{"subnet": { get_resource: oam_subnet }}] + security_groups: + - { get_resource: onap_sg } + + k8s_11_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: { get_param: public_net_id } + port_id: { get_resource: k8s_11_private_port } + + k8s_11_vm: + type: OS::Nova::Server + properties: + name: + list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '11' ] ] + image: { get_param: ubuntu_1604_image } + flavor: { get_param: k8s_vm_flavor } + key_name: { get_param: key_name } + networks: + - port: { get_resource: k8s_11_private_port } + user_data_format: RAW + user_data: + str_replace: + params: + __docker_proxy__: { get_param: docker_proxy } + __apt_proxy__: { get_param: apt_proxy } + __docker_version__: { get_param: docker_version } + __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] } + __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] } + __host_label__: 'compute' + template: + get_file: k8s_vm_entrypoint.sh + etcd_1_private_port: type: OS::Neutron::Port properties: @@ -755,43 +805,47 @@ outputs: description: The IP address of the rancher instance value: { get_attr: [rancher_floating_ip, floating_ip_address] } - k8s_1_vm_ip: - description: The IP address of the k8s_1 instance - value: { get_attr: [k8s_1_floating_ip, floating_ip_address] } + k8s_01_vm_ip: + description: The IP address of the k8s_01 instance + value: { get_attr: [k8s_01_floating_ip, floating_ip_address] } - k8s_2_vm_ip: - description: The IP address of the k8s_2 instance - value: { get_attr: [k8s_2_floating_ip, floating_ip_address] } + k8s_02_vm_ip: + description: The IP address of the k8s_02 instance + value: { get_attr: [k8s_02_floating_ip, floating_ip_address] } - k8s_3_vm_ip: - description: The IP address of the k8s_3 instance - value: { get_attr: [k8s_3_floating_ip, floating_ip_address] } + k8s_03_vm_ip: + description: The IP address of the k8s_03 instance + value: { get_attr: [k8s_03_floating_ip, floating_ip_address] } - k8s_4_vm_ip: - description: The IP address of the k8s_4 instance - value: { get_attr: [k8s_4_floating_ip, floating_ip_address] } + k8s_04_vm_ip: + description: The IP address of the k8s_04 instance + value: { get_attr: [k8s_04_floating_ip, floating_ip_address] } - k8s_5_vm_ip: - description: The IP address of the k8s_5 instance - value: { get_attr: [k8s_5_floating_ip, floating_ip_address] } + k8s_05_vm_ip: + description: The IP address of the k8s_05 instance + value: { get_attr: [k8s_05_floating_ip, floating_ip_address] } - k8s_6_vm_ip: - description: The IP address of the k8s_6 instance - value: { get_attr: [k8s_6_floating_ip, floating_ip_address] } + k8s_06_vm_ip: + description: The IP address of the k8s_06 instance + value: { get_attr: [k8s_06_floating_ip, floating_ip_address] } - k8s_7_vm_ip: - description: The IP address of the k8s_7 instance - value: { get_attr: [k8s_7_floating_ip, floating_ip_address] } + k8s_07_vm_ip: + description: The IP address of the k8s_07 instance + value: { get_attr: [k8s_07_floating_ip, floating_ip_address] } - k8s_8_vm_ip: - description: The IP address of the k8s_8 instance - value: { get_attr: [k8s_8_floating_ip, floating_ip_address] } + k8s_08_vm_ip: + description: The IP address of the k8s_08 instance + value: { get_attr: [k8s_08_floating_ip, floating_ip_address] } - k8s_9_vm_ip: - description: The IP address of the k8s_9 instance - value: { get_attr: [k8s_9_floating_ip, floating_ip_address] } + k8s_09_vm_ip: + description: The IP address of the k8s_09 instance + value: { get_attr: [k8s_09_floating_ip, floating_ip_address] } k8s_10_vm_ip: description: The IP address of the k8s_10 instance value: { get_attr: [k8s_10_floating_ip, floating_ip_address] } + k8s_11_vm_ip: + description: The IP address of the k8s_11 instance + value: { get_attr: [k8s_11_floating_ip, floating_ip_address] } + diff --git a/deployment/heat/onap-oom/parts/onap-oom-1.yaml b/deployment/heat/onap-oom/parts/onap-oom-1.yaml index 3c34f7544..a96c9a373 100644 --- a/deployment/heat/onap-oom/parts/onap-oom-1.yaml +++ b/deployment/heat/onap-oom/parts/onap-oom-1.yaml @@ -84,6 +84,15 @@ parameters: type: string default: "2.9.1" + helm_deploy_delay: + type: string + default: "2m" + + use_ramdisk: + type: string + description: Set to "true" if you want to use a RAM disk for /dockerdata-nfs/. + default: "false" + resources: random-str: type: OS::Heat::RandomString diff --git a/deployment/heat/onap-oom/rancher_vm_entrypoint.sh b/deployment/heat/onap-oom/rancher_vm_entrypoint.sh index aadc81628..aced5dfc6 100644 --- a/deployment/heat/onap-oom/rancher_vm_entrypoint.sh +++ b/deployment/heat/onap-oom/rancher_vm_entrypoint.sh @@ -34,6 +34,7 @@ echo "__rancher_version__" > /opt/config/rancher_version.txt echo "__rancher_agent_version__" > /opt/config/rancher_agent_version.txt echo "__kubectl_version__" > /opt/config/kubectl_version.txt echo "__helm_version__" > /opt/config/helm_version.txt +echo "__helm_deploy_delay__" > /opt/config/helm_deploy_delay.txt cat <<EOF > /opt/config/integration-override.yaml __integration_override_yaml__ @@ -44,7 +45,7 @@ sed -i 's/\_\_oam_network_id__/__oam_network_id__/g' /opt/config/integration-ove sed -i 's/\_\_oam_subnet_id__/__oam_subnet_id__/g' /opt/config/integration-override.yaml sed -i 's/\_\_sec_group__/__sec_group__/g' /opt/config/integration-override.yaml sed -i 's/\_\_rancher_ip_addr__/__rancher_ip_addr__/g' /opt/config/integration-override.yaml -sed -i 's/\_\_k8s_1_vm_ip__/__k8s_1_vm_ip__/g' /opt/config/integration-override.yaml +sed -i 's/\_\_k8s_01_vm_ip__/__k8s_01_vm_ip__/g' /opt/config/integration-override.yaml sed -i 's/\_\_docker_proxy__/__docker_proxy__/g' /opt/config/integration-override.yaml cp /opt/config/integration-override.yaml /root cat /root/integration-override.yaml @@ -74,11 +75,13 @@ while ! hash jq &> /dev/null; do sleep 10 done -# use RAM disk for /dockerdata-nfs for testing -echo "tmpfs /dockerdata-nfs tmpfs noatime,size=75% 1 2" >> /etc/fstab -mkdir -pv /dockerdata-nfs -mount /dockerdata-nfs +mkdir -p /dockerdata-nfs +# use RAM disk for /dockerdata-nfs for testing +if [ "__use_ramdisk__" = "true" ]; then + echo "tmpfs /dockerdata-nfs tmpfs noatime,size=75% 1 2" >> /etc/fstab + mount /dockerdata-nfs +fi # version control the persistence volume to see what's happening chmod 777 /dockerdata-nfs/ chown nobody:nogroup /dockerdata-nfs/ @@ -272,6 +275,7 @@ cd integration git fetch https://gerrit.onap.org/r/integration __integration_gerrit_refspec__ git checkout FETCH_HEAD + if [ ! -z "__docker_manifest__" ]; then cd version-manifest/src/main/scripts ./update-oom-image-versions.sh ../resources/__docker_manifest__ ~/oom/ @@ -292,12 +296,24 @@ sleep 10 helm repo add local http://127.0.0.1:8879 helm repo list make all -rsync -avt ~/oom/kubernetes/helm/plugins ~/.helm/ helm search -l | grep local -helm deploy dev local/onap -f ~/oom/kubernetes/onap/resources/environments/public-cloud.yaml -f ~/integration-override.yaml --namespace $NAMESPACE + +# install helm deploy plugin +rsync -avt ~/oom/kubernetes/helm/plugins ~/.helm/ +# temporary workaround to throttle the helm deploy to alleviate startup disk contention issues +if [ ! -z "__helm_deploy_delay__" ]; then + sed -i "/\^enabled:/a\ echo sleep __helm_deploy_delay__\n sleep __helm_deploy_delay__" ~/.helm/plugins/deploy/deploy.sh +fi + +helm deploy dev local/onap -f ~/oom/kubernetes/onap/resources/environments/public-cloud.yaml -f ~/integration-override.yaml --namespace $NAMESPACE --verbose + +# re-install original helm deploy plugin +rsync -avt ~/oom/kubernetes/helm/plugins ~/.helm/ + helm list + # Check ONAP status: sleep 10 kubectl get pods --all-namespaces diff --git a/deployment/heat/onap-oom/scripts/deploy.sh b/deployment/heat/onap-oom/scripts/deploy.sh index c3a73c763..4387bbec0 100755 --- a/deployment/heat/onap-oom/scripts/deploy.sh +++ b/deployment/heat/onap-oom/scripts/deploy.sh @@ -137,7 +137,7 @@ for n in $(seq 1 5); do for i in $(seq 1 30); do sleep 30 RANCHER_IP=$(openstack stack output show $stack_name rancher_vm_ip -c output_value -f value) - K8S_IP=$(openstack stack output show $stack_name k8s_1_vm_ip -c output_value -f value) + K8S_IP=$(openstack stack output show $stack_name k8s_01_vm_ip -c output_value -f value) timeout 1 ping -c 1 "$RANCHER_IP" && break done diff --git a/deployment/heat/onap-oom/scripts/gen-onap-oom-yaml.sh b/deployment/heat/onap-oom/scripts/gen-onap-oom-yaml.sh index 570011128..1167496c5 100755 --- a/deployment/heat/onap-oom/scripts/gen-onap-oom-yaml.sh +++ b/deployment/heat/onap-oom/scripts/gen-onap-oom-yaml.sh @@ -61,16 +61,18 @@ cat <<EOF __rancher_agent_version__: { get_param: rancher_agent_version } __kubectl_version__: { get_param: kubectl_version } __helm_version__: { get_param: helm_version } + __helm_deploy_delay__: { get_param: helm_deploy_delay } + __use_ramdisk__: { get_param: use_ramdisk } __public_net_id__: { get_param: public_net_id } __oam_network_cidr__: { get_param: oam_network_cidr } __oam_network_id__: { get_resource: oam_network } __oam_subnet_id__: { get_resource: oam_subnet } __sec_group__: { get_resource: onap_sg } - __k8s_1_vm_ip__: { get_attr: [k8s_1_floating_ip, floating_ip_address] } + __k8s_01_vm_ip__: { get_attr: [k8s_01_floating_ip, floating_ip_address] } __k8s_vm_ips__: [ EOF -for VM_NUM in $(seq $NUM_K8S_VMS); do +for VM_NUM in $(seq -f %02g $NUM_K8S_VMS); do K8S_VM_NAME=k8s_$VM_NUM cat <<EOF get_attr: [${K8S_VM_NAME}_floating_ip, floating_ip_address], @@ -82,7 +84,7 @@ cat <<EOF __k8s_private_ips__: [ EOF -for VM_NUM in $(seq $NUM_K8S_VMS); do +for VM_NUM in $(seq -f %02g $NUM_K8S_VMS); do K8S_VM_NAME=k8s_$VM_NUM cat <<EOF get_attr: [${K8S_VM_NAME}_floating_ip, fixed_ip_address], @@ -93,7 +95,7 @@ cat <<EOF ] EOF -for VM_NUM in $(seq $NUM_K8S_VMS); do +for VM_NUM in $(seq -f %02g $NUM_K8S_VMS); do VM_TYPE=k8s HOST_LABEL=compute VM_NUM=$VM_NUM envsubst < $PARTS_DIR/onap-oom-2.yaml done @@ -108,7 +110,7 @@ done cat $PARTS_DIR/onap-oom-3.yaml -for VM_NUM in $(seq $NUM_K8S_VMS); do +for VM_NUM in $(seq -f %02g $NUM_K8S_VMS); do K8S_VM_NAME=k8s_$VM_NUM cat <<EOF ${K8S_VM_NAME}_vm_ip: |