From a6daf4ece3f05600ad66fea55c5220d07a71cef1 Mon Sep 17 00:00:00 2001 From: Michael Polenchuk Date: Wed, 24 May 2017 12:44:05 +0400 Subject: [mcp] Bring in reclass system salt models Change-Id: I1a865b7524f3a5242544e60e6b36b1092721c58b Signed-off-by: Michael Polenchuk --- .../classes/system/nova/compute/cluster.yml | 95 ++++++++++++++++++++++ .../system/nova/compute/nfv/cpu_pinning.yml | 8 ++ .../classes/system/nova/compute/nfv/hugepages.yml | 18 ++++ .../classes/system/nova/compute/nfv/sriov.yml | 21 +++++ .../nova/compute/notification/messagingv2.yml | 8 ++ mcp/reclass/classes/system/nova/compute/single.yml | 91 +++++++++++++++++++++ .../classes/system/nova/compute/storage/ceph.yml | 10 +++ .../classes/system/nova/control/cluster.yml | 75 +++++++++++++++++ .../system/nova/control/notification/cadf.yml | 5 ++ .../nova/control/notification/messagingv2.yml | 6 ++ mcp/reclass/classes/system/nova/control/single.yml | 7 ++ 11 files changed, 344 insertions(+) create mode 100644 mcp/reclass/classes/system/nova/compute/cluster.yml create mode 100644 mcp/reclass/classes/system/nova/compute/nfv/cpu_pinning.yml create mode 100644 mcp/reclass/classes/system/nova/compute/nfv/hugepages.yml create mode 100644 mcp/reclass/classes/system/nova/compute/nfv/sriov.yml create mode 100644 mcp/reclass/classes/system/nova/compute/notification/messagingv2.yml create mode 100644 mcp/reclass/classes/system/nova/compute/single.yml create mode 100644 mcp/reclass/classes/system/nova/compute/storage/ceph.yml create mode 100644 mcp/reclass/classes/system/nova/control/cluster.yml create mode 100644 mcp/reclass/classes/system/nova/control/notification/cadf.yml create mode 100644 mcp/reclass/classes/system/nova/control/notification/messagingv2.yml create mode 100644 mcp/reclass/classes/system/nova/control/single.yml (limited to 'mcp/reclass/classes/system/nova') diff --git a/mcp/reclass/classes/system/nova/compute/cluster.yml b/mcp/reclass/classes/system/nova/compute/cluster.yml new file mode 100644 index 000000000..4d07a3e9d --- /dev/null +++ b/mcp/reclass/classes/system/nova/compute/cluster.yml @@ -0,0 +1,95 @@ +classes: +- service.nova.compute.kvm +parameters: + _param: + nova_vncproxy_url: https://${_param:cluster_public_host}:6080 + nova_compute_virtualization: kvm + nova_compute_avail_zone: + nova_aggregates: [] + nova_compute_ssh_public: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCltIn93BcTMzNK/n2eBze6PyTkmIgdDkeXNR9X4DqE48Va80ojv2pq8xuaBxiNITJzyl+4p4UvTTXo+HmuX8qbHvqgMGXvuPUCpndEfb2r67f6vpMqPwMgBrUg2ZKgN4OsSDHU+H0dia0cEaTjz5pvbUy9lIsSyhrqOUVF9reJq+boAvVEedm8fUqiZuiejAw2D27+rRtdEPgsKMnh3626YEsr963q4rjU/JssV/iKMNu7mk2a+koOrJ+aHvcVU8zJjfA0YghoeVT/I3GLU/MB/4tD/RyR8GM+UYbI4sgAC7ZOCdQyHdJgnEzx3SJIwcS65U0T2XYvn2qXHXqJ9iGZ root@mirantis.com + nova_compute_ssh_private: | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEApbSJ/dwXEzMzSv59ngc3uj8k5JiIHQ5HlzUfV+A6hOPFWvNK + I79qavMbmgcYjSEyc8pfuKeFL0016Ph5rl/Kmx76oDBl77j1AqZ3RH29q+u3+r6T + Kj8DIAa1INmSoDeDrEgx1Ph9HYmtHBGk48+ab21MvZSLEsoa6jlFRfa3iavm6AL1 + RHnZvH1KombonowMNg9u/q0bXRD4LCjJ4d+tumBLK/et6uK41PybLFf4ijDbu5pN + mvpKDqyfmh73FVPMyY3wNGIIaHlU/yNxi1PzAf+LQ/0ckfBjPlGGyOLIAAu2TgnU + Mh3SYJxM8d0iSMHEuuVNE9l2L59qlx16ifYhmQIDAQABAoIBAQCYpqbwvE5tm59H + GQb0C8Ykx4LfLD1INx1wiLmlJKYEQihPTw0fvXj1qZvl21+cs9ZcoTRpUbn6B3EA + e9bs8sYc/P75j1x46LSdimkZKZUPygkk72d3ZbElUciOyKCxBDNDBQcTIQ9xpKFa + 2E5Ep72npNMrWqp71r/Qwo20lEIkikIgAFPBgraxn5xIEdo59vzXNZsvyoIRi5p4 + ayH9nWSAXdF1YU3p3ljtHD8o2G/0d2TWGmjrd9vztc6tgXjp0PF60vDNgcJiudBg + oNLDK/e5a44GJxlVDdJ84ESb7GprRStYmddl22xnI1SXlg87+t0QQwzR0CCtWXrz + neXkicHhAoGBANkG9tOZfErhSL/jmsElQTNPcMNQkPiJzEmOIpr6jgSzCusPT/QD + PnVwB42GC5+Zhd4e88BsTzECxPXmKk7r1cBKeJTg/ejgsrSfVAZqMsfhbp3mGOiH + jymF+zC6Urj5q/Zkof8pEFICtyA5zlHvZmsQL9PDiqXIWALki2JvIDPdAoGBAMN2 + O+LWOM9qqwgSMaFY8VUdDdbmLx/ZMGWQ//Tx42WM8SU+cCpGTLDHHR0qC0gnRsV7 + V63DySEwiHn4I1cQ/AMijRxuw4Dkgk2YMRlgsAbVWO7aIlECWjSg+pRjNeA7If4D + 5L/gu6wZIv1vu8/fvOwRpPUzhWjGN5Z0RyvYc7btAoGALNnrmL9XmIIGbuGy0cfJ + OblpLHQyAas4tNrS/ARb5Uy7LOj1NRCWj96fMPhK3qjzqXvsFBBOLWrNGaR/id/j + ROIfGWWGE+KcDAgBbXH1HKnSGn+7FhMt2v79coyPG/s9NqaFdB4gaVJ2VgqcQQKg + v++QcssulCRbS/2/cJBWr2ECgYAJFCDL9G9HEwlGorGzcNIkxeiyppZhwFDDJuz8 + j4+kU9uPg0rqa8F8JINxq1ZCz7A10/jKlWFuLTbpk2Dw1lUeQCiVvX9PKU30FLGT + IC6M4rPyxCb75EQUVbXN1p3WAGkfx0aEsweEgtZhNyNeEGJSBK/Iw8/agfpq/pOf + sboOMQKBgQClKmrAYKWnwdPPka3msyjl/AXDruR4XFvMlOPKbs3nYstolE7eR94F + 7xDyBz85icFU0rceYQetwFH2p5tRL0GcUQhJmJFgIL0OXdCQvRNJrT3iS00N1aUo + SG9MrLHCd5l60aCUQg0UA5ed7Hd6SA314k+HwxJno9/wJ+voBeacMg== + -----END RSA PRIVATE KEY----- + openssh: + client: + enabled: True + user: {} + stricthostkeychecking: False + nova: + compute: + version: ${_param:nova_version} + enabled: true + virtualization: ${_param:nova_compute_virtualization} + availability_zone: ${_param:nova_compute_avail_zone} + aggregates: ${_param:nova_aggregates} + heal_instance_info_cache_interval: 60 + vncproxy_url: ${_param:nova_vncproxy_url} + bind: + vnc_address: ${_param:cluster_local_address} + vnc_port: 6080 + vnc_name: 0.0.0.0 + database: + engine: mysql + host: ${_param:openstack_database_address} + port: 3306 + name: nova + user: nova + password: ${_param:mysql_nova_password} + identity: + engine: keystone + region: ${_param:openstack_region} + host: ${_param:cluster_vip_address} + port: 35357 + user: nova + password: ${_param:keystone_nova_password} + tenant: service + message_queue: + engine: rabbitmq + port: 5672 + user: openstack + password: ${_param:rabbitmq_openstack_password} + virtual_host: '/openstack' + members: + - host: ${_param:openstack_message_queue_node01_address} + - host: ${_param:openstack_message_queue_node02_address} + - host: ${_param:openstack_message_queue_node03_address} + image: + engine: glance + host: ${_param:cluster_vip_address} + port: 9292 + network: + engine: neutron + region: ${_param:openstack_region} + host: ${_param:neutron_service_host} + port: 9696 + user: neutron + tenant: service + password: ${_param:keystone_neutron_password} + user: + public_key: ${_param:nova_compute_ssh_public} + private_key: ${_param:nova_compute_ssh_private} diff --git a/mcp/reclass/classes/system/nova/compute/nfv/cpu_pinning.yml b/mcp/reclass/classes/system/nova/compute/nfv/cpu_pinning.yml new file mode 100644 index 000000000..3e97838cd --- /dev/null +++ b/mcp/reclass/classes/system/nova/compute/nfv/cpu_pinning.yml @@ -0,0 +1,8 @@ +parameters: + nova: + compute: + vcpu_pin_set: ${_param:nova_cpu_pinning} + linux: + system: + kernel: + isolcpu: ${_param:compute_kernel_isolcpu} \ No newline at end of file diff --git a/mcp/reclass/classes/system/nova/compute/nfv/hugepages.yml b/mcp/reclass/classes/system/nova/compute/nfv/hugepages.yml new file mode 100644 index 000000000..6778f9481 --- /dev/null +++ b/mcp/reclass/classes/system/nova/compute/nfv/hugepages.yml @@ -0,0 +1,18 @@ +parameters: + _param: + compute_hugepages_size: 1G + compute_hugepages_mount: /mnt/hugepages_1G + linux: + system: + kernel: + hugepages: + large: + default: true + size: ${_param:compute_hugepages_size} + count: ${_param:compute_hugepages_count} + mount_point: ${_param:compute_hugepages_mount} + nova: + compute: + hugepages: + mount_points: + - path: ${_param:compute_hugepages_mount} \ No newline at end of file diff --git a/mcp/reclass/classes/system/nova/compute/nfv/sriov.yml b/mcp/reclass/classes/system/nova/compute/nfv/sriov.yml new file mode 100644 index 000000000..b93363c80 --- /dev/null +++ b/mcp/reclass/classes/system/nova/compute/nfv/sriov.yml @@ -0,0 +1,21 @@ +parameters: + _param: + sriov_nic01_physical_network: physnet1 + sriov_unsafe_interrupts: False + nova: + compute: + sriov: + sriov_nic01: + devname: ${_param:sriov_nic01_device_name} + physical_network: ${_param:sriov_nic01_physical_network} + linux: + system: + kernel: + sriov: True + unsafe_interrupts: ${_param:sriov_unsafe_interrupts} + rc: + local: | + #!/bin/sh -e + # Enabling ${_param:sriov_nic01_numvfs} VFs on ${_param:sriov_nic01_device_name} PF + echo ${_param:sriov_nic01_numvfs} > /sys/class/net/${_param:sriov_nic01_device_name}/device/sriov_numvfs; sleep 2; ip link set ${_param:sriov_nic01_device_name} up + exit 0 \ No newline at end of file diff --git a/mcp/reclass/classes/system/nova/compute/notification/messagingv2.yml b/mcp/reclass/classes/system/nova/compute/notification/messagingv2.yml new file mode 100644 index 000000000..59ec94dcd --- /dev/null +++ b/mcp/reclass/classes/system/nova/compute/notification/messagingv2.yml @@ -0,0 +1,8 @@ +parameters: + nova: + compute: + notification: + driver: messagingv2 + topics: "${_param:openstack_notification_topics}" + notify_on: + state_change: vm_and_task_state diff --git a/mcp/reclass/classes/system/nova/compute/single.yml b/mcp/reclass/classes/system/nova/compute/single.yml new file mode 100644 index 000000000..f50b93767 --- /dev/null +++ b/mcp/reclass/classes/system/nova/compute/single.yml @@ -0,0 +1,91 @@ +applications: +- nova +classes: +- service.nova.compute.kvm +parameters: + _param: + nova_vncproxy_url: https://${_param:cluster_public_host}:6080 + nova_compute_ssh_public: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCltIn93BcTMzNK/n2eBze6PyTkmIgdDkeXNR9X4DqE48Va80ojv2pq8xuaBxiNITJzyl+4p4UvTTXo+HmuX8qbHvqgMGXvuPUCpndEfb2r67f6vpMqPwMgBrUg2ZKgN4OsSDHU+H0dia0cEaTjz5pvbUy9lIsSyhrqOUVF9reJq+boAvVEedm8fUqiZuiejAw2D27+rRtdEPgsKMnh3626YEsr963q4rjU/JssV/iKMNu7mk2a+koOrJ+aHvcVU8zJjfA0YghoeVT/I3GLU/MB/4tD/RyR8GM+UYbI4sgAC7ZOCdQyHdJgnEzx3SJIwcS65U0T2XYvn2qXHXqJ9iGZ root@mirantis.com + nova_compute_avail_zone: + nova_compute_ssh_private: | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEApbSJ/dwXEzMzSv59ngc3uj8k5JiIHQ5HlzUfV+A6hOPFWvNK + I79qavMbmgcYjSEyc8pfuKeFL0016Ph5rl/Kmx76oDBl77j1AqZ3RH29q+u3+r6T + Kj8DIAa1INmSoDeDrEgx1Ph9HYmtHBGk48+ab21MvZSLEsoa6jlFRfa3iavm6AL1 + RHnZvH1KombonowMNg9u/q0bXRD4LCjJ4d+tumBLK/et6uK41PybLFf4ijDbu5pN + mvpKDqyfmh73FVPMyY3wNGIIaHlU/yNxi1PzAf+LQ/0ckfBjPlGGyOLIAAu2TgnU + Mh3SYJxM8d0iSMHEuuVNE9l2L59qlx16ifYhmQIDAQABAoIBAQCYpqbwvE5tm59H + GQb0C8Ykx4LfLD1INx1wiLmlJKYEQihPTw0fvXj1qZvl21+cs9ZcoTRpUbn6B3EA + e9bs8sYc/P75j1x46LSdimkZKZUPygkk72d3ZbElUciOyKCxBDNDBQcTIQ9xpKFa + 2E5Ep72npNMrWqp71r/Qwo20lEIkikIgAFPBgraxn5xIEdo59vzXNZsvyoIRi5p4 + ayH9nWSAXdF1YU3p3ljtHD8o2G/0d2TWGmjrd9vztc6tgXjp0PF60vDNgcJiudBg + oNLDK/e5a44GJxlVDdJ84ESb7GprRStYmddl22xnI1SXlg87+t0QQwzR0CCtWXrz + neXkicHhAoGBANkG9tOZfErhSL/jmsElQTNPcMNQkPiJzEmOIpr6jgSzCusPT/QD + PnVwB42GC5+Zhd4e88BsTzECxPXmKk7r1cBKeJTg/ejgsrSfVAZqMsfhbp3mGOiH + jymF+zC6Urj5q/Zkof8pEFICtyA5zlHvZmsQL9PDiqXIWALki2JvIDPdAoGBAMN2 + O+LWOM9qqwgSMaFY8VUdDdbmLx/ZMGWQ//Tx42WM8SU+cCpGTLDHHR0qC0gnRsV7 + V63DySEwiHn4I1cQ/AMijRxuw4Dkgk2YMRlgsAbVWO7aIlECWjSg+pRjNeA7If4D + 5L/gu6wZIv1vu8/fvOwRpPUzhWjGN5Z0RyvYc7btAoGALNnrmL9XmIIGbuGy0cfJ + OblpLHQyAas4tNrS/ARb5Uy7LOj1NRCWj96fMPhK3qjzqXvsFBBOLWrNGaR/id/j + ROIfGWWGE+KcDAgBbXH1HKnSGn+7FhMt2v79coyPG/s9NqaFdB4gaVJ2VgqcQQKg + v++QcssulCRbS/2/cJBWr2ECgYAJFCDL9G9HEwlGorGzcNIkxeiyppZhwFDDJuz8 + j4+kU9uPg0rqa8F8JINxq1ZCz7A10/jKlWFuLTbpk2Dw1lUeQCiVvX9PKU30FLGT + IC6M4rPyxCb75EQUVbXN1p3WAGkfx0aEsweEgtZhNyNeEGJSBK/Iw8/agfpq/pOf + sboOMQKBgQClKmrAYKWnwdPPka3msyjl/AXDruR4XFvMlOPKbs3nYstolE7eR94F + 7xDyBz85icFU0rceYQetwFH2p5tRL0GcUQhJmJFgIL0OXdCQvRNJrT3iS00N1aUo + SG9MrLHCd5l60aCUQg0UA5ed7Hd6SA314k+HwxJno9/wJ+voBeacMg== + -----END RSA PRIVATE KEY----- + openssh: + client: + enabled: True + user: {} + stricthostkeychecking: False + nova: + compute: + version: ${_param:nova_version} + disable_flow_collection: true + enabled: true + virtualization: kvm + availability_zone: ${_param:nova_compute_avail_zone} + vncproxy_url: ${_param:nova_vncproxy_url} + bind: + vnc_address: ${_param:control_address} + vnc_port: 6080 + vnc_name: 0.0.0.0 + database: + engine: mysql + host: ${_param:control_address} + port: 3306 + name: nova + user: nova + password: ${_param:mysql_nova_password} + identity: + engine: keystone + host: ${_param:control_address} + port: 35357 + user: nova + password: ${_param:keystone_nova_password} + tenant: service + message_queue: + engine: rabbitmq + host: ${_param:control_address} + port: 5672 + user: openstack + password: ${_param:rabbitmq_openstack_password} + virtual_host: '/openstack' + image: + engine: glance + host: ${_param:control_address} + port: 9292 + network: + engine: neutron + host: ${_param:control_address} + port: 9696 + cache: + engine: memcached + members: + - host: 127.0.0.1 + port: 11211 + user: + public_key: ${_param:nova_compute_ssh_public} + private_key: ${_param:nova_compute_ssh_private} diff --git a/mcp/reclass/classes/system/nova/compute/storage/ceph.yml b/mcp/reclass/classes/system/nova/compute/storage/ceph.yml new file mode 100644 index 000000000..7cb24cbcc --- /dev/null +++ b/mcp/reclass/classes/system/nova/compute/storage/ceph.yml @@ -0,0 +1,10 @@ +parameters: + nova: + compute: + ceph: + enabled: true + ephemeral: yes + rbd_pool: ${_param:nova_storage_pool} + secret_uuid: ${_param:nova_storage_secret_uuid} + client_cinder_key: ${_param:nova_storage_client_key} + rbd_user: ${_param:nova_storage_user} \ No newline at end of file diff --git a/mcp/reclass/classes/system/nova/control/cluster.yml b/mcp/reclass/classes/system/nova/control/cluster.yml new file mode 100644 index 000000000..d47c5e197 --- /dev/null +++ b/mcp/reclass/classes/system/nova/control/cluster.yml @@ -0,0 +1,75 @@ +classes: +- service.haproxy.proxy.single +- service.nova.control.cluster +- service.keepalived.cluster.single +- system.haproxy.proxy.listen.openstack.nova +- system.haproxy.proxy.listen.openstack.novnc +parameters: + _param: + nova_vncproxy_url: http://${_param:cluster_vip_address}:6080 + nova_cpu_allocation_ratio: 16.0 + nova_ram_allocation_ratio: 1.5 + nova_disk_allocation_ratio: 1.0 + metadata_password: metadataPass + nova: + controller: + enabled: true + version: ${_param:nova_version} + vncproxy_url: ${_param:nova_vncproxy_url} + security_group: false + dhcp_domain: novalocal + scheduler_default_filters: "DifferentHostFilter,RetryFilter,AvailabilityZoneFilter,RamFilter,CoreFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,PciPassthroughFilter,NUMATopologyFilter,AggregateInstanceExtraSpecsFilter" + cpu_allocation_ratio: ${_param:nova_cpu_allocation_ratio} + ram_allocation_ratio: ${_param:nova_ram_allocation_ratio} + disk_allocation_ratio: ${_param:nova_disk_allocation_ratio} + workers: 8 + logging: + - engine: syslog + facility: local0 + heka: + enabled: true + bind: + private_address: ${_param:cluster_local_address} + public_address: ${_param:cluster_vip_address} + public_name: ${_param:cluster_vip_address} + novncproxy_address: ${_param:cluster_local_address} + novncproxy_port: 6080 + database: + engine: mysql + host: ${_param:openstack_database_address} + port: 3306 + name: nova + user: nova + password: ${_param:mysql_nova_password} + identity: + engine: keystone + region: ${_param:openstack_region} + host: ${_param:cluster_vip_address} + port: 35357 + user: nova + password: ${_param:keystone_nova_password} + tenant: service + message_queue: + engine: rabbitmq + port: 5672 + user: openstack + password: ${_param:rabbitmq_openstack_password} + virtual_host: '/openstack' + members: + - host: ${_param:openstack_message_queue_node01_address} + - host: ${_param:openstack_message_queue_node02_address} + - host: ${_param:openstack_message_queue_node03_address} + glance: + host: ${_param:cluster_vip_address} + port: 9292 + network: + engine: neutron + region: ${_param:openstack_region} + host: ${_param:neutron_service_host} + user: neutron + password: ${_param:keystone_neutron_password} + port: 9696 + mtu: 1500 + tenant: service + metadata: + password: ${_param:metadata_password} diff --git a/mcp/reclass/classes/system/nova/control/notification/cadf.yml b/mcp/reclass/classes/system/nova/control/notification/cadf.yml new file mode 100644 index 000000000..2f2b1b19b --- /dev/null +++ b/mcp/reclass/classes/system/nova/control/notification/cadf.yml @@ -0,0 +1,5 @@ +parameters: + nova: + controller: + audit: + enabled: true diff --git a/mcp/reclass/classes/system/nova/control/notification/messagingv2.yml b/mcp/reclass/classes/system/nova/control/notification/messagingv2.yml new file mode 100644 index 000000000..5ed801322 --- /dev/null +++ b/mcp/reclass/classes/system/nova/control/notification/messagingv2.yml @@ -0,0 +1,6 @@ +parameters: + nova: + controller: + notification: + driver: messagingv2 + topics: "${_param:openstack_notification_topics}" diff --git a/mcp/reclass/classes/system/nova/control/single.yml b/mcp/reclass/classes/system/nova/control/single.yml new file mode 100644 index 000000000..00182a370 --- /dev/null +++ b/mcp/reclass/classes/system/nova/control/single.yml @@ -0,0 +1,7 @@ +classes: +- service.nova.control.single +parameters: + nova: + controller: + database: + host: ${_param:single_address} -- cgit 1.2.3-korg