aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/reclass/classes/system/nova
diff options
context:
space:
mode:
authorMichael Polenchuk <mpolenchuk@mirantis.com>2017-05-24 12:44:05 +0400
committerMichael Polenchuk <mpolenchuk@mirantis.com>2017-05-24 12:47:57 +0400
commita6daf4ece3f05600ad66fea55c5220d07a71cef1 (patch)
tree988e0e370b7c2683f10eff189f2ba7b276b24923 /mcp/reclass/classes/system/nova
parent7b4fbdd9be1a234c345b21ebf0eafcf7f5187f26 (diff)
[mcp] Bring in reclass system salt models
Change-Id: I1a865b7524f3a5242544e60e6b36b1092721c58b Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Diffstat (limited to 'mcp/reclass/classes/system/nova')
-rw-r--r--mcp/reclass/classes/system/nova/compute/cluster.yml95
-rw-r--r--mcp/reclass/classes/system/nova/compute/nfv/cpu_pinning.yml8
-rw-r--r--mcp/reclass/classes/system/nova/compute/nfv/hugepages.yml18
-rw-r--r--mcp/reclass/classes/system/nova/compute/nfv/sriov.yml21
-rw-r--r--mcp/reclass/classes/system/nova/compute/notification/messagingv2.yml8
-rw-r--r--mcp/reclass/classes/system/nova/compute/single.yml91
-rw-r--r--mcp/reclass/classes/system/nova/compute/storage/ceph.yml10
-rw-r--r--mcp/reclass/classes/system/nova/control/cluster.yml75
-rw-r--r--mcp/reclass/classes/system/nova/control/notification/cadf.yml5
-rw-r--r--mcp/reclass/classes/system/nova/control/notification/messagingv2.yml6
-rw-r--r--mcp/reclass/classes/system/nova/control/single.yml7
11 files changed, 344 insertions, 0 deletions
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}