Merge "Define auth/db settings of tacker service"
diff --git a/.gitignore b/.gitignore
index 485dee6..ae8e990 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
.idea
+.*.swp
diff --git a/.releasenotes/notes/kqueen-port-change-8b34593966336e27.yaml b/.releasenotes/notes/kqueen-port-change-8b34593966336e27.yaml
new file mode 100644
index 0000000..1021b5e
--- /dev/null
+++ b/.releasenotes/notes/kqueen-port-change-8b34593966336e27.yaml
@@ -0,0 +1,14 @@
+---
+
+summary: >
+ Changed default port for KQueen API service.
+
+upgrades:
+
+ .. code-block:: yaml
+
+ - haproxy_kqueen_api_exposed_port: 15000
+ + haproxy_kqueen_api_exposed_port: 15001
+
+fixes:
+ - https://mirantis.jira.com/browse/PROD-19571
diff --git a/.releasenotes/notes/prometheus-2.0-2a7b3bc4ad76e118.yaml b/.releasenotes/notes/prometheus-2.0-2a7b3bc4ad76e118.yaml
index af017f5..bb62760 100644
--- a/.releasenotes/notes/prometheus-2.0-2a7b3bc4ad76e118.yaml
+++ b/.releasenotes/notes/prometheus-2.0-2a7b3bc4ad76e118.yaml
@@ -25,10 +25,10 @@
.. code-block:: yaml
_param:
- docker_image_alertmanager: docker-prod-virtual.docker.mirantis.net/openstack-docker/alertmanager:20171222124606
- docker_image_pushgateway: docker-prod-virtual.docker.mirantis.net/openstack-docker/pushgateway:20171222124606
- docker_image_prometheus: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus:20171222124606
- docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:20171222124606
+ docker_image_alertmanager: docker-prod-local.artifactory.mirantis.com/openstack-docker/alertmanager:20171222124606
+ docker_image_pushgateway: docker-prod-local.artifactory.mirantis.com/openstack-docker/pushgateway:20171222124606
+ docker_image_prometheus: docker-prod-local.artifactory.mirantis.com/openstack-docker/prometheus:20171222124606
+ docker_image_remote_storage_adapter: docker-prod-local.artifactory.mirantis.com/openstack-docker/remote_storage_adapter:20171222124606
docker:
client:
stack:
diff --git a/aodh/server/cluster.yml b/aodh/server/cluster.yml
index 00a8263..91ebe12 100644
--- a/aodh/server/cluster.yml
+++ b/aodh/server/cluster.yml
@@ -4,6 +4,8 @@
- system.haproxy.proxy.listen.openstack.aodh
- system.keepalived.cluster.instance.openstack_telemetry_vip
parameters:
+ _param:
+ openstack_event_alarm_topic: alarm.all
aodh:
server:
enabled: true
@@ -13,8 +15,9 @@
debug: false
verbose: true
region: ${_param:openstack_region}
+ event_alarm_topic: ${_param:openstack_event_alarm_topic}
database:
- engine: "mysql+pymysql"
+ engine: "mysql"
host: ${_param:openstack_database_address}
port: 3306
name: aodh
@@ -30,6 +33,7 @@
tenant: service
user: aodh
password: ${_param:keystone_aodh_password}
+ region: ${_param:openstack_region}
message_queue:
engine: rabbitmq
port: 5672
diff --git a/aodh/server/single.yml b/aodh/server/single.yml
index eba3fc1..6eec70e 100644
--- a/aodh/server/single.yml
+++ b/aodh/server/single.yml
@@ -1,2 +1,11 @@
classes:
- service.aodh.server.single
+parameters:
+ _param:
+ openstack_event_alarm_topic: alarm.all
+ aodh:
+ server:
+ region: ${_param:openstack_region}
+ event_alarm_topic: ${_param:openstack_event_alarm_topic}
+ identity:
+ region: ${_param:openstack_region}
diff --git a/aptly/server/single.yml b/aptly/server/single.yml
index e8da341..9f2d401 100644
--- a/aptly/server/single.yml
+++ b/aptly/server/single.yml
@@ -8,47 +8,6 @@
aptly_server_secure: true
aptly_server_mirror_sources: false
aptly_server_mirror_ubuntu_sources: ${_param:aptly_server_mirror_sources}
- iptables:
- service:
- enabled: true
- chain:
- INPUT:
- rules:
- # Only local network can access WebDav and aptly API
- - destination_port: 8088
- protocol: tcp
- source_network: 10.0.107.0/24
- jump: ACCEPT
- - destination_port: 8088
- protocol: tcp
- source_network: 185.22.96.0/22
- jump: ACCEPT
- - destination_port: 8088
- protocol: tcp
- source_network: 10.0.174.0/23
- jump: ACCEPT
- - destination_port: 8088
- protocol: tcp
- source_network: 10.0.175.0/23
- jump: ACCEPT
- - destination_port: 8088
- protocol: tcp
- jump: DROP
- - destination_port: 8081
- protocol: tcp
- source_network: 10.0.107.0/24
- jump: ACCEPT
- - destination_port: 8081
- protocol: tcp
- source_network: 10.0.174.0/23
- jump: ACCEPT
- - destination_port: 8081
- protocol: tcp
- source_network: 10.0.175.0/23
- jump: ACCEPT
- - destination_port: 8081
- protocol: tcp
- jump: DROP
nginx:
server:
site:
diff --git a/auditd/server/ciscat.yml b/auditd/server/ciscat.yml
new file mode 100644
index 0000000..dc4baa7
--- /dev/null
+++ b/auditd/server/ciscat.yml
@@ -0,0 +1,3 @@
+classes:
+- service.auditd.server
+- service.auditd.rules.ciscat
diff --git a/barbican/server/cluster.yml b/barbican/server/cluster.yml
index ed45b47..d8b570c 100644
--- a/barbican/server/cluster.yml
+++ b/barbican/server/cluster.yml
@@ -6,5 +6,6 @@
cluster_internal_protocol: 'http'
barbican:
server:
+ role: ${_param:openstack_node_role}
identity:
protocol: ${_param:cluster_internal_protocol}
diff --git a/barbican/server/single.yml b/barbican/server/single.yml
index aab0b18..b115e79 100644
--- a/barbican/server/single.yml
+++ b/barbican/server/single.yml
@@ -5,5 +5,6 @@
internal_protocol: 'http'
barbican:
server:
+ role: ${_param:openstack_node_role}
identity:
protocol: ${_param:internal_protocol}
diff --git a/billometer/server/single.yml b/billometer/server/single.yml
index be13be2..8152202 100644
--- a/billometer/server/single.yml
+++ b/billometer/server/single.yml
@@ -22,7 +22,7 @@
database:
billometer:
encoding: UTF8
- locale: cs_CZ
+ locale: en_US
users:
- name: billometer
createdb: true
diff --git a/ceilometer/agent/cluster.yml b/ceilometer/agent/cluster.yml
index 135dbe8..a598ee5 100644
--- a/ceilometer/agent/cluster.yml
+++ b/ceilometer/agent/cluster.yml
@@ -14,6 +14,7 @@
tenant: service
user: ceilometer
password: ${_param:keystone_ceilometer_password}
+ region: ${_param:openstack_region}
message_queue:
engine: rabbitmq
members:
@@ -24,7 +25,6 @@
password: ${_param:rabbitmq_openstack_password}
virtual_host: '/openstack'
ha_queues: true
- rpc_thread_pool_size: 5
nova:
compute:
notification:
diff --git a/ceilometer/agent/telemetry/cluster.yml b/ceilometer/agent/telemetry/cluster.yml
new file mode 100644
index 0000000..bc67493
--- /dev/null
+++ b/ceilometer/agent/telemetry/cluster.yml
@@ -0,0 +1,31 @@
+classes:
+- service.ceilometer.agent.cluster.common
+parameters:
+ ceilometer:
+ agent:
+ region: ${_param:openstack_region}
+ enabled: true
+ version: ${_param:ceilometer_version}
+ secret: ${_param:ceilometer_secret_key}
+ identity:
+ engine: keystone
+ host: ${_param:keystone_service_host}
+ port: 35357
+ tenant: service
+ user: ceilometer
+ password: ${_param:keystone_ceilometer_password}
+ region: ${_param:openstack_region}
+ message_queue:
+ engine: rabbitmq
+ members:
+ - host: ${_param:openstack_message_queue_node01_address}
+ - host: ${_param:openstack_message_queue_node02_address}
+ - host: ${_param:openstack_message_queue_node03_address}
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
+ ha_queues: true
+ nova:
+ compute:
+ notification:
+ driver: messagingv2
diff --git a/ceilometer/agent/telemetry/single.yml b/ceilometer/agent/telemetry/single.yml
new file mode 100644
index 0000000..6b42537
--- /dev/null
+++ b/ceilometer/agent/telemetry/single.yml
@@ -0,0 +1,2 @@
+classes:
+- service.ceilometer.agent.single.common
diff --git a/ceilometer/server/backend/default.yml b/ceilometer/server/backend/default.yml
index 542314c..071e4a1 100644
--- a/ceilometer/server/backend/default.yml
+++ b/ceilometer/server/backend/default.yml
@@ -2,6 +2,8 @@
- service.ceilometer.server.publisher.gnocchi
- service.ceilometer.server.publisher.panko
parameters:
+ _param:
+ openstack_event_alarm_topic: alarm.all
# gnocchi and panko are default backends for Ceilometer since Pike
# they are incompatible with any legacy database publisher backends
ceilometer:
@@ -12,3 +14,7 @@
publisher:
default:
enabled: false
+ event_alarm_notifier:
+ enabled: true
+ url: "notifier://?topic=${_param:openstack_event_alarm_topic}"
+ publish_event: true
diff --git a/ceilometer/server/backend/gnocchi.yml b/ceilometer/server/backend/gnocchi.yml
new file mode 100644
index 0000000..723d58c
--- /dev/null
+++ b/ceilometer/server/backend/gnocchi.yml
@@ -0,0 +1,24 @@
+classes:
+- service.ceilometer.server.publisher.panko
+parameters:
+ _param:
+ openstack_event_alarm_topic: alarm.all
+ ceilometer_create_gnocchi_resources: false
+ ceilometer_gnocchi_filter_project: service
+ # gnocchi and panko are default backends for Ceilometer since Pike
+ # they are incompatible with any legacy database publisher backends
+ ceilometer:
+ server:
+ publisher:
+ gnocchi:
+ enabled: true
+ url: "gnocchi://?filter_project=${_param:ceilometer_gnocchi_filter_project}"
+ publish_metric: true
+ # filter_project is deprecated since queens
+ filter_project: ${_param:ceilometer_gnocchi_filter_project}
+ create_resources: ${_param:ceilometer_create_gnocchi_resources}
+ request_timeout: 30
+ event_alarm_notifier:
+ enabled: true
+ url: "notifier://?topic=${_param:openstack_event_alarm_topic}"
+ publish_event: true
diff --git a/ceilometer/server/cluster.yml b/ceilometer/server/cluster.yml
index 6f8d3f8..ad804f8 100644
--- a/ceilometer/server/cluster.yml
+++ b/ceilometer/server/cluster.yml
@@ -1,3 +1,4 @@
+# This class is deprecated since Openstack Pike
classes:
- service.ceilometer.server.cluster
- service.haproxy.proxy.single
@@ -12,6 +13,10 @@
cluster: true
secret: ${_param:ceilometer_secret_key}
ttl: 86400
+ role: ${_param:openstack_node_role}
+ notification:
+ workload_partitioning: true
+ batch_timeout: 30
publisher:
default: {}
bind:
@@ -24,6 +29,7 @@
tenant: service
user: ceilometer
password: ${_param:keystone_ceilometer_password}
+ region: ${_param:openstack_region}
message_queue:
engine: rabbitmq
members:
@@ -33,5 +39,3 @@
user: openstack
password: ${_param:rabbitmq_openstack_password}
virtual_host: '/openstack'
- # Workaround for https://bugs.launchpad.net/ceilometer/+bug/1337715
- rpc_thread_pool_size: 5
diff --git a/ceilometer/server/single.yml b/ceilometer/server/single.yml
index 9758af2..ae642f1 100644
--- a/ceilometer/server/single.yml
+++ b/ceilometer/server/single.yml
@@ -3,6 +3,7 @@
parameters:
ceilometer:
server:
+ role: ${_param:openstack_node_role}
database:
influxdb:
host: ${_param:stacklight_monitor_node01_address}
diff --git a/ceilometer/server/telemetry/cluster.yml b/ceilometer/server/telemetry/cluster.yml
new file mode 100644
index 0000000..d1c28ef
--- /dev/null
+++ b/ceilometer/server/telemetry/cluster.yml
@@ -0,0 +1,36 @@
+# This class intended to be used since Openstack Pike release
+classes:
+- service.ceilometer.server.cluster.common
+- system.keepalived.cluster.instance.openstack_telemetry_vip
+parameters:
+ ceilometer:
+ server:
+ enabled: true
+ version: ${_param:ceilometer_version}
+ region: ${_param:openstack_region}
+ cluster: true
+ secret: ${_param:ceilometer_secret_key}
+ ttl: 86400
+ notification:
+ workload_partitioning: true
+ batch_timeout: 30
+ bind:
+ host: ${_param:cluster_local_address}
+ port: 8777
+ identity:
+ engine: keystone
+ host: ${_param:openstack_control_address}
+ port: 35357
+ tenant: service
+ user: ceilometer
+ password: ${_param:keystone_ceilometer_password}
+ region: ${_param:openstack_region}
+ message_queue:
+ engine: rabbitmq
+ members:
+ - host: ${_param:openstack_message_queue_node01_address}
+ - host: ${_param:openstack_message_queue_node02_address}
+ - host: ${_param:openstack_message_queue_node03_address}
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
diff --git a/ceilometer/server/telemetry/single.yml b/ceilometer/server/telemetry/single.yml
new file mode 100644
index 0000000..7a98b73
--- /dev/null
+++ b/ceilometer/server/telemetry/single.yml
@@ -0,0 +1,2 @@
+classes:
+- service.ceilometer.server.single.common
diff --git a/cinder/control/cluster.yml b/cinder/control/cluster.yml
index 1110c63..b5d6862 100644
--- a/cinder/control/cluster.yml
+++ b/cinder/control/cluster.yml
@@ -25,6 +25,7 @@
default_volume_type: ""
backend: {}
version: ${_param:cinder_version}
+ role: ${_param:openstack_node_role}
osapi:
host: ${_param:cluster_local_address}
database:
diff --git a/cinder/control/single.yml b/cinder/control/single.yml
index 66aea6d..89c5307 100644
--- a/cinder/control/single.yml
+++ b/cinder/control/single.yml
@@ -15,8 +15,10 @@
controller:
backend: {}
default_volume_type: ''
+ role: ${_param:openstack_node_role}
database:
host: ${_param:single_address}
identity:
protocol: ${_param:internal_protocol}
+ region: ${_param:openstack_region}
diff --git a/cinder/volume/local.yml b/cinder/volume/local.yml
index 794a33e..d03d6f7 100644
--- a/cinder/volume/local.yml
+++ b/cinder/volume/local.yml
@@ -12,3 +12,4 @@
host: ${_param:single_address}
identity:
host: ${_param:single_address}
+ region: ${_param:openstack_region}
diff --git a/cinder/volume/single.yml b/cinder/volume/single.yml
index 1b9948d..f66a190 100644
--- a/cinder/volume/single.yml
+++ b/cinder/volume/single.yml
@@ -16,6 +16,7 @@
host: ${_param:openstack_database_address}
glance:
host: ${_param:openstack_control_address}
+ protocol: ${_param:cluster_internal_protocol}
message_queue:
members:
- host: ${_param:openstack_message_queue_node01_address}
@@ -24,3 +25,4 @@
identity:
host: ${_param:openstack_control_address}
protocol: ${_param:cluster_internal_protocol}
+ region: ${_param:openstack_region}
diff --git a/debmirror/mirror_mirantis_com/glusterfs-3.8/xenial.yml b/debmirror/mirror_mirantis_com/glusterfs-3.8/xenial.yml
new file mode 100644
index 0000000..7c93811
--- /dev/null
+++ b/debmirror/mirror_mirantis_com/glusterfs-3.8/xenial.yml
@@ -0,0 +1,23 @@
+parameters:
+ _param:
+ apt_mk_version: 'stable'
+ mirror_mirantis_com_glusterfs_3_8_xenial_force: False
+ debmirror_mirrors_base_target_dir: "/srv/volumes/aptly/public/${_param:apt_mk_version}/"
+ debmirror:
+ client:
+ enabled: true
+ mirrors:
+ mirror_mirantis_com_glusterfs_3_8_xenial:
+ force: ${_param:mirror_mirantis_com_glusterfs_3_8_xenial_force}
+ lock_target: True
+ extra_flags: [ '--verbose', '--progress', '--nosource', '--no-check-gpg', '--rsync-extra=none' ]
+ method: "rsync"
+ arch: [ 'amd64' ]
+ mirror_host: "mirror.mirantis.com"
+ mirror_root: ":mirror/${_param:apt_mk_version}/glusterfs-3.8/xenial/"
+ target_dir: "${_param:debmirror_mirrors_base_target_dir}/glusterfs-3.8/xenial/"
+ log_file: "/var/log/debmirror/mirror_mirantis_com_glusterfs_3_8_xenial.log"
+ dist: [ xenial ]
+ section: [ main ]
+ filter:
+ 001: "--exclude='-dbg_'"
diff --git a/debmirror/mirror_mirantis_com/maas/xenial.yml b/debmirror/mirror_mirantis_com/maas/xenial.yml
new file mode 100644
index 0000000..3204fd0
--- /dev/null
+++ b/debmirror/mirror_mirantis_com/maas/xenial.yml
@@ -0,0 +1,21 @@
+parameters:
+ _param:
+ apt_mk_version: 'stable'
+ mirror_mirantis_com_maas_xenial_force: False
+ debmirror_mirrors_base_target_dir: "/srv/volumes/aptly/public/${_param:apt_mk_version}/"
+ debmirror:
+ client:
+ enabled: true
+ mirrors:
+ mirror_mirantis_com_maas_xenial:
+ force: ${_param:mirror_mirantis_com_maas_xenial_force}
+ lock_target: True
+ extra_flags: [ '--verbose', '--progress', '--nosource', '--no-check-gpg', '--rsync-extra=none' ]
+ method: "rsync"
+ arch: [ 'amd64' ]
+ mirror_host: "mirror.mirantis.com"
+ mirror_root: ":mirror/${_param:apt_mk_version}/maas/xenial/"
+ target_dir: "${_param:debmirror_mirrors_base_target_dir}/maas/xenial/"
+ log_file: "/var/log/debmirror/mirror_mirantis_com_maas_xenial.log"
+ dist: [ xenial ]
+ section: [ main ]
diff --git a/debmirror/mirror_mirantis_com/saltstack-2016.3/xenial.yml b/debmirror/mirror_mirantis_com/saltstack-2016.3/xenial.yml
new file mode 100644
index 0000000..cec7c95
--- /dev/null
+++ b/debmirror/mirror_mirantis_com/saltstack-2016.3/xenial.yml
@@ -0,0 +1,21 @@
+parameters:
+ _param:
+ apt_mk_version: 'stable'
+ mirror_mirantis_com_saltstack_2016_3_xenial_force: False
+ debmirror_mirrors_base_target_dir: "/srv/volumes/aptly/public/${_param:apt_mk_version}/"
+ debmirror:
+ client:
+ enabled: true
+ mirrors:
+ mirror_mirantis_com_saltstack_2016_3_xenial:
+ force: ${_param:mirror_mirantis_com_saltstack_2016_3_xenial_force}
+ lock_target: True
+ extra_flags: [ '--verbose', '--progress', '--nosource', '--no-check-gpg', '--rsync-extra=none' ]
+ method: "rsync"
+ arch: [ 'amd64' ]
+ mirror_host: "mirror.mirantis.com"
+ mirror_root: ":mirror/${_param:apt_mk_version}/saltstack-2016.3/xenial/"
+ target_dir: "${_param:debmirror_mirrors_base_target_dir}/saltstack-2016.3/xenial/"
+ log_file: "/var/log/debmirror/mirror_mirantis_com_saltstack_2016_3_xenial.log"
+ dist: [ xenial ]
+ section: [ main ]
diff --git a/debmirror/mirror_mirantis_com/saltstack-2017.7/xenial.yml b/debmirror/mirror_mirantis_com/saltstack-2017.7/xenial.yml
new file mode 100644
index 0000000..542afea
--- /dev/null
+++ b/debmirror/mirror_mirantis_com/saltstack-2017.7/xenial.yml
@@ -0,0 +1,21 @@
+parameters:
+ _param:
+ apt_mk_version: 'stable'
+ mirror_mirantis_com_saltstack_2017_7_xenial_force: False
+ debmirror_mirrors_base_target_dir: "/srv/volumes/aptly/public/${_param:apt_mk_version}/"
+ debmirror:
+ client:
+ enabled: true
+ mirrors:
+ mirror_mirantis_com_saltstack_2017_7_xenial:
+ force: ${_param:mirror_mirantis_com_saltstack_2017_7_xenial_force}
+ lock_target: True
+ extra_flags: [ '--verbose', '--progress', '--nosource', '--no-check-gpg', '--rsync-extra=none' ]
+ method: "rsync"
+ arch: [ 'amd64' ]
+ mirror_host: "mirror.mirantis.com"
+ mirror_root: ":mirror/${_param:apt_mk_version}/saltstack-2017.7/xenial/"
+ target_dir: "${_param:debmirror_mirrors_base_target_dir}/saltstack-2017.7/xenial/"
+ log_file: "/var/log/debmirror/mirror_mirantis_com_saltstack_2017_7_xenial.log"
+ dist: [ xenial ]
+ section: [ main ]
diff --git a/debmirror/mirror_mirantis_com/ubuntu/xenial.yml b/debmirror/mirror_mirantis_com/ubuntu/xenial.yml
index 6a38787..d869e94 100644
--- a/debmirror/mirror_mirantis_com/ubuntu/xenial.yml
+++ b/debmirror/mirror_mirantis_com/ubuntu/xenial.yml
@@ -2,6 +2,7 @@
_param:
apt_mk_version: 'stable'
mirror_mirantis_com_ubuntu_xenial_force: False
+ debmirror_mirrors_base_target_dir: "/srv/volumes/aptly/public/${_param:apt_mk_version}/"
debmirror:
client:
enabled: true
@@ -15,10 +16,10 @@
arch: [ 'amd64' ]
mirror_host: "mirror.mirantis.com"
mirror_root: ":mirror/${_param:apt_mk_version}/ubuntu/"
- target_dir: "/srv/volumes/aptly/public/ubuntu/"
+ target_dir: "${_param:debmirror_mirrors_base_target_dir}/ubuntu/"
log_file: "/var/log/debmirror/mirror_mirantis_com_ubuntu_xenial.log"
dist: [ xenial , xenial-security, xenial-updates ]
- section: [ main , multiverse, restricted, universe ]
+ section: [ main , restricted, universe ]
# Don't exclude main/x11 - its required for many pkgs.
exclude_deb_section:
- games
@@ -135,6 +136,12 @@
301: "--exclude='(main|universe)/l/linux-*-(.*azure|.*aws|gke|.*azure-edge|.*oem/|.*euclid/)'"
302: "--exclude='/*universe.*(-armel-|-arm-)(?!.*amd64)'"
303: "--exclude='/main/l/linux(.*)/linux-source-*'"
+ # Generic: Old minor version of kernels. Old - if minor less then 3 digits.
+ 304: '--exclude="main/l/(linux|linux-signed)/linux-.*.4\.4\.0-[0-9]{1,2}\."'
+ # Hwe 4.8: Old minor version of kernels. Old - if minor in 30-40.
+ 305: '--exclude="main/l/.*hwe.*/linux-.*.4\.8\.0-((3|4)[0-9])"'
+ # Hwe 4.10: Old minor version of kernels. Old - if minor in 20-30.
+ 306: '--exclude="main/l/.*hwe.*/linux-.*.4\.10\.0-((2|3)[0-9])"'
# List of packages, that should be fetched from fresh ppa or other mirror
# So,removing them from upstream mirror.
500: "--exclude='/main/m/maas/'"
diff --git a/designate/server/cluster.yml b/designate/server/cluster.yml
index afbb7df..f60f883 100644
--- a/designate/server/cluster.yml
+++ b/designate/server/cluster.yml
@@ -23,6 +23,7 @@
region: ${_param:openstack_region}
domain_id: ${_param:designate_domain_id}
version: ${_param:designate_version}
+ role: ${_param:openstack_node_role}
admin_api:
enabled: ${_param:designate_admin_api_enabled}
enabled_extensions_admin: quotas
diff --git a/designate/server/single.yml b/designate/server/single.yml
index 3fdd448..683180e 100644
--- a/designate/server/single.yml
+++ b/designate/server/single.yml
@@ -17,6 +17,7 @@
region: ${_param:openstack_region}
domain_id: ${_param:designate_domain_id}
version: ${_param:designate_version}
+ role: ${_param:openstack_node_role}
admin_api:
enabled: ${_param:designate_admin_api_enabled}
enabled_extensions_admin: quotas
diff --git a/docker/swarm/network/keycloak_backend.yml b/docker/swarm/network/keycloak_backend.yml
new file mode 100644
index 0000000..5b1c625
--- /dev/null
+++ b/docker/swarm/network/keycloak_backend.yml
@@ -0,0 +1,11 @@
+parameters:
+ _param:
+ docker_keycloak_network_subnet: 10.70.0.0/24
+ docker:
+ client:
+ network:
+ keycloak_backend:
+ subnet: ${_param:docker_keycloak_network_subnet}
+ driver: overlay
+ attachable: true
+
diff --git a/docker/swarm/stack/jenkins/slave.yml b/docker/swarm/stack/jenkins/slave.yml
index 42a0031..e6ed298 100644
--- a/docker/swarm/stack/jenkins/slave.yml
+++ b/docker/swarm/stack/jenkins/slave.yml
@@ -35,7 +35,7 @@
image: ${_param:docker_image_jenkins_slave}
volumes:
- /etc/ssl/certs/java/cacerts:/etc/ssl/certs/java/cacerts:ro
- - /etc/aptly-publisher.yaml:/etc/aptly-publisher.yaml:ro
+ - /etc/aptly:/etc/aptly:ro
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker:ro
- /var/lib/jenkins:/var/lib/jenkins
@@ -59,7 +59,7 @@
image: ${_param:docker_image_jenkins_slave}
volumes:
- /etc/ssl/certs/java/cacerts:/etc/ssl/certs/java/cacerts:ro
- - /etc/aptly-publisher.yaml:/etc/aptly-publisher.yaml:ro
+ - /etc/aptly:/etc/aptly:ro
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker:ro
- /var/lib/jenkins:/var/lib/jenkins
@@ -83,7 +83,7 @@
image: ${_param:docker_image_jenkins_slave}
volumes:
- /etc/ssl/certs/java/cacerts:/etc/ssl/certs/java/cacerts:ro
- - /etc/aptly-publisher.yaml:/etc/aptly-publisher.yaml:ro
+ - /etc/aptly:/etc/aptly:ro
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker:ro
- /var/lib/jenkins:/var/lib/jenkins
diff --git a/docker/swarm/stack/keycloak.yml b/docker/swarm/stack/keycloak.yml
new file mode 100644
index 0000000..0187a08
--- /dev/null
+++ b/docker/swarm/stack/keycloak.yml
@@ -0,0 +1,38 @@
+parameters:
+ _param:
+ docker_keycloak_server_replicas: 3
+ docker_keycloak_proxy_replicas: 1
+ docker_image_keycloak_server: jboss/keycloak:3.4.2.Final
+ docker_image_keycloak_proxy: jboss/keycloak-proxy:3.4.2.h
+ keycloak_bind_port: ${_param:haproxy_keycloak_bind_port}
+ keycloak_proxy_bind_port: ${_param:haproxy_keycloak_proxy_bind_port}
+ docker:
+ client:
+ stack:
+ keycloak:
+ service:
+ keycloak-server:
+ image: ${_param:docker_image_keycloak_server}
+ deploy:
+ replicas: ${_param:docker_keycloak_server_replicas}
+ restart_policy:
+ condition: any
+ ports:
+ - ${_param:haproxy_keycloak_exposed_port}:${_param:keycloak_bind_port}
+ volumes:
+ - /srv/volumes/keycloak/server/:/app
+ keycloak-proxy:
+ image: ${_param:docker_image_keycloak_proxy}
+ deploy:
+ replicas: ${_param:docker_keycloak_proxy_replicas}
+ restart_policy:
+ condition: any
+ ports:
+ - ${_param:haproxy_keycloak_proxy_exposed_port}:${_param:keycloak_proxy_bind_port}
+ volumes:
+ - /srv/volumes/keycloak/proxy/proxy.json:/opt/jboss/conf/proxy.json
+ network:
+ default:
+ external:
+ name: keycloak_backend
+
diff --git a/docker/swarm/stack/kqueen.yml b/docker/swarm/stack/kqueen.yml
index 430a344..0c61ed9 100644
--- a/docker/swarm/stack/kqueen.yml
+++ b/docker/swarm/stack/kqueen.yml
@@ -33,24 +33,45 @@
client:
stack:
kqueen:
+ environment:
+ KQUEEN_DEBUG: ${_param:kqueen_api_debug}
+ KQUEEN_CONFIG_FILE: config/prod.py
+ KQUEEN_LDAP_URI: ${_param:kqueen_api_ldap_uri}
+ KQUEEN_LDAP_DN: ${_param:kqueen_api_ldap_dn}
+ KQUEEN_LDAP_PASSWORD: ${_param:kqueen_api_ldap_password}
+ KQUEEN_AUTH_MODULES: ${_param:kqueen_api_auth_modules}
+ KQUEEN_ETCD_HOST: ${_param:kqueen_api_db_host}
+ KQUEEN_PROMETHEUS_WHITELIST: ${_param:kqueen_api_prometheus_whitelist}
+ KQUEEN_SECRET_KEY: ${_param:kqueen_credentials:kqueen_api_secret_key}
+ BOOTSTRAP_ADMIN: ${_param:kqueen_credentials:kqueen_api_bootstrap_admin}
+ BOOTSTRAP_ADMIN_USERNAME: ${_param:kqueen_credentials:kqueen_api_admin_username}
+ BOOTSTRAP_ADMIN_PASSWORD: ${_param:kqueen_credentials:kqueen_api_admin_password}
+ BOOTSTRAP_ADMIN_ORGANIZATION: ${_param:kqueen_credentials:kqueen_api_admin_organization}
+ BOOTSTRAP_ADMIN_NAMESPACE: ${_param:kqueen_credentials:kqueen_api_admin_namespace}
+ KQUEENUI_PREFERRED_URL_SCHEME: https
+ KQUEENUI_DEBUG: ${_param:kqueen_ui_debug}
+ KQUEEN_UI_CONFIG_FILE: config/prod.py
+ KQUEENUI_SECRET_KEY: ${_param:kqueen_credentials:kqueen_ui_secret_key}
+ KQUEENUI_KQUEEN_API_URL: http://${_param:kqueen_api_bind_host}:${_param:kqueen_api_bind_port}/api/v1/
+ KQUEENUI_KQUEEN_AUTH_URL: http://${_param:kqueen_api_bind_host}:${_param:kqueen_api_bind_port}/api/v1/auth
+ KQUEENUI_KQUEEN_SERVICE_USER_USERNAME: ${_param:kqueen_credentials:kqueen_api_admin_username}
+ KQUEENUI_KQUEEN_SERVICE_USER_PASSWORD: ${_param:kqueen_credentials:kqueen_api_admin_password}
+ KQUEENUI_MAIL_SERVER: ${_param:kqueen_ui_mail_host}
+ KQUEENUI_MAIL_PORT: ${_param:kqueen_ui_mail_port}
+ KQUEENUI_ENABLE_PUBLIC_REGISTRATION: ${_param:kqueen_ui_enable_public_registration}
+ KQUEENUI_LDAP_AUTH_NOTIFY: ${_param:kqueen_ui_ldap_auth_notify}
+ KQUEENUI_LOCAL_AUTH_NOTIFY: ${_param:kqueen_ui_local_auth_notify}
+ STATIC_DIR: /mnt/static/
+ ETCD_NAME: 0
+ ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd:2380
+ ETCD_INITIAL_CLUSTER_STATE: new
+ ETCD_INITIAL_CLUSTER_TOKEN: etcd-cluster-1
+ ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:${_param:haproxy_etcd_bind_port}
+ ETCD_LISTEN_PEER_URLS: http://0.0.0.0:2380
+ ETCD_ADVERTISE_CLIENT_URLS: http://127.0.0.1:4001,http://etcd:${_param:haproxy_etcd_bind_port}
service:
kqueen-api:
image: ${_param:docker_image_kqueen_api}
- environment:
- KQUEEN_DEBUG: ${_param:kqueen_api_debug}
- KQUEEN_CONFIG_FILE: config/prod.py
- KQUEEN_LDAP_URI: ${_param:kqueen_api_ldap_uri}
- KQUEEN_LDAP_DN: ${_param:kqueen_api_ldap_dn}
- KQUEEN_LDAP_PASSWORD: ${_param:kqueen_api_ldap_password}
- KQUEEN_AUTH_MODULES: ${_param:kqueen_api_auth_modules}
- KQUEEN_ETCD_HOST: ${_param:kqueen_api_db_host}
- KQUEEN_PROMETHEUS_WHITELIST: ${_param:kqueen_api_prometheus_whitelist}
- KQUEEN_SECRET_KEY: ${_param:kqueen_credentials:kqueen_api_secret_key}
- BOOTSTRAP_ADMIN: ${_param:kqueen_credentials:kqueen_api_bootstrap_admin}
- BOOTSTRAP_ADMIN_USERNAME: ${_param:kqueen_credentials:kqueen_api_admin_username}
- BOOTSTRAP_ADMIN_PASSWORD: ${_param:kqueen_credentials:kqueen_api_admin_password}
- BOOTSTRAP_ADMIN_ORGANIZATION: ${_param:kqueen_credentials:kqueen_api_admin_organization}
- BOOTSTRAP_ADMIN_NAMESPACE: ${_param:kqueen_credentials:kqueen_api_admin_namespace}
deploy:
replicas: ${_param:docker_kqueen_api_replicas}
restart_policy:
@@ -61,21 +82,6 @@
- /srv/volumes/kqueen/logs/:/var/log/kqueen-api
kqueen-ui:
image: ${_param:docker_image_kqueen_ui}
- environment:
- KQUEENUI_PREFERRED_URL_SCHEME: https
- KQUEENUI_DEBUG: ${_param:kqueen_ui_debug}
- KQUEEN_UI_CONFIG_FILE: config/prod.py
- KQUEENUI_SECRET_KEY: ${_param:kqueen_credentials:kqueen_ui_secret_key}
- KQUEENUI_KQUEEN_API_URL: http://${_param:kqueen_api_bind_host}:${_param:kqueen_api_bind_port}/api/v1/
- KQUEENUI_KQUEEN_AUTH_URL: http://${_param:kqueen_api_bind_host}:${_param:kqueen_api_bind_port}/api/v1/auth
- KQUEENUI_KQUEEN_SERVICE_USER_USERNAME: ${_param:kqueen_credentials:kqueen_api_admin_username}
- KQUEENUI_KQUEEN_SERVICE_USER_PASSWORD: ${_param:kqueen_credentials:kqueen_api_admin_password}
- KQUEENUI_MAIL_SERVER: ${_param:kqueen_ui_mail_host}
- KQUEENUI_MAIL_PORT: ${_param:kqueen_ui_mail_port}
- KQUEENUI_ENABLE_PUBLIC_REGISTRATION: ${_param:kqueen_ui_enable_public_registration}
- KQUEENUI_LDAP_AUTH_NOTIFY: ${_param:kqueen_ui_ldap_auth_notify}
- KQUEENUI_LOCAL_AUTH_NOTIFY: ${_param:kqueen_ui_local_auth_notify}
- STATIC_DIR: /mnt/static/
deploy:
replicas: ${_param:docker_kqueen_ui_replicas}
restart_policy:
@@ -86,14 +92,6 @@
- /srv/volumes/kqueen/logs/:/var/log/kqueen-ui
etcd:
image: quay.io/coreos/etcd:latest
- environment:
- ETCD_NAME: 0
- ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd:2380
- ETCD_INITIAL_CLUSTER_STATE: new
- ETCD_INITIAL_CLUSTER_TOKEN: etcd-cluster-1
- ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:${_param:haproxy_etcd_bind_port}
- ETCD_LISTEN_PEER_URLS: http://0.0.0.0:2380
- ETCD_ADVERTISE_CLIENT_URLS: http://127.0.0.1:4001,http://etcd:${_param:haproxy_etcd_bind_port}
ports:
- ${_param:haproxy_etcd_exposed_port}:${_param:haproxy_etcd_bind_port}
volumes:
diff --git a/docker/swarm/stack/monitoring/alerta.yml b/docker/swarm/stack/monitoring/alerta.yml
index c0da7d5..858eb38 100644
--- a/docker/swarm/stack/monitoring/alerta.yml
+++ b/docker/swarm/stack/monitoring/alerta.yml
@@ -27,4 +27,5 @@
- ${prometheus:alerta:config_dir}/alerta.conf:/web/config.js
environment:
ADMIN_USERS: ${_param:alerta_admin_username}
- MONGO_URI: ${_param:alerta_mongodb_uri}
\ No newline at end of file
+ ADMIN_PASSWORD: ${_param:alerta_admin_password}
+ MONGO_URI: ${_param:alerta_mongodb_uri}
diff --git a/docker/swarm/stack/monitoring/gainsight.yml b/docker/swarm/stack/monitoring/gainsight.yml
new file mode 100644
index 0000000..11344b7
--- /dev/null
+++ b/docker/swarm/stack/monitoring/gainsight.yml
@@ -0,0 +1,53 @@
+classes:
+- system.prometheus.gainsight.container
+parameters:
+ _param:
+ gainsight_enabled: 'true'
+ gainsight_csv_upload_url: 'http://localhost:9999'
+ gainsight_account_id: 'default'
+ gainsight_environment_id: 'default'
+ gainsight_app_org_id: 'default'
+ gainsight_access_key: 'default'
+ gainsight_job_id: 'default'
+ gainsight_login: 'default'
+ gainsight_prometheus_url: "http://${_param:stacklight_monitor_address}:15010"
+ gainsight_config_directory: '/srv/gainsight'
+ gainsight_crontab_directory: '/etc/cron.d'
+ gainsight_config_path: "${_param:gainsight_config_directory}/config.ini"
+ docker_image_prometheus_gainsight: 'docker-prod-local.artifactory.mirantis.com/openstack-docker/gainsight:nightly'
+ docker:
+ client:
+ stack:
+ monitoring:
+ network:
+ monitoring:
+ driver: overlay
+ driver_opts:
+ encrypted: 1
+ service:
+ gainsight:
+ networks:
+ - monitoring
+ deploy:
+ replicas: 1
+ labels:
+ com.mirantis.monitoring: "gainsight"
+ restart_policy:
+ condition: any
+ labels:
+ com.mirantis.monitoring: "gainsight"
+ image: ${_param:docker_image_prometheus_gainsight}
+ volumes:
+ - ${prometheus:gainsight:dir:config}:${_param:gainsight_config_directory}
+ - ${prometheus:gainsight:dir:crontab}:${_param:gainsight_crontab_directory}
+ environment:
+ CSV_UPLOAD_URL: "${_param:gainsight_csv_upload_url}"
+ ACCOUNT_ID: "${_param:gainsight_account_id}"
+ ENVIRONMENT_ID: "${_param:gainsight_environment_id}"
+ APP_ORG_ID: "${_param:gainsight_app_org_id}"
+ ACCESS_KEY: "${_param:gainsight_access_key}"
+ JOB_ID: "${_param:gainsight_job_id}"
+ LOGIN: "${_param:gainsight_login}"
+ PROMETHEUS_URL: "${_param:gainsight_prometheus_url}"
+ CONFIG_PATH: "${_param:gainsight_config_path}"
+ ENABLED: "${_param:gainsight_enabled}"
diff --git a/docker/swarm/stack/monitoring/pushgateway.yml b/docker/swarm/stack/monitoring/pushgateway.yml
index af108a6..461eb0b 100644
--- a/docker/swarm/stack/monitoring/pushgateway.yml
+++ b/docker/swarm/stack/monitoring/pushgateway.yml
@@ -23,8 +23,11 @@
environment:
PUSHGATEWAY_BIND_PORT: ${prometheus:pushgateway:bind:port}
PUSHGATEWAY_BIND_ADDRESS: ${prometheus:pushgateway:bind:address}
+ PUSHGATEWAY_DATA_DIR: ${_param:prometheus_pushgateway_data_directory}
labels:
com.mirantis.monitoring: "pushgateway"
image: ${_param:docker_image_pushgateway}
ports:
- 15012:${prometheus:pushgateway:bind:port}
+ volumes:
+ - ${prometheus:pushgateway:dir:data}:${_param:prometheus_pushgateway_data_directory}
diff --git a/elasticsearch/server/curator.yml b/elasticsearch/server/curator.yml
index e4e5ace..fe7383d 100644
--- a/elasticsearch/server/curator.yml
+++ b/elasticsearch/server/curator.yml
@@ -12,41 +12,33 @@
actions:
- action: delete_indices
description: >-
- Delete indices older than ${_param:elasticsearch_curator_retention_period} days (based on index name).
+ Delete indices older than ${_param:elasticsearch_curator_retention_period} days (based on index creation date).
options:
ignore_empty_list: True
- timeout_override:
continue_if_exception: False
disable_action: False
filters:
- filtertype: pattern
kind: regex
value: "${_param:elasticsearch_curator_indices_pattern}"
- exclude:
- filtertype: age
- source: name
+ source: creation_date
direction: older
- timestring: '%Y.%m.%d'
unit: days
unit_count: ${_param:elasticsearch_curator_retention_period}
- exclude:
- action: delete_indices
description: >-
- Delete indices older than ${_param:elasticsearch_curator_retention_period} days (based on index name).
+ Delete indices older than ${_param:elasticsearch_curator_retention_period} days (based on index creation date).
options:
ignore_empty_list: True
- timeout_override:
continue_if_exception: False
disable_action: False
filters:
- filtertype: pattern
kind: regex
value: "^events_.*$"
- exclude:
- filtertype: age
- source: name
+ source: creation_date
direction: older
- timestring: '%Y-%m-%d'
unit: days
unit_count: ${_param:elasticsearch_curator_retention_period}
- exclude:
\ No newline at end of file
diff --git a/gerrit/client/init.yml b/gerrit/client/init.yml
index 5d719d4..16e4231 100644
--- a/gerrit/client/init.yml
+++ b/gerrit/client/init.yml
@@ -3,6 +3,7 @@
parameters:
_param:
gerrit_try_login: true
+ gerrit_server_host: ${_param:cluster_vip_address}
gerrit:
client:
enabled: True
@@ -12,7 +13,7 @@
gerrit_config: /srv/volumes/gerrit/etc/gerrit.config
gerrit_secure_config: /srv/volumes/gerrit/etc/secure.config
server:
- host: ${_param:cluster_vip_address}
+ host: ${_param:gerrit_server_host}
user: admin
email: ${_param:gerrit_admin_email}
auth_method: basic
diff --git a/gerrit/server/single.yml b/gerrit/server/single.yml
index c279f00..f0f6492 100644
--- a/gerrit/server/single.yml
+++ b/gerrit/server/single.yml
@@ -61,7 +61,7 @@
gerrit:
enabled: true
encoding: 'UTF8'
- locale: 'cs_CZ'
+ locale: 'en_US'
users:
- name: gerrit
password: ${_param:postgresql_gerrit_password}
diff --git a/glance/client/image/vnf_onboarding/metaswitch.yml b/glance/client/image/vnf_onboarding/metaswitch_vsbc.yml
similarity index 100%
rename from glance/client/image/vnf_onboarding/metaswitch.yml
rename to glance/client/image/vnf_onboarding/metaswitch_vsbc.yml
diff --git a/glance/control/cluster.yml b/glance/control/cluster.yml
index bb87f16..e218835 100644
--- a/glance/control/cluster.yml
+++ b/glance/control/cluster.yml
@@ -15,6 +15,7 @@
enabled: true
version: ${_param:glance_version}
workers: 8
+ role: ${_param:openstack_node_role}
database:
engine: mysql
host: ${_param:openstack_database_address}
diff --git a/glance/control/single.yml b/glance/control/single.yml
index b285d38..63e1b48 100644
--- a/glance/control/single.yml
+++ b/glance/control/single.yml
@@ -9,6 +9,9 @@
version: latest
glance:
server:
+ role: ${_param:openstack_node_role}
database:
host: ${_param:single_address}
+ identity:
+ region: ${_param:openstack_region}
show_multiple_locations: True
diff --git a/glusterfs/client/volume/keycloak.yml b/glusterfs/client/volume/keycloak.yml
new file mode 100644
index 0000000..06d6134
--- /dev/null
+++ b/glusterfs/client/volume/keycloak.yml
@@ -0,0 +1,16 @@
+parameters:
+ _param:
+ keycloak_glusterfs_service_host: ${_param:glusterfs_service_host}
+ glusterfs_node01_address: ${_param:cluster_node01_address}
+ glusterfs_node02_address: ${_param:cluster_node02_address}
+ glusterfs_node03_address: ${_param:cluster_node03_address}
+ glusterfs:
+ client:
+ volumes:
+ keycloak:
+ path: /srv/volumes/keycloak
+ server: ${_param:keycloak_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:glusterfs_node01_address}:${_param:glusterfs_node02_address}:${_param:glusterfs_node03_address}"
+ user: 1000
+ group: 1000
+
diff --git a/glusterfs/client/volume/keystone.yml b/glusterfs/client/volume/keystone.yml
index 39c5619..a93c0c1 100644
--- a/glusterfs/client/volume/keystone.yml
+++ b/glusterfs/client/volume/keystone.yml
@@ -12,6 +12,7 @@
server: ${_param:keystone_glusterfs_service_host}
user: keystone
group: keystone
+ mode: 750
opts: "defaults,backup-volfile-servers=${_param:glusterfs_node01_address}:${_param:glusterfs_node02_address}:${_param:glusterfs_node03_address}"
keystone-credential-keys:
path: /var/lib/keystone/credential-keys
diff --git a/glusterfs/server/volume/keycloak.yml b/glusterfs/server/volume/keycloak.yml
new file mode 100644
index 0000000..c8c71f0
--- /dev/null
+++ b/glusterfs/server/volume/keycloak.yml
@@ -0,0 +1,20 @@
+parameters:
+ glusterfs:
+ server:
+ volumes:
+ keycloak:
+ storage: /srv/glusterfs/keycloak
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/keycloak
+ - ${_param:cluster_node02_address}:/srv/glusterfs/keycloak
+ - ${_param:cluster_node03_address}:/srv/glusterfs/keycloak
+ options:
+ cluster.readdir-optimize: On
+ nfs.disable: On
+ network.remote-dio: On
+ diagnostics.client-log-level: WARNING
+ diagnostics.brick-log-level: WARNING
+ cluster.favorite-child-policy: mtime
+
+
diff --git a/gnocchi/client/init.yml b/gnocchi/client/init.yml
new file mode 100644
index 0000000..2fcea87
--- /dev/null
+++ b/gnocchi/client/init.yml
@@ -0,0 +1,2 @@
+classes:
+- service.gnocchi.client
diff --git a/gnocchi/client/v1/archive_policy/default.yml b/gnocchi/client/v1/archive_policy/default.yml
new file mode 100644
index 0000000..82de812
--- /dev/null
+++ b/gnocchi/client/v1/archive_policy/default.yml
@@ -0,0 +1,27 @@
+parameters:
+ _param:
+ gnocchi_default_policy_granularity_1: '0:01:00'
+ gnocchi_default_policy_points_1: 10080
+ gnocchi_default_policy_timespan_1: '7 days'
+ gnocchi_default_policy_granularity_2: '1:00:00'
+ gnocchi_default_policy_points_2: 8760
+ gnocchi_default_policy_timespan_2: '365 days'
+ gnocchi_default_policy_rule_metric_pattern: '"*"'
+ gnocchi:
+ client:
+ resources:
+ v1:
+ enabled: true
+ cloud_name: 'admin_identity'
+ archive_policies:
+ default:
+ definition:
+ - granularity: "${_param:gnocchi_default_policy_granularity_1}"
+ points: "${_param:gnocchi_default_policy_points_1}"
+ timespan: "${_param:gnocchi_default_policy_timespan_1}"
+ - granularity: "${_param:gnocchi_default_policy_granularity_2}"
+ points: "${_param:gnocchi_default_policy_points_2}"
+ timespan: "${_param:gnocchi_default_policy_timespan_2}"
+ rules:
+ default:
+ metric_pattern: "${_param:gnocchi_default_policy_rule_metric_pattern}"
diff --git a/gnocchi/server/cluster.yml b/gnocchi/server/cluster.yml
index 062b60e..ede63c5 100644
--- a/gnocchi/server/cluster.yml
+++ b/gnocchi/server/cluster.yml
@@ -12,8 +12,13 @@
gnocchi:
server:
enable_proxy_headers_parsing: true
+ role: ${_param:openstack_node_role}
+ metricd:
+ metric_processing_delay: 15
+ metric_reporting_delay: 30
identity:
host: ${_param:openstack_control_address}
+ region: ${_param:openstack_region}
cache:
engine: memcached
members:
diff --git a/gnocchi/server/single.yml b/gnocchi/server/single.yml
index 035491e..11ddf39 100644
--- a/gnocchi/server/single.yml
+++ b/gnocchi/server/single.yml
@@ -1,2 +1,11 @@
classes:
- service.gnocchi.server.single
+parameters:
+ gnocchi:
+ server:
+ role: ${_param:openstack_node_role}
+ identity:
+ region: ${_param:openstack_region}
+ metricd:
+ metric_processing_delay: 15
+ metric_reporting_delay: 30
diff --git a/grafana/client/datasource/prometheus.yml b/grafana/client/datasource/prometheus.yml
index 681b9df..22d5728 100644
--- a/grafana/client/datasource/prometheus.yml
+++ b/grafana/client/datasource/prometheus.yml
@@ -12,4 +12,3 @@
host: ${_param:grafana_prometheus_address}
port: ${_param:grafana_prometheus_port}
is_default: ${_param:grafana_prometheus_is_default}
-
diff --git a/graphite/server/single.yml b/graphite/server/single.yml
index 364877e..237c65d 100644
--- a/graphite/server/single.yml
+++ b/graphite/server/single.yml
@@ -29,7 +29,7 @@
database:
graphite:
encoding: UTF8
- locale: cs_CZ
+ locale: en_US
users:
- name: graphite
password: ${_param:postgresql_graphite_password}
diff --git a/haproxy/proxy/listen/cicd/kqueen.yml b/haproxy/proxy/listen/cicd/kqueen.yml
index 52b02d0..71b6f3c 100644
--- a/haproxy/proxy/listen/cicd/kqueen.yml
+++ b/haproxy/proxy/listen/cicd/kqueen.yml
@@ -2,7 +2,7 @@
_param:
haproxy_kqueen_api_bind_host: ${_param:haproxy_bind_address}
haproxy_kqueen_api_bind_port: 5000
- haproxy_kqueen_api_exposed_port: 15000
+ haproxy_kqueen_api_exposed_port: 15001
haproxy_kqueen_ui_bind_host: ${_param:haproxy_bind_address}
haproxy_kqueen_ui_bind_port: 5080
haproxy_kqueen_ui_exposed_port: 15080
diff --git a/haproxy/proxy/listen/keycloak.yml b/haproxy/proxy/listen/keycloak.yml
new file mode 100644
index 0000000..73697a3
--- /dev/null
+++ b/haproxy/proxy/listen/keycloak.yml
@@ -0,0 +1,71 @@
+parameters:
+ _param:
+ haproxy_keycloak_bind_host: ${_param:haproxy_bind_address}
+ haproxy_keycloak_bind_port: 8086
+ haproxy_keycloak_exposed_port: 18086
+ haproxy_keycloak_ssl:
+ enabled: false
+ haproxy_keycloak_proxy_bind_host: ${_param:haproxy_bind_address}
+ haproxy_keycloak_proxy_bind_port: 8180
+ haproxy_keycloak_proxy_exposed_port: 18180
+ haproxy_keycloak_proxy_ssl:
+ enabled: false
+ haproxy:
+ proxy:
+ listen:
+ keycloak:
+ mode: http
+ options:
+ - forwardfor
+ - httpchk
+ - httpclose
+ - httplog
+ balance: source
+ http_request:
+ - action: "add-header X-Forwarded-Proto https"
+ condition: "if { ssl_fc }"
+ binds:
+ - address: ${_param:haproxy_keycloak_bind_host}
+ port: ${_param:haproxy_keycloak_bind_port}
+ ssl: ${_param:haproxy_keycloak_ssl}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: ${_param:haproxy_keycloak_exposed_port}
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: ${_param:haproxy_keycloak_exposed_port}
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: ${_param:haproxy_keycloak_exposed_port}
+ params: backup check
+ keycloak_proxy:
+ mode: http
+ options:
+ - forwardfor
+ - httpchk
+ - httpclose
+ - httplog
+ balance: source
+ http_request:
+ - action: "add-header X-Forwarded-Proto https"
+ condition: "if { ssl_fc }"
+ binds:
+ - address: ${_param:haproxy_keycloak_proxy_bind_host}
+ port: ${_param:haproxy_keycloak_proxy_bind_port}
+ ssl: ${_param:haproxy_keycloak_proxy_ssl}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: ${_param:haproxy_keycloak_proxy_exposed_port}
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: ${_param:haproxy_keycloak_proxy_exposed_port}
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: ${_param:haproxy_keycloak_proxy_exposed_port}
+ params: backup check
diff --git a/haproxy/proxy/listen/opencontrail/analytics.yml b/haproxy/proxy/listen/opencontrail/analytics.yml
index fd20277..14890ca 100644
--- a/haproxy/proxy/listen/opencontrail/analytics.yml
+++ b/haproxy/proxy/listen/opencontrail/analytics.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ opencontrail_stats_password: password
haproxy:
proxy:
listen:
diff --git a/haproxy/proxy/listen/opencontrail/control.yml b/haproxy/proxy/listen/opencontrail/control.yml
index c389682..490d100 100644
--- a/haproxy/proxy/listen/opencontrail/control.yml
+++ b/haproxy/proxy/listen/opencontrail/control.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ opencontrail_stats_password: password
haproxy:
proxy:
listen:
diff --git a/haproxy/proxy/listen/openstack/galera/init.yml b/haproxy/proxy/listen/openstack/galera/init.yml
index c9bd41c..1dd1a1c 100644
--- a/haproxy/proxy/listen/openstack/galera/init.yml
+++ b/haproxy/proxy/listen/openstack/galera/init.yml
@@ -3,12 +3,6 @@
haproxy_params_check: 'check'
haproxy:
proxy:
- timeout:
- queue: '10s'
- connect: '10s'
- client: '10s'
- server: '10s'
- check: '10s'
listen:
mysql_cluster:
type: mysql
diff --git a/haproxy/proxy/listen/openstack/horizon.yml b/haproxy/proxy/listen/openstack/horizon.yml
index 14f5c2b..d507b96 100644
--- a/haproxy/proxy/listen/openstack/horizon.yml
+++ b/haproxy/proxy/listen/openstack/horizon.yml
@@ -3,7 +3,7 @@
proxy:
listen:
horizon_web:
- type: general-service
+ type: horizon
check: false
binds:
- address: ${_param:cluster_vip_address}
@@ -20,4 +20,4 @@
- name: ${_param:cluster_node03_hostname}
host: ${_param:cluster_node03_address}
port: 8078
- params: check
\ No newline at end of file
+ params: check
diff --git a/heat/server/cluster.yml b/heat/server/cluster.yml
index 5829aee..eee2b63 100644
--- a/heat/server/cluster.yml
+++ b/heat/server/cluster.yml
@@ -22,6 +22,7 @@
enabled: true
region: ${_param:openstack_region}
version: ${_param:heat_version}
+ role: ${_param:openstack_node_role}
bind:
api_cfn:
address: ${_param:cluster_local_address}
diff --git a/heat/server/single.yml b/heat/server/single.yml
index cd548bf..e686050 100644
--- a/heat/server/single.yml
+++ b/heat/server/single.yml
@@ -9,6 +9,8 @@
version: latest
heat:
server:
+ role: ${_param:openstack_node_role}
+ region: ${_param:openstack_region}
stack_domain_admin:
name: heat_domain_admin
password: ${_param:heat_domain_admin_password}
diff --git a/horizon/server/plugin/contrail.yml b/horizon/server/plugin/contrail.yml
index 03da87e..9166bce 100644
--- a/horizon/server/plugin/contrail.yml
+++ b/horizon/server/plugin/contrail.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ opencontrail_version: 3.2
horizon:
server:
plugin:
@@ -6,8 +8,9 @@
source:
engine: pkg
name: openstack-dashboard-contrail-panels
+ opencontrail_version: ${_param:opencontrail_version}
horizon_overrides:
overrides:
- contrail_openstack_dashboard
openstack_neutron_network:
- enable_fip_topology_check: False
\ No newline at end of file
+ enable_fip_topology_check: False
diff --git a/horizon/server/plugin/theme.yml b/horizon/server/plugin/theme.yml
index 85475d7..cf83739 100644
--- a/horizon/server/plugin/theme.yml
+++ b/horizon/server/plugin/theme.yml
@@ -10,3 +10,12 @@
source:
engine: pkg
name: openstack-dashboard-${_param:horizon_dashboard_theme}-theme
+ themes:
+ default: "mirantis"
+ available:
+ mirantis:
+ name: "Mirantis"
+ description: "Mirantis theme"
+ enabled: True
+ material:
+ enabled: False
diff --git a/ironic/api/cluster.yml b/ironic/api/cluster.yml
index 5522f3f..b0bb69f 100644
--- a/ironic/api/cluster.yml
+++ b/ironic/api/cluster.yml
@@ -11,5 +11,6 @@
api:
enabled: true
version: ${_param:ironic_version}
+ role: ${_param:openstack_node_role}
bind:
address: ${_param:cluster_baremetal_local_address}
diff --git a/ironic/api/single.yml b/ironic/api/single.yml
index ed73e90..51c3f9c 100644
--- a/ironic/api/single.yml
+++ b/ironic/api/single.yml
@@ -9,5 +9,6 @@
version: latest
ironic:
api:
+ role: ${_param:openstack_node_role}
bind:
address: ${_param:single_address}
diff --git a/jenkins/client/approved_scripts.yml b/jenkins/client/approved_scripts.yml
index 1fb68c9..65db576 100644
--- a/jenkins/client/approved_scripts.yml
+++ b/jenkins/client/approved_scripts.yml
@@ -151,3 +151,9 @@
- staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getAt java.util.Collection java.lang.String
- staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods init java.util.List
- staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods asBoolean java.lang.CharSequence
+ - staticMethod hudson.model.Hudson getInstance
+ - method hudson.model.Job getProperty java.lang.Class
+ - method hudson.model.ParametersDefinitionProperty getParameterDefinitions
+ - method hudson.model.ParameterDefinition getName
+ - method hudson.model.StringParameterDefinition getDefaultValue
+ - method java.util.Collection toArray
diff --git a/jenkins/client/init.yml b/jenkins/client/init.yml
index 856eec5..409b3f3 100644
--- a/jenkins/client/init.yml
+++ b/jenkins/client/init.yml
@@ -10,39 +10,56 @@
jenkins_master_port: 8081
jenkins_aptly_storages: "local"
jenkins_pipelines_branch: "master"
+ jenkins_offline_deployment: "false"
jenkins:
client:
+ globalenvprop:
+ OFFLINE_DEPLOYMENT:
+ value: ${_param:jenkins_offline_deployment}
master:
host: ${_param:jenkins_master_host}
port: ${_param:jenkins_master_port}
username: ${_param:jenkins_client_user}
password: ${_param:jenkins_client_password}
plugin:
+ antisamy-markup-formatter: {}
artifactory: {}
+ blueocean: {}
build-blocker-plugin: {}
build-monitor-plugin: {}
+ build-timeout: {}
build-user-vars-plugin: {}
categorized-view: {}
+ copyartifact: {}
description-setter: {}
discard-old-build: {}
docker-workflow: {}
email-ext: {}
+ envinject: {}
extended-choice-parameter: {}
extensible-choice-parameter: {}
gerrit-trigger: {}
git: {}
+ github: {}
heavy-job: {}
jobConfigHistory: {}
jira: {}
ldap: {}
+ lockable-resources: {}
matrix-auth: {}
monitoring: {}
+ multiple-scms: {}
performance: {}
+ permissive-script-security: {}
pipeline-utility-steps: {}
+ plot: {}
+ prometheus: {}
rebuild: {}
simple-theme-plugin: {}
slack: {}
+ ssh-agent: {}
test-stability: {}
+ throttle-concurrents: {}
workflow-cps: {}
workflow-remote-loader: {}
workflow-scm-step:
@@ -52,6 +69,7 @@
enabled: true
url: ${_param:jenkins_gerrit_url}/mcp-ci/pipeline-library
credential_id: gerrit
+ branch: ${_param:jenkins_pipelines_branch}
view:
Mirrors:
enabled: true
diff --git a/jenkins/client/job/aptly.yml b/jenkins/client/job/aptly.yml
index 2ac90bb..55c7f88 100644
--- a/jenkins/client/job/aptly.yml
+++ b/jenkins/client/job/aptly.yml
@@ -97,7 +97,6 @@
type: string
default: "${_param:jenkins_aptly_storages}"
description: "Comma separated list of storage"
- job_template:
aptly-all:
name: aptly-{{operation}}-all-{{source}}-{{target}}
jobs:
diff --git a/jenkins/client/job/ceph/remove-node.yml b/jenkins/client/job/ceph/remove-node.yml
index af678b5..901e319 100644
--- a/jenkins/client/job/ceph/remove-node.yml
+++ b/jenkins/client/job/ceph/remove-node.yml
@@ -43,5 +43,5 @@
description: Only if removing OSD host. Set to true if crush map file should be updated. Enforce has to happen manually unless it is specifically set to be enforced in pillar.
WAIT_FOR_HEALTHY:
type: boolean
- default: 'false'
+ default: 'true'
description: Wait for healthy during pipeline
diff --git a/jenkins/client/job/ceph/remove-osd.yml b/jenkins/client/job/ceph/remove-osd.yml
index 0a5801d..99dcb37 100644
--- a/jenkins/client/job/ceph/remove-osd.yml
+++ b/jenkins/client/job/ceph/remove-osd.yml
@@ -41,5 +41,5 @@
description: Flags to be aplied before pipeline and after pipeline (comma-separated list)
WAIT_FOR_HEALTHY:
type: boolean
- default: 'false'
+ default: 'true'
description: Wait for healthy during pipeline
diff --git a/jenkins/client/job/ceph/replace-failed-osd.yml b/jenkins/client/job/ceph/replace-failed-osd.yml
index 43c2f0b..a342ffb 100644
--- a/jenkins/client/job/ceph/replace-failed-osd.yml
+++ b/jenkins/client/job/ceph/replace-failed-osd.yml
@@ -34,6 +34,9 @@
DEVICE:
type: string
description: Comma separated list of failed devices that will be replaced at HOST (/dev/sdb,/dev/sdc)
+ DATA_PARTITION:
+ type: string
+ description: (Optional) Comma separated list of mounted partitions of failed device. These partitions will be unmounted. For ex. /dev/sdb1,/dev/sdb3
JOURNAL_BLOCKDB_BLOCKWAL_PARTITION:
type: string
description: Comma separated list of partitions where journal, block_db or block_wal for the failed devices on this HOST were stored (/dev/sdh2,/dev/sdh3)
@@ -43,7 +46,7 @@
default: 'cmn01*'
WAIT_FOR_HEALTHY:
type: boolean
- default: 'false'
+ default: 'true'
description: Wait for healthy during pipeline
DMCRYPT:
type: boolean
diff --git a/jenkins/client/job/debian/packages/horizon/modules.yml b/jenkins/client/job/debian/packages/horizon/modules.yml
index c908e5c..357be6e 100644
--- a/jenkins/client/job/debian/packages/horizon/modules.yml
+++ b/jenkins/client/job/debian/packages/horizon/modules.yml
@@ -126,6 +126,18 @@
os_version: pike
branch: stable/pike
# Trusty
+ - name: horizon-contrail-panels
+ os: ubuntu
+ dist: trusty
+ os_version: queens
+ branch: stable/queens
+ # Xenial
+ - name: horizon-contrail-panels
+ os: ubuntu
+ dist: xenial
+ os_version: queens
+ branch: stable/queens
+ # Trusty
- name: horizon-jenkins-dashboard
os: ubuntu
dist: trusty
diff --git a/jenkins/client/job/debian/packages/salt.yml b/jenkins/client/job/debian/packages/salt.yml
index ad35faa..7a9dd04 100644
--- a/jenkins/client/job/debian/packages/salt.yml
+++ b/jenkins/client/job/debian/packages/salt.yml
@@ -617,6 +617,10 @@
upload_source_package: true
upload_to_aptly: true
dist: xenial
+ - name: hubble
+ upload_source_package: true
+ upload_to_aptly: true
+ dist: xenial
- name: influxdb
upload_source_package: true
upload_to_aptly: true
@@ -749,6 +753,10 @@
upload_source_package: true
upload_to_aptly: true
dist: xenial
+ - name: openscap
+ upload_source_package: true
+ upload_to_aptly: true
+ dist: xenial
- name: openssh
upload_source_package: true
upload_to_aptly: true
diff --git a/jenkins/client/job/deploy/lab/deploy.yml b/jenkins/client/job/deploy/lab/deploy.yml
index 5b63d94..624e553 100644
--- a/jenkins/client/job/deploy/lab/deploy.yml
+++ b/jenkins/client/job/deploy/lab/deploy.yml
@@ -90,6 +90,10 @@
default: ""
# salt
+ EXTRA_TARGET:
+ type: string
+ default: ""
+ description: "Salt extra target for edge clouds deployment"
SALT_MASTER_CREDENTIALS:
type: string
default: "salt-qa-credentials"
@@ -100,6 +104,10 @@
type: text
default: ""
description: "YAML with overrides for Salt deployment"
+ SALT_VERSION:
+ type: text
+ default: "stable 2017.7"
+ description: "Version of Salt which is going to be installed i.e. 'stable 2016.3' or 'stable 2017.7' etc. Warning: This value doesn't override salt_version parameter set in the pillar."
BOOTSTRAP_EXTRA_REPO_PARAMS:
type: string
default: ""
@@ -167,7 +175,7 @@
default: "http://127.0.0.1:8080"
TEST_K8S_CONFORMANCE_IMAGE:
type: string
- default: "docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/k8s-conformance:v1.8.9-7"
+ default: "docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/k8s-conformance:v1.10.4-4"
TEST_TEMPEST_IMAGE:
type: string
diff --git a/jenkins/client/job/deploy/lab/init.yml b/jenkins/client/job/deploy/lab/init.yml
index 6d197a1..4953d19 100644
--- a/jenkins/client/job/deploy/lab/init.yml
+++ b/jenkins/client/job/deploy/lab/init.yml
@@ -12,6 +12,7 @@
- system.jenkins.client.job.deploy.lab.component.openstack
- system.jenkins.client.job.deploy.lab.component.stacklight
- system.jenkins.client.job.deploy.lab.ironic
+ - system.jenkins.client.job.deploy.lab.mom_deploy
parameters:
jenkins:
diff --git a/jenkins/client/job/deploy/lab/mom_deploy.yml b/jenkins/client/job/deploy/lab/mom_deploy.yml
new file mode 100644
index 0000000..8ae8f53
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/mom_deploy.yml
@@ -0,0 +1,126 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ deploy-virtual-edge-mom:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy - edge MoM"
+ discard:
+ build:
+ keep_num: 50
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ branch: "${_param:jenkins_pipelines_branch}"
+ credentials: "gerrit"
+ script: deploy-virtual-edge-mom.groovy
+ param:
+ # general parameters
+ ASK_ON_ERROR:
+ type: boolean
+ default: 'false'
+ FORMULA_PKG_REVISION:
+ type: string
+ default: ""
+ description: "Formulas revision to install on Salt Master bootstrap stage"
+ # heat parameters
+ HEAT_STACK_ENVIRONMENT:
+ type: string
+ default: "devcloud"
+ HEAT_STACK_PUBLIC_NET:
+ type: string
+ default: "public"
+ HEAT_STACK_ZONE:
+ type: string
+ default: "mcp-oscore"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: ""
+ OPENSTACK_API_CREDENTIALS:
+ type: string
+ default: "openstack-devcloud-credentials"
+ OPENSTACK_API_PROJECT:
+ type: string
+ default: "mcp-oscore"
+ OPENSTACK_API_PROJECT_DOMAIN:
+ type: string
+ default: "default"
+ OPENSTACK_API_PROJECT_ID:
+ type: string
+ default: ""
+ OPENSTACK_API_URL:
+ type: string
+ default: "https://cloud-cz.bud.mirantis.net:5000"
+ OPENSTACK_API_USER_DOMAIN:
+ type: string
+ default: "default"
+ OPENSTACK_API_VERSION:
+ type: string
+ default: "3"
+ OPENSTACK_USER_DOMAIN:
+ type: string
+ default: "default"
+ # salt
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt-qa-credentials"
+ SALT_MASTER_URL:
+ type: string
+ default: ""
+ SALT_OVERRIDES:
+ type: text
+ default: ""
+ STACK_CLEANUP_JOB:
+ type: string
+ default: "deploy-stack-cleanup"
+ STACK_DELETE:
+ type: boolean
+ default: 'false'
+ description: "Don't enable it if you need to use the lab after"
+ STACK_INSTALL:
+ type: string
+ default: "core"
+ # deployments
+ STACK_CLUSTER_NAME:
+ type: string
+ default: "virtual-mcp11-aio"
+ description: "Cluster name to use from reclass"
+ STACK_RECLASS_ADDRESS:
+ type: string
+ default: "https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-aio"
+ STACK_RECLASS_BRANCH:
+ type: string
+ default: "stable/pike"
+ STACK_TEMPLATE:
+ type: string
+ default: "virtual_edge_mom"
+ STACK_TEMPLATE_BRANCH:
+ type: string
+ default: "master"
+ STACK_TEMPLATE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ STACK_TEMPLATE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/mk/heat-templates"
+ STACK_TEST:
+ type: string
+ default: ""
+ STACK_TYPE:
+ type: string
+ default: "physical"
+ STATIC_MGMT_NETWORK:
+ type: boolean
+ default: 'false'
+ description: "Check if model contains static IP address definitions for all nodes"
+ TEST_DOCKER_INSTALL:
+ type: boolean
+ description: "Install docker on the target if true"
+ default: "false"
+ # edge deploy
+ EDGE_DEPLOY_SCHEMAS:
+ type: string
+ description: "JSON schemas of edge cloud environments"
+ default: ""
+
diff --git a/jenkins/client/job/deploy/update/cloud_update.yml b/jenkins/client/job/deploy/update/cloud_update.yml
index 3034ea5..d434850 100644
--- a/jenkins/client/job/deploy/update/cloud_update.yml
+++ b/jenkins/client/job/deploy/update/cloud_update.yml
@@ -156,3 +156,7 @@
type: boolean
default: 'false'
description: "Restore Cassandra and Zookeeper DBs for OpenContrail"
+ RUN_CVP_TESTS:
+ type: boolean
+ default: 'false'
+ description: "Run cloud validation pipelines before and after update"
diff --git a/jenkins/client/job/deploy/update/init.yml b/jenkins/client/job/deploy/update/init.yml
index fb1f5cf..35a2912 100644
--- a/jenkins/client/job/deploy/update/init.yml
+++ b/jenkins/client/job/deploy/update/init.yml
@@ -15,3 +15,4 @@
- system.jenkins.client.job.deploy.update.restore_zookeeper
- system.jenkins.client.job.deploy.update.virt_snapshot
- system.jenkins.client.job.deploy.update.cloud_update
+ - system.jenkins.client.job.deploy.update.kubernetes_update
diff --git a/jenkins/client/job/deploy/update/kubernetes_update.yml b/jenkins/client/job/deploy/update/kubernetes_update.yml
new file mode 100644
index 0000000..9fb23f9
--- /dev/null
+++ b/jenkins/client/job/deploy/update/kubernetes_update.yml
@@ -0,0 +1,51 @@
+#
+# Jobs to update cloud packages on given Salt master environment
+#
+parameters:
+ _param:
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ kubernetes_hyperkube_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes
+ jenkins:
+ client:
+ job:
+ deploy-k8s-upgrade:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy - update kubernetes cluster"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ branch: "${_param:jenkins_pipelines_branch}"
+ credentials: "gerrit"
+ script: k8s-upgrade-pipeline.groovy
+ param:
+ KUBERNETES_HYPERKUBE_IMAGE:
+ type: string
+ default: "${_param:kubernetes_hyperkube_repo}/hyperkube-amd64:v1.10.4-4"
+ description: "Versioned image to update control plane from. Should be null if update rolling via reclass-system level"
+ KUBERNETES_PAUSE_IMAGE:
+ type: string
+ default: "${_param:kubernetes_hyperkube_repo}/pause-amd64:v1.10.4-4"
+ description: "Versioned pause image to use in deployments. Should be null if update rolling via reclass-system level"
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt-qa-credentials"
+ PER_NODE:
+ type: boolean
+ default: 'true'
+ description: "Target nodes will be managed one by one"
+ TARGET_UPDATES:
+ type: string
+ default: "ctl,cmp"
+ description: "Comma separated list of nodes to update (Valid values are ctl,cmp)"
+ CTL_TARGET:
+ type: string
+ default: "I@kubernetes:master"
+ description: "Salt targeted kubernetes CTL nodes (ex. I@kubernetes:master). Kubernetes control plane"
+ CMP_TARGET:
+ type: string
+ default: "cmp* and I@kubernetes:pool"
+ description: "Salt targeted compute nodes (ex. 'cmp* and I@kubernetes:pool') Kubernetes computes"
diff --git a/jenkins/client/job/deploy/update/upgrade.yml b/jenkins/client/job/deploy/update/upgrade.yml
index 7e94c10..6ffc9c1 100644
--- a/jenkins/client/job/deploy/update/upgrade.yml
+++ b/jenkins/client/job/deploy/update/upgrade.yml
@@ -44,3 +44,7 @@
type: boolean
default: 'false'
description: "Set to true if vms should not be recreated"
+ INTERACTIVE:
+ type: boolean
+ default: 'true'
+ description: "Ask interactive questions during pipeline run (bool)"
diff --git a/jenkins/client/job/deploy/update/upgrade_compute.yml b/jenkins/client/job/deploy/update/upgrade_compute.yml
index 90bfc76..3986997 100644
--- a/jenkins/client/job/deploy/update/upgrade_compute.yml
+++ b/jenkins/client/job/deploy/update/upgrade_compute.yml
@@ -35,3 +35,7 @@
type: string
default: '1'
description: Number of selected nodes to live apply upgrade.
+ INTERACTIVE:
+ type: boolean
+ default: 'true'
+ description: "Ask interactive questions during pipeline run (bool)"
diff --git a/jenkins/client/job/deploy/update/upgrade_mcp_release.yml b/jenkins/client/job/deploy/update/upgrade_mcp_release.yml
index 8587140..c9b846f 100644
--- a/jenkins/client/job/deploy/update/upgrade_mcp_release.yml
+++ b/jenkins/client/job/deploy/update/upgrade_mcp_release.yml
@@ -10,7 +10,7 @@
upgrade-mcp-release:
type: workflow-scm
concurrent: true
- display_name: "Deploy - upgrade MCP Release"
+ display_name: "Deploy - upgrade MCP Drivetrain"
scm:
type: git
url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
@@ -27,7 +27,19 @@
MCP_VERSION:
type: string
default: ""
+ UPDATE_CLUSTER_MODEL:
+ type: boolean
+ default: 'true'
+ description: "Replace `apt_mk_version` parameter in cluster level Reclass model."
+ UPGRADE_SALTSTACK:
+ type: boolean
+ default: 'true'
+ description: "Upgrade SaltStack packages."
+ UPDATE_PIPELINES:
+ type: boolean
+ default: 'true'
+ description: "Mirror pipelines from upstream/local mirror to Gerrit."
UPDATE_LOCAL_REPOS:
type: boolean
default: 'false'
- description: "Use only when local repositories are present"
\ No newline at end of file
+ description: "Use only when local repositories are present."
\ No newline at end of file
diff --git a/jenkins/client/job/deploy/update/upgrade_ovs_gateway.yml b/jenkins/client/job/deploy/update/upgrade_ovs_gateway.yml
index 335492d..e7cdb12 100644
--- a/jenkins/client/job/deploy/update/upgrade_ovs_gateway.yml
+++ b/jenkins/client/job/deploy/update/upgrade_ovs_gateway.yml
@@ -35,3 +35,7 @@
type: string
default: '1'
description: Number of selected nodes to live apply upgrade.
+ INTERACTIVE:
+ type: boolean
+ default: 'true'
+ description: "Ask interactive questions during pipeline run (bool)"
diff --git a/jenkins/client/job/docker/cicd/tempest.yml b/jenkins/client/job/docker/cicd/tempest.yml
index 7b68403..38cc667 100644
--- a/jenkins/client/job/docker/cicd/tempest.yml
+++ b/jenkins/client/job/docker/cicd/tempest.yml
@@ -22,6 +22,7 @@
"mcp/docker-ci-tempest":
branches:
- master
+ - pike
event:
patchset:
- created:
diff --git a/jenkins/client/job/opencontrail/git-mirrors/downstream.yml b/jenkins/client/job/opencontrail/git-mirrors/downstream.yml
index f92d1a7..891c244 100644
--- a/jenkins/client/job/opencontrail/git-mirrors/downstream.yml
+++ b/jenkins/client/job/opencontrail/git-mirrors/downstream.yml
@@ -16,7 +16,7 @@
- name: contrail-third-party
branches: ${_param:contrail_branches}
- name: contrail-generateDS
- branches: ${_param:contrail_branches}
+ branches: ${_param:contrail_branches_generateDS}
- name: contrail-sandesh
branches: ${_param:contrail_branches}
- name: contrail-packages
@@ -47,6 +47,12 @@
branches: ${_param:contrail_kubernetes_branches}
- name: contrail-dpdk
branches: ${_param:contrail_dpdk_branches}
+ - name: contrail-common
+ branches: ${_param:oc5_branches}
+ - name: contrail-analytics
+ branches: ${_param:oc5_branches}
+ - name: contrail-api-client
+ branches: ${_param:oc5_branches}
template:
discard:
build:
diff --git a/jenkins/client/job/opencontrail/git-mirrors/upstream.yml b/jenkins/client/job/opencontrail/git-mirrors/upstream.yml
index 0f60c76..d36d725 100644
--- a/jenkins/client/job/opencontrail/git-mirrors/upstream.yml
+++ b/jenkins/client/job/opencontrail/git-mirrors/upstream.yml
@@ -48,6 +48,12 @@
branches: ${_param:contrail_dpdk_branches}
- name: contrail-third-party-cache-fixup
branches: ${_param:contrail_third_party_cache_fixup_branches}
+ - name: contrail-common
+ branches: ${_param:oc5_branches}
+ - name: contrail-analytics
+ branches: ${_param:oc5_branches}
+ - name: contrail-api-client
+ branches: ${_param:oc5_branches}
template:
discard:
build:
diff --git a/jenkins/client/job/opencontrail/init.yml b/jenkins/client/job/opencontrail/init.yml
index c6d1ca6..2072808 100644
--- a/jenkins/client/job/opencontrail/init.yml
+++ b/jenkins/client/job/opencontrail/init.yml
@@ -4,6 +4,10 @@
parameters:
_param:
contrail_branches: "R3.0.2.x,R3.0.3.x,R3.1,R3.1.1.x,R3.2,R3.2.3.x,R4.0,R4.1,R5.0,master"
+ # from OC50 there are new repos without older branches
+ oc5_branches: "R5.0,master"
+ # generateDS does not have 5.0 branch
+ contrail_branches_generateDS: "R3.0.2.x,R3.0.3.x,R3.1,R3.1.1.x,R3.2,R3.2.3.x,R4.0,R4.1,master"
contrail_kubernetes_branches: "master,release-1.2"
contrail_dpdk_extra_branches: "mitaka,mitaka_dpdk_17_02,mitaka_dpdk_17_05,kilo,liberty-multiqueue,newton,ocata"
contrail_ceilometer_plugin_branches: "master,R4.0,R4.1"
diff --git a/jenkins/client/job/oscore/cookiecutter.yml b/jenkins/client/job/oscore/cookiecutter.yml
new file mode 100644
index 0000000..bc180b4
--- /dev/null
+++ b/jenkins/client/job/oscore/cookiecutter.yml
@@ -0,0 +1,129 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ oscore-test-cookiecutter-model:
+ display_name: oscore-test-cookiecutter-model
+ name: oscore-test-cookiecutter-model
+ concurrent: true
+ description: Test specified cookiecutter context
+ discard:
+ build:
+ keep_num: 60
+ artifact:
+ keep_num: 60
+ type: workflow-scm
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/openstack-ci/openstack-pipelines"
+ credentials: "gerrit"
+ branch: 'master'
+ script: test-cookiecutter-model-pipeline.groovy
+ param:
+ CREDENTIALS_ID:
+ type: string
+ description: "ID of jenkins credentials to be used when connecting to gerrit."
+ default: "gerrit"
+ COOKIECUTTER_TEMPLATE_CONTEXT_FILE:
+ type: choice
+ description: "Context for coockiecutter template specified as filename."
+ choices:
+ - openstack-ovs-core-ocata
+ - openstack-ovs-core-pike
+ - openstack-ovs-core-ssl-pike
+ - openstack-ovs-core-barbican-pike
+ - openstack-ovs-core-manila-pike
+ - openstack-ovs-core-telemetry-pike
+ - openstack-ovs-core-queens
+ STACK_INSTALL:
+ type: string
+ default: 'core,openstack,ovs'
+ STACK_DELETE:
+ type: boolean
+ description: "Delete Heat stack when finished (bool)"
+ default: 'false'
+ OPENSTACK_API_PROJECT:
+ type: string
+ default: "mcp-oscore"
+ HEAT_STACK_ZONE:
+ type: string
+ default: "mcp-oscore"
+ FLAVOR_PREFIX:
+ type: string
+ default: 'dev'
+ RUN_SMOKE:
+ type: boolean
+ description: "Run smoke after deployment or not. (bool)"
+ default: 'false'
+ COOKIECUTTER_EXTRA_CONTEXT:
+ type: text
+ description: "Extra context items, will be merged to COOKIECUTTER_TEMPLATE_CONTEXT_FILE"
+ default: |-
+ #Extra context that will be merged with content of COOKIECUTTER_TEMPLATE_CONTEXT_FILE
+ default_context:
+ openssh_groups: "qa_scale,oscore_devops,networking,tcpcloud,stacklight,k8s_team"
+ cookiecutter_template_url: https://gerrit.mcp.mirantis.net/mk/cookiecutter-templates.git
+ cookiecutter_template_branch: 'master'
+ shared_reclass_url: https://gerrit.mcp.mirantis.net/salt-models/reclass-system.git
+ shared_reclass_branch: 'master'
+ STACK_INSTALL:
+ type: string
+ default: 'core,openstack,ovs'
+ STACK_DELETE:
+ type: boolean
+ description: "Delete Heat stack when finished (bool)"
+ default: 'false'
+ oscore-test-cookiecutter-models:
+ display_name: oscore-test-cookiecutter-models
+ name: oscore-test-cookiecutter-models
+ concurrent: true
+ discard:
+ build:
+ keep_num: 30
+ artifact:
+ keep_num: 30
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/openstack-ci/openstack-pipelines.git"
+ credentials: "gerrit"
+ branch: 'master'
+ script: test-cookiecutter-models-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ "^mk/cookiecutter-templates$":
+ compare_type: 'REG_EXP'
+ branches:
+ - master
+ skip_vote:
+ - successful
+ - failed
+ - unstable
+ - not_built
+ event:
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '^(?s:Patch Set \d+:.*(test|recheck|reverify)\s*)$'
+ param:
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ description: "ID of jenkins credentials to be used when connecting to gerrit."
+ OPENSTACK_API_PROJECT:
+ type: string
+ default: "mcp-oscore-ci"
+ HEAT_STACK_ZONE:
+ type: string
+ default: "mcp-oscore-ci"
+ FLAVOR_PREFIX:
+ type: string
+ default: 'dev'
+ TEST_SCHEME:
+ type: text
+ description: "Yaml based scheme to test specific models."
+ default: |-
+ openstack-ovs-core-pike:
+ run_smoke: true
+ stack_install: 'core,openstack,ovs'
diff --git a/jenkins/client/job/oscore/init.yml b/jenkins/client/job/oscore/init.yml
index 2f45ef8..61dbda8 100644
--- a/jenkins/client/job/oscore/init.yml
+++ b/jenkins/client/job/oscore/init.yml
@@ -3,6 +3,8 @@
- system.jenkins.client.job.oscore.tests
- system.jenkins.client.job.oscore.qa
- system.jenkins.client.job.oscore.salt_virtual_models
+ - system.jenkins.client.job.oscore.cookiecutter
+ - system.jenkins.client.job.oscore.release
parameters:
_param:
job_description_oscore: <br>Deploy and test OpenStack.<br>
diff --git a/jenkins/client/job/oscore/qa.yml b/jenkins/client/job/oscore/qa.yml
index 6d54082..13d0e76 100644
--- a/jenkins/client/job/oscore/qa.yml
+++ b/jenkins/client/job/oscore/qa.yml
@@ -25,6 +25,7 @@
mcp/{{oscore-qa-project}}:
branches:
- master
+ - pike
event:
change:
- merged
@@ -43,7 +44,7 @@
default: "mirantis/oscore/{{oscore-qa-project}}"
IMAGE_TAG:
type: string
- default: "latest"
+ default: ""
DOCKER_REGISTRY:
type: string
default: "docker-prod-local.docker.mirantis.net"
diff --git a/jenkins/client/job/oscore/release.yml b/jenkins/client/job/oscore/release.yml
new file mode 100644
index 0000000..f73bd22
--- /dev/null
+++ b/jenkins/client/job/oscore/release.yml
@@ -0,0 +1,69 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ promote-release-component:
+ name: "{{job_prefix}}-promote-{{component}}-{{version}}-{{distribution}}"
+ template:
+ discard:
+ build:
+ keep_num: 30
+ artifact:
+ keep_num: 30
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/openstack-ci/openstack-pipelines.git"
+ credentials: "gerrit"
+ branch: 'master'
+ script: promote-release-component.groovy
+ trigger:
+ timer:
+ spec: "{{timer_spec}}"
+ param:
+ # general
+ AIO_JOB:
+ type: string
+ description: "Job name to deploy all-ini-one envs are going to be tested"
+ default: "{{job_prefix}}-{{aioJobPrefix}}"
+ MULTINODE_JOB:
+ type: string
+ description: "Job name to deploy multinode envs are going to be tested"
+ default: "{{job_prefix}}-{{multinodeJobPrefix}}"
+ SYSTEM_DISTRIBUTION:
+ type: string
+ default: "{{distribution}}"
+ description: "Distribution of operating system"
+ COMPONENT:
+ type: string
+ default: "{{component}}"
+ description: "Tested MCP Component"
+ VERSION:
+ type: string
+ default: "{{version}}"
+ description: "Tested MCP Component"
+ SRC_REVISION:
+ type: string
+ default: "nightly"
+ description: "Tested revision of component - e.g. nightly"
+ SNAPSHOT_ID:
+ type: string
+ default: ""
+ description: "Tested snapshot id of component"
+ TARGET_REVISION:
+ type: string
+ default: "testing"
+ description: "Revision to promote SRC_REVISION to, e.g. testing"
+ TEST_SCHEME:
+ type: string
+ default: "{{test_scheme}}"
+ description: "Structure which defines parameters of deployment jobs"
+ MIRROR_HOST:
+ type: string
+ default: "mirror.mirantis.com"
+ description: "mirror with snapshots and packages"
+ AUTO_PROMOTE:
+ type: boolean
+ default: "{{auto_promote}}"
+ description: Enable to autopromote repo
diff --git a/jenkins/client/job/oscore/test_upgrades.yml b/jenkins/client/job/oscore/test_upgrades.yml
new file mode 100644
index 0000000..27619e3
--- /dev/null
+++ b/jenkins/client/job/oscore/test_upgrades.yml
@@ -0,0 +1,68 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ test-opentack-upgrade:
+ name: "oscore-test-openstack-upgrade-{{openstack_version_old}}-{{openstack_version_new}}"
+ template:
+ concurrent: true
+ description: Test upgrade flow for opentack cluster
+ discard:
+ build:
+ keep_num: 60
+ artifact:
+ keep_num: 60
+ type: workflow-scm
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/openstack-ci/openstack-pipelines"
+ credentials: "gerrit"
+ branch: 'master'
+ script: test-openstack-upgrade-pipeline.groovy
+ param:
+ CREDENTIALS_ID:
+ type: string
+ description: "ID of jenkins credentials to be used when connecting to gerrit."
+ default: "gerrit"
+ OPENSTACK_API_PROJECT:
+ type: string
+ default: "mcp-oscore"
+ HEAT_STACK_ZONE:
+ type: string
+ default: "mcp-oscore"
+ FLAVOR_PREFIX:
+ type: string
+ default: 'dev'
+ TEST_SCHEME:
+ type: string
+ description: "Yaml based scheme to be applied in testing"
+ default: '{"old": {"context_file_name": "openstack-ovs-core-{{openstack_version_old}}","extra_context": {"default_context": {"openstack_version": "{{openstack_version_old}}"}}}, "new": {"extra_context": {"default_context": {"openstack_version": "{{openstack_version_new}}"}}}}'
+ job:
+ oscore-test-adjust-cluster-model:
+ display_name: oscore-test-adjust-cluster-model
+ name: oscore-test-adjust-cluster-model
+ concurrent: true
+ description: Test upgrade flow for opentack cluster
+ discard:
+ build:
+ keep_num: 60
+ artifact:
+ keep_num: 60
+ type: workflow-scm
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/openstack-ci/openstack-pipelines"
+ credentials: "gerrit"
+ branch: 'master'
+ script: adjust-cluster-model.groovy
+ param:
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ description: "ID of salt API credentials."
+ default: "salt-qa-credentials"
+ SALT_MASTER_URL:
+ type: string
+ description: 'Url for salt API.'
+ TEST_SCHEME:
+ type: text
+ description: "Yaml based scheme to be applied in testing"
diff --git a/jenkins/client/job/oscore/tests.yml b/jenkins/client/job/oscore/tests.yml
index be2326b..af33cc1 100644
--- a/jenkins/client/job/oscore/tests.yml
+++ b/jenkins/client/job/oscore/tests.yml
@@ -148,6 +148,10 @@
type: boolean
description: Whether to use container with rally
default: "{{use_rally}}"
+ TEST_MILESTONE:
+ type: string
+ description: Product milestone
+ default: ""
test-openstack-component-periodic:
name: "{{job_prefix}}-{{milestone}}-{{model}}-{{openstack_version}}-{{formula_pkg_revision}}"
template:
@@ -704,7 +708,7 @@
trigger:
gerrit:
project:
- "^salt-formulas/(nova|cinder|glance|keystone|horizon|neutron|designate|heat|ironic|barbican|aodh|ceilometer|gnocchi|panko|manila|salt|linux|reclass|galera|memcached|rabbitmq|bind|apache|runtest)$":
+ "^salt-formulas/(nova|cinder|glance|keystone|horizon|neutron|designate|heat|ironic|barbican|aodh|ceilometer|gnocchi|panko|manila|salt|linux|reclass|galera|memcached|rabbitmq|bind|apache|runtest|oslo-templates|auditd)$":
compare_type: 'REG_EXP'
branches:
- master
diff --git a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
index a2b000a..d8e9f22 100644
--- a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
+++ b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
@@ -26,6 +26,9 @@
- name: avinetworks
branches: ${_param:salt_formulas_branches}
notification_recipients: ${_param:salt_formulas_notification_recipients}
+ - name: auditd
+ branches: ${_param:salt_formulas_branches}
+ notification_recipients: ${_param:salt_formulas_notification_recipients}
- name: backupninja
branches: ${_param:salt_formulas_branches}
notification_recipients: ${_param:salt_formulas_notification_recipients}
diff --git a/jenkins/client/job/salt-formulas/tests.yml b/jenkins/client/job/salt-formulas/tests.yml
index 07a8fb4..1c9f4fb 100644
--- a/jenkins/client/job/salt-formulas/tests.yml
+++ b/jenkins/client/job/salt-formulas/tests.yml
@@ -54,6 +54,7 @@
- name: heketi
- name: helm
- name: horizon
+ - name: hubble
- name: influxdb
- name: iptables
- name: ironic
@@ -91,6 +92,7 @@
- name: octavia
- name: opencontrail
- name: openldap
+ - name: openscap
- name: openssh
- name: openvpn
- name: openvstorage
@@ -176,6 +178,12 @@
PARALLEL_GROUP_SIZE:
type: string
default: "8"
+ RUN_TEST_IN_DOCKER:
+ type: boolean
+ description: "Run test stage in docker environment"
+ SMOKE_TEST_DOCKER_IMG:
+ type: string
+ default: "ubuntu:16.04"
job:
test-salt-formulas-env:
name: test-salt-formulas-env
diff --git a/jenkins/client/job/salt-models/tests.yml b/jenkins/client/job/salt-models/tests.yml
index 80135b5..c820d26 100644
--- a/jenkins/client/job/salt-models/tests.yml
+++ b/jenkins/client/job/salt-models/tests.yml
@@ -294,7 +294,7 @@
default: "1"
EXTRA_FORMULAS:
type: string
- default: "aptly artifactory backupninja collectd devops-portal docker elasticsearch fluentd freeipa gerrit glusterfs grafana haproxy heka horizon influxdb jenkins keepalived kibana libvirt maas memcached mysql nginx ntp openldap openssh postfix prometheus rsync rsyslog rundeck sensu sphinx telegraf xtrabackup watchdog"
+ default: "aptly artifactory auditd backupninja collectd devops-portal docker elasticsearch fluentd freeipa gerrit glusterfs grafana haproxy heka horizon influxdb jenkins keepalived kibana libvirt maas memcached mysql nginx ntp openldap openssh postfix prometheus rsync rsyslog rundeck sensu sphinx telegraf xtrabackup watchdog"
job:
test-salt-model-node:
name: test-salt-model-node
@@ -350,7 +350,11 @@
default: ""
RECLASS_VERSION:
type: string
- default: "master"
+ # In our repos the latest reclass we using is 1.4.1. The new version 1.5.2 is not compatible
+ # by syntax with 1.4.1 more details may be found here PROD-20425.
+ # Run rendering tests against version we using on customer side, until new version of reclass is
+ # packaged and placed to our repos, so we can do smooth transition to new syntax.
+ default: "reclass-1.4.1"
description: "Version (branch) of Reclass we will use"
MAX_CPU_PER_JOB:
type: string
diff --git a/jenkins/client/job/test_pipelines.yml b/jenkins/client/job/test_pipelines.yml
index c9a2442..2b0fabe 100644
--- a/jenkins/client/job/test_pipelines.yml
+++ b/jenkins/client/job/test_pipelines.yml
@@ -46,7 +46,7 @@
default: "gerrit"
GRADLE_IMAGE:
type: string
- default: "niaquinto/gradle"
+ default: "docker-dev-local.docker.mirantis.net/mirantis/cicd/niaquinto_gradle"
GRADLE_CMD:
type: string
default: "check --info"
diff --git a/jenkins/client/job/validate.yml b/jenkins/client/job/validate.yml
index c97c0ad..32b0c0f 100644
--- a/jenkins/client/job/validate.yml
+++ b/jenkins/client/job/validate.yml
@@ -1,6 +1,7 @@
parameters:
_param:
jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ cvp_sanity_default_repo: "https://github.com/Mirantis/cvp-sanity-checks"
jenkins:
client:
view:
@@ -162,7 +163,7 @@
url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
branch: "${_param:jenkins_pipelines_branch}"
credentials: "gerrit"
- script: cvp-sanity.groovy
+ script: cvp-runner.groovy
param:
SALT_MASTER_URL:
type: string
@@ -171,17 +172,17 @@
SALT_MASTER_CREDENTIALS:
type: string
default: "salt"
- SANITY_TESTS_REPO:
+ TESTS_REPO:
type: string
- default: "https://github.com/Mirantis/cvp-sanity-checks"
+ default: "${_param:cvp_sanity_default_repo}"
description: Url for cvp-sanity-checks
- SANITY_TESTS_SETTINGS:
+ TESTS_SETTINGS:
type: string
default: ""
description: e.g. skipped_nodes=nal01.local.com,ntw01.local.com
- SANITY_TESTS_SET:
+ TESTS_SET:
type: string
- default: ""
+ default: "cvp-sanity-check/cvp_checks/tests/"
description: Leave empty for full run or choose a file, e.g. test_mtu.py
PROXY:
type: string
@@ -404,3 +405,43 @@
type: string
default: ""
description: Proxy address to clone repo and install python requirements
+ cvp-spt:
+ type: workflow-scm
+ name: cvp-spt
+ display_name: "CVP - Simplified Performance Tests (SPT)"
+ discard:
+ build:
+ keep_num: 20
+ artifact:
+ keep_num: 20
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ branch: "${_param:jenkins_pipelines_branch}"
+ credentials: "gerrit"
+ script: cvp-spt.groovy
+ param:
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
+ description: Full Salt API address [e.g. https://10.10.10.2:6969]
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
+ TESTS_REPO:
+ type: string
+ default: "https://github.com/Mirantis/cvp-spt"
+ description: Url for cvp-spt repository
+ TESTS_SETTINGS:
+ type: string
+ default: ""
+ description: "Additional environment variables to export"
+ TESTS_SET:
+ type: string
+ default: "cvp-spt/cvp_spt/tests/"
+ description: "Leave empty for full run or choose a file, e.g. test_glance.py"
+ PROXY:
+ type: string
+ default: ""
+ description: Proxy address to clone repo and install python requirements
diff --git a/jenkins/client/job/vnf-onboarding/deploy_cloudify.yml b/jenkins/client/job/vnf-onboarding/deploy_cloudify.yml
index 79d53aa..b63aa34 100644
--- a/jenkins/client/job/vnf-onboarding/deploy_cloudify.yml
+++ b/jenkins/client/job/vnf-onboarding/deploy_cloudify.yml
@@ -2,10 +2,10 @@
jenkins:
client:
job:
- deploy_cloudify:
+ deploy_cloudify_enterprise:
type: workflow-scm
- name: deploy-cloudify
- display_name: "Deploy Cloudify"
+ name: deploy-cloudify-enterprise
+ display_name: "Deploy Cloudify Enterprise"
discard:
build:
keep_num: 20
@@ -36,7 +36,7 @@
default: "${_param:vnf_gerrit_credentials}"
CFM_IMAGE:
type: string
- default: "cloudify-enterprise"
+ default: "cloudify-manager-4.3.1ga"
CFM_FLAVOR:
type: string
default: "cfy.mngr"
@@ -69,4 +69,4 @@
default: "latest"
VNF_DOCKER_CLI_PLATFORM:
type: string
- default: "ubuntu"
\ No newline at end of file
+ default: "ubuntu"
diff --git a/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml b/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml
index 43586f7..ce28c72 100644
--- a/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml
+++ b/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml
@@ -1,133 +1,7 @@
parameters:
- jenkins:
- client:
- plugin:
- gerrit-trigger: {}
- job:
- test_avi_loadbalancer:
- type: workflow-scm
- name: test-avi-loadbalancer
- display_name: "Onboarding tests for the AVI Loadbalancer VNF"
- discard:
- build:
- keep_num: 20
- scm:
- type: git
- url: "${_param:jenkins_gerrit_url}/vnf-onboarding/pipelines"
- credentials: "${_param:vnf_gerrit_credentials}"
- script: test_vnf_onboarding.groovy
- trigger:
- gerrit:
- project:
- "vnf-onboarding/avi-loadbalancer":
- branches:
- - compare_type: "ANT"
- name: "**"
- event:
- patchset:
- - created:
- excludeDrafts: false
- excludeTrivialRebase: false
- excludeNoCodeChange: false
- change:
- - merged
- comment:
- - addedContains:
- commentAddedCommentContains: '(retest|recheck|reverify)'
- message:
- build_successful: "Build successful"
- build_unstable: "Build unstable"
- build_failure: "Build failed"
- param:
- DEFAULT_GIT_URL:
- type: string
- default: "${_param:jenkins_gerrit_url}/vnf-onboarding/avi-loadbalancer"
- DEFAULT_GIT_REF:
- type: string
- default: master
- OPENSTACK_API_URL:
- type: string
- default: "${_param:vnf_openstack_api_url}"
- OPENSTACK_API_CREDENTIALS:
- type: string
- default: "${_param:vnf_openstack_api_credentials}"
- OPENSTACK_API_TENANT:
- type: string
- default: "test-avi"
- GERRIT_CREDENTIALS:
- type: string
- default: "${_param:vnf_gerrit_credentials}"
- ELASTIC_URL:
- type: string
- default: "${_param:vnf_elastic_url}"
- DEBUG_OPTIONS:
- type: string
- description: "Example: skip_all=1 skip_deploy=1 skip_inspection=1"
- NFV_PLATFORM_REPO:
- type: string
- description: "Take Cloudify blueprints, Dockerfile and CI scripts from this repo"
- default: "${_param:jenkins_gerrit_url}/vnf-onboarding/nfv-platform"
- NFV_PLATFORM_REPO_BRANCH:
- type: string
- default: "master"
- NFV_PLATFORM_REPO_CREDENTIALS:
- type: string
- default: "${_param:vnf_gerrit_credentials}"
- CONTRAIL_ENABLED:
- type: boolean
- default: false
- CONTRAIL_API_URL:
- type: string
- default: "${_param:contrail_api_url}"
- SETUP_OWN_CLOUDIFY:
- type: boolean
- description: "Use temporary private Cloudify instance"
- default: false
- CLOUDIFY_MANAGER_IP:
- type: string
- description: "IP address of extrenal Cloudify. \"auto\" refers to address of deploy_cloudify job Cloudify instance"
- default: "auto"
- CLOUDIFY_MANAGER_OPTIONS:
- type: string
- description: "Parameters for cloudify manager VM. Can be skipped if cloudify predeployed."
- default: "CFM_IMAGE=cloudify-manager-4.3.1ga CFM_FLAVOR=cfy.mngr CFM_DISK_SIZE=80 CFM_SUBNET_CIDR=10.10.1.1/24 CFM_SUBNET_DNS=172.19.0.6 EXTERNAL_NET=public "
- CFM_SSH_KEY_ID:
- type: string
- description: "Credentials ID of ssh key for connection to Cloudify"
- default: "${_param:vnf_openstack_ssh_key_credentials}"
- CLOUDIFY_AGENT_OPTIONS:
- type: string
- description: "Parameters for cloudify agent VMs."
- default: "CFY_AGENT_NET=cfm-net-shared CFY_AGENT_FLAVOR=cfy.agent CFY_AGENT_BACKEND_FLAVOR=backend.avi CFY_AGENT_IMAGE=agent_vm CFY_AGENT_BASE_IMAGE=base_agent_vm CFY_AGENT_BACKEND_IMAGE=base_backend_vm"
- VNF_ARTIFACTORY_URL:
- type: string
- default: "${_param:vnf_artifactory_url}"
- VNF_ARTIFACTORY_PLUGINS_DIR:
- type: string
- default: "${_param:vnf_artifactory_url}/cloudify/plugins/"
- VNF_DOCKER_REGISTRY_PATH:
- type: string
- default: "${_param:vnf_docker_registry_path}"
- VNF_DOCKER_CLI_TAG:
- type: string
- default: "latest"
- VNF_DOCKER_SCRUN_TAG:
- type: string
- default: "latest"
- VNF_DOCKER_AVICFG_TAG:
- type: string
- default: "latest"
- VNF_PLUGINS:
- type: string
- description: "Plugins to fetch from artifactory and install during build package step"
- default: "vnf_onboarding_tools-0.1-py27-none-linux_x86_64_Ubuntu_xenial"
- VNF_OPTIONS:
- type: string
- default: "AVI_VERSION=17.2.3 AVI_USERNAME=admin AVI_PASSWORD=Swordfish1234 AVI_IMAGE_PASSWORD=58NFaGDJm(PJH0G AVI_OS_FLAVOR=avi_ctrl.small AVI_OS_IMAGE=avi-control-17.2.3"
- VNF_DOCKER_CLI_PLATFORM:
- type: string
- default: "ubuntu"
- CLOUDIFY_DEPLOYMENT_TIMEOUT:
- type: string
- description: "Set up timeout for cloudify deployment (depends on each VNF specific and network throughput)."
- default: 1800
+ _param:
+ vnf_onboarding_avi_jobs:
+ - edition: enterprise
+ cfy_image: cloudify-manager-4.3.1ga
+ - edition: community
+ cfy_image: cloudify-manager-community-18.2.28
\ No newline at end of file
diff --git a/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer_template.yml b/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer_template.yml
new file mode 100644
index 0000000..54d82fc
--- /dev/null
+++ b/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer_template.yml
@@ -0,0 +1,143 @@
+parameters:
+ _param:
+ vnf_onboarding_avi_jobs: []
+ jenkins:
+ client:
+ plugin:
+ gerrit-trigger: {}
+ job-template:
+ test_avi_loadbalancer:
+ name: "test-avi-loadbalancer-{{edition}}"
+ template:
+ type: workflow-scm
+ display_name: "Onboarding tests for the AVI Loadbalancer VNF against CFY {{edition}} edition"
+ discard:
+ build:
+ keep_num: 20
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/vnf-onboarding/pipelines"
+ credentials: "${_param:vnf_gerrit_credentials}"
+ script: test_vnf_onboarding.groovy
+ trigger:
+ gerrit:
+ project:
+ "vnf-onboarding/avi-loadbalancer":
+ branches:
+ - compare_type: "ANT"
+ name: "**"
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ change:
+ - merged
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(retest|recheck|reverify)'
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ param:
+ DEFAULT_GIT_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/vnf-onboarding/avi-loadbalancer"
+ DEFAULT_GIT_REF:
+ type: string
+ default: master
+ OPENSTACK_API_URL:
+ type: string
+ default: "${_param:vnf_openstack_api_url}"
+ OPENSTACK_API_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_openstack_api_credentials}"
+ OPENSTACK_API_TENANT:
+ type: string
+ default: "test-avi"
+ GERRIT_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_gerrit_credentials}"
+ ELASTIC_URL:
+ type: string
+ default: "${_param:vnf_elastic_url}"
+ DEBUG_OPTIONS:
+ type: string
+ description: "Example: skip_all=1 skip_deploy=1 skip_inspection=1"
+ NFV_PLATFORM_REPO:
+ type: string
+ description: "Take Cloudify blueprints, Dockerfile and CI scripts from this repo"
+ default: "${_param:jenkins_gerrit_url}/vnf-onboarding/nfv-platform"
+ NFV_PLATFORM_REPO_BRANCH:
+ type: string
+ default: "master"
+ NFV_PLATFORM_REPO_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_gerrit_credentials}"
+ CONTRAIL_ENABLED:
+ type: boolean
+ default: false
+ CONTRAIL_API_URL:
+ type: string
+ default: "${_param:contrail_api_url}"
+ SETUP_OWN_CLOUDIFY:
+ type: boolean
+ description: "Use temporary private Cloudify instance"
+ default: false
+ CLOUDIFY_MANAGER_IP:
+ type: string
+ description: "IP address of extrenal Cloudify. \"auto\" refers to address of deploy_cloudify_enterprise job Cloudify instance"
+ default: "auto"
+ CLOUDIFY_MANAGER_OPTIONS:
+ type: string
+ description: "Parameters for cloudify manager VM. Can be skipped if cloudify predeployed."
+ default: "CFM_IMAGE={{cfy_image}} CFM_FLAVOR=cfy.mngr CFM_DISK_SIZE=80 CFM_SUBNET_CIDR=10.10.1.1/24 CFM_SUBNET_DNS=172.19.0.6 EXTERNAL_NET=public "
+ CFM_SSH_KEY_ID:
+ type: string
+ description: "Credentials ID of ssh key for connection to Cloudify"
+ default: "${_param:vnf_openstack_ssh_key_credentials}"
+ CLOUDIFY_AGENT_OPTIONS:
+ type: string
+ description: "Parameters for cloudify agent VMs."
+ default: "CFY_AGENT_NET=cfm-net-shared CFY_AGENT_FLAVOR=cfy.agent CFY_AGENT_BACKEND_FLAVOR=backend.avi CFY_AGENT_IMAGE=agent_vm CFY_AGENT_BASE_IMAGE=base_agent_vm CFY_AGENT_BACKEND_IMAGE=base_backend_vm"
+ CLOUDIFY_MANAGER_VERSION:
+ type: choice
+ choices:
+ - enterprise
+ - community
+ default: "{{edition}}"
+ description: "CFY edition version, make sure that it is consistent with CFY Manager image"
+ VNF_ARTIFACTORY_URL:
+ type: string
+ default: "${_param:vnf_artifactory_url}"
+ VNF_ARTIFACTORY_PLUGINS_DIR:
+ type: string
+ default: "${_param:vnf_artifactory_url}/cloudify/plugins/"
+ VNF_DOCKER_REGISTRY_PATH:
+ type: string
+ default: "${_param:vnf_docker_registry_path}"
+ VNF_DOCKER_CLI_TAG:
+ type: string
+ default: "latest"
+ VNF_DOCKER_SCRUN_TAG:
+ type: string
+ default: "latest"
+ VNF_DOCKER_AVICFG_TAG:
+ type: string
+ default: "latest"
+ VNF_PLUGINS:
+ type: string
+ description: "Plugins to fetch from artifactory and install during build package step"
+ default: "vnf_onboarding_tools-0.2-py27-none-linux_x86_64_CentOS_Core"
+ VNF_OPTIONS:
+ type: string
+ default: "AVI_VERSION=17.2.3 AVI_USERNAME=admin AVI_PASSWORD=Swordfish1234 AVI_IMAGE_PASSWORD=58NFaGDJm(PJH0G AVI_OS_FLAVOR=avi_ctrl.small AVI_OS_IMAGE=avi-control-17.2.3"
+ VNF_DOCKER_CLI_PLATFORM:
+ type: string
+ default: "ubuntu"
+ VNF_DEPLOYMENT_TIMEOUT:
+ type: string
+ description: "Set up timeout for cloudify deployment (depends on each VNF specific and network throughput)."
+ default: 1800
diff --git a/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml b/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml
index cdb073a..e24850b 100644
--- a/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml
+++ b/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml
@@ -1,131 +1,7 @@
parameters:
- jenkins:
- client:
- plugin:
- gerrit-trigger: {}
- job:
- test_nginx_vnf:
- type: workflow-scm
- name: test-nginx-vnf
- display_name: "Onboarding tests for the NGINX VNF"
- discard:
- build:
- keep_num: 20
- scm:
- type: git
- url: "${_param:jenkins_gerrit_url}/vnf-onboarding/pipelines"
- credentials: "${_param:vnf_gerrit_credentials}"
- script: test_vnf_onboarding.groovy
- trigger:
- gerrit:
- project:
- "vnf-onboarding/nginx-vnf":
- branches:
- - compare_type: "ANT"
- name: "**"
- event:
- patchset:
- - created:
- excludeDrafts: false
- excludeTrivialRebase: false
- excludeNoCodeChange: false
- change:
- - merged
- comment:
- - addedContains:
- commentAddedCommentContains: '(retest|recheck|reverify)'
- message:
- build_successful: "Build successful"
- build_unstable: "Build unstable"
- build_failure: "Build failed"
- param:
- DEFAULT_GIT_URL:
- type: string
- default: "${_param:jenkins_gerrit_url}/vnf-onboarding/nginx-vnf"
- DEFAULT_GIT_REF:
- type: string
- default: master
- OPENSTACK_API_URL:
- type: string
- default: "${_param:vnf_openstack_api_url}"
- OPENSTACK_API_CREDENTIALS:
- type: string
- default: "${_param:vnf_openstack_api_credentials}"
- OPENSTACK_API_TENANT:
- type: string
- default: "test-nginx"
- GERRIT_CREDENTIALS:
- type: string
- default: "${_param:vnf_gerrit_credentials}"
- ELASTIC_URL:
- type: string
- default: "${_param:vnf_elastic_url}"
- DEBUG_OPTIONS:
- type: string
- default: "skip_inspection=1"
- description: "Example: skip_all=1 skip_deploy=1 skip_inspection=1"
- NFV_PLATFORM_REPO:
- type: string
- description: "Take Cloudify blueprints, Dockerfile and CI scripts from this repo"
- default: "${_param:jenkins_gerrit_url}/vnf-onboarding/nfv-platform"
- NFV_PLATFORM_REPO_BRANCH:
- type: string
- default: "master"
- NFV_PLATFORM_REPO_CREDENTIALS:
- type: string
- default: "${_param:vnf_gerrit_credentials}"
- CONTRAIL_ENABLED:
- type: boolean
- default: false
- CONTRAIL_API_URL:
- type: string
- default: "${_param:contrail_api_url}"
- SETUP_OWN_CLOUDIFY:
- type: boolean
- description: "Use temporary private Cloudify instance"
- default: false
- CLOUDIFY_MANAGER_IP:
- type: string
- description: "IP address of extrenal Cloudify. \"auto\" refers to address of deploy_cloudify job Cloudify instance"
- default: "auto"
- CLOUDIFY_MANAGER_OPTIONS:
- type: string
- description: "Parameters for cloudify manager VM. Can be skipped if cloudify predeployed."
- default: "CFM_IMAGE=cloudify-manager-4.3.1ga CFM_FLAVOR=cfy.mngr CFM_DISK_SIZE=80 CFM_SUBNET_CIDR=10.10.1.1/24 CFM_SUBNET_DNS=172.19.0.6 EXTERNAL_NET=public "
- CFM_SSH_KEY_ID:
- type: string
- description: "Credentials ID of ssh key for connection to Cloudify"
- default: "${_param:vnf_openstack_ssh_key_credentials}"
- CLOUDIFY_AGENT_OPTIONS:
- type: string
- description: "Parameters for cloudify agent VMs."
- default: "CFY_AGENT_NET=cfm-net-shared CFY_AGENT_FLAVOR=cfy.agent CFY_AGENT_BACKEND_FLAVOR=backend.nginx CFY_AGENT_IMAGE=agent_vm CFY_AGENT_BASE_IMAGE=base_agent_vm CFY_AGENT_BACKEND_IMAGE=base_backend_vm"
- VNF_ARTIFACTORY_URL:
- type: string
- default: "${_param:vnf_artifactory_url}"
- VNF_ARTIFACTORY_PLUGINS_DIR:
- type: string
- default: "${_param:vnf_artifactory_url}/cloudify/plugins/"
- VNF_DOCKER_REGISTRY_PATH:
- type: string
- default: "${_param:vnf_docker_registry_path}"
- VNF_DOCKER_CLI_TAG:
- type: string
- default: "latest"
- VNF_DOCKER_SCRUN_TAG:
- type: string
- default: "latest"
- VNF_PLUGINS:
- type: string
- description: "Plugins to fetch from artifactory and install during build package step"
- default: "vnf_onboarding_tools-0.1-py27-none-linux_x86_64_Ubuntu_xenial"
- VNF_OPTIONS:
- type: string
- default: ""
- VNF_DOCKER_CLI_PLATFORM:
- type: string
- default: "ubuntu"
- CLOUDIFY_DEPLOYMENT_TIMEOUT:
- type: string
- description: "Set up timeout for cloudify deployment (depends on each VNF specific and network throughput)."
- default: 900
+ _param:
+ vnf_onboarding_nginx_jobs:
+ - edition: enterprise
+ cfy_image: cloudify-manager-4.3.1ga
+ - edition: community
+ cfy_image: cloudify-manager-community-18.2.28
\ No newline at end of file
diff --git a/jenkins/client/job/vnf-onboarding/test_nginx_vnf_template.yml b/jenkins/client/job/vnf-onboarding/test_nginx_vnf_template.yml
new file mode 100644
index 0000000..e2f4cbd
--- /dev/null
+++ b/jenkins/client/job/vnf-onboarding/test_nginx_vnf_template.yml
@@ -0,0 +1,142 @@
+parameters:
+ _param:
+ vnf_onboarding_nginx_jobs: []
+ jenkins:
+ client:
+ plugin:
+ gerrit-trigger: {}
+ job_template:
+ test_nginx_vnf:
+ name: "test-nginx-vnf-{{edition}}"
+ template:
+ type: workflow-scm
+
+ display_name: "Onboarding tests for the NGINX VNF against CFY {{edition}} edition"
+ discard:
+ build:
+ keep_num: 20
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/vnf-onboarding/pipelines"
+ credentials: "${_param:vnf_gerrit_credentials}"
+ script: test_vnf_onboarding.groovy
+ trigger:
+ gerrit:
+ project:
+ "vnf-onboarding/nginx-vnf":
+ branches:
+ - compare_type: "ANT"
+ name: "**"
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ change:
+ - merged
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(retest|recheck|reverify)'
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ param:
+ DEFAULT_GIT_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/vnf-onboarding/nginx-vnf"
+ DEFAULT_GIT_REF:
+ type: string
+ default: master
+ OPENSTACK_API_URL:
+ type: string
+ default: "${_param:vnf_openstack_api_url}"
+ OPENSTACK_API_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_openstack_api_credentials}"
+ OPENSTACK_API_TENANT:
+ type: string
+ default: "test-nginx"
+ GERRIT_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_gerrit_credentials}"
+ ELASTIC_URL:
+ type: string
+ default: "${_param:vnf_elastic_url}"
+ DEBUG_OPTIONS:
+ type: string
+ default: "skip_inspection=1"
+ description: "Example: skip_all=1 skip_deploy=1 skip_inspection=1"
+ NFV_PLATFORM_REPO:
+ type: string
+ description: "Take Cloudify blueprints, Dockerfile and CI scripts from this repo"
+ default: "${_param:jenkins_gerrit_url}/vnf-onboarding/nfv-platform"
+ NFV_PLATFORM_REPO_BRANCH:
+ type: string
+ default: "master"
+ NFV_PLATFORM_REPO_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_gerrit_credentials}"
+ CONTRAIL_ENABLED:
+ type: boolean
+ default: false
+ CONTRAIL_API_URL:
+ type: string
+ default: "${_param:contrail_api_url}"
+ SETUP_OWN_CLOUDIFY:
+ type: boolean
+ description: "Use temporary private Cloudify instance"
+ default: false
+ CLOUDIFY_MANAGER_IP:
+ type: string
+ description: "IP address of extrenal Cloudify. \"auto\" refers to address of deploy_cloudify_enterprise job Cloudify instance"
+ default: "auto"
+ CLOUDIFY_MANAGER_OPTIONS:
+ type: string
+ description: "Parameters for cloudify manager VM. Can be skipped if cloudify predeployed."
+ default: "CFM_IMAGE={{cfy_image}} CFM_FLAVOR=cfy.mngr CFM_DISK_SIZE=80 CFM_SUBNET_CIDR=10.10.1.1/24 CFM_SUBNET_DNS=172.19.0.6 EXTERNAL_NET=public "
+ CFM_SSH_KEY_ID:
+ type: string
+ description: "Credentials ID of ssh key for connection to Cloudify"
+ default: "${_param:vnf_openstack_ssh_key_credentials}"
+ CLOUDIFY_AGENT_OPTIONS:
+ type: string
+ description: "Parameters for cloudify agent VMs."
+ default: "CFY_AGENT_NET=cfm-net-shared CFY_AGENT_FLAVOR=cfy.agent CFY_AGENT_BACKEND_FLAVOR=backend.nginx CFY_AGENT_IMAGE=agent_vm CFY_AGENT_BASE_IMAGE=base_agent_vm CFY_AGENT_BACKEND_IMAGE=base_backend_vm"
+ CLOUDIFY_MANAGER_VERSION:
+ type: choice
+ choices:
+ - enterprise
+ - community
+ default: "{{edition}}"
+ description: "CFY edition version, make sure that it is consistent with CFY Manager image"
+ VNF_ARTIFACTORY_URL:
+ type: string
+ default: "${_param:vnf_artifactory_url}"
+ VNF_ARTIFACTORY_PLUGINS_DIR:
+ type: string
+ default: "${_param:vnf_artifactory_url}/cloudify/plugins/"
+ VNF_DOCKER_REGISTRY_PATH:
+ type: string
+ default: "${_param:vnf_docker_registry_path}"
+ VNF_DOCKER_CLI_TAG:
+ type: string
+ default: "latest"
+ VNF_DOCKER_SCRUN_TAG:
+ type: string
+ default: "latest"
+ VNF_PLUGINS:
+ type: string
+ description: "Plugins to fetch from artifactory and install during build package step"
+ default: "vnf_onboarding_tools-0.2-py27-none-linux_x86_64_CentOS_Core"
+ VNF_OPTIONS:
+ type: string
+ default: ""
+ VNF_DOCKER_CLI_PLATFORM:
+ type: string
+ default: "ubuntu"
+ VNF_DEPLOYMENT_TIMEOUT:
+ type: string
+ description: "Set up timeout for cloudify deployment (depends on each VNF specific and network throughput)."
+ default: 900
diff --git a/keepalived/cluster/instance/kube_api_server_vip.yml b/keepalived/cluster/instance/kube_api_server_vip.yml
new file mode 100644
index 0000000..f7fbce8
--- /dev/null
+++ b/keepalived/cluster/instance/kube_api_server_vip.yml
@@ -0,0 +1,28 @@
+applications:
+- keepalived
+classes:
+- service.keepalived.support
+parameters:
+ _param:
+ keepalived_vip_priority: 101
+ keepalived_kube_apiserver_vrrp_script_content: "pidof haproxy && systemctl status kube-apiserver.service --quiet --no-pager"
+ keepalived_k8s_apiserver_vip_interface: ens3
+ keepalived_k8s_apiserver_vip_address: ${_param:kubernetes_control_address}
+ keepalived_k8s_apiserver_vip_password: password
+ keepalived:
+ cluster:
+ vrrp_scripts:
+ k8s_vip:
+ content: ${_param:keepalived_kube_apiserver_vrrp_script_content}
+ interval: 10
+ rise: 1
+ fall: 1
+ enabled: true
+ instance:
+ kube_apiserver_vip:
+ address: ${_param:keepalived_k8s_apiserver_vip_address}
+ password: ${_param:keepalived_k8s_apiserver_vip_password}
+ interface: ${_param:keepalived_k8s_apiserver_vip_interface}
+ virtual_router_id: 60
+ priority: ${_param:keepalived_vip_priority}
+ track_script: k8s_vip
\ No newline at end of file
diff --git a/keycloak/proxy/application/devops_portal.yml b/keycloak/proxy/application/devops_portal.yml
new file mode 100644
index 0000000..bf09f69
--- /dev/null
+++ b/keycloak/proxy/application/devops_portal.yml
@@ -0,0 +1,13 @@
+parameters:
+ _param:
+ keycloak_proxy_devops_portal_base_path: "/"
+ keycloak:
+ proxy:
+ applications:
+ devops_portal:
+ base_path: "${_param:keycloak_proxy_devops_portal_base_path}"
+ adapter_config:
+ realm: "jaeger"
+ auth_server_url: "http://keycloak/auth"
+ resource: "proxy-jaeger"
+
diff --git a/keystone/client/core.yml b/keystone/client/core.yml
index f869059..899f4aa 100644
--- a/keystone/client/core.yml
+++ b/keystone/client/core.yml
@@ -1,3 +1,5 @@
+classes:
+- system.keystone.client.os_client_config.admin_identity
parameters:
_param:
keystone_service_protocol: http
diff --git a/keystone/client/v3/init.yml b/keystone/client/v3/init.yml
new file mode 100644
index 0000000..148da41
--- /dev/null
+++ b/keystone/client/v3/init.yml
@@ -0,0 +1,15 @@
+parameters:
+ keystone:
+ client:
+ resources:
+ v3:
+ enabled: true
+ server:
+ identity:
+ admin:
+ api_version: 3
+ admin_identity:
+ admin:
+ api_version: ''
+ user_domain_name: 'Default'
+ project_domain_name: 'Default'
diff --git a/keystone/client/v3/service/panko.yml b/keystone/client/v3/service/panko.yml
index ee94697..cf09f34 100644
--- a/keystone/client/v3/service/panko.yml
+++ b/keystone/client/v3/service/panko.yml
@@ -15,7 +15,7 @@
service_admin:
name: admin
project_id: service
- service:
+ services:
panko:
type: event
description: OpenStack Event Service
diff --git a/keystone/client/vnf_onboarding/avi_loadbalancer.yml b/keystone/client/vnf_onboarding/avi_loadbalancer.yml
index d14576d..1acddad 100644
--- a/keystone/client/vnf_onboarding/avi_loadbalancer.yml
+++ b/keystone/client/vnf_onboarding/avi_loadbalancer.yml
@@ -20,3 +20,7 @@
is_admin: false
password: ${_param:vnf_openstack_test_user_password}
email: ${_param:vnf_openstack_test_user_email}
+ admin-test:
+ is_admin: true
+ password: ${_param:vnf_openstack_admin_user_password}
+ email: ${_param:vnf_openstack_admin_user_email}
diff --git a/keystone/client/vnf_onboarding/metaswitch_vsbc.yml b/keystone/client/vnf_onboarding/metaswitch_vsbc.yml
index 42ed04f..0ec1be6 100644
--- a/keystone/client/vnf_onboarding/metaswitch_vsbc.yml
+++ b/keystone/client/vnf_onboarding/metaswitch_vsbc.yml
@@ -20,3 +20,7 @@
is_admin: false
password: ${_param:vnf_openstack_test_user_password}
email: ${_param:vnf_openstack_test_user_email}
+ admin-test:
+ is_admin: true
+ password: ${_param:vnf_openstack_admin_user_password}
+ email: ${_param:vnf_openstack_admin_user_email}
diff --git a/keystone/client/vnf_onboarding/nginx_vnf.yml b/keystone/client/vnf_onboarding/nginx_vnf.yml
index be67940..283bb99 100644
--- a/keystone/client/vnf_onboarding/nginx_vnf.yml
+++ b/keystone/client/vnf_onboarding/nginx_vnf.yml
@@ -20,3 +20,7 @@
is_admin: false
password: ${_param:vnf_openstack_test_user_password}
email: ${_param:vnf_openstack_test_user_email}
+ admin-test:
+ is_admin: true
+ password: ${_param:vnf_openstack_admin_user_password}
+ email: ${_param:vnf_openstack_admin_user_email}
diff --git a/keystone/server/cluster.yml b/keystone/server/cluster.yml
index 0ae502b..7e6980b 100644
--- a/keystone/server/cluster.yml
+++ b/keystone/server/cluster.yml
@@ -6,6 +6,7 @@
parameters:
_param:
keystone_tokens_expiration: 3600
+ openstack_node_role: primary
linux:
system:
package:
@@ -25,6 +26,7 @@
admin_name: admin
admin_password: ${_param:keystone_admin_password}
admin_email: ${_param:admin_email}
+ role: ${_param:openstack_node_role}
bind:
address: ${_param:cluster_local_address}
private_address: ${_param:cluster_vip_address}
diff --git a/keystone/server/single.yml b/keystone/server/single.yml
index 16c26ca..2b1e89e 100644
--- a/keystone/server/single.yml
+++ b/keystone/server/single.yml
@@ -8,6 +8,7 @@
mysql_admin_password: password
mysql_keystone_password: password
keystone_tokens_expiration: 3600
+ openstack_node_role: primary
linux:
system:
package:
@@ -24,6 +25,7 @@
admin_name: admin
admin_password: ${_param:keystone_admin_password}
admin_email: ${_param:admin_email}
+ role: ${_param:openstack_node_role}
bind:
address: ${_param:single_address}
private_address: ${_param:single_address}
diff --git a/kubernetes/common.yml b/kubernetes/common.yml
new file mode 100644
index 0000000..ddf6973
--- /dev/null
+++ b/kubernetes/common.yml
@@ -0,0 +1,131 @@
+parameters:
+ _param:
+ kubernetes_calico_calicoctl_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
+ kubernetes_calico_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
+ kubernetes_calico_cni_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
+ kubernetes_hyperkube_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes
+ kubernetes_contrail_cni_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes
+ kubernetes_contrail_network_controller_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration
+ kubernetes_netchecker_agent_repo: mirantis
+ kubernetes_netchecker_server_repo: mirantis
+ kubernetes_virtlet_repo: mirantis
+ kubernetes_kubedns_repo: gcr.io/google_containers
+ kubernetes_externaldns_repo: mirantis
+ kubernetes_genie_repo: https://artifactory.mcp.mirantis.net/artifactory/binary-prod-local/mirantis/kubernetes/cni-genie
+ kubernetes_flannel_repo: quay.io/coreos
+ kubernetes_metallb_repo: metallb
+ kubernetes_sriov_repo: https://artifactory.mcp.mirantis.net/artifactory/binary-prod-local/mirantis/kubernetes/sriov-cni
+ kubernetes_cniplugins_repo: https://artifactory.mcp.mirantis.net/artifactory/binary-prod-local/mirantis/kubernetes/containernetworking-plugins
+
+ # component docker images
+ kubernetes_docker_package: docker-engine=1.13.1-0~ubuntu-xenial
+ kubernetes_calico_calicoctl_image: ${_param:kubernetes_calico_calicoctl_repo}/ctl:v1.6.4
+ kubernetes_calico_image: ${_param:kubernetes_calico_repo}/node:v2.6.10
+ kubernetes_calico_cni_image: ${_param:kubernetes_calico_cni_repo}/cni:v1.11.6
+ kubernetes_hyperkube_image: ${_param:kubernetes_hyperkube_repo}/hyperkube-amd64:v1.10.4-4
+ kubernetes_pause_image: ${_param:kubernetes_hyperkube_repo}/pause-amd64:v1.10.4-4
+ kubernetes_contrail_cni_image: ${_param:kubernetes_contrail_cni_repo}/contrail-cni:v1.2.0
+ kubernetes_contrail_network_controller_image: ${_param:kubernetes_contrail_network_controller_repo}/contrail-network-controller:v1.2.0
+ kubernetes_virtlet_image: ${_param:kubernetes_virtlet_repo}/virtlet:v1.1.2
+ kubernetes_criproxy_version: v0.11.1
+ kubernetes_criproxy_checksum: md5=a3f1f08bdc7a8d6eb73b7c8fa5bae200
+ kubernetes_netchecker_agent_image: ${_param:kubernetes_netchecker_agent_repo}/k8s-netchecker-agent:v1.2.2
+ kubernetes_netchecker_server_image: ${_param:kubernetes_netchecker_server_repo}/k8s-netchecker-server:v1.2.2
+ kubernetes_kubedns_image: ${_param:kubernetes_kubedns_repo}/k8s-dns-kube-dns-amd64:1.14.5
+ kubernetes_dnsmasq_image: ${_param:kubernetes_kubedns_repo}/k8s-dns-dnsmasq-amd64:1.14.5
+ kubernetes_sidecar_image: ${_param:kubernetes_kubedns_repo}/k8s-dns-sidecar-amd64:1.14.5
+ kubernetes_dns_autoscaler_image: ${_param:kubernetes_kubedns_repo}/cluster-proportional-autoscaler-amd64:1.0.0
+ kubernetes_externaldns_image: ${_param:kubernetes_externaldns_repo}/external-dns:v0.5.3
+ kubernetes_genie_source: ${_param:kubernetes_genie_repo}/genie_v1.0-138-gbf5dbaa
+ kubernetes_genie_source_hash: md5=b024052ed4ecb1d5354e0cc8f51afaca
+ kubernetes_flannel_image: ${_param:kubernetes_flannel_repo}/flannel:v0.10.0-amd64
+ kubernetes_metallb_controller_image: ${_param:kubernetes_metallb_repo}/controller:v0.6.2
+ kubernetes_metallb_speaker_image: ${_param:kubernetes_metallb_repo}/speaker:v0.6.2
+ kubernetes_sriov_source: ${_param:kubernetes_sriov_repo}/sriov_v0.3-8-g8b7ed98
+ kubernetes_sriov_source_hash: md5=c0cc33202afd02e4cc44b977a8faf6e7
+ kubernetes_cniplugins_source: ${_param:kubernetes_cniplugins_repo}/cni-plugins_v0.7.1-48-g696b1f9.tar.gz
+ kubernetes_cniplugins_source_hash: md5=5ec1cf5e989097c6127ea5365e277b02
+
+ kubelet_fail_on_swap: true
+ kubernetes_kubedns_enabled: true
+ kubernetes_externaldns_enabled: false
+ kubernetes_coredns_enabled: false
+ kubernetes_externaldns_provider: coredns
+ kubernetes_virtlet_enabled: false
+ kubernetes_flannel_enabled: false
+ kubernetes_genie_enabled: false
+ kubernetes_calico_enabled: false
+ kubernetes_opencontrail_enabled: false
+ kubernetes_contrail_network_controller_enabled: false
+ kubernetes_metallb_enabled: false
+ kubernetes_sriov_enabled: false
+
+ docker:
+ host:
+ pkgs:
+ - ${_param:kubernetes_docker_package}
+ - python-docker
+ options:
+ bip: 172.31.255.1/24
+ storage-driver: overlay2
+
+ kubernetes:
+ common:
+ hyperkube:
+ image: ${_param:kubernetes_hyperkube_image}
+ pause_image: ${_param:kubernetes_pause_image}
+ cni:
+ plugins:
+ source: ${_param:kubernetes_cniplugins_source}
+ hash: ${_param:kubernetes_cniplugins_source_hash}
+ addons:
+ dns:
+ enabled: ${_param:kubernetes_kubedns_enabled}
+ kubedns_image: ${_param:kubernetes_kubedns_image}
+ dnsmasq_image: ${_param:kubernetes_dnsmasq_image}
+ sidecar_image: ${_param:kubernetes_sidecar_image}
+ autoscaler:
+ image: ${_param:kubernetes_dns_autoscaler_image}
+ externaldns:
+ enabled: ${_param:kubernetes_externaldns_enabled}
+ namespace: kube-system
+ image: ${_param:kubernetes_externaldns_image}
+ provider: ${_param:kubernetes_externaldns_provider}
+ coredns:
+ enabled: ${_param:kubernetes_coredns_enabled}
+ contrail_network_controller:
+ enabled: ${_param:kubernetes_contrail_network_controller_enabled}
+ image: ${_param:kubernetes_contrail_network_controller_image}
+ flannel:
+ enabled: ${_param:kubernetes_flannel_enabled}
+ image: ${_param:kubernetes_flannel_image}
+ virtlet:
+ enabled: ${_param:kubernetes_virtlet_enabled}
+ namespace: kube-system
+ image: ${_param:kubernetes_virtlet_image}
+ criproxy_version: ${_param:kubernetes_criproxy_version}
+ criproxy_source: ${_param:kubernetes_criproxy_checksum}
+ metallb:
+ enabled: ${_param:kubernetes_metallb_enabled}
+ pool:
+ enabled: false
+ kubelet:
+ fail_on_swap: ${_param:kubelet_fail_on_swap}
+ container: false
+ network:
+ genie:
+ enabled: ${_param:kubernetes_genie_enabled}
+ source: ${_param:kubernetes_genie_source}
+ source_hash: ${_param:kubernetes_genie_source_hash}
+ calico:
+ enabled: ${_param:kubernetes_calico_enabled}
+ image: ${_param:kubernetes_calico_image}
+ calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
+ cni_image: ${_param:kubernetes_calico_cni_image}
+ opencontrail:
+ enabled: ${_param:kubernetes_opencontrail_enabled}
+ cni_image: ${_param:kubernetes_contrail_cni_image}
+ sriov:
+ enabled: ${_param:kubernetes_sriov_enabled}
+ source: ${_param:kubernetes_sriov_source}
+ source_hash: ${_param:kubernetes_sriov_source_hash}
diff --git a/kubernetes/control/roles/cluster-admin.yml b/kubernetes/control/roles/cluster-admin.yml
new file mode 100644
index 0000000..6ee5d7d
--- /dev/null
+++ b/kubernetes/control/roles/cluster-admin.yml
@@ -0,0 +1,2 @@
+classes:
+ - service.kubernetes.control.roles.cluster-admin
\ No newline at end of file
diff --git a/kubernetes/control/roles/fluentd-view.yml b/kubernetes/control/roles/fluentd-view.yml
new file mode 100644
index 0000000..b7ab403
--- /dev/null
+++ b/kubernetes/control/roles/fluentd-view.yml
@@ -0,0 +1,2 @@
+classes:
+ - service.kubernetes.control.roles.fluentd-view
\ No newline at end of file
diff --git a/kubernetes/master/auth/rbac.yml b/kubernetes/master/auth/rbac.yml
new file mode 100644
index 0000000..be0577b
--- /dev/null
+++ b/kubernetes/master/auth/rbac.yml
@@ -0,0 +1,5 @@
+parameters:
+ kubernetes:
+ master:
+ auth:
+ mode: Node,RBAC
diff --git a/kubernetes/master/cluster.yml b/kubernetes/master/cluster.yml
index 1295f3a..7cddd21 100644
--- a/kubernetes/master/cluster.yml
+++ b/kubernetes/master/cluster.yml
@@ -1,19 +1,12 @@
classes:
- service.kubernetes.master.cluster
-- service.keepalived.cluster.single
- service.haproxy.proxy.single
- system.haproxy.proxy.listen.kubernetes.apiserver
+- system.keepalived.cluster.instance.kube_api_server_vip
+- system.kubernetes.master.common
parameters:
- _param:
- kubernetes_netchecker_agent_repo: mirantis
- kubernetes_netchecker_server_repo: mirantis
- kubernetes_netchecker_agent_image: ${_param:kubernetes_netchecker_agent_repo}/k8s-netchecker-agent:v1.2.2
- kubernetes_netchecker_server_image: ${_param:kubernetes_netchecker_server_repo}/k8s-netchecker-server:v1.2.2
kubernetes:
master:
- container: false
- network:
calico:
prometheus:
enabled: true
-
diff --git a/kubernetes/master/common.yml b/kubernetes/master/common.yml
new file mode 100644
index 0000000..0923286
--- /dev/null
+++ b/kubernetes/master/common.yml
@@ -0,0 +1,26 @@
+classes:
+- system.kubernetes.common
+parameters:
+ kubernetes:
+ master:
+ enabled: true
+ kubelet:
+ fail_on_swap: ${_param:kubelet_fail_on_swap}
+ container: false
+ network:
+ genie:
+ enabled: ${_param:kubernetes_genie_enabled}
+ source: ${_param:kubernetes_genie_source}
+ source_hash: ${_param:kubernetes_genie_source_hash}
+ calico:
+ enabled: ${_param:kubernetes_calico_enabled}
+ image: ${_param:kubernetes_calico_image}
+ calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
+ cni_image: ${_param:kubernetes_calico_cni_image}
+ opencontrail:
+ enabled: ${_param:kubernetes_opencontrail_enabled}
+ cni_image: ${_param:kubernetes_contrail_cni_image}
+ sriov:
+ enabled: ${_param:kubernetes_sriov_enabled}
+ source: ${_param:kubernetes_sriov_source}
+ source_hash: ${_param:kubernetes_sriov_source_hash}
\ No newline at end of file
diff --git a/kubernetes/master/single.yml b/kubernetes/master/single.yml
index 7fada57..31cbc28 100644
--- a/kubernetes/master/single.yml
+++ b/kubernetes/master/single.yml
@@ -1,11 +1,3 @@
classes:
- service.kubernetes.master.single
-parameters:
- _param:
- kubernetes_netchecker_agent_repo: mirantis
- kubernetes_netchecker_server_repo: mirantis
- kubernetes_netchecker_agent_image: ${_param:kubernetes_netchecker_agent_repo}/k8s-netchecker-agent:v1.2.2
- kubernetes_netchecker_server_image: ${_param:kubernetes_netchecker_server_repo}/k8s-netchecker-server:v1.2.2
- kubernetes:
- master:
- container: false
+- system.kubernetes.master.common
diff --git a/kubernetes/pool/cluster.yml b/kubernetes/pool/cluster.yml
index 17e9006..61ebc3c 100644
--- a/kubernetes/pool/cluster.yml
+++ b/kubernetes/pool/cluster.yml
@@ -1,26 +1,11 @@
classes:
- service.kubernetes.pool.cluster
- service.docker.host
+- system.kubernetes.common
parameters:
- _param:
- kubernetes_calico_calicoctl_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
- kubernetes_calico_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
- kubernetes_calico_cni_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
- kubernetes_hyperkube_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes
- kubernetes_contrail_cni_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes
- kubernetes_contrail_network_controller_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration
-
- # component docker images
- kubernetes_calico_calicoctl_image: ${_param:kubernetes_calico_calicoctl_repo}/ctl:v1.6.4
- kubernetes_calico_image: ${_param:kubernetes_calico_repo}/node:v2.6.9
- kubernetes_calico_cni_image: ${_param:kubernetes_calico_cni_repo}/cni:v1.11.5
- kubernetes_hyperkube_image: ${_param:kubernetes_hyperkube_repo}/hyperkube-amd64:v1.8.11-9
- kubernetes_contrail_cni_image: ${_param:kubernetes_contrail_cni_repo}/contrail-cni:v1.2.0
- kubernetes_contrail_network_controller_image: ${_param:kubernetes_contrail_network_controller_repo}/contrail-network-controller:v1.2.0
-
kubernetes:
pool:
- container: false
+ enabled: true
network:
calico:
prometheus:
diff --git a/kubernetes/pool/single.yml b/kubernetes/pool/single.yml
index dcc3ac1..06178df 100644
--- a/kubernetes/pool/single.yml
+++ b/kubernetes/pool/single.yml
@@ -1,26 +1,11 @@
classes:
- service.kubernetes.pool.single
- service.docker.host
+- system.kubernetes.common
parameters:
- _param:
- kubernetes_calico_calicoctl_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
- kubernetes_calico_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
- kubernetes_calico_cni_repo: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico
- kubernetes_hyperkube_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes
- kubernetes_contrail_cni_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes
- kubernetes_contrail_network_controller_repo: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration
-
- # component docker images
- kubernetes_calico_calicoctl_image: ${_param:kubernetes_calico_calicoctl_repo}/ctl:v1.6.4
- kubernetes_calico_image: ${_param:kubernetes_calico_repo}/node:v2.6.9
- kubernetes_calico_cni_image: ${_param:kubernetes_calico_cni_repo}/cni:v1.11.5
- kubernetes_hyperkube_image: ${_param:kubernetes_hyperkube_repo}/hyperkube-amd64:v1.8.11-9
- kubernetes_contrail_cni_image: ${_param:kubernetes_contrail_cni_repo}/contrail-cni:v1.2.0
- kubernetes_contrail_network_controller_image: ${_param:kubernetes_contrail_network_controller_repo}/contrail-network-controller:v1.2.0
-
kubernetes:
pool:
- container: false
+ enabled: true
docker:
host:
options:
diff --git a/linux/system/repo/glusterfs.yml b/linux/system/repo/glusterfs.yml
index fb331f0..d6f09da 100644
--- a/linux/system/repo/glusterfs.yml
+++ b/linux/system/repo/glusterfs.yml
@@ -1,11 +1,5 @@
+classes:
+- system.linux.system.repo.mcp.apt_mirantis.glusterfs
parameters:
_param:
- glusterfs_version: 3.8
- linux:
- system:
- repo:
- glusterfs-ppa:
- source: "deb http://ppa.launchpad.net/gluster/glusterfs-${_param:glusterfs_version}/ubuntu ${_param:linux_system_codename} main"
- architectures: amd64
- key_id: 3FE869A9
- key_server: keyserver.ubuntu.com
+ linux_system_repo_mcp_glusterfs_version_number: "3.10"
diff --git a/linux/system/repo/keystorage/aptly.yml b/linux/system/repo/keystorage/aptly.yml
new file mode 100644
index 0000000..85997bc
--- /dev/null
+++ b/linux/system/repo/keystorage/aptly.yml
@@ -0,0 +1,59 @@
+parameters:
+ linux:
+ system:
+ repo:
+ mcp_aptly:
+ # pub 4096R/483DA07C 2018-03-15
+ key: |
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
+ Version: GnuPG v1
+
+ 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
+ UILGDNG5JA==
+ =uEdu
+ -----END PGP PUBLIC KEY BLOCK-----
diff --git a/linux/system/repo/keystorage/docker.yml b/linux/system/repo/keystorage/docker.yml
new file mode 100644
index 0000000..a93dece
--- /dev/null
+++ b/linux/system/repo/keystorage/docker.yml
@@ -0,0 +1,106 @@
+parameters:
+ linux:
+ system:
+ repo:
+ mcp_docker:
+ # pub 4096R/0EBFCD88 2017-02-22
+ key: |
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
+ Version: GnuPG v1
+
+ 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
+ ut0=
+ =jAMc
+ -----END PGP PUBLIC KEY BLOCK-----
diff --git a/linux/system/repo/keystorage/docker_legacy.yml b/linux/system/repo/keystorage/docker_legacy.yml
new file mode 100644
index 0000000..fe317fa
--- /dev/null
+++ b/linux/system/repo/keystorage/docker_legacy.yml
@@ -0,0 +1,116 @@
+parameters:
+ linux:
+ system:
+ repo:
+ mcp_docker_legacy:
+ # pub 4096R/2C52609D 2015-07-14
+ key: |
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
+ Version: GnuPG v1
+
+ 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
+ =lwu7
+ -----END PGP PUBLIC KEY BLOCK-----
+
+
diff --git a/linux/system/repo/keystorage/glusterfs.yml b/linux/system/repo/keystorage/glusterfs.yml
new file mode 100644
index 0000000..0c9f046
--- /dev/null
+++ b/linux/system/repo/keystorage/glusterfs.yml
@@ -0,0 +1,37 @@
+parameters:
+ linux:
+ system:
+ repo:
+ mcp_glusterfs:
+ # Launchpad PPA for Gluster
+ # pub 4096R/3FE869A9 2014-08-15
+ key: |
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
+ Version: GnuPG v1
+
+ mQINBFPtYFcBEADcQMZ9aSR1ptbaEeq/8Bzu7kipaxVGh3Wcma4Lz+QPe0ofxRf+
+ oYR22UVGmJcPnVcGFbXJ50t8BAxwtQ/TSmGdQ93bl6LORAQBZ/ud1LTr2HKpaa0F
+ 1bwpi/TAgBWqP64Hu0LBGISc0G5m3/hn/bi6XxIIOzJ/L/vqLh1deVaDrYYWy5Cm
+ e8AuPtqOARKsefvVgwlpnbCtk+QaE65vgl8MXiYCaOenT07GDCq1xb7hkoVlJS4b
+ f6F3UMJVMVy4oEyYkRw4SP7ULeT1s4yrBeDzbxhFaZRJFvGpvMW3AZxfrhX/5OpZ
+ SkQiFn5/2j4eJli4/MmptAAHpGr4tLA+s6mHmA9E9c7wMfyFZe+wMhvangSDp09g
+ SSZs00bqKSnYIJ/oGRjaxCllkw4SMfTOqv8l/GOxRs12yIcZD08SSmRpoyLffrl1
+ zElyaixtAJRenphTZyq7eRLPyQl6qEDA1XtLs3ThK5/4fghMbe7MOHiMB8MwL1Rz
+ LQkl/PU08vxfum9ki/m/LP5xpJopNHZs2L47RlX2+tq6FJWbDvQwOGoFTTnxmdDf
+ 4EkMhlB4N+ujZw64pSMt3c08NShxty2UWpbSbc8/e7Ps4B7Lx6eq6AmqrcUChg8c
+ 9+PI2LUqj6mDbc8jxpUslvjsLU05xnq6OLv4U//pUTUz6eI8FgFadVZcoQARAQAB
+ tBlMYXVuY2hwYWQgUFBBIGZvciBHbHVzdGVyiQI4BBMBAgAiBQJT7WBXAhsDBgsJ
+ CAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAT4Bt7P+hpqZ3LEACYYC4UjxwSHouV
+ 295Cxfwt9P32GcWJbFmLYtLHWVTt2vdN/M9Xb02YgVLJm/nVy2vJhqcMowSW2jO5
+ 03mLq672g5mHitnIq1lh4zXcHEvP79aDRQuvkgsLEHjlk2NzYqdAsdRk3TgOLcK0
+ SRM7Cwgwd/b/gVUtPYrX1hvQKrjGJM9VZFcCMX2RmGAS0ft3QHzEAPZCgyamk0qB
+ 2eo8tLZYm42iMvq+ZSxGulhzi7gJkpv/wNdaP4E6o8o7KY3JIWMmxBn8QZUKYMob
+ ze4PSBg4G4iG2ue9IrGCb8M1o+46aOSyEIc99bznF8Jrw7a8sBufVRjSZIE9A/oM
+ EtB1pTRDn9lwx/DyYbCV16DOsk6d5x4P8cqvgdaGzl7VNLvkwmMaCH0gRFIBr937
+ rEUbeSJHTqrVG0zXzSaUHEwXPZE0Lt2C9dEmMnT6nxC7FbJB1ATPDNx8kL7MvB4j
+ l5HkjrD1W9Xu2y0dzwAKlg5jvzwP46MJgvm+AYK808XhOhMZjWzzt5POeDcDhGhp
+ RSfQtAhSnRkOtKS1drMCt27hLZDEZfCp//aj7jvVL8FjamGEMfm91FLQa5LY7OoJ
+ aYoZlYUtthrXV6w5KHFjFYAKgA8tJzebTvc1Q9avCo2G5qWNZq6TSLxHEMo/g4gu
+ 2aGRPRrKu9w2Ibosg4OqZ/YbXC8SjA==
+ =+Qna
+ -----END PGP PUBLIC KEY BLOCK-----
diff --git a/linux/system/repo/keystorage/jenkins.yml b/linux/system/repo/keystorage/jenkins.yml
new file mode 100644
index 0000000..f50851a
--- /dev/null
+++ b/linux/system/repo/keystorage/jenkins.yml
@@ -0,0 +1,151 @@
+parameters:
+ linux:
+ system:
+ repo:
+ mcp_jenkins:
+ # pub 1024D/D50582E6 2009-02-01
+ key: |
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
+ Version: GnuPG v1
+
+ mQGiBEmFQG0RBACXScOxb6BTV6rQE/tcJopAEWsdvmE0jNIRWjDDzB7HovX6Anrq
+ n7+Vq4spAReSFbBVaYiiOx2cGDymj2dyx2i9NAI/9/cQXJOU+RPdDzHVlO1Edksp
+ 5rKn0cGPWY5sLxRf8s/tO5oyKgwCVgTaB5a8gBHaoGms3nNC4YYf+lqlpwCgjbti
+ 3u1iMIx6Rs+dG0+xw1oi5FUD/2tLJMx7vCUQHhPRupeYFPoD8vWpcbGb5nHfHi4U
+ 8/x4qZspAIwvXtGw0UBHildGpqe9onp22Syadn/7JgMWhHoFw5Ke/rTMlxREL7pa
+ TiXuagD2G84tjJ66oJP1FigslJzrnG61y85V7THL61OFqDg6IOP4onbsdqHby4VD
+ zZj9A/9uQxIn5250AGLNpARStAcNPJNJbHOQuv0iF3vnG8uO7/oscB0TYb8/juxr
+ hs9GdSN0U0BxENR+8KWy5lttpqLMKlKRknQYy34UstQiyFgAQ9Epncu9uIbVDgWt
+ y7utnqXN033EyYkcWx5EhLAgHkC7wSzeSWABV3JSXN7CeeOif7QiS29oc3VrZSBL
+ YXdhZ3VjaGkgPGtrQGtvaHN1a2Uub3JnPohjBBMRAgAjAhsDBgsJCAcDAgQVAggD
+ BBYCAwECHgECF4AFAko/7vYCGQEACgkQm30y8tUFguabhgCgi54IQR4rpJZ/uUHe
+ ZB879zUWTQwAniQDBO+Zly7Fsvm0Mcvqvl02UzxCiGAEExECACAFAkmFQG0CGwMG
+ CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCbfTLy1QWC5qtXAJ9hPRisOhkexWXJ
+ nXQMl9cOTvm4LgCdGint1TONoZ2I4JtOiFzOmeP3ju3RzcvNyQEQAAEBAAAAAAAA
+ AAAAAAAA/9j/4AAQSkZJRgABAQEAYABgAAD/4QBgRXhpZgAASUkqAAgAAAAEADEB
+ AgAZAAAAPgAAABBRAQABAAAAAUOQABFRBAABAAAAEgsAABJRBAABAAAAEgsAAAAA
+ AABNYWNyb21lZGlhIEZpcmV3b3JrcyA0LjAAAP/bAEMACAYGBwYFCAcHBwkJCAoM
+ FA0MCwsMGRITDxQdGh8eHRocHCAkLicgIiwjHBwoNyksMDE0NDQfJzk9ODI8LjM0
+ Mv/bAEMBCQkJDAsMGA0NGDIhHCEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy
+ MjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/AABEIAK4AlgMBIgACEQEDEQH/xAAfAAAB
+ BQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0B
+ AgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygp
+ KjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImK
+ kpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj
+ 5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJ
+ Cgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGh
+ scEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZ
+ WmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1
+ tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEA
+ AhEDEQA/APcBI/8Afb86XzH/AL7fnUYpwqRknmN/fP50u9v7x/OmCgUASb2/vH86
+ Xe394/nTBS0AP3t/eP50u4+p/OmUopgO3H1NO3H1NR5xThQA7cfWlyfU0ylFMQ/J
+ 9aXPvTKdQAuaM0lLQAtJmiigAzRSdqKAKApwpopc1mUOpRSUopgKKWkFLQAueKzr
+ zXbCwk2Tzxq3cFwK8v8Aih8V30aaTQ9DKtegYnuTyIvZR3b+VfP1/q17fzvLc3Ms
+ sjHJZ2JJNGr2HZdT6j8U/FbR/DcKsM3VxLkpGh6AetcI37Ql4Zcx6LAYx2aUgmvD
+ 1ju7obgJHA7nmmmG4TqjDHtS+ZXL1sfVPhT4yeH/ABFNHaXYbS71zhVnYGNz6B+n
+ 4HFejK2RmvhJJSDiTj6ivYvht8XptE8rSPEEklxpxwkFyTue39j6p+op3a3Javsf
+ RuacDVaC4juIUmhkWSKRQyspyGB7ipgasgfmlpoNLmgBaKSigBaKM0UAUBS0lKKz
+ KFFLSUooAdWR4o1qLw/4bvtSmZVEMRK57t2H51rCvJPj7etD4WsbQMQJ7jkDuFBN
+ D2GlqfP13dS3k89zM5eaZy7sTySTWvovhw3JWWdcqeQtUNGsWvtQRMfIvJr0u0t1
+ hjUKOnpXFi8Q6a5Y7npYLDqfvyILXQolRVWMdOwp1x4cjYH5QPwrftQcDippFavM
+ UpvW569ktLHnOp+FFaNiijcOlcfcW8tlN5UgI+tezXEeSeM5rmtf0OK/tSVUCVOV
+ Irsw+KlF8s9jhxWFjNc0dzpfgh49MV1/wimozExyndYOx+6/eP6HqPcEd697Vq+I
+ baWbTb+G5hJWe3lWVCDj5lOf6V9naTqUeraRZ6jEMR3UKTKM9NwzivXj2PDmrM1A
+ 1PqBTUoNMlDqKSloAKKOpopAUacKbS1mWOFKKbS0xC14p+0Gw+z6Ihb+ORsfgK9r
+ rxT9oO3X7Ho1zn5vMePHrxn+lJjW55t4QgZbOe7CbmJ2IPU10sltriIDaSW7ORlg
+ 44HsKz/BCbtFyBysjVdvo9bcTNDMyEFfKCEDdzzknpx04NeVUles9vme3Rjairdu
+ hoaXqOqwt5Wo2cSjoHRuv4VuTXKCAuBzjoa5myW9SKJLmVpH25lLEEBs9sVuTgGw
+ BGN3f3rOU7SaOqEW43Me7l1a8l225SCL+9tyajfT7lHS4SdmkH+sVujj+lQakuo3
+ ELC0uGjkBwqh9qlceuM5z/L3q1p9nfwyqzzs8WxQVkOTuxycjsT2q7+7e6MXH3mr
+ M898QWgtNbmVeEcbwK+l/hdK7/DXQjI+4iAgH0AY4FfO/jWMx6+oxx5QP619B/Cx
+ Wj+G2i7twzExww7bzj8K9bDO8UeJitJv1O5U1Mp4qshqdTW7RzpklLmmg0tSULmi
+ kopAU6WkFFZlDqWm0tMQteX/ABe8MXPiBLCSN1SODcq5H8bY5+mB+teoVi+KbQ3e
+ gXAU4dPnB9MVFS/I+Xc0pNKa5tjw/wAJ2L6fpbWsw2zRzOsg9wa6RIlk6Diszy5L
+ a5kYksJTuyfWrUN2xbArxpyUpczPoKS5VyiXKQwHoBk/mamID2AIFZ89w6SlvKSV
+ ugDNjFK2p3It/L8uIAc//WpRhd3RtKaSs2WLNIpQeAcGrjosYIFZVvcPLIr7Fibo
+ Qpzmp5rp/N24prTQmT0uYOv6LDrWt2avIIkSJjI3qMjAHuTmveNEsU0rRbGwjPyW
+ 0CRr9AK8k0y0S81yMMAzllQL3xnnAr2cdfavXwLbT8jwcwsmrbssoamU8VXQ1Otd
+ jOBEoNOBqMGnA1BY6ikHNFAypS0lLWRQtFFApgLTJoknheKQZRwVYe1OopiPO/GP
+ hq202xgu7RX+VishZs9a4pmaMtsGSRkAV7Xq9gupaXPasPvr8v17V4jKHt7qS3k4
+ kjYqa8vF0lCSaWh6uDrOSab1KAuLia9a2CJCQu7zLhgoI9q2f+Ecv2h877XZbTuB
+ Ikz0x/jVK4RZVAdckDg1QfEY8kW6EeoYgH6jOKwi0z0emkrfK5LcyXNpex2YEVyz
+ ruEkD5Cj1NX1Lbt0hyVHP1qpbxiFCyqN5HYYAq/pcH2/WbSyLcSyAMfbqaduaSij
+ KpJRTdz03w3p0dpo1m7RL57JvLFRuG7nr16YrdWolAHAGB2qVa+hjFRioo+YlJyk
+ 5MnSp1NQpUopMESCnA+tMFOBqS0Oz6UUlFIZWopKXNZFi0UlFMQuaM0maM0wOU8Z
+ /ELRfA8UQ1Ayz3kw3RWkABcrnG4k8KPr17CvIbjWR4lSXXbW2Nv5srHyS+4gA9Cc
+ DNYfxfl+1fEbVCsm8xFI+T0wo4/CrHg9kt9OFm88TyffwrA43DOPw71y4xfuk13O
+ zBfxGn2NWDU4ZFXLbXHDKamN7a7cfLn3qCWyt2nKyxAj3FLJo9hFGH8sNu5HJrzo
+ 2PTbkupHPqcafLHlnPCqKu6VqMfhy4h1nUEkdIDvdIwC2MYwM455rMW502wlzLLD
+ Cq+p5P4dax9e8S2N5aSWtuXcOMFsYH61vSpzlNOKMKs4qLUme6+EvHWk+MRcLp6X
+ EUtuAzxzqAcHjIwTmuqQ185/CTXo9J8XRW0iqsF+v2bcxxtbOVOfcjH419EqcHBr
+ 3FqeDJWZbQ1KDVeNqmBqWCJRTs1GDTgakseKKQc0UgK1LTaq6lqljo9g99qV3Fa2
+ qfellbAz6DuT7DmsjQuU15FiiaWR1SNBlndgFUe5PSvGfEfx02s8HhzTwR0F3eDr
+ 7rGP/Zj+FeU674u1zxE5bVtUuLlc5ETNiNfogwo/KrUWFj37xF8YfC+hiSK1mfVb
+ tePLtf8AVg+8h4/LNeSa/wDGHxRrcjpb3Q0u3OcRWZ2nHu5+Y/p9K89Z9x5ppOM8
+ 1SihXHTTyO7NIzO7MWZmOSxPUk+tQrKyNuUkEdwcGnFs8EVGV9Kom5YGoXqtuW7n
+ B9fMNPOrag67Wvbgr6eYap4OelA5qeSPYrnl3Jg7McsxJ9SakTrzUCg+1SgqgyTm
+ rJLkbjII6e9dfp/xR8VaciLFqjTxxAKI7pFkBHuTz+tcL5xI9AeAKcpGSSe1Az37
+ wx8adPv3S3122FjKeBPES8R+o6r+tepWl7b3tulxazxTwvyskbBlP4ivjASAnA4r
+ Z0DxVrHh2787TL+WDP3kzlG+qng0XFyo+wlfIp4NeN+FfjbaXs0dp4gt1tGPH2uH
+ Jjz/ALS9R9RmvWra6huoEnt5o5oXGUkjYMrD2IpE2aLgoqMOMUUWC5ka/rVv4e0K
+ 71W5G6O3QsEBwXboFH1OK+WPE3irVfE2pNeapcM7ZPlxA4jhX+6i9h+p71698dNZ
+ +z6Np+ko3zXMpmkH+yvA/U/pXgcz7k9x/KogtDR6DXmJ71EXOKYTzSE5qybi7uaU
+ mmd6UcimITPNKDmmnrQKAJM8Ck3egpuaQUAPBJ6k4ozknjimk9qB0oGO3E04NUYp
+ aQEu/wBqXOFAPeohyQKV25NMCdJDng103hjxnq/hm7WTTrp1jJy8LHMb/Vf8muU+
+ 6g9TThIUGB1Pf0osNM+wPCnie18U6HHqNspjbOyaInJjcdR7jnINFeY/APUUJ1jS
+ pZVQER3K7jjn7rf+y0U1YiWj0OW+NmoG68dvbhsrawIgHoTyf515qzbth9eDXQ+P
+ NQOo+NNUus5DzED6Dj+lc0DnI9DmohsXLcaTQOaG6n60CqJEpVpM0A80ADDmkpzd
+ RSUALRRRQACiijvQAtFJRmgY9B3po5b605DhGNN70CHu2CT+ApEwX5+ppG5AP1pM
+ 4GB1PWmBraZez2rvJBM8TMMEocHFFVLViFOKKm1y0xb9zNI0pJLFiT+PNUlPz5NW
+ Jm+/9RVYjGPenYlisMufrSE05vu5qOgQtA60dqB1oAe3QU2nN0plAC0tJSjrQAlL
+ miigAptL0pO9AEi8RfU0mM8560H/AFaikzx+NMBxx0H40zOeaU8KffikHSgCxC+y
+ LPqaKYeAq+gooHc//9mIYAQTEQIAIAUCSj/3IAIbAwYLCQgHAwIEFQIIAwQWAgMB
+ Ah4BAheAAAoJEJt9MvLVBYLmt2sAnRUJQoS4J/5+LW+Iy3tUYMTsR8aLAJ9gp9qD
+ YbGfdcFG+HeSbh/PEwrqbLQzS29oc3VrZSBLYXdhZ3VjaGkgPGtvaHN1a2Uua2F3
+ YWd1Y2hpQGNsb3VkYmVlcy5jb20+iGIEExECACIFAk0GnroCGwMGCwkIBwMCBhUI
+ AgkKCwQWAgMBAh4BAheAAAoJEJt9MvLVBYLmfugAnRb1qac6CqRaNUhHbzd1m/5S
+ niNzAJ9NJUC2Fjk7uEyvQ5bDJ+hAFbkQVLQpS29oc3VrZSBLYXdhZ3VjaGkgPGtv
+ aHN1a2VAY2xvdWRiZWVzLmNvbT6IYgQTEQIAIgUCVh045AIbAwYLCQgHAwIGFQgC
+ CQoLBBYCAwECHgECF4AACgkQm30y8tUFguZVLgCdElQ2ydLBp33/9SFyVEz3cFMk
+ 0DkAn2qWsQlPT549lAqeSnkhCOcGJAx0tCxLb2hzdWtlIEthd2FndWNoaSA8a2th
+ d2FndWNoaUBjbG91ZGJlZXMuY29tPohiBBMRAgAiBQJWHTjzAhsDBgsJCAcDAgYV
+ CAIJCgsEFgIDAQIeAQIXgAAKCRCbfTLy1QWC5sMTAKCA5kH0uH0x0HoTuxjrU740
+ pU/53gCfaFWE6s7nBFMkJ3RyxjtZBGnY2Jm5Ag0ESYVAbRAIAOoBdaCKKzjKL3qi
+ zdBmYrnzT2iONNOeUgKBvO2tPnlwxVMMFz1Kd7JFCULRxL4zXPgOjqWPzWw0l0mI
+ E+pNhgDX57FMW+znMLE8icM/eG+pfEdM/XjZc3WF3O3ndHuyafw7TDI75EIFRvjh
+ 702S6y8F3lQ/cl7jj2GelcnhY7dxUwWbiCHGzsRGWkCLk1MSxVV0zx2odtkm2TyB
+ vN0AcfTJuIBeZbIsUZkO64qIUCSqb9aV53uJ3o35w/HXTt3AFyXA/HN8RgoSonVg
+ MMegOXJ/HjTXbLXnd7mwbJqH8g8Fiussx8b5aaLCvmcJfS2bA5zK6S4T3iFvMkJf
+ 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
+ =fBn8
+ -----END PGP PUBLIC KEY BLOCK-----
diff --git a/linux/system/repo/keystorage/maas.yml b/linux/system/repo/keystorage/maas.yml
new file mode 100644
index 0000000..cac2c27
--- /dev/null
+++ b/linux/system/repo/keystorage/maas.yml
@@ -0,0 +1,36 @@
+parameters:
+ linux:
+ system:
+ repo:
+ mcp_maas:
+ # pub 4096R/684D4A1C 2015-08-20
+ key: |
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
+ Version: GnuPG v1
+
+ mQINBFXVlyMBEACqM3iz2EGJE0iE3/AAbNCnbBB25m3AWaSxJk+GJfkAAYWGqAKi
+ uWceCcetdNKNTKd8frSZFsRB7IceZr0u5sWpSYur6uoMNHzS8Y5cGdyAVrnEZtbd
+ ak652x13jlX7nrcE9g//lD0w254XW1Loyy5YOGWfUmJkGImndFWtkqd1J7SCVMMW
+ 5l/nS4LwsOx/wTxL5m/cFQLi67JyJGqszKXS88oHT1YFBWPyl1VcXifFwecH/32f
+ Rr6WGpEAaxGF4dO45WGvJIQs2yiT5f9ha3tuJCbzI58t9BxiR1MMZ9AAPjdNO6JZ
+ kX2q+/uqgJg9IWNcJ4E+fCgl/hvoB3AURXHmaagH7nMb/6OA/QFSbiR3eciSJ89c
+ EkK+7d0br+p2+shO/dOV6lUrbidVVjiiTdmYlyXzuPcvPWVYmXjDzsOi0sSZZNMq
+ 8G3/pAavjyGUvZtb781V1j9/8l3o5ScAPzzamT2W4rF+nCh1iHYz7+wP2XDNifE/
+ oK7fLNb0ig1G5S4PCqZHUp95LUaJrFczYCPwlERUxIC3B9a+UC3SdZmRuuSENWNs
+ YxKUlbU07GCrjxtcDhQHGQDVJDUGbqqkA4B/iKrwW3reA5fHo3yocQMX7YR6C2/Q
+ n+wn/EoEPIB1wkzAQvarnNCCdwjD5AB1VhANEFwUKMWHDEsofKOSTBYvgQARAQAB
+ tBZMYXVuY2hwYWQgUFBBIGZvciBNQUFTiQI4BBMBAgAiBQJV1ZcjAhsDBgsJCAcD
+ AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAE5/3FaE1KHDH8D/9Mdc+4tw8foj6lILCg
+ fBRi9S37tOyV2m5YvD+qRzefUYgFKXYxleO+H9cjFH2XyHIBwa15dD/Yg+DkcAKb
+ 9f/a1llHNTzLkHiNVQl4tl8qeJPj2Obm53HsjhazIgh0L208GRGJxO4HSBbrBTo8
+ FNF00Cl52josZdG1mPCSDuJm1AkeY9q4WeAOnekquz2qjUa+L8J8z+HVPC9rUryE
+ NXdwCyh3TE0G0occjUAsb5oOu3bcKSbVraq+trhjp9sz7o7O4lc4+cT2gFIWl1Rp
+ 1djzXH8flU/s3U1vl0RcIFEZbuqsuDWukpxozq4M5y7VKq4y5dq7Y0PbMuJ0Dvgn
+ Bn4fbboMji4LYfgn++vosZv/MXkPIg6wubxdejVdrEoFRFxCcYqW4wObY8vxrvDr
+ Mjp4HrQ2guN8OJDUYnLdVv9P1MMKDAMrDjRdy3NsBpd7GuA9hXRXBPZ8y74nIwCR
+ jEDnIz5jsws9PxZIVabieoCI6RibJMw8qpuicM97Ss2Uq5vURvTBQ3f6wYjCMsdt
+ yqjz6TVJ3zwK9NPfMhXGVrrsxBOxO382r6XXuUbTcXZTDjAkoMsBqfjidlGDGTb3
+ Un0LkZJfpXrmZehyvO/GlsoYiFDhGf+EXJzKwRUEuJlIkVEZ72OtuoUMoBrjuADR
+ lJQUW0ZbcmpOxjK1c6w08nhSvA==
+ =QeWQ
+ -----END PGP PUBLIC KEY BLOCK-----
diff --git a/linux/system/repo/keystorage/saltstack.yml b/linux/system/repo/keystorage/saltstack.yml
new file mode 100644
index 0000000..d217202
--- /dev/null
+++ b/linux/system/repo/keystorage/saltstack.yml
@@ -0,0 +1,38 @@
+parameters:
+ linux:
+ system:
+ repo:
+ mcp_saltstack:
+ # pub 2048R/DE57BFBE 2014-06-24
+ key: |
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
+ Version: GnuPG v1
+
+ mQENBFOpvpgBCADkP656H41i8fpplEEB8IeLhugyC2rTEwwSclb8tQNYtUiGdna9
+ m38kb0OS2DDrEdtdQb2hWCnswxaAkUunb2qq18vd3dBvlnI+C4/xu5ksZZkRj+fW
+ tArNR18V+2jkwcG26m8AxIrT+m4M6/bgnSfHTBtT5adNfVcTHqiT1JtCbQcXmwVw
+ WbqS6v/LhcsBE//SHne4uBCK/GHxZHhQ5jz5h+3vWeV4gvxS3Xu6v1IlIpLDwUts
+ kT1DumfynYnnZmWTGc6SYyIFXTPJLtnoWDb9OBdWgZxXfHEcBsKGha+bXO+m2tHA
+ gNneN9i5f8oNxo5njrL8jkCckOpNpng18BKXABEBAAG0MlNhbHRTdGFjayBQYWNr
+ YWdpbmcgVGVhbSA8cGFja2FnaW5nQHNhbHRzdGFjay5jb20+iQE4BBMBAgAiBQJT
+ qb6YAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAOCKFJ3le/vhkqB/0Q
+ WzELZf4d87WApzolLG+zpsJKtt/ueXL1W1KA7JILhXB1uyvVORt8uA9FjmE083o1
+ yE66wCya7V8hjNn2lkLXboOUd1UTErlRg1GYbIt++VPscTxHxwpjDGxDB1/fiX2o
+ nK5SEpuj4IeIPJVE/uLNAwZyfX8DArLVJ5h8lknwiHlQLGlnOu9ulEAejwAKt9CU
+ 4oYTszYM4xrbtjB/fR+mPnYh2fBoQO4d/NQiejIEyd9IEEMd/03AJQBuMux62tjA
+ /NwvQ9eqNgLw9NisFNHRWtP4jhAOsshv1WW+zPzu3ozoO+lLHixUIz7fqRk38q8Q
+ 9oNR31KvrkSNrFbA3D89uQENBFOpvpgBCADJ79iH10AfAfpTBEQwa6vzUI3Eltqb
+ 9aZ0xbZV8V/8pnuU7rqM7Z+nJgldibFk4gFG2bHCG1C5aEH/FmcOMvTKDhJSFQUx
+ uhgxttMArXm2c22OSy1hpsnVG68G32Nag/QFEJ++3hNnbyGZpHnPiYgej3FrerQJ
+ zv456wIsxRDMvJ1NZQB3twoCqwapC6FJE2hukSdWB5yCYpWlZJXBKzlYz/gwD/Fr
+ GL578WrLhKw3UvnJmlpqQaDKwmV2s7MsoZogC6wkHE92kGPG2GmoRD3ALjmCvN1E
+ PsIsQGnwpcXsRpYVCoW7e2nW4wUf7IkFZ94yOCmUq6WreWI4NggRcFC5ABEBAAGJ
+ AR8EGAECAAkFAlOpvpgCGwwACgkQDgihSd5Xv74/NggA08kEdBkiWWwJZUZEy7cK
+ WWcgjnRuOHd4rPeT+vQbOWGu6x4bxuVf9aTiYkf7ZjVF2lPn97EXOEGFWPZeZbH4
+ vdRFH9jMtP+rrLt6+3c9j0M8SIJYwBL1+CNpEC/BuHj/Ra/cmnG5ZNhYebm76h5f
+ T9iPW9fFww36FzFka4VPlvA4oB7ebBtquFg3sdQNU/MmTVV4jPFWXxh4oRDDR+8N
+ 1bcPnbB11b5ary99F/mqr7RgQ+YFF0uKRE3SKa7a+6cIuHEZ7Za+zhPaQlzAOZlx
+ fuBmScum8uQTrEF5+Um5zkwC7EXTdH1co/+/V/fpOtxIg4XO4kcugZefVm5ERfVS
+ MA==
+ =dtMN
+ -----END PGP PUBLIC KEY BLOCK-----
diff --git a/linux/system/repo/keystorage/ubuntu.yml b/linux/system/repo/keystorage/ubuntu.yml
new file mode 100644
index 0000000..aaa6f88
--- /dev/null
+++ b/linux/system/repo/keystorage/ubuntu.yml
@@ -0,0 +1,86 @@
+parameters:
+ linux:
+ system:
+ repo:
+ ubuntu:
+ key: |
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
+ Version: GnuPG v1
+
+ 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
+ Twx6DKLF+3rF5nf1F3Q=
+ =PBAe
+ ubuntu_updates:
+ key: ${linux:system:repo:ubuntu:key}
+ ubuntu_security:
+ key: ${linux:system:repo:ubuntu:key}
diff --git a/linux/system/repo/mcp/apt_mirantis/aptly.yml b/linux/system/repo/mcp/apt_mirantis/aptly.yml
index f563502..d0f04c4 100644
--- a/linux/system/repo/mcp/apt_mirantis/aptly.yml
+++ b/linux/system/repo/mcp/apt_mirantis/aptly.yml
@@ -1,13 +1,14 @@
+classes:
+- system.linux.system.repo.keystorage.aptly
parameters:
_param:
apt_mk_version: stable
- linux_system_repo_mcp_aptly_version: ${_param:apt_mk_version}
+ linux_system_repo_url: http://mirror.mirantis.com/${_param:apt_mk_version}/
+ linux_system_repo_mcp_aptly_url: ${_param:linux_system_repo_url}/aptly/
linux:
system:
repo:
mcp_aptly:
- source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_aptly_version}/aptly/${_param:linux_system_codename}/ squeeze main"
+ source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_aptly_url}/${_param:linux_system_codename}/ squeeze main"
architectures: amd64
- key_id: ED75B5A4483DA07C
- key_server: keys.gnupg.net
clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/docker.yml b/linux/system/repo/mcp/apt_mirantis/docker.yml
index d3314a9..96080c8 100644
--- a/linux/system/repo/mcp/apt_mirantis/docker.yml
+++ b/linux/system/repo/mcp/apt_mirantis/docker.yml
@@ -1,13 +1,14 @@
+classes:
+- system.linux.system.repo.keystorage.docker
parameters:
_param:
apt_mk_version: stable
- linux_system_repo_mcp_docker_version: ${_param:apt_mk_version}
+ linux_system_repo_url: http://mirror.mirantis.com/${_param:apt_mk_version}/
+ linux_system_repo_mcp_docker_url: ${_param:linux_system_repo_url}/docker/
linux:
system:
repo:
mcp_docker:
- source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_docker_version}/docker/${_param:linux_system_codename}/ ${_param:linux_system_codename} stable"
+ source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_docker_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} stable"
architectures: amd64
- key_id: 8D81803C0EBFCD88
- key_server: keyserver.ubuntu.com
- clean_file: true
\ No newline at end of file
+ clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml b/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml
index 2689869..bab50fa 100644
--- a/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml
+++ b/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml
@@ -1,12 +1,14 @@
+classes:
+- system.linux.system.repo.keystorage.docker_legacy
parameters:
_param:
apt_mk_version: stable
- linux_system_repo_mcp_docker_legacy_version: ${_param:apt_mk_version}
+ linux_system_repo_url: http://mirror.mirantis.com/${_param:apt_mk_version}/
+ linux_system_repo_mcp_docker_legacy_url: ${_param:linux_system_repo_url}/docker-1.x/
linux:
system:
repo:
mcp_docker_legacy:
- source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_docker_legacy_version}/docker-1.x/${_param:linux_system_codename}/ ubuntu-${_param:linux_system_codename} main"
+ source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_docker_legacy_url}/${_param:linux_system_codename}/ ubuntu-${_param:linux_system_codename} main"
architectures: amd64
- key_id: 58118E89F3A912897C070ADBF76221572C52609D
- key_server: keyserver.ubuntu.com
\ No newline at end of file
+ clean_file: true
diff --git a/linux/system/repo/mcp/apt_mirantis/glusterfs.yml b/linux/system/repo/mcp/apt_mirantis/glusterfs.yml
index 02f2fd9..3b2bd6d 100644
--- a/linux/system/repo/mcp/apt_mirantis/glusterfs.yml
+++ b/linux/system/repo/mcp/apt_mirantis/glusterfs.yml
@@ -1,14 +1,19 @@
+classes:
+- system.linux.system.repo.keystorage.glusterfs
parameters:
_param:
apt_mk_version: stable
- linux_system_repo_mcp_glusterfs_version: ${_param:apt_mk_version}
linux_system_repo_mcp_glusterfs_version_number: "3.8"
+ linux_system_repo_url: http://mirror.mirantis.com/${_param:apt_mk_version}/
+ linux_system_repo_mcp_glusterfs_url: ${_param:linux_system_repo_url}/glusterfs-${_param:linux_system_repo_mcp_glusterfs_version_number}/
linux:
system:
repo:
mcp_glusterfs:
- source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_glusterfs_version}/glusterfs-${_param:linux_system_repo_mcp_glusterfs_version_number}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+ source: "deb ${_param:linux_system_repo_mcp_glusterfs_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
architectures: amd64
- key_id: 3FE869A9
- key_server: keyserver.ubuntu.com
clean_file: true
+ pin:
+ - pin: "release o=LP-PPA-gluster-glusterfs-${_param:linux_system_repo_mcp_glusterfs_version_number}"
+ priority: 1100
+ package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/jenkins.yml b/linux/system/repo/mcp/apt_mirantis/jenkins.yml
new file mode 100644
index 0000000..0c256b6
--- /dev/null
+++ b/linux/system/repo/mcp/apt_mirantis/jenkins.yml
@@ -0,0 +1,19 @@
+classes:
+- system.linux.system.repo.keystorage.jenkins
+parameters:
+ _param:
+ apt_mk_version: stable
+ linux_system_repo_url: http://mirror.mirantis.com/${_param:apt_mk_version}/
+ linux_system_repo_mcp_jenkins_url: ${_param:linux_system_repo_url}/jenkins/
+ linux:
+ system:
+ repo:
+ mcp_jenkins:
+ # FIXME PROD-20733
+ source: "deb [arch=amd64 trusted=yes] ${_param:linux_system_repo_mcp_jenkins_url}/${_param:linux_system_codename}/ binary main"
+ architectures: amd64
+ clean_file: true
+ pin:
+ - pin: 'release o=jenkins.io'
+ priority: 1100
+ package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/maas.yml b/linux/system/repo/mcp/apt_mirantis/maas.yml
index 7ee3537..c89e3fe 100644
--- a/linux/system/repo/mcp/apt_mirantis/maas.yml
+++ b/linux/system/repo/mcp/apt_mirantis/maas.yml
@@ -1,13 +1,18 @@
+classes:
+- system.linux.system.repo.keystorage.maas
parameters:
_param:
apt_mk_version: stable
- linux_system_repo_mcp_maas_version: ${_param:apt_mk_version}
+ linux_system_repo_url: http://mirror.mirantis.com/${_param:apt_mk_version}/
+ linux_system_repo_mcp_maas_url: ${_param:linux_system_repo_url}/maas/
linux:
system:
repo:
mcp_maas:
- source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_maas_version}/maas/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+ source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_maas_url}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
architectures: amd64
- key_id: 684D4A1C
- key_server: keyserver.ubuntu.com
clean_file: true
+ pin:
+ - pin: 'release o=LP-PPA-maas-stable'
+ priority: 1100
+ package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/saltstack.yml b/linux/system/repo/mcp/apt_mirantis/saltstack.yml
index 6fcd5a1..22b3bb8 100644
--- a/linux/system/repo/mcp/apt_mirantis/saltstack.yml
+++ b/linux/system/repo/mcp/apt_mirantis/saltstack.yml
@@ -1,14 +1,19 @@
+classes:
+- system.linux.system.repo.keystorage.saltstack
parameters:
_param:
apt_mk_version: stable
- salt_version: 2016.3
- linux_system_repo_mcp_saltstack_version: ${_param:apt_mk_version}
+ salt_version: 2017.7
+ linux_system_repo_url: http://mirror.mirantis.com/${_param:apt_mk_version}/
+ linux_system_repo_mcp_saltstack_url: ${_param:linux_system_repo_url}/saltstack-${_param:salt_version}/
linux:
system:
repo:
mcp_saltstack:
- source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_saltstack_version}/saltstack-${_param:salt_version}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
+ source: "deb [arch=amd64] ${_param:linux_system_repo_mcp_saltstack_url}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
architectures: amd64
- key_id: 0E08A149DE57BFBE
- key_server: keyserver.ubuntu.com
clean_file: true
+ pin:
+ - pin: 'release o=SaltStack'
+ priority: 1100
+ package: '*'
diff --git a/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml b/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml
index c47e177..26f1a02 100644
--- a/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml
+++ b/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml
@@ -1,13 +1,6 @@
+classes:
+- system.linux.system.repo.keystorage.saltstack
+- system.linux.system.repo.mcp.apt_mirantis.saltstack
parameters:
_param:
- apt_mk_version: stable
- linux_system_repo_mcp_saltstack_version: ${_param:apt_mk_version}
- linux:
- system:
- repo:
- mcp_saltstack:
- source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_saltstack_version}/saltstack-2016.3/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
- architectures: amd64
- key_id: 0E08A149DE57BFBE
- key_server: keyserver.ubuntu.com
- clean_file: true
+ salt_version: 2016.3
diff --git a/linux/system/repo/mcp/apt_mirantis/ubuntu.yml b/linux/system/repo/mcp/apt_mirantis/ubuntu.yml
index e254ed6..55f6387 100644
--- a/linux/system/repo/mcp/apt_mirantis/ubuntu.yml
+++ b/linux/system/repo/mcp/apt_mirantis/ubuntu.yml
@@ -1,24 +1,26 @@
+classes:
+- system.linux.system.repo.keystorage.ubuntu
parameters:
_param:
- apt_mk_version: stable
+ apt_mk_version: 'stable'
+ linux_repo_refresh_db: true
+ linux_system_repo_url: http://mirror.mirantis.com/${_param:apt_mk_version}/
+ linux_system_repo_ubuntu_url: ${_param:linux_system_repo_url}/ubuntu/
linux:
system:
repo:
ubuntu:
- source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:apt_mk_version}/ubuntu/ ${_param:linux_system_codename} main restricted universe"
+ refresh_db: ${_param:linux_repo_refresh_db}
+ source: "deb [arch=amd64] ${_param:linux_system_repo_ubuntu_url} ${_param:linux_system_codename} main restricted universe"
architectures: amd64
default: true
- key_id: 437D05B5
- key_server: keyserver.ubuntu.com
ubuntu_updates:
- source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:apt_mk_version}/ubuntu/ ${_param:linux_system_codename}-updates main restricted universe"
+ refresh_db: ${_param:linux_repo_refresh_db}
+ source: "deb [arch=amd64] ${_param:linux_system_repo_ubuntu_url} ${_param:linux_system_codename}-updates main restricted universe"
architectures: amd64
default: true
- key_id: 437D05B5
- key_server: keyserver.ubuntu.com
ubuntu_security:
- source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:apt_mk_version}/ubuntu/ ${_param:linux_system_codename}-security main restricted universe"
+ refresh_db: ${_param:linux_repo_refresh_db}
+ source: "deb [arch=amd64] ${_param:linux_system_repo_ubuntu_url} ${_param:linux_system_codename}-security main restricted universe"
architectures: amd64
default: true
- key_id: 437D05B5
- key_server: keyserver.ubuntu.com
\ No newline at end of file
diff --git a/linux/system/repo/mcp/mirror/v1/openstack.yml b/linux/system/repo/mcp/mirror/v1/openstack.yml
new file mode 100644
index 0000000..a4a369b
--- /dev/null
+++ b/linux/system/repo/mcp/mirror/v1/openstack.yml
@@ -0,0 +1,16 @@
+parameters:
+ _param:
+ apt_mk_version: stable
+ linux_system_architecture: 'amd64'
+ linux:
+ system:
+ repo:
+ mirantis_openstack:
+ source: "deb http://mirror.mirantis.com/${_param:apt_mk_version}/openstack-${_param:openstack_version}/${_param:linux_system_codename} ${_param:linux_system_codename} main"
+ architectures: ${_param:linux_system_architecture}
+ clean_file: true
+ key_url: https://mirror.mirantis.com/${_param:apt_mk_version}/openstack-${_param:openstack_version}/${_param:linux_system_codename}/archive-${_param:openstack_version}.key
+ pin:
+ - pin: 'release o=Mirantis'
+ priority: 1100
+ package: '*'
diff --git a/linux/system/repo_local/mcp/apt_mirantis/glusterfs.yml b/linux/system/repo_local/mcp/apt_mirantis/glusterfs.yml
index cb3444b..57625a3 100644
--- a/linux/system/repo_local/mcp/apt_mirantis/glusterfs.yml
+++ b/linux/system/repo_local/mcp/apt_mirantis/glusterfs.yml
@@ -1,3 +1,5 @@
+# DEPRECATED since 2018.7+ release.
+# Please use system/repo/mcp/apt_mirantis
parameters:
_param:
apt_mk_version: stable
diff --git a/linux/system/repo_local/mcp/apt_mirantis/maas.yml b/linux/system/repo_local/mcp/apt_mirantis/maas.yml
index 63f82c2..f8bc651 100644
--- a/linux/system/repo_local/mcp/apt_mirantis/maas.yml
+++ b/linux/system/repo_local/mcp/apt_mirantis/maas.yml
@@ -1,3 +1,5 @@
+# DEPRECATED since 2018.7+ release.
+# Please use system/repo/mcp/apt_mirantis
parameters:
_param:
apt_mk_version: stable
diff --git a/linux/system/repo_local/mcp/apt_mirantis/saltstack.yml b/linux/system/repo_local/mcp/apt_mirantis/saltstack.yml
index 5b2a904..c2e6db5 100644
--- a/linux/system/repo_local/mcp/apt_mirantis/saltstack.yml
+++ b/linux/system/repo_local/mcp/apt_mirantis/saltstack.yml
@@ -1,7 +1,9 @@
+# DEPRECATED since 2018.7+ release.
+# Please use system/repo/mcp/apt_mirantis
parameters:
_param:
apt_mk_version: stable
- salt_version: 2016.3
+ salt_version: 2017.7
linux_system_repo_mcp_saltstack_version: ${_param:apt_mk_version}
linux:
system:
@@ -14,4 +16,4 @@
pin:
- pin: 'release a=${_param:linux_system_repo_mcp_saltstack_version}'
priority: 1100
- package: '*'
\ No newline at end of file
+ package: '*'
diff --git a/linux/system/repo_local/mcp/apt_mirantis/ubuntu.yml b/linux/system/repo_local/mcp/apt_mirantis/ubuntu.yml
index d510183..79c002f 100644
--- a/linux/system/repo_local/mcp/apt_mirantis/ubuntu.yml
+++ b/linux/system/repo_local/mcp/apt_mirantis/ubuntu.yml
@@ -1,23 +1,24 @@
+classes:
+- system.linux.system.repo.keystorage.ubuntu
parameters:
+ _param:
+ apt_mk_version: 'stable'
+ linux_repo_refresh_db: true
linux:
system:
repo:
ubuntu:
refresh_db: ${_param:linux_repo_refresh_db}
- source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu ${_param:linux_system_codename} main universe restricted"
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/${_param:apt_mk_version}/ubuntu ${_param:linux_system_codename} main universe restricted"
architectures: amd64
default: true
- key_url: "http://${_param:local_repo_url}/public.gpg"
- ubuntu-updates:
+ ubuntu_updates:
refresh_db: ${_param:linux_repo_refresh_db}
- source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu ${_param:linux_system_codename}-updates main universe restricted"
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/${_param:apt_mk_version}/ubuntu ${_param:linux_system_codename}-updates main universe restricted"
architectures: amd64
default: true
- key_url: "http://${_param:local_repo_url}/public.gpg"
- ubuntu-security:
+ ubuntu_security:
refresh_db: ${_param:linux_repo_refresh_db}
- source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu ${_param:linux_system_codename}-security main universe restricted"
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/${_param:apt_mk_version}/ubuntu ${_param:linux_system_codename}-security main universe restricted"
architectures: amd64
default: true
- key_url: "http://${_param:local_repo_url}/public.gpg"
-
diff --git a/linux/system/repo_local/ubuntu.yml b/linux/system/repo_local/ubuntu.yml
index 46994ee..e93a4b3 100644
--- a/linux/system/repo_local/ubuntu.yml
+++ b/linux/system/repo_local/ubuntu.yml
@@ -8,13 +8,13 @@
architectures: amd64
default: true
key_url: "http://${_param:local_repo_url}/public.gpg"
- ubuntu-updates:
+ ubuntu_updates:
refresh_db: ${_param:linux_repo_refresh_db}
source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu ${_param:linux_system_codename}-updates main universe restricted"
architectures: amd64
default: true
key_url: "http://${_param:local_repo_url}/public.gpg"
- ubuntu-security:
+ ubuntu_security:
refresh_db: ${_param:linux_repo_refresh_db}
source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu ${_param:linux_system_codename}-security main universe restricted"
architectures: amd64
diff --git a/linux/system/single/init.yml b/linux/system/single/init.yml
index 4429a82..970184c 100644
--- a/linux/system/single/init.yml
+++ b/linux/system/single/init.yml
@@ -41,8 +41,6 @@
en_US.UTF-8:
enabled: true
default: true
- cs_CZ.UTF-8:
- enabled: true
limit:
default:
enabled: true
diff --git a/maas/region/boot_sources/maas_ephemeral_v3/bss_xenial.yml b/maas/region/boot_sources/maas_ephemeral_v3/bss_xenial.yml
new file mode 100644
index 0000000..ad54efa
--- /dev/null
+++ b/maas/region/boot_sources/maas_ephemeral_v3/bss_xenial.yml
@@ -0,0 +1,13 @@
+parameters:
+ _param:
+ apt_mk_version: stable
+ maas:
+ region:
+ boot_sources_selections:
+ mcp_xenial:
+ url: ${maas:region:boot_sources:mcp_resources_mirror:url}
+ os: "ubuntu"
+ release: "xenial"
+ arches: "amd64"
+ subarches: '"*"'
+ labels: '"*"'
diff --git a/maas/region/boot_sources/maas_ephemeral_v3/init.yml b/maas/region/boot_sources/maas_ephemeral_v3/init.yml
new file mode 100644
index 0000000..9d0abf2
--- /dev/null
+++ b/maas/region/boot_sources/maas_ephemeral_v3/init.yml
@@ -0,0 +1,11 @@
+parameters:
+ _param:
+ apt_mk_version: stable
+ maas_region_boot_sources_maas_ephemeral_v3_bs_url: http://mirror.mirantis.com/${_param:apt_mk_version}/maas-ephemeral-v3/
+ maas:
+ region:
+ boot_sources_delete_all_others: true
+ boot_sources:
+ mcp_resources_mirror:
+ url: ${_param:maas_region_boot_sources_maas_ephemeral_v3_bs_url}
+ keyring_file: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
diff --git a/maas/region/single.yml b/maas/region/single.yml
index 3fdc105..7c57d9e 100644
--- a/maas/region/single.yml
+++ b/maas/region/single.yml
@@ -4,6 +4,7 @@
parameters:
_param:
maas_admin_username: mirantis
+ maas_region_main_archive: http://mirror.mirantis.com/${_param:apt_mk_version}/ubuntu/
maas:
cluster:
enabled: true
@@ -28,6 +29,7 @@
password: ${_param:maas_db_password}
username: maas
maas_config:
+ main_archive: ${_param:maas_region_main_archive}
commissioning_distro_series: xenial
default_distro_series: xenial
default_osystem: 'ubuntu'
diff --git a/manila/common/cluster.yml b/manila/common/cluster.yml
index 8763903..d71364e 100644
--- a/manila/common/cluster.yml
+++ b/manila/common/cluster.yml
@@ -22,7 +22,7 @@
password: ${_param:mysql_manila_password}
identity:
engine: keystone
- region: RegionOne
+ region: ${_param:openstack_region}
host: ${_param:cluster_vip_address}
port: 35357
user: manila
diff --git a/manila/common/single.yml b/manila/common/single.yml
index 362338f..1b139c2 100644
--- a/manila/common/single.yml
+++ b/manila/common/single.yml
@@ -20,7 +20,7 @@
password: ${_param:mysql_manila_password}
identity:
engine: keystone
- region: RegionOne
+ region: ${_param:openstack_region}
host: ${_param:single_address}
port: 35357
user: manila
diff --git a/manila/control/cluster.yml b/manila/control/cluster.yml
index ff6ca10..7ea128b 100644
--- a/manila/control/cluster.yml
+++ b/manila/control/cluster.yml
@@ -10,6 +10,7 @@
api:
enabled: true
version: ${_param:openstack_version}
+ role: ${_param:openstack_node_role}
scheduler:
enabled: true
version: ${_param:openstack_version}
diff --git a/manila/control/single.yml b/manila/control/single.yml
index 3e14e96..262a158 100644
--- a/manila/control/single.yml
+++ b/manila/control/single.yml
@@ -9,6 +9,7 @@
api:
enabled: true
version: ${_param:openstack_version}
+ role: ${_param:openstack_node_role}
scheduler:
enabled: true
version: ${_param:openstack_version}
diff --git a/murano/server/cluster.yml b/murano/server/cluster.yml
index d698e7c..6c45f6d 100644
--- a/murano/server/cluster.yml
+++ b/murano/server/cluster.yml
@@ -8,6 +8,7 @@
server:
enabled: true
version: ${_param:murano_version}
+ role: ${_param:openstack_node_role}
bind:
address: ${_param:single_address}
port: 8082
diff --git a/murano/server/single.yml b/murano/server/single.yml
index c3da9f8..938263d 100644
--- a/murano/server/single.yml
+++ b/murano/server/single.yml
@@ -6,6 +6,7 @@
server:
enabled: true
version: ${_param:murano_version}
+ role: ${_param:openstack_node_role}
bind:
address: ${_param:single_address}
port: 8082
diff --git a/neutron/control/cluster.yml b/neutron/control/cluster.yml
index 166de3a..703f196 100644
--- a/neutron/control/cluster.yml
+++ b/neutron/control/cluster.yml
@@ -37,6 +37,7 @@
params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
neutron:
server:
+ role: ${_param:openstack_node_role}
plugin: contrail
identity:
protocol: ${_param:cluster_internal_protocol}
diff --git a/neutron/control/single.yml b/neutron/control/single.yml
index 067b4df..6196c0a 100644
--- a/neutron/control/single.yml
+++ b/neutron/control/single.yml
@@ -12,6 +12,7 @@
version: latest
neutron:
server:
+ role: ${_param:openstack_node_role}
database:
host: ${_param:single_address}
identity:
diff --git a/nova/client/flavor/vnf_onboarding/metaswitch.yml b/nova/client/flavor/vnf_onboarding/metaswitch_vsbc.yml
similarity index 100%
rename from nova/client/flavor/vnf_onboarding/metaswitch.yml
rename to nova/client/flavor/vnf_onboarding/metaswitch_vsbc.yml
diff --git a/nova/compute/libvirt/ssl/init.yml b/nova/compute/libvirt/ssl/init.yml
new file mode 100644
index 0000000..9931cbd
--- /dev/null
+++ b/nova/compute/libvirt/ssl/init.yml
@@ -0,0 +1,14 @@
+classes:
+- system.salt.minion.cert.libvirtd
+parameters:
+ nova:
+ compute:
+ libvirt:
+ tls:
+ enabled: True
+ key_file: ${_param:libvirtd_server_ssl_key_file}
+ cert_file: ${_param:libvirtd_server_ssl_cert_file}
+ ca_file: ${_param:libvirtd_ssl_ca_file}
+ client:
+ key_file: ${_param:libvirtd_client_ssl_key_file}
+ cert_file: ${_param:libvirtd_client_ssl_cert_file}
diff --git a/nova/compute/libvirt/ssl/vnc.yml b/nova/compute/libvirt/ssl/vnc.yml
new file mode 100644
index 0000000..f2c0ad4
--- /dev/null
+++ b/nova/compute/libvirt/ssl/vnc.yml
@@ -0,0 +1,12 @@
+classes:
+- system.salt.minion.cert.libvirtd.vnc_server
+parameters:
+ nova:
+ compute:
+ qemu:
+ vnc:
+ tls:
+ enabled: True
+ key_file: ${_param:qemu_vnc_server_ssl_key_file}
+ cert_file: ${_param:qemu_vnc_server_ssl_cert_file}
+ ca_file: ${_param:qemu_vnc_ssl_ca_file}
diff --git a/nova/compute/single.yml b/nova/compute/single.yml
index 786e792..67c329d 100644
--- a/nova/compute/single.yml
+++ b/nova/compute/single.yml
@@ -68,6 +68,7 @@
password: ${_param:keystone_nova_password}
tenant: service
protocol: ${_param:cluster_internal_protocol}
+ region: ${_param:openstack_region}
message_queue:
engine: rabbitmq
host: ${_param:control_address}
@@ -85,6 +86,7 @@
host: ${_param:control_address}
port: 9696
protocol: ${_param:cluster_internal_protocol}
+ region: ${_param:openstack_region}
cache:
engine: memcached
members:
diff --git a/nova/control/cluster.yml b/nova/control/cluster.yml
index be5f775..90a2bae 100644
--- a/nova/control/cluster.yml
+++ b/nova/control/cluster.yml
@@ -30,6 +30,7 @@
ram_allocation_ratio: ${_param:nova_ram_allocation_ratio}
disk_allocation_ratio: ${_param:nova_disk_allocation_ratio}
workers: 8
+ role: ${_param:openstack_node_role}
bind:
private_address: ${_param:cluster_local_address}
public_address: ${_param:cluster_vip_address}
diff --git a/nova/control/novncproxy/init.yml b/nova/control/novncproxy/init.yml
new file mode 100644
index 0000000..3cd04b8
--- /dev/null
+++ b/nova/control/novncproxy/init.yml
@@ -0,0 +1,13 @@
+classes:
+- system.salt.minion.cert.vnc.novncproxy_client
+parameters:
+ nova:
+ controller:
+ novncproxy:
+ tls:
+ enabled: True
+ key_file: ${_param:novncproxy_client_ssl_key_file}
+ cert_file: ${_param:novncproxy_client_ssl_cert_file}
+ ca_file: ${_param:novncproxy_ssl_ca_file}
+ all_file: ${_param:nova_websocketproxy_ssl_all_file}
+
diff --git a/nova/control/single.yml b/nova/control/single.yml
index ca21d05..4e3799b 100644
--- a/nova/control/single.yml
+++ b/nova/control/single.yml
@@ -11,11 +11,14 @@
version: latest
nova:
controller:
+ role: ${_param:openstack_node_role}
database:
host: ${_param:single_address}
identity:
protocol: ${_param:cluster_internal_protocol}
+ region: ${_param:openstack_region}
network:
protocol: ${_param:cluster_internal_protocol}
+ region: ${_param:openstack_region}
glance:
protocol: ${_param:cluster_internal_protocol}
diff --git a/octavia/api/cluster.yml b/octavia/api/cluster.yml
index 958f3d4..9e5d0c9 100644
--- a/octavia/api/cluster.yml
+++ b/octavia/api/cluster.yml
@@ -7,6 +7,7 @@
octavia:
api:
enabled: true
+ role: ${_param:openstack_node_role}
bind:
address: ${_param:cluster_local_address}
database:
diff --git a/octavia/api/single.yml b/octavia/api/single.yml
index a9d30a5..ff76e76 100644
--- a/octavia/api/single.yml
+++ b/octavia/api/single.yml
@@ -6,6 +6,7 @@
octavia:
api:
enabled: true
+ role: ${_param:openstack_node_role}
bind:
address: ${_param:single_address}
database:
diff --git a/opencontrail/compute/cluster4_0.yml b/opencontrail/compute/cluster4_0.yml
index 68f8007..8c16c70 100644
--- a/opencontrail/compute/cluster4_0.yml
+++ b/opencontrail/compute/cluster4_0.yml
@@ -1,3 +1,5 @@
+classes:
+ - service.opencontrail.compute.cluster
applications:
- opencontrail
parameters:
diff --git a/opencontrail/control/analytics4_0.yml b/opencontrail/control/analytics4_0.yml
index 9614d61..88abb7f 100644
--- a/opencontrail/control/analytics4_0.yml
+++ b/opencontrail/control/analytics4_0.yml
@@ -1,4 +1,5 @@
classes:
+- service.docker.host
- service.haproxy.proxy.single
- service.keepalived.cluster.single
- service.opencontrail.control.analytics
@@ -9,12 +10,13 @@
opencontrail_kafka_log_cleanup_dir: '/usr/share/kafka/logs/'
opencontrail_version: 4.0
linux_repo_contrail_component: oc40
+ opencontrail_image_tag: latest
opencontrail_message_queue_node01_address: ${_param:openstack_message_queue_node01_address}
opencontrail_message_queue_node02_address: ${_param:openstack_message_queue_node02_address}
opencontrail_message_queue_node03_address: ${_param:openstack_message_queue_node03_address}
opencontrail_message_queue_address: ${_param:openstack_message_queue_address}
- opencontrail_analytics_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analytics
- opencontrail_analyticsdb_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analyticsdb
+ opencontrail_analytics_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analytics:${_param:opencontrail_image_tag}
+ opencontrail_analyticsdb_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analyticsdb:${_param:opencontrail_image_tag}
opencontrail_analytics_container_name: opencontrail_analytics_1
opencontrail_analyticsdb_container_name: opencontrail_analyticsdb_1
# Temprorary fix for MOS9 packages to pin old version of kafka
@@ -83,6 +85,10 @@
volumes:
- /etc/contrail:/etc/contrail
- /etc/redis/redis.conf:/etc/redis/redis.conf
+ - /var/log/contrail:/var/log/contrail
+ - /var/log/journal/contrail-analytics:/var/log/journal
+ env_file:
+ - contrail.env
analyticsdb:
image: ${_param:opencontrail_analyticsdb_image}
container_name: ${_param:opencontrail_analyticsdb_container_name}
@@ -100,6 +106,10 @@
- /usr/share/kafka/logs:/usr/share/kafka/logs
- /etc/zookeeper/conf/zoo_analytics.cfg:/etc/zookeeper/conf/zoo.cfg
- /etc/zookeeper/conf/log4j.properties:/etc/zookeeper/conf/log4j.properties
+ - /var/log/contrail:/var/log/contrail
+ - /var/log/journal/contrail-analyticsdb:/var/log/journal
network_mode: "host"
privileged: true
restart: always
+ env_file:
+ - contrail.env
\ No newline at end of file
diff --git a/opencontrail/control/cluster4_0.yml b/opencontrail/control/cluster4_0.yml
index 60749b3..05cf7d6 100644
--- a/opencontrail/control/cluster4_0.yml
+++ b/opencontrail/control/cluster4_0.yml
@@ -10,13 +10,14 @@
opencontrail_kafka_log_cleanup_dir: '/usr/share/kafka/logs/'
opencontrail_version: 4.0
linux_repo_contrail_component: oc40
+ opencontrail_image_tag: latest
opencontrail_message_queue_node01_address: ${_param:openstack_control_node01_address}
opencontrail_message_queue_node02_address: ${_param:openstack_control_node02_address}
opencontrail_message_queue_node03_address: ${_param:openstack_control_node03_address}
opencontrail_message_queue_address: ${_param:openstack_control_address}
- opencontrail_analytics_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analytics
- opencontrail_analyticsdb_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analyticsdb
- opencontrail_controller_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-controller
+ opencontrail_analytics_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analytics:${_param:opencontrail_image_tag}
+ opencontrail_analyticsdb_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analyticsdb:${_param:opencontrail_image_tag}
+ opencontrail_controller_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-controller:${_param:opencontrail_image_tag}
opencontrail_controller_container_name: opencontrail_controller_1
opencontrail_analytics_container_name: opencontrail_analytics_1
opencontrail_analyticsdb_container_name: opencontrail_analyticsdb_1
@@ -145,9 +146,13 @@
- /etc/cassandra/logback.xml:/etc/cassandra/logback.xml
- /etc/zookeeper/conf/zoo.cfg:/etc/zookeeper/conf/zoo.cfg
- /etc/zookeeper/conf/log4j.properties:/etc/zookeeper/conf/log4j.properties
+ - /var/log/contrail:/var/log/contrail
+ - /var/log/journal/contrail-controller:/var/log/journal
network_mode: "host"
privileged: true
restart: always
+ env_file:
+ - contrail.env
analytics:
image: ${_param:opencontrail_analytics_image}
container_name: ${_param:opencontrail_analytics_container_name}
@@ -157,6 +162,10 @@
volumes:
- /etc/contrail:/etc/contrail
- /etc/redis/redis.conf:/etc/redis/redis.conf
+ - /var/log/contrail:/var/log/contrail
+ - /var/log/journal/contrail-analytics:/var/log/journal
+ env_file:
+ - contrail.env
analyticsdb:
image: ${_param:opencontrail_analyticsdb_image}
container_name: ${_param:opencontrail_analyticsdb_container_name}
@@ -174,6 +183,10 @@
- /usr/share/kafka/logs:/usr/share/kafka/logs
- /etc/zookeeper/conf/zoo_analytics.cfg:/etc/zookeeper/conf/zoo.cfg
- /etc/zookeeper/conf/log4j.properties:/etc/zookeeper/conf/log4j.properties
+ - /var/log/contrail:/var/log/contrail
+ - /var/log/journal/contrail-analyticsdb:/var/log/journal
network_mode: "host"
privileged: true
restart: always
+ env_file:
+ - contrail.env
diff --git a/opencontrail/control/control4_0.yml b/opencontrail/control/control4_0.yml
index 02ab75e..932a789 100644
--- a/opencontrail/control/control4_0.yml
+++ b/opencontrail/control/control4_0.yml
@@ -1,4 +1,5 @@
classes:
+- service.docker.host
- service.keepalived.cluster.single
- service.opencontrail.control.control
- system.haproxy.proxy.listen.opencontrail.control
@@ -6,10 +7,11 @@
_param:
opencontrail_version: 4.0
linux_repo_contrail_component: oc40
+ opencontrail_image_tag: latest
opencontrail_message_queue_node01_address: ${_param:openstack_message_queue_node01_address}
opencontrail_message_queue_node02_address: ${_param:openstack_message_queue_node02_address}
opencontrail_message_queue_node03_address: ${_param:openstack_message_queue_node03_address}
- opencontrail_controller_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-controller
+ opencontrail_controller_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-controller:${_param:opencontrail_image_tag}
opencontrail_controller_container_name: opencontrail_controller_1
analytics_vip_address: ${_param:opencontrail_analytics_address}
opencontrail:
@@ -105,6 +107,10 @@
- /etc/cassandra/logback.xml:/etc/cassandra/logback.xml
- /etc/zookeeper/conf/zoo.cfg:/etc/zookeeper/conf/zoo.cfg
- /etc/zookeeper/conf/log4j.properties:/etc/zookeeper/conf/log4j.properties
+ - /var/log/contrail:/var/log/contrail
+ - /var/log/journal/contrail-controller:/var/log/journal
network_mode: "host"
privileged: true
restart: always
+ env_file:
+ - contrail.env
diff --git a/opencontrail/control/single4_0.yml b/opencontrail/control/single4_0.yml
index a4fae18..4570e69 100644
--- a/opencontrail/control/single4_0.yml
+++ b/opencontrail/control/single4_0.yml
@@ -1,4 +1,5 @@
classes:
+- service.docker.host
- service.opencontrail.control.single
- service.haproxy.proxy.single
parameters:
@@ -7,9 +8,10 @@
opencontrail_kafka_log_cleanup_dir: '/usr/share/kafka/logs/'
opencontrail_version: 4.0
linux_repo_contrail_component: oc40
- opencontrail_analytics_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analytics
- opencontrail_analyticsdb_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analyticsdb
- opencontrail_controller_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-controller
+ opencontrail_image_tag: latest
+ opencontrail_analytics_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analytics:${_param:opencontrail_image_tag}
+ opencontrail_analyticsdb_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-analyticsdb:${_param:opencontrail_image_tag}
+ opencontrail_controller_image: docker-prod-local.artifactory.mirantis.com/opencontrail-${_param:linux_repo_contrail_component}/opencontrail-controller:${_param:opencontrail_image_tag}
opencontrail_controller_container_name: opencontrail_controller_1
opencontrail_analytics_container_name: opencontrail_analytics_1
opencontrail_analyticsdb_container_name: opencontrail_analyticsdb_1
@@ -176,9 +178,13 @@
- /etc/cassandra/logback.xml:/etc/cassandra/logback.xml
- /etc/zookeeper/conf/zoo.cfg:/etc/zookeeper/conf/zoo.cfg
- /etc/zookeeper/conf/log4j.properties:/etc/zookeeper/conf/log4j.properties
+ - /var/log/contrail:/var/log/contrail
+ - /var/log/journal/contrail-controller:/var/log/journal
network_mode: "host"
privileged: true
restart: always
+ env_file:
+ - contrail.env
analytics:
image: ${_param:opencontrail_analytics_image}
container_name: ${_param:opencontrail_analytics_container_name}
@@ -188,6 +194,10 @@
volumes:
- /etc/contrail:/etc/contrail
- /etc/redis/redis.conf:/etc/redis/redis.conf
+ - /var/log/contrail:/var/log/contrail
+ - /var/log/journal/contrail-analytics:/var/log/journal
+ env_file:
+ - contrail.env
analyticsdb:
image: ${_param:opencontrail_analyticsdb_image}
container_name: ${_param:opencontrail_analyticsdb_container_name}
@@ -205,6 +215,10 @@
- /usr/share/kafka/logs:/usr/share/kafka/logs
- /etc/zookeeper/conf/zoo_analytics.cfg:/etc/zookeeper/conf/zoo.cfg
- /etc/zookeeper/conf/log4j.properties:/etc/zookeeper/conf/log4j.properties
+ - /var/log/contrail:/var/log/contrail
+ - /var/log/journal/contrail-analyticsdb:/var/log/journal
network_mode: "host"
privileged: true
restart: always
+ env_file:
+ - contrail.env
diff --git a/openssh/client/root.yml b/openssh/client/root.yml
index 145f5da..66f8f88 100644
--- a/openssh/client/root.yml
+++ b/openssh/client/root.yml
@@ -36,7 +36,9 @@
user:
root:
enabled: true
- private_key:
- type: rsa
- key: ${_param:root_private_key}
user: ${linux:system:user:root}
+ private_key: ${private_keys:root}
+ private_keys:
+ root:
+ type: rsa
+ key: ${_param:root_private_key}
diff --git a/openssh/server/team/members/andreidanin.yml b/openssh/server/team/members/andreidanin.yml
new file mode 100644
index 0000000..fb5f170
--- /dev/null
+++ b/openssh/server/team/members/andreidanin.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ adanin:
+ enabled: true
+ name: adanin
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Andrei Danin
+ home: /home/adanin
+ email: adanin@mirantis.com
+ openssh:
+ server:
+ user:
+ adanin:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2eqUIe2KkA5Zlr1yDoY0E5egIaqmbDvIZ+8gyduCDwqouqikgYdwQtMztlEWXEu8FsQqOHKLjBDvzEyFgpEfvRQLYFmp7HtZ32GntBDC9oigtm8OXJr0MEnyAMsdUioDOCD3ixuAGktpJjgIwPPqnMhXgAXuH6Ww7N8sSkN/8paRezQjqDgFZcxaEavse6kj+TdbJb5w382Z7sILss8vWmjhQlYUxc1ZWa/0BCVx9mLnEXAZKfOiEDOX6Pv89VGjOiP5VxmNUCRfuPVEtY671Z73jpqXwduLz6IMbPVdAvz8HQTKqZeuZMPPTasrgNqOIfrSrG5OM8DBqO8LnEffp
+ user: ${linux:system:user:adanin}
+
diff --git a/openssh/server/team/members/brucemathews.yml b/openssh/server/team/members/brucemathews.yml
new file mode 100644
index 0000000..0fc9b63
--- /dev/null
+++ b/openssh/server/team/members/brucemathews.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ bmathews:
+ enabled: true
+ name: bmathews
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Bruce Mathews
+ home: /home/bmathews
+ email: bmathews@mirantis.com
+ openssh:
+ server:
+ user:
+ bmathews:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1tsh+T2JRsyblZBrF17b/Q2AelpY+gTc9BaMQMj1J/Y/aJZUjD22knG8away01DQ+Qew5/Kcx5k4AvmxWkncRX+7ye9sVJA6BQhwewkN/MiiDJ3hC8hNFfk8ki8arqPxasXZOWacT2DDXw7/gc+/DA4F35UvsMmD+JLVr4fkdzQuHre2QPbqs+6+KdHIl0nI+d3hCCd9Zsd1mYlJkDU7oLC085oIsIqToWTYKw6HFKMqocYzuN4TQKI3dySFpkjMXLz8SK8UVjXA+Lyu0ymIVmvGnVDNAImc9ZMeU+l6W4gpuLY30Zw5/8q8FkKBw5FYWgllmoixlwhNRJJ1Hf7tJ
+ user: ${linux:system:user:bmathews}
+
diff --git a/openssh/server/team/members/dstremkouski.yml b/openssh/server/team/members/dstremkouski.yml
new file mode 100644
index 0000000..ba3233b
--- /dev/null
+++ b/openssh/server/team/members/dstremkouski.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ dstremkouski:
+ enabled: true
+ name: dstremkouski
+ sudo: true
+ full_name: Dzmitry Stremkouski
+ home: /home/dstremkouski
+ email: dstremkouski@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ dstremkouski:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDlvA0GjsFF4p0oRF/49/k0YYqkCpsmKHoMtM2b/ZgRAbUzuobEqOZILkGkbvWTKQrq1BbMjGk/11EvCA07f+N8Z2Rj9lw9+tlqPy4K/90BNPvLcjBlKXruZFZWtQmbBWsA150PjvrqSD1pju+qkpC3tavgC4S0HxT9Gl9F+IuqCEfvRSNhRJrl2UWPHTolTfE7NOlX3745OEXTH4AFp/lgy+wyvGJBujfGZOjjuiGyPl71cS9t7yJBxTXdZxDDrjmaFmsftpK0Q+JccNHLzlj2hrkrWTPnrP70hbzgyoxw+JwOXmsnE8Q8WHxEgYyPfA4dxkZsktQbE51zGvU/yIxGJ5zV9AF2Y7pxzOXHq9sPXwgoJneW9JHCkH7BSw56+EHagEDeYeKD/1aIaRJbeyfltTTbK05J8nhyrdKFGENazEHoDYmhWk7Jdd7X/E2nEYWmYTje4YacHVOM1P9Guqs8n8VrUnYXreogJ9tOZs/Ydl/+I52ITvuK7w+SsVcl5wuxuoclg6dsa1RrDpKm9emN2OKS3RqJBNjnfSUaeGLrDSYENm/+PUEhvhKAd+DTpjnYb+oKsf4QegGFJtoHoZNNIlSvnjpjO2VC+g0Ci11JTaq/LwfNb7OJMYURzFwlW8BRmJWZ8BnnhNhw+vZG6fa7yyeIW9OVpVtqQBPpA5Qumw== argentina
+ user: ${linux:system:user:dstremkouski}
diff --git a/openssh/server/team/members/hkraemer.yml b/openssh/server/team/members/hkraemer.yml
new file mode 100644
index 0000000..e6aca4e
--- /dev/null
+++ b/openssh/server/team/members/hkraemer.yml
@@ -0,0 +1,19 @@
+parameters:
+ linux:
+ system:
+ user:
+ hkraemer:
+ enabled: true
+ name: hkraemer
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Heiko Kraemer
+ home: /home/hkraemer
+ email: hkraemer@mirantis.com
+ openssh:
+ server:
+ user:
+ hkraemer:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDwMJV5+Za6N2M2R9T+r0KAOVOLUHHjJVTq7gABUj4RmHZpkA/ZQhZZJUs6vrOHwGjITRPPSkJJtg9MIzFRNw+qAhrAZ+42CerKH4s+GgGWm48y+JM6RN8Ndy1YdQGRSs+VSrTGt2+XGm5wokr7yViH2ZsiQNbW/3rqSaaXojsL7NQKmQstgczIWrzUckEdCiNMG2ax0oOD/GGIWXDKVzHEiZHsusbhdxRAPjuiuKqM/YtmYDRT9QPwSWLrG5t6J/0OC5KyfrHch7eq6+je0xFSHDYXgDztvX64b6sXUBPnXpnwlQHbn0X6URzgwFQ8nKlVlChnAxTsA0Bi4pecI84Hvn77M2hsCb1wtClGtqUG2Sp+g7JeP5vLrFxeKVGWBkApx/MO8qDRlRM91TTlAv8GY79HfrqTVTLGr+RhKQbuyNKvNRLsnuxClSR4M1uzbLLPkPlwsC+Q+b6Gy8+KOHPjC0wWnxjSQUJZrbjPwGm34uarN2Q4IaPVFJmE0VBlZyoUpf0PCIgzZdfft8QMEeLcir20tZo3YUbfx3PdwD8eWv8d+df/IKMFIfFWosZEyBHOBktjoctPLLNIOeqNP8kWjElNuMPrK34cwTRWFiP19cwc0qB+HY3L8ULtyyNWhgjRte6De8kx9XGmBeOuDGqeLnP7jxMXgN5mdw3eDRBEQ== hkraemer@mirantis.com
+ user: ${linux:system:user:hkraemer}
diff --git a/openssh/server/team/members/ivasilevskaya.yml b/openssh/server/team/members/ivasilevskaya.yml
new file mode 100644
index 0000000..bc50441
--- /dev/null
+++ b/openssh/server/team/members/ivasilevskaya.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ ivasilevskaya:
+ enabled: true
+ name: ivasilevskaya
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Inessa Vasilevskaya
+ home: /home/ivasilevskaya
+ email: ivasilevskaya@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ ivasilevskaya:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJk2ip+Rn73D4vt47pe/Hv42ylKJv6JIzeF0k3OflH+RyliVelvo05KMcozfsmmvOKhwgDokBj3KjQ10ewDwD7Fz5H3tosa8JFOs36cuHx9aHrsEmj1oIcIyThrIBwSZGFApqJqj27sLtReVLQJPlYR59RJGw61TogkA/QooOABi+KHzuwPFjAcA1SMfFT8LwiaNPkyUdRb5EQeKCOHniRAEPGNIwskA0sxz25qbB1EU2XBFjkxRE1b5GHfUYL+c2YhAwRWTJbD2JbbcHI6HpsmJutzkS6YIkEn1CK4JuA40OQTYFSEutCk2uPPR0G+77Fec2+vD/8H+ncPxPeDqNR ina@ina-ThinkPad-X240
+ user: ${linux:system:user:ivasilevskaya}
diff --git a/openssh/server/team/members/kkushaev.yml b/openssh/server/team/members/kkushaev.yml
new file mode 100644
index 0000000..978c6f1
--- /dev/null
+++ b/openssh/server/team/members/kkushaev.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ kkushaev:
+ enabled: true
+ name: kkushaev
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Kairat Kushaev
+ home: /home/kkushaev
+ email: kkushaev@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ kkushaev:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqsPMcXdObuEZCBqw3t+AutfjA6mxNJ9o4jZb+ov4Tatw0mlGZtpQXyOnn1kkvIW0TAmMdT8dXeSHusc/Ujd8MHFBDSnvGid/jtSpA7q4Op0VNo4cOFx1fw5KqnsZyymhafiVQywgj6UQOEYNpX7VHgPOMLL2Ymm3i9RF986jLpLqXJHWbJuy+0rOHzjFh127QuTV01AYONOaiDdcwZlHyFZgWShL5NSJCMhmREPLn118JTEsN8w+r10a51plzrrV3Tqcz6q7znfftBKlzKrPACVmbMdOzOQ+XBMuN3VmsFxtS//qcqd7y+YAgG1CJ+E+nk4JUYU5fxeiUWntvqFKl
+ user: ${linux:system:user:kkushaev}
diff --git a/openssh/server/team/members/mchernik.yml b/openssh/server/team/members/mchernik.yml
new file mode 100644
index 0000000..ca8a4b9
--- /dev/null
+++ b/openssh/server/team/members/mchernik.yml
@@ -0,0 +1,19 @@
+parameters:
+ linux:
+ system:
+ user:
+ mchernik:
+ enabled: true
+ name: mchernik
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Mykhailo Chernyk
+ home: /home/mchernik
+ email: mchernik@mirantis.com
+ openssh:
+ server:
+ user:
+ mchernik:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCiYzcWNIP1K3DnSfztIZdMTl6zSr133eixsHDWWqI71Fj5UOny4kMH2P/qYk0WHhm7P9kwBNDgmJBY/eO5jb00D2w9BGHyvsOnkpAgzw5neL4ivRT7qLWkRdbcLo8AAFQN7VW+bgMb8gFfYWfttHyfkbJOQlU2xmi8fvhQ+2IM/12S0f0lP2uIYgVn8g9f+1OmtXKOWi/cKx0+6NYsuFjM2oVRlBhwlhPD2mI00rSL6zYjz/8GapPPkylQnds09NueNmrScjsPmJl6lPzU8maxHABZ/KctIZW/0ucMolv/3Ybm5FJIsj6YGUdz7AWzdE9o4tSfugFR3P7Ng/scxXpZ mchernik@mirantis.com
+ user: ${linux:system:user:mchernik}
diff --git a/openssh/server/team/members/ogrudev.yml b/openssh/server/team/members/ogrudev.yml
new file mode 100644
index 0000000..71964a6
--- /dev/null
+++ b/openssh/server/team/members/ogrudev.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ ogrudev:
+ enabled: true
+ name: ogrudev
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Oleksii Grudev
+ home: /home/ogrudev
+ email: ogrudev@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ ogrudev:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDilSKhVkANZQLOY6zhLBxhKD0OabfORbuxL3H1o+Q0TfL223/I2A8FAqpZzu9RdX0FoOcP3S85S51IX1p4odipTAA9Wyp4jEtMNUUWvRkXWTvVR99+QNCq4QiB78c0JhtydKPu29DJNQr3/UHG877BCrLvOyiXFNrVZI+EBC+Md2SEqSN8e1P/DlORUrjgQKAxuKhMhDyoBbyBvnfK32IYbs8bKlYZRusj1dlL3Jv/nR4VvN4YT+CzNOPCBTljFdcxuqdPZvqdAyMBIYDxaCxx2id96L98kYavKlqUZJn0x6mJ8ndtHtfn+Fwjom/+8cPFUjuhULWsQiPRjfqA6p8r agrudev@agrudev-pc
+ user: ${linux:system:user:ogrudev}
diff --git a/openssh/server/team/members/ohryhorov.yml b/openssh/server/team/members/ohryhorov.yml
new file mode 100644
index 0000000..c58076e
--- /dev/null
+++ b/openssh/server/team/members/ohryhorov.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ ohryhorov:
+ enabled: true
+ name: ohryhorov
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Oleh Hryhorov
+ home: /home/ohryhorov
+ email: ohryhorov@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ ohryhorov:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDURrVLvo44rOSe/2GBh69SPS06Jam21dJrunM9TzuxcHkw7u/rVLMA+pDMMwu/x2n8fFkW7wrd3/6QH7cLOGt1Xw4PDfFA17ZGmV7HwZ1XOeoux2+47TFkGeHyeHOqf7xKMW4o35tKDXd5uipW9opl7+Zm/l7ucd6TKnGjh9vA3nD9xqF8Gxb6qvY7W35EFMPAwU9sK9lMwM/LkuUJirEP11sIK38OoEC2aysNtXZyKdQ9LgmBWZGbaCod0LzgAJd29zQOxWOHHWOE7PK4zHVWYN3AxfiIWSg2mxqARMnqZpPulqbgwVETxLsJJSnPOvvTwoVggimxXh1HPUI7wUnb ohryhorov@ohryhorov-pc
+ user: ${linux:system:user:ohryhorov}
diff --git a/openssh/server/team/members/oshyshko.yml b/openssh/server/team/members/oshyshko.yml
new file mode 100644
index 0000000..8d9fea0
--- /dev/null
+++ b/openssh/server/team/members/oshyshko.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ oshyshko:
+ enabled: true
+ name: oshyshko
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Oleksandr Shyshko
+ home: /home/oshyshko
+ email: oshyshko@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ oshyshko:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDHWGXkftochjnkEYF/2SqPp69zmy7pLICG9+DQjgGd6D8uX3lSqftKePqlIJLGn5ZfTpgVI5lIKO36Men95e6hixrlMeEdL2WCNx1yRGr3m1U+dZn3VGg35tqX1sV9eq+6+P8zkOoliCtc4GFbUB9Z683oJyiwtym/40t8qOAZwm4tvaQJ8fMhhnFk/agCN+V5B4hP0blgWpbodnStluiWr1Y6wT1IjCjwImYqTI5MyVlMTQKGewIj2u7eI8Qwtk0j44exjIa8HvN6RL430TTlzav8QrId+xRUBRnAZUpCd7s8Q75WjctCLAn2xGMkupqf4ANml6KP84hEVea9d/V oshyshko@oshyshko-pc
+ user: ${linux:system:user:oshyshko}
diff --git a/openssh/server/team/members/ryanday.yml b/openssh/server/team/members/ryanday.yml
new file mode 100644
index 0000000..455e4aa
--- /dev/null
+++ b/openssh/server/team/members/ryanday.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ rday:
+ enabled: true
+ name: rday
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Ryan Day
+ home: /home/rday
+ email: rday@mirantis.com
+ openssh:
+ server:
+ user:
+ rday:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC5WnQjTI+Elg3I3MeuP1T9Y8FKjuLZSj9qiMbetVb9+AbvjbYqjtam7xWzLxsqeH15d/ZSRHnU4E8f0/Wvk1z9Bl+GKl9+IpLvurewl3WXe2yaeZl4Ey3G9goTLfhluB2BbLqf7gu7t02aei68NhYNkp0Ry1FDBQ75frN1EcUoDubHl4HWJWkTsGJFoiaBTmlNRIkbQBYSEGoY331c4e++W0ZLV+q1rjbXVWcWjzuK+i3wCBrDdAjm4LyPjD60yJ/0n8FO4ChlhnGowhkHxQf7Bt80/QhM8VZuWPG4sQReJ2uMBvkFWRYKf8p2h7MaouFLmUOzW0k/EcILBBZgssekaUhDDyXe3c0Qd6yC2Eb8CCRKgIuhTW9+xTfJhZAFLCPDYN/CDybzvgJSgRCa6esxfCQB+i4aRJOeL5IePXdkO+LY1GMbDzVhIxfPviN4/7NRidvtPHEYwLGvaIQUb/XWX4ILXAhdw/ilfOOu9DQkPzpBTQaAGl9+e2edRP3WAe4fjgCPmeTIruwSRqxJFLdLG19m1JaoRwc7H1cIiUQ1i/lMYq2ntA/60FZRQ/xsLdX5LT+wo896bc3pRxore+zs2o2sATEc84u5eCEFk3wMZvfeJdDz/l489G/1kp1SUKMI1ouyBWoP7qO/fI9m+TXg3jYJ3JOd3pYO7jd3kDBuZQ==
+ user: ${linux:system:user:rday}
+
diff --git a/openssh/server/team/members/sachintripathi.yml b/openssh/server/team/members/sachintripathi.yml
new file mode 100644
index 0000000..0a0092c
--- /dev/null
+++ b/openssh/server/team/members/sachintripathi.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ stripathi:
+ enabled: true
+ name: stripathi
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Sachin Tripathi
+ home: /home/stripathi
+ email: stripathi@mirantis.com
+ openssh:
+ server:
+ user:
+ stripathi:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDB0W6+M9T/nsGzLRXcXbRwY9S6CfI5VgVWOrxYj190RenC+Z37gMlfwvR6+J2TgQ9NAos/ht7Si7qIjDDLw4UApPDErCTTKuU6cp4eVWR7U6ZDxWSjarGVYC+wOtcb59aTynZcU/W6l86EMjuGO917bxWt1QhR6SQuXGTxvVRbhqLci+APUYJouMwk4G4eia1Y5Pfk4x2+CaVu/7fnXD0YIHcqrujc4OaW3N2ayXCFTE/icBWlIgLv091MkkLgEIInXg2Q40hn9g9h8UMgbRCwyM4f1EwB2xdPQUNpGwtHENBB3fjLoN+IGDKhJsjcCkHsQwdC71O1URYdE6GTJ9sX
+ user: ${linux:system:user:stripathi}
+
diff --git a/openssh/server/team/members/samstoelinga.yml b/openssh/server/team/members/samstoelinga.yml
new file mode 100644
index 0000000..e4e45a4
--- /dev/null
+++ b/openssh/server/team/members/samstoelinga.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ sstoelinga:
+ enabled: true
+ name: sstoelinga
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Sam Stoelinga
+ home: /home/sstoelinga
+ email: sstoelinga@mirantis.com
+ openssh:
+ server:
+ user:
+ sstoelinga:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDh3j+qNzTJJJrbgWaNEJ4/wF0HZB8jFlz8jO3tA4QJCPJGT76LeFZgeFK1Avp0rRHD4dnHyDvjynJpE5TckBEFiQ2kbyRRiv4SmJe+cEaSz+okoXSuW4ZbsiOhX7IZfWqhR9ra0uxviiaecWOIwoci55EPob34stthIbLPlcSYS81kdivhJLUZwRTvVX4rRf6gFiAjYyv5Zc4ckwwtkIG0A6XiuoHEpO7lDlps12GfN9DEsNUfzFGrEWzucGsPIBIDmHiods4kMv3UNYKImX0EltLF5bGlSDOsy6t65Qr/zCXyB23yF4oU7991/yIjMWzSwUJzcmcHk+0Fr0b1WHh/
+ user: ${linux:system:user:sstoelinga}
+
diff --git a/openssh/server/team/members/sgarbuz.yml b/openssh/server/team/members/sgarbuz.yml
new file mode 100644
index 0000000..324d5b3
--- /dev/null
+++ b/openssh/server/team/members/sgarbuz.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ sgarbuz:
+ enabled: true
+ name: sgarbuz
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Serhii Garbuz
+ home: /home/sgarbuz
+ email: sgarbuz@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ sgarbuz:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKDwmQ8Zf6X4Ztu7MDaggm6Y2/hpf8Y7gQFcfqX0q84a9OZLw5jLgqTXewKW+0LPAsF7Gx0K7G9mFtcvXb5B74cbLg8SnETMET6t6fipOOVVu17/2N5RFGJ0Alwia0WQCDmGv6yYRB63NgFcavvcD8AEQ2LTlGIU8zPclq1j2kOJNLzH0xVsOiUTdEeUk8mOMBqSHQxVCZeyBBpkLHeECiM7AzsVtCWo1R+Sdo82BHs4+Ig9SOhIjLstBXS9DSjS6gzTOQLvCoGjB2P8spllSX0QtPXXNZndKfrj1YWht5O456ILTCocT8F/OGehy+7QL4+iq7JWBXn7ZamO+l8ceH sgarbuz@sgarbuz-pc
+ user: ${linux:system:user:sgarbuz}
diff --git a/openssh/server/team/members/vblokhin.yml b/openssh/server/team/members/vblokhin.yml
new file mode 100644
index 0000000..74ae49c
--- /dev/null
+++ b/openssh/server/team/members/vblokhin.yml
@@ -0,0 +1,21 @@
+parameters:
+ linux:
+ system:
+ user:
+ vblokhin:
+ enabled: true
+ name: vblokhin
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Volodymyr Blokhin
+ home: /home/vblokhin
+ email: vblokhin@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ vblokhin:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDY5F0bDcbiCtO5HkwIVgjwAwCHcTRDZwEIE5cwuGlXNKWk9JtlDKh724Dp8f/Yny1e30Kt9oqs23bv6xfMh4pU4vrajjSv9f+s3hCSs1X9JrlEw92CD7r+jpq2R0vz3ufeHZWSWmeMsRR62BodtYy4EkoyPKvq16guq745KHTYgATm/qJgCkjQ5lxca280i0z14Fv+JOtVxrk52xMTxHS+N6wzVOjuEjBbW2vyktsV/RidT/SoJAVMHoPISjJTR+q5usVuKb6J5U83Y2vbmUCnygAnPX6l9k8atsAvwl1v54QxWE6Qz61kMPpwZZ56BNGhCZ458HqqXiybx4lU4PN6eg/zPA9Eq+xj5ZoXaUK1hg2UpJrmrtCh8H4T+/dPySZ+HMDBp221DCuH43x9No6V0QWhifhHPaGWyeK+mGsznbaSnlZ0QxRun5qWgjG7xHu97zgxjlyxmQII8FWGaOSuv/w6jg894A4jcsDfH5oxDbgVTbqqZG9o7TszIXKTImt1f2fmKKr/CT7ixwIKO3MioUNu3PoQ/GhmKajqugV+TIRe4vJ2FD5hl11ythzLlZCchzlEoymap4P6Y5dMh60YErCtYftn7jATJKSq9EHiLEeTIQDBVqhJzdS9/QWAXBV97mNX7mib1dO0H9TBZu1mYMZio7udbx9oursrVPq3fw== vblokhin@mirantis.com
+ user: ${linux:system:user:vblokhin}
+
diff --git a/openssh/server/team/networking.yml b/openssh/server/team/networking.yml
index d912490..7e5f915 100644
--- a/openssh/server/team/networking.yml
+++ b/openssh/server/team/networking.yml
@@ -51,6 +51,13 @@
full_name: Oleg Bondarev
home: /home/obondarev
email: obondarev@mirantis.com
+ akuznetsova:
+ enabled: true
+ name: akuznetsova
+ sudo: true
+ full_name: Anastasiia Kuznetcova
+ home: /home/akuznetsova
+ email: akuznetsova@mirantis.com
openssh:
server:
enabled: true
@@ -85,6 +92,11 @@
public_keys:
- ${public_keys:obondarev}
user: ${linux:system:user:obondarev}
+ akuznetsova:
+ enabled: true
+ public_keys:
+ - ${public_keys:akuznetsova}
+ user: ${linux:system:user:akuznetsova}
public_keys:
aignatov:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJFYznIFlCdxu5UXzThjYZlZfvXKCcDN0QxDEn7U7dNkK17SyzIJswQcxF7pTlvcuZ7XEskEqyXC8E6P5XyvBJO2xLGrFDJ4U3vf7MKsfwSFEj3NPUzV5bGTrKeKIHTL94L7lwMm1INE7lZzciiwvTxcKv//A+FgG8o1MDhefK56cBH4a9TSjEd+5ImcnCc5sf8B+csyWFPnksnv1zwu//T9aYXRITocdVzrfRHmEiZDpL3mNwpGT3O3XUTiMwdVpN2ImAqSF6XlQl0HlUkBT2idCIoXUR9lcGUx2Q+LSd62JgcVmQHCOmbUENj7NIDgWixgSJYLzsi//YNqJ9jccR aignatov@mirantis.com
@@ -98,3 +110,5 @@
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJk2ip+Rn73D4vt47pe/Hv42ylKJv6JIzeF0k3OflH+RyliVelvo05KMcozfsmmvOKhwgDokBj3KjQ10ewDwD7Fz5H3tosa8JFOs36cuHx9aHrsEmj1oIcIyThrIBwSZGFApqJqj27sLtReVLQJPlYR59RJGw61TogkA/QooOABi+KHzuwPFjAcA1SMfFT8LwiaNPkyUdRb5EQeKCOHniRAEPGNIwskA0sxz25qbB1EU2XBFjkxRE1b5GHfUYL+c2YhAwRWTJbD2JbbcHI6HpsmJutzkS6YIkEn1CK4JuA40OQTYFSEutCk2uPPR0G+77Fec2+vD/8H+ncPxPeDqNR ina@ina-ThinkPad-X240
obondarev:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDca1gqXe14l9uho3t4mZT52lXmSuUxKVOCcSO9Dy+BAmtaVK39+t7la081S5c0H+oTPIXFb32/kO37+qpEgwyOv1zimWIqcR56xrr42gW/QzVLyY64qVnQ9QFiXlvXXBW4YgBuT//SE8upOshLYnznKHOi4IkoKrAE37K34Cz/DGQzFV6sKQSmP6fjJzli0Nzu+YPdBSZW9VH1m7IKxliGoZcjdIkJ+L92+h/mPuN95Bitfe+aoexBQq3u4WjYVVsCE/9TrwLoGlr3zd7VAyVdADJf6phfIMHGDxn8W8125r9UWp4X/36yAIudVC7kHLyr0AHTfYqCVH10nEJvUwRz obondarev@Olegs-MacBook-Pro.local
+ akuznetsova:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD033EOpc2jeEYkKPzmJL4j081hmt3Ml5hlrfJWYY7RRoKBugT1gF9zggI9GaFGn5F29g+92dYfLLH4yfkL91dkNtbsutl7XiHZYW5NIL5n8kHtb8Bahclid8ERMpLYlctqW/4RM5wfMyzh71TxbutN9ZjcbtAQ0bIaCoTyWRrIDiMeW/+Btf7bPpe7zyQMjkQu+F2iYxd6nERiMnVLq080XAqwuSGMy9NFBLvG+VoJV1w49f2Hf19TD1ILev/pttPYem/15/zAnwwR+nye91jBtBBaFI6V4aaYjgsrjEinNy48tfhMpbuELW5Nn3o8c+3Xfi2rRxtkNcfdpc/yvFz/
diff --git a/openssh/server/team/oscore_devops.yml b/openssh/server/team/oscore_devops.yml
index 89870b0..f629d9e 100644
--- a/openssh/server/team/oscore_devops.yml
+++ b/openssh/server/team/oscore_devops.yml
@@ -6,6 +6,11 @@
- system.openssh.server.team.members.iudovichenko
- system.openssh.server.team.members.vdrok
- system.openssh.server.team.members.ikolodyazhny
+- system.openssh.server.team.members.ohryhorov
+- system.openssh.server.team.members.ogrudev
+- system.openssh.server.team.members.kkushaev
+- system.openssh.server.team.members.sgarbuz
+- system.openssh.server.team.members.oshyshko
parameters:
_param:
linux_system_user_sudo: true
diff --git a/openssh/server/team/presales.yml b/openssh/server/team/presales.yml
index e2939be..8361a39 100644
--- a/openssh/server/team/presales.yml
+++ b/openssh/server/team/presales.yml
@@ -1,3 +1,11 @@
+classes:
+- system.openssh.server.team.members.samstoelinga
+- system.openssh.server.team.members.sachintripathi
+- system.openssh.server.team.members.ryanday
+- system.openssh.server.team.members.pmichalec
+- system.openssh.server.team.members.brucemathews
+- system.openssh.server.team.members.andreidanin
+
parameters:
_param:
linux_system_user_sudo: true
diff --git a/openssh/server/team/services.yml b/openssh/server/team/services.yml
index a704e04..c2f4e28 100644
--- a/openssh/server/team/services.yml
+++ b/openssh/server/team/services.yml
@@ -15,6 +15,10 @@
- system.openssh.server.team.members.tjaroszyk
- system.openssh.server.team.members.sburns
- system.openssh.server.team.members.yisakov
+- system.openssh.server.team.members.vblokhin
+- system.openssh.server.team.members.dstremkouski
+- system.openssh.server.team.members.mchernik
+- system.openssh.server.team.members.hkraemer
parameters:
_param:
linux_system_user_sudo: true
diff --git a/prometheus/gainsight/container.yml b/prometheus/gainsight/container.yml
new file mode 100644
index 0000000..f98e052
--- /dev/null
+++ b/prometheus/gainsight/container.yml
@@ -0,0 +1,3 @@
+classes:
+- service.prometheus.gainsight.container
+
diff --git a/prometheus/gainsight/query/openstack.yml b/prometheus/gainsight/query/openstack.yml
new file mode 100644
index 0000000..9215d2e
--- /dev/null
+++ b/prometheus/gainsight/query/openstack.yml
@@ -0,0 +1,19 @@
+parameters:
+ prometheus:
+ gainsight:
+ queries:
+ vcpu_used: "'vCPU Used','sum(avg_over_time(openstack_nova_used_vcpus[24h]))'"
+ vcpu_free: "'vCPU Free','sum(avg_over_time(openstack_nova_free_vcpus[24h]))'"
+ vstorge_used: "'vStorage Used','sum(avg_over_time(openstack_nova_used_disk[24h]))'"
+ vstorage_free: "'vStorage Free','sum(avg_over_time(openstack_nova_free_disk[24h]))'"
+ vram_used: "'vRAM Used','sum(avg_over_time(openstack_nova_used_ram[24h]))'"
+ vram_free: "'vRAM Free','sum(avg_over_time(openstack_nova_free_ram[24h]))'"
+ instances: "'Instances','sum(avg_over_time(openstack_nova_instances[24h]))'"
+ compute_nodes: "'Compute Nodes','sum(openstack_nova_services{service=~\"nova.compute\"})'"
+ tenants: "'Tenants','sum(avg_over_time(openstack_keystone_tenants_total[24h]))'"
+ cinder_api: "'Cinder API','avg(avg_over_time(openstack_api_check_status{service=\"cinderv2\"}[24h]))'"
+ nova_api: "'Nova API','avg(avg_over_time(openstack_api_check_status{service=\"nova\"}[24h]))'"
+ keystone_api: "'Keystone API','avg(avg_over_time(openstack_api_check_status{service=\"keystone\"}[24h]))'"
+ glance_api: "'Glance API','avg(avg_over_time(openstack_api_check_status{service=\"glance\"}[24h]))'"
+ keystone_api: "'Keystone API','avg(avg_over_time(openstack_api_check_status{service=\"keystone\"}[24h]))'"
+ neutron_api: "'Neutron API','avg(avg_over_time(openstack_api_check_status{service=\"neutron\"}[24h]))'"
diff --git a/prometheus/pushgateway/container.yml b/prometheus/pushgateway/container.yml
index d0e986e..e4e9cd7 100644
--- a/prometheus/pushgateway/container.yml
+++ b/prometheus/pushgateway/container.yml
@@ -1,2 +1,3 @@
classes:
- service.prometheus.pushgateway.container
+- system.prometheus.pushgateway
diff --git a/prometheus/pushgateway/init.yml b/prometheus/pushgateway/init.yml
new file mode 100644
index 0000000..a906807
--- /dev/null
+++ b/prometheus/pushgateway/init.yml
@@ -0,0 +1,7 @@
+parameters:
+ _param:
+ prometheus_pushgateway_data_directory: /opt/pushgateway/data
+ prometheus:
+ pushgateway:
+ dir:
+ data: /srv/volumes/local/pushgateway/data
diff --git a/prometheus/relay/init.yml b/prometheus/relay/init.yml
index a240458..2841850 100644
--- a/prometheus/relay/init.yml
+++ b/prometheus/relay/init.yml
@@ -1,3 +1,11 @@
classes:
- service.prometheus.relay
- service.prometheus.relay.cluster
+parameters:
+ _param:
+ prometheus_relay_bind_port: 9094
+ prometheus:
+ relay:
+ enabled: true
+ bind:
+ port: ${_param:prometheus_relay_bind_port}
diff --git a/prometheus/server/alert/alerta_relabel.yml b/prometheus/server/alert/alerta_relabel.yml
index a81c59a..ca0f4b4 100644
--- a/prometheus/server/alert/alerta_relabel.yml
+++ b/prometheus/server/alert/alerta_relabel.yml
@@ -11,9 +11,15 @@
- replacement: "aggregated"
source_labels: "instance"
target_label: "instance"
+ - source_labels: "host"
+ target_label: "instance"
+ regex: "(.+)"
+ - source_labels: "job"
+ target_label: "instance"
+ regex: "(.+)"
- source_labels: ["host", "job"]
target_label: "instance"
- regex: "([a-zA-Z0-9]+;[a-zA-Z0-9_]+)"
+ regex: "(.+;.+)"
- source_labels: ["hostname", "job"]
target_label: "instance"
- regex: "([a-zA-Z0-9]+;[a-zA-Z0-9_]+)"
+ regex: "(.+;.+)"
\ No newline at end of file
diff --git a/rabbitmq/server/vhost/openstack/ha_for_all_queues.yml b/rabbitmq/server/vhost/openstack/ha_for_all_queues.yml
new file mode 100644
index 0000000..040a8ed
--- /dev/null
+++ b/rabbitmq/server/vhost/openstack/ha_for_all_queues.yml
@@ -0,0 +1,10 @@
+parameters:
+ rabbitmq:
+ server:
+ host:
+ '/openstack':
+ policies:
+ - name: ha-all
+ pattern: '.'
+ definition: '{"ha-mode":"all", "ha-sync-mode":"automatic"}'
+ priority: 0
diff --git a/rabbitmq/server/vhost/openstack/ha_for_all_queues_except_telemetry.yml b/rabbitmq/server/vhost/openstack/ha_for_all_queues_except_telemetry.yml
new file mode 100644
index 0000000..a2eef5b
--- /dev/null
+++ b/rabbitmq/server/vhost/openstack/ha_for_all_queues_except_telemetry.yml
@@ -0,0 +1,10 @@
+parameters:
+ rabbitmq:
+ server:
+ host:
+ '/openstack':
+ policies:
+ - name: ha-all-except-notif
+ pattern: '^((?!(alarm|alarming|event|metering|notifications)\.).)*$'
+ definition: '{"ha-mode":"all", "ha-sync-mode":"automatic"}'
+ priority: 0
diff --git a/rabbitmq/server/vhost/openstack/ha_for_telemetry_queues.yml b/rabbitmq/server/vhost/openstack/ha_for_telemetry_queues.yml
new file mode 100644
index 0000000..d456072
--- /dev/null
+++ b/rabbitmq/server/vhost/openstack/ha_for_telemetry_queues.yml
@@ -0,0 +1,10 @@
+parameters:
+ rabbitmq:
+ server:
+ host:
+ '/openstack':
+ policies:
+ - name: ha-notif
+ pattern: '^(alarm|alarming|event|metering|notifications)\.'
+ definition: '{"ha-mode":"all", "ha-sync-mode":"automatic"}'
+ priority: 0
diff --git a/rabbitmq/server/vhost/openstack/rpc_ha.yml b/rabbitmq/server/vhost/openstack/rpc_ha.yml
new file mode 100644
index 0000000..a3c461d
--- /dev/null
+++ b/rabbitmq/server/vhost/openstack/rpc_ha.yml
@@ -0,0 +1,22 @@
+parameters:
+ rabbitmq:
+ server:
+ host:
+ '/openstack':
+ policies:
+ - name: heat_engine_rpc_expire
+ pattern: '^heat-engine-listener\.'
+ definition: '{"expires":3600000, "ha-mode":"all", "ha-sync-mode":"automatic"}'
+ priority: 1
+ - name: heat_worker_rpc_expire
+ pattern: '^engine_worker\.'
+ definition: '{"expires":3600000, "ha-mode":"all", "ha-sync-mode":"automatic"}'
+ priority: 1
+ - name: results_expire
+ pattern: '^results\.'
+ definition: '{"expires":3600000, "ha-mode":"all", "ha-sync-mode":"automatic"}'
+ priority: 1
+ - name: tasks_expire
+ pattern: '^tasks\.'
+ definition: '{"expires":3600000, "ha-mode":"all", "ha-sync-mode":"automatic"}'
+ priority: 1
diff --git a/rabbitmq/server/vhost/openstack/without_rpc_ha.yml b/rabbitmq/server/vhost/openstack/without_rpc_ha.yml
new file mode 100644
index 0000000..4b35c32
--- /dev/null
+++ b/rabbitmq/server/vhost/openstack/without_rpc_ha.yml
@@ -0,0 +1,22 @@
+parameters:
+ rabbitmq:
+ server:
+ host:
+ '/openstack':
+ policies:
+ - name: heat_engine_rpc_expire
+ pattern: '^heat-engine-listener\.'
+ definition: '{"expires":3600000}'
+ priority: 1
+ - name: heat_worker_rpc_expire
+ pattern: '^engine_worker\.'
+ definition: '{"expires":3600000}'
+ priority: 1
+ - name: results_expire
+ pattern: '^results\.'
+ definition: '{"expires":3600000}'
+ priority: 1
+ - name: tasks_expire
+ pattern: '^tasks\.'
+ definition: '{"expires":3600000}'
+ priority: 1
diff --git a/reclass/storage/system/kubernetes_proxy_cluster.yml b/reclass/storage/system/kubernetes_proxy_cluster.yml
new file mode 100644
index 0000000..b00c254
--- /dev/null
+++ b/reclass/storage/system/kubernetes_proxy_cluster.yml
@@ -0,0 +1,28 @@
+parameters:
+ _param:
+ kubernetes_proxy_node01_hostname: prx01
+ kubernetes_proxy_node02_hostname: prx02
+ kubernetes_proxy_system_codename: xenial
+ reclass:
+ storage:
+ node:
+ kubernetes_proxy_node01:
+ name: ${_param:kubernetes_proxy_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.kubernetes.proxy
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:kubernetes_proxy_system_codename}
+ single_address: ${_param:kubernetes_proxy_node01_address}
+ keepalived_vip_priority: 102
+ kubernetes_proxy_node02:
+ name: ${_param:kubernetes_proxy_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.kubernetes.proxy
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:kubernetes_proxy_system_codename}
+ single_address: ${_param:kubernetes_proxy_node02_address}
+ keepalived_vip_priority: 101
diff --git a/reclass/storage/system/openstack_baremetal_cluster.yml b/reclass/storage/system/openstack_baremetal_cluster.yml
index 71f6034..ff6592f 100644
--- a/reclass/storage/system/openstack_baremetal_cluster.yml
+++ b/reclass/storage/system/openstack_baremetal_cluster.yml
@@ -21,6 +21,7 @@
single_address: ${_param:openstack_baremetal_node01_address}
keepalived_vip_priority: 101
baremetal_address: ${_param:openstack_baremetal_node01_baremetal_address}
+ openstack_node_role: primary
openstack_baremetal_node02:
name: ${_param:openstack_baremetal_node02_hostname}
domain: ${_param:cluster_domain}
@@ -32,6 +33,7 @@
single_address: ${_param:openstack_baremetal_node02_address}
keepalived_vip_priority: 102
baremetal_address: ${_param:openstack_baremetal_node02_baremetal_address}
+ openstack_node_role: secondary
openstack_baremetal_node03:
name: ${_param:openstack_baremetal_node03_hostname}
domain: ${_param:cluster_domain}
@@ -43,5 +45,6 @@
single_address: ${_param:openstack_baremetal_node03_address}
keepalived_vip_priority: 103
baremetal_address: ${_param:openstack_baremetal_node03_baremetal_address}
+ openstack_node_role: secondary
diff --git a/reclass/storage/system/openstack_baremetal_single.yml b/reclass/storage/system/openstack_baremetal_single.yml
index 3b279b0..36e89d3 100644
--- a/reclass/storage/system/openstack_baremetal_single.yml
+++ b/reclass/storage/system/openstack_baremetal_single.yml
@@ -14,3 +14,4 @@
linux_system_codename: ${_param:linux_system_codename}
single_address: ${_param:openstack_baremetal_node01_address}
baremetal_address: ${_param:openstack_baremetal_node01_baremetal_address}
+ openstack_node_role: primary
diff --git a/reclass/storage/system/openstack_control_cluster.yml b/reclass/storage/system/openstack_control_cluster.yml
index 300a04c..e05b3e9 100644
--- a/reclass/storage/system/openstack_control_cluster.yml
+++ b/reclass/storage/system/openstack_control_cluster.yml
@@ -19,6 +19,7 @@
keepalived_vip_priority: 103
opencontrail_database_id: 1
rabbitmq_cluster_role: master
+ openstack_node_role: primary
openstack_control_node02:
name: ${_param:openstack_control_node02_hostname}
domain: ${_param:cluster_domain}
@@ -31,6 +32,7 @@
keepalived_vip_priority: 102
opencontrail_database_id: 2
rabbitmq_cluster_role: slave
+ openstack_node_role: secondary
openstack_control_node03:
name: ${_param:openstack_control_node03_hostname}
domain: ${_param:cluster_domain}
@@ -43,3 +45,4 @@
keepalived_vip_priority: 101
opencontrail_database_id: 3
rabbitmq_cluster_role: slave
+ openstack_node_role: secondary
diff --git a/reclass/storage/system/openstack_control_large.yml b/reclass/storage/system/openstack_control_large.yml
new file mode 100644
index 0000000..4ad2e90
--- /dev/null
+++ b/reclass/storage/system/openstack_control_large.yml
@@ -0,0 +1,66 @@
+parameters:
+ _param:
+ openstack_control_node01_hostname: ctl01
+ openstack_control_node02_hostname: ctl02
+ openstack_control_node03_hostname: ctl03
+ openstack_control_node04_hostname: ctl04
+ openstack_control_node05_hostname: ctl05
+ openstack_control_system_codename: xenial
+ reclass:
+ storage:
+ node:
+ openstack_control_node01:
+ name: ${_param:openstack_control_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.control
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:openstack_control_system_codename}
+ single_address: ${_param:openstack_control_node01_address}
+ keepalived_vip_priority: 105
+ openstack_node_role: primary
+ openstack_control_node02:
+ name: ${_param:openstack_control_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.control
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:openstack_control_system_codename}
+ single_address: ${_param:openstack_control_node02_address}
+ keepalived_vip_priority: 104
+ openstack_node_role: secondary
+ openstack_control_node03:
+ name: ${_param:openstack_control_node03_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.control
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:openstack_control_system_codename}
+ single_address: ${_param:openstack_control_node03_address}
+ keepalived_vip_priority: 103
+ openstack_node_role: secondary
+ openstack_control_node04:
+ name: ${_param:openstack_control_node04_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.control
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:openstack_control_system_codename}
+ single_address: ${_param:openstack_control_node04_address}
+ keepalived_vip_priority: 102
+ openstack_node_role: secondary
+ openstack_control_node05:
+ name: ${_param:openstack_control_node05_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.control
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:openstack_control_system_codename}
+ single_address: ${_param:openstack_control_node05_address}
+ keepalived_vip_priority: 101
+ openstack_node_role: secondary
diff --git a/reclass/storage/system/openstack_control_single.yml b/reclass/storage/system/openstack_control_single.yml
index e7329da..fe5c870 100644
--- a/reclass/storage/system/openstack_control_single.yml
+++ b/reclass/storage/system/openstack_control_single.yml
@@ -14,3 +14,4 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: ${_param:openstack_control_system_codename}
single_address: ${_param:openstack_control_node01_address}
+ openstack_node_role: primary
diff --git a/reclass/storage/system/openstack_control_upgrade_single.yml b/reclass/storage/system/openstack_control_upgrade_single.yml
index e387062..b00cc81 100644
--- a/reclass/storage/system/openstack_control_upgrade_single.yml
+++ b/reclass/storage/system/openstack_control_upgrade_single.yml
@@ -14,3 +14,4 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: ${_param:openstack_upgrade_system_codename}
single_address: ${_param:openstack_upgrade_node01_address}
+ openstack_node_role: primary
diff --git a/reclass/storage/system/openstack_telemetry_cluster.yml b/reclass/storage/system/openstack_telemetry_cluster.yml
index 9dc6457..c33a8db 100644
--- a/reclass/storage/system/openstack_telemetry_cluster.yml
+++ b/reclass/storage/system/openstack_telemetry_cluster.yml
@@ -17,6 +17,7 @@
linux_system_codename: ${_param:openstack_telemetry_system_codename}
single_address: ${_param:openstack_telemetry_node01_address}
keepalived_vip_priority: 103
+ openstack_node_role: primary
openstack_telemetry_node02:
name: ${_param:openstack_telemetry_node02_hostname}
domain: ${_param:cluster_domain}
@@ -27,6 +28,7 @@
linux_system_codename: ${_param:openstack_telemetry_system_codename}
single_address: ${_param:openstack_telemetry_node02_address}
keepalived_vip_priority: 102
+ openstack_node_role: secondary
openstack_telemetry_node03:
name: ${_param:openstack_telemetry_node03_hostname}
domain: ${_param:cluster_domain}
@@ -37,3 +39,4 @@
linux_system_codename: ${_param:openstack_telemetry_system_codename}
single_address: ${_param:openstack_telemetry_node03_address}
keepalived_vip_priority: 101
+ openstack_node_role: secondary
diff --git a/reclass/storage/system/physical_control_large.yml b/reclass/storage/system/physical_control_large.yml
new file mode 100644
index 0000000..1070f47
--- /dev/null
+++ b/reclass/storage/system/physical_control_large.yml
@@ -0,0 +1,251 @@
+parameters:
+ _param:
+ infra_kvm_node01_hostname: kvm01
+ infra_kvm_node02_hostname: kvm02
+ infra_kvm_node03_hostname: kvm03
+ infra_kvm_node04_hostname: kvm04
+ infra_kvm_node05_hostname: kvm05
+ infra_kvm_node06_hostname: kvm06
+ infra_kvm_node07_hostname: kvm07
+ infra_kvm_node08_hostname: kvm08
+ infra_kvm_node09_hostname: kvm09
+ infra_kvm_node10_hostname: kvm10
+ infra_kvm_node11_hostname: kvm11
+ infra_kvm_node12_hostname: kvm12
+ infra_kvm_node13_hostname: kvm13
+ infra_kvm_node14_hostname: kvm14
+ infra_kvm_node15_hostname: kvm15
+
+ infra_kvm_node01_deploy_address: ${_param:infra_kvm_node01_address}
+ infra_kvm_node02_deploy_address: ${_param:infra_kvm_node02_address}
+ infra_kvm_node03_deploy_address: ${_param:infra_kvm_node03_address}
+ infra_kvm_node04_deploy_address: ${_param:infra_kvm_node04_address}
+ infra_kvm_node05_deploy_address: ${_param:infra_kvm_node05_address}
+ infra_kvm_node06_deploy_address: ${_param:infra_kvm_node06_address}
+ infra_kvm_node07_deploy_address: ${_param:infra_kvm_node07_address}
+ infra_kvm_node08_deploy_address: ${_param:infra_kvm_node08_address}
+ infra_kvm_node09_deploy_address: ${_param:infra_kvm_node09_address}
+ infra_kvm_node10_deploy_address: ${_param:infra_kvm_node09_address}
+ infra_kvm_node11_deploy_address: ${_param:infra_kvm_node10_address}
+ infra_kvm_node12_deploy_address: ${_param:infra_kvm_node12_address}
+ infra_kvm_node13_deploy_address: ${_param:infra_kvm_node13_address}
+ infra_kvm_node14_deploy_address: ${_param:infra_kvm_node14_address}
+ infra_kvm_node15_deploy_address: ${_param:infra_kvm_node15_address}
+
+ infra_kvm_node01_storage_address: ${_param:infra_kvm_node01_address}
+ infra_kvm_node02_storage_address: ${_param:infra_kvm_node02_address}
+ infra_kvm_node03_storage_address: ${_param:infra_kvm_node03_address}
+ infra_kvm_node04_storage_address: ${_param:infra_kvm_node04_address}
+ infra_kvm_node05_storage_address: ${_param:infra_kvm_node05_address}
+ infra_kvm_node06_storage_address: ${_param:infra_kvm_node06_address}
+ infra_kvm_node07_storage_address: ${_param:infra_kvm_node07_address}
+ infra_kvm_node08_storage_address: ${_param:infra_kvm_node08_address}
+ infra_kvm_node09_storage_address: ${_param:infra_kvm_node09_address}
+ infra_kvm_node10_storage_address: ${_param:infra_kvm_node10_address}
+ infra_kvm_node11_storage_address: ${_param:infra_kvm_node11_address}
+ infra_kvm_node12_storage_address: ${_param:infra_kvm_node12_address}
+ infra_kvm_node13_storage_address: ${_param:infra_kvm_node13_address}
+ infra_kvm_node14_storage_address: ${_param:infra_kvm_node14_address}
+ infra_kvm_node15_storage_address: ${_param:infra_kvm_node15_address}
+
+ infra_kvm_node01_public_address: ${_param:infra_kvm_node01_address}
+ infra_kvm_node02_public_address: ${_param:infra_kvm_node02_address}
+ infra_kvm_node03_public_address: ${_param:infra_kvm_node03_address}
+ infra_kvm_node04_public_address: ${_param:infra_kvm_node04_address}
+ infra_kvm_node05_public_address: ${_param:infra_kvm_node05_address}
+ infra_kvm_node06_public_address: ${_param:infra_kvm_node06_address}
+ infra_kvm_node07_public_address: ${_param:infra_kvm_node07_address}
+ infra_kvm_node08_public_address: ${_param:infra_kvm_node08_address}
+ infra_kvm_node09_public_address: ${_param:infra_kvm_node09_address}
+ infra_kvm_node10_public_address: ${_param:infra_kvm_node10_address}
+ infra_kvm_node11_public_address: ${_param:infra_kvm_node11_address}
+ infra_kvm_node12_public_address: ${_param:infra_kvm_node12_address}
+ infra_kvm_node13_public_address: ${_param:infra_kvm_node13_address}
+ infra_kvm_node14_public_address: ${_param:infra_kvm_node14_address}
+ infra_kvm_node15_public_address: ${_param:infra_kvm_node15_address}
+
+ infra_kvm_system_codename: xenial
+
+ reclass:
+ storage:
+ node:
+ infra_kvm_node01:
+ name: ${_param:infra_kvm_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node01_address}
+ deploy_address: ${_param:infra_kvm_node01_deploy_address}
+ public_address: ${_param:infra_kvm_node01_public_address}
+ storage_address: ${_param:infra_kvm_node01_storage_address}
+ infra_kvm_node02:
+ name: ${_param:infra_kvm_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node02_address}
+ deploy_address: ${_param:infra_kvm_node02_deploy_address}
+ public_address: ${_param:infra_kvm_node02_public_address}
+ storage_address: ${_param:infra_kvm_node02_storage_address}
+ infra_kvm_node03:
+ name: ${_param:infra_kvm_node03_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node03_address}
+ deploy_address: ${_param:infra_kvm_node03_deploy_address}
+ public_address: ${_param:infra_kvm_node03_public_address}
+ storage_address: ${_param:infra_kvm_node03_storage_address}
+ infra_kvm_node04:
+ name: ${_param:infra_kvm_node04_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node04_address}
+ deploy_address: ${_param:infra_kvm_node04_deploy_address}
+ public_address: ${_param:infra_kvm_node04_public_address}
+ storage_address: ${_param:infra_kvm_node04_storage_address}
+ infra_kvm_node05:
+ name: ${_param:infra_kvm_node05_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node05_address}
+ deploy_address: ${_param:infra_kvm_node05_deploy_address}
+ public_address: ${_param:infra_kvm_node05_public_address}
+ storage_address: ${_param:infra_kvm_node05_storage_address}
+ infra_kvm_node06:
+ name: ${_param:infra_kvm_node06_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node06_address}
+ deploy_address: ${_param:infra_kvm_node06_deploy_address}
+ public_address: ${_param:infra_kvm_node06_public_address}
+ storage_address: ${_param:infra_kvm_node06_storage_address}
+ infra_kvm_node07:
+ name: ${_param:infra_kvm_node07_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node07_address}
+ deploy_address: ${_param:infra_kvm_node07_deploy_address}
+ public_address: ${_param:infra_kvm_node07_public_address}
+ storage_address: ${_param:infra_kvm_node07_storage_address}
+ infra_kvm_node08:
+ name: ${_param:infra_kvm_node08_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node08_address}
+ deploy_address: ${_param:infra_kvm_node08_deploy_address}
+ public_address: ${_param:infra_kvm_node08_public_address}
+ storage_address: ${_param:infra_kvm_node08_storage_address}
+ infra_kvm_node09:
+ name: ${_param:infra_kvm_node09_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node09_address}
+ deploy_address: ${_param:infra_kvm_node09_deploy_address}
+ public_address: ${_param:infra_kvm_node09_public_address}
+ storage_address: ${_param:infra_kvm_node09_storage_address}
+ infra_kvm_node10:
+ name: ${_param:infra_kvm_node10_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node10_address}
+ deploy_address: ${_param:infra_kvm_node10_deploy_address}
+ public_address: ${_param:infra_kvm_node10_public_address}
+ storage_address: ${_param:infra_kvm_node10_storage_address}
+ infra_kvm_node11:
+ name: ${_param:infra_kvm_node11_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node11_address}
+ deploy_address: ${_param:infra_kvm_node11_deploy_address}
+ public_address: ${_param:infra_kvm_node11_public_address}
+ storage_address: ${_param:infra_kvm_node11_storage_address}
+ infra_kvm_node12:
+ name: ${_param:infra_kvm_node12_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node12_address}
+ deploy_address: ${_param:infra_kvm_node12_deploy_address}
+ public_address: ${_param:infra_kvm_node12_public_address}
+ storage_address: ${_param:infra_kvm_node12_storage_address}
+ infra_kvm_node13:
+ name: ${_param:infra_kvm_node13_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node13_address}
+ deploy_address: ${_param:infra_kvm_node13_deploy_address}
+ public_address: ${_param:infra_kvm_node13_public_address}
+ storage_address: ${_param:infra_kvm_node13_storage_address}
+ infra_kvm_node14:
+ name: ${_param:infra_kvm_node14_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node14_address}
+ deploy_address: ${_param:infra_kvm_node14_deploy_address}
+ public_address: ${_param:infra_kvm_node14_public_address}
+ storage_address: ${_param:infra_kvm_node14_storage_address}
+ infra_kvm_node15:
+ name: ${_param:infra_kvm_node15_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node15_address}
+ deploy_address: ${_param:infra_kvm_node15_deploy_address}
+ public_address: ${_param:infra_kvm_node15_public_address}
+ storage_address: ${_param:infra_kvm_node15_storage_address}
diff --git a/reclass/storage/system/physical_control_medium.yml b/reclass/storage/system/physical_control_medium.yml
new file mode 100644
index 0000000..5ad7d24
--- /dev/null
+++ b/reclass/storage/system/physical_control_medium.yml
@@ -0,0 +1,203 @@
+parameters:
+ _param:
+ infra_kvm_node01_hostname: kvm01
+ infra_kvm_node02_hostname: kvm02
+ infra_kvm_node03_hostname: kvm03
+ infra_kvm_node04_hostname: kvm04
+ infra_kvm_node05_hostname: kvm05
+ infra_kvm_node06_hostname: kvm06
+ infra_kvm_node07_hostname: kvm07
+ infra_kvm_node08_hostname: kvm08
+ infra_kvm_node09_hostname: kvm09
+ infra_kvm_node10_hostname: kvm10
+ infra_kvm_node11_hostname: kvm11
+ infra_kvm_node12_hostname: kvm12
+
+ infra_kvm_node01_deploy_address: ${_param:infra_kvm_node01_address}
+ infra_kvm_node02_deploy_address: ${_param:infra_kvm_node02_address}
+ infra_kvm_node03_deploy_address: ${_param:infra_kvm_node03_address}
+ infra_kvm_node04_deploy_address: ${_param:infra_kvm_node04_address}
+ infra_kvm_node05_deploy_address: ${_param:infra_kvm_node05_address}
+ infra_kvm_node06_deploy_address: ${_param:infra_kvm_node06_address}
+ infra_kvm_node07_deploy_address: ${_param:infra_kvm_node07_address}
+ infra_kvm_node08_deploy_address: ${_param:infra_kvm_node08_address}
+ infra_kvm_node09_deploy_address: ${_param:infra_kvm_node09_address}
+ infra_kvm_node10_deploy_address: ${_param:infra_kvm_node09_address}
+ infra_kvm_node11_deploy_address: ${_param:infra_kvm_node10_address}
+ infra_kvm_node12_deploy_address: ${_param:infra_kvm_node12_address}
+
+ infra_kvm_node01_storage_address: ${_param:infra_kvm_node01_address}
+ infra_kvm_node02_storage_address: ${_param:infra_kvm_node02_address}
+ infra_kvm_node03_storage_address: ${_param:infra_kvm_node03_address}
+ infra_kvm_node04_storage_address: ${_param:infra_kvm_node04_address}
+ infra_kvm_node05_storage_address: ${_param:infra_kvm_node05_address}
+ infra_kvm_node06_storage_address: ${_param:infra_kvm_node06_address}
+ infra_kvm_node07_storage_address: ${_param:infra_kvm_node07_address}
+ infra_kvm_node08_storage_address: ${_param:infra_kvm_node08_address}
+ infra_kvm_node09_storage_address: ${_param:infra_kvm_node09_address}
+ infra_kvm_node10_storage_address: ${_param:infra_kvm_node10_address}
+ infra_kvm_node11_storage_address: ${_param:infra_kvm_node11_address}
+ infra_kvm_node12_storage_address: ${_param:infra_kvm_node12_address}
+
+ infra_kvm_node01_public_address: ${_param:infra_kvm_node01_address}
+ infra_kvm_node02_public_address: ${_param:infra_kvm_node02_address}
+ infra_kvm_node03_public_address: ${_param:infra_kvm_node03_address}
+ infra_kvm_node04_public_address: ${_param:infra_kvm_node04_address}
+ infra_kvm_node05_public_address: ${_param:infra_kvm_node05_address}
+ infra_kvm_node06_public_address: ${_param:infra_kvm_node06_address}
+ infra_kvm_node07_public_address: ${_param:infra_kvm_node07_address}
+ infra_kvm_node08_public_address: ${_param:infra_kvm_node08_address}
+ infra_kvm_node09_public_address: ${_param:infra_kvm_node09_address}
+ infra_kvm_node10_public_address: ${_param:infra_kvm_node10_address}
+ infra_kvm_node11_public_address: ${_param:infra_kvm_node11_address}
+ infra_kvm_node12_public_address: ${_param:infra_kvm_node12_address}
+
+ infra_kvm_system_codename: xenial
+
+ reclass:
+ storage:
+ node:
+ infra_kvm_node01:
+ name: ${_param:infra_kvm_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node01_address}
+ deploy_address: ${_param:infra_kvm_node01_deploy_address}
+ public_address: ${_param:infra_kvm_node01_public_address}
+ storage_address: ${_param:infra_kvm_node01_storage_address}
+ infra_kvm_node02:
+ name: ${_param:infra_kvm_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node02_address}
+ deploy_address: ${_param:infra_kvm_node02_deploy_address}
+ public_address: ${_param:infra_kvm_node02_public_address}
+ storage_address: ${_param:infra_kvm_node02_storage_address}
+ infra_kvm_node03:
+ name: ${_param:infra_kvm_node03_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node03_address}
+ deploy_address: ${_param:infra_kvm_node03_deploy_address}
+ public_address: ${_param:infra_kvm_node03_public_address}
+ storage_address: ${_param:infra_kvm_node03_storage_address}
+ infra_kvm_node04:
+ name: ${_param:infra_kvm_node04_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node04_address}
+ deploy_address: ${_param:infra_kvm_node04_deploy_address}
+ public_address: ${_param:infra_kvm_node04_public_address}
+ storage_address: ${_param:infra_kvm_node04_storage_address}
+ infra_kvm_node05:
+ name: ${_param:infra_kvm_node05_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node05_address}
+ deploy_address: ${_param:infra_kvm_node05_deploy_address}
+ public_address: ${_param:infra_kvm_node05_public_address}
+ storage_address: ${_param:infra_kvm_node05_storage_address}
+ infra_kvm_node06:
+ name: ${_param:infra_kvm_node06_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node06_address}
+ deploy_address: ${_param:infra_kvm_node06_deploy_address}
+ public_address: ${_param:infra_kvm_node06_public_address}
+ storage_address: ${_param:infra_kvm_node06_storage_address}
+ infra_kvm_node07:
+ name: ${_param:infra_kvm_node07_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node07_address}
+ deploy_address: ${_param:infra_kvm_node07_deploy_address}
+ public_address: ${_param:infra_kvm_node07_public_address}
+ storage_address: ${_param:infra_kvm_node07_storage_address}
+ infra_kvm_node08:
+ name: ${_param:infra_kvm_node08_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node08_address}
+ deploy_address: ${_param:infra_kvm_node08_deploy_address}
+ public_address: ${_param:infra_kvm_node08_public_address}
+ storage_address: ${_param:infra_kvm_node08_storage_address}
+ infra_kvm_node09:
+ name: ${_param:infra_kvm_node09_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node09_address}
+ deploy_address: ${_param:infra_kvm_node09_deploy_address}
+ public_address: ${_param:infra_kvm_node09_public_address}
+ storage_address: ${_param:infra_kvm_node09_storage_address}
+ infra_kvm_node10:
+ name: ${_param:infra_kvm_node10_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node10_address}
+ deploy_address: ${_param:infra_kvm_node10_deploy_address}
+ public_address: ${_param:infra_kvm_node10_public_address}
+ storage_address: ${_param:infra_kvm_node10_storage_address}
+ infra_kvm_node11:
+ name: ${_param:infra_kvm_node11_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node11_address}
+ deploy_address: ${_param:infra_kvm_node11_deploy_address}
+ public_address: ${_param:infra_kvm_node11_public_address}
+ storage_address: ${_param:infra_kvm_node11_storage_address}
+ infra_kvm_node12:
+ name: ${_param:infra_kvm_node12_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node12_address}
+ deploy_address: ${_param:infra_kvm_node12_deploy_address}
+ public_address: ${_param:infra_kvm_node12_public_address}
+ storage_address: ${_param:infra_kvm_node12_storage_address}
diff --git a/reclass/storage/system/physical_control_small.yml b/reclass/storage/system/physical_control_small.yml
new file mode 100644
index 0000000..4ce3759
--- /dev/null
+++ b/reclass/storage/system/physical_control_small.yml
@@ -0,0 +1,107 @@
+parameters:
+ _param:
+ infra_kvm_node01_hostname: kvm01
+ infra_kvm_node02_hostname: kvm02
+ infra_kvm_node03_hostname: kvm03
+ infra_kvm_node04_hostname: kvm04
+ infra_kvm_node05_hostname: kvm05
+ infra_kvm_node06_hostname: kvm06
+
+ infra_kvm_node01_deploy_address: ${_param:infra_kvm_node01_address}
+ infra_kvm_node02_deploy_address: ${_param:infra_kvm_node02_address}
+ infra_kvm_node03_deploy_address: ${_param:infra_kvm_node03_address}
+ infra_kvm_node04_deploy_address: ${_param:infra_kvm_node04_address}
+ infra_kvm_node05_deploy_address: ${_param:infra_kvm_node05_address}
+ infra_kvm_node06_deploy_address: ${_param:infra_kvm_node06_address}
+
+ infra_kvm_node01_storage_address: ${_param:infra_kvm_node01_address}
+ infra_kvm_node02_storage_address: ${_param:infra_kvm_node02_address}
+ infra_kvm_node03_storage_address: ${_param:infra_kvm_node03_address}
+ infra_kvm_node04_storage_address: ${_param:infra_kvm_node04_address}
+ infra_kvm_node05_storage_address: ${_param:infra_kvm_node05_address}
+ infra_kvm_node06_storage_address: ${_param:infra_kvm_node06_address}
+
+ infra_kvm_node01_public_address: ${_param:infra_kvm_node01_address}
+ infra_kvm_node02_public_address: ${_param:infra_kvm_node02_address}
+ infra_kvm_node03_public_address: ${_param:infra_kvm_node03_address}
+ infra_kvm_node04_public_address: ${_param:infra_kvm_node04_address}
+ infra_kvm_node05_public_address: ${_param:infra_kvm_node05_address}
+ infra_kvm_node06_public_address: ${_param:infra_kvm_node06_address}
+
+ infra_kvm_system_codename: xenial
+
+ reclass:
+ storage:
+ node:
+ infra_kvm_node01:
+ name: ${_param:infra_kvm_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node01_address}
+ deploy_address: ${_param:infra_kvm_node01_deploy_address}
+ public_address: ${_param:infra_kvm_node01_public_address}
+ storage_address: ${_param:infra_kvm_node01_storage_address}
+ infra_kvm_node02:
+ name: ${_param:infra_kvm_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node02_address}
+ deploy_address: ${_param:infra_kvm_node02_deploy_address}
+ public_address: ${_param:infra_kvm_node02_public_address}
+ storage_address: ${_param:infra_kvm_node02_storage_address}
+ infra_kvm_node03:
+ name: ${_param:infra_kvm_node03_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node03_address}
+ deploy_address: ${_param:infra_kvm_node03_deploy_address}
+ public_address: ${_param:infra_kvm_node03_public_address}
+ storage_address: ${_param:infra_kvm_node03_storage_address}
+ infra_kvm_node04:
+ name: ${_param:infra_kvm_node04_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node04_address}
+ deploy_address: ${_param:infra_kvm_node04_deploy_address}
+ public_address: ${_param:infra_kvm_node04_public_address}
+ storage_address: ${_param:infra_kvm_node04_storage_address}
+ infra_kvm_node05:
+ name: ${_param:infra_kvm_node05_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node05_address}
+ deploy_address: ${_param:infra_kvm_node05_deploy_address}
+ public_address: ${_param:infra_kvm_node05_public_address}
+ storage_address: ${_param:infra_kvm_node05_storage_address}
+ infra_kvm_node06:
+ name: ${_param:infra_kvm_node06_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.kvm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:infra_kvm_system_codename}
+ single_address: ${_param:infra_kvm_node06_address}
+ deploy_address: ${_param:infra_kvm_node06_deploy_address}
+ public_address: ${_param:infra_kvm_node06_public_address}
+ storage_address: ${_param:infra_kvm_node06_storage_address}
diff --git a/sahara/server/cluster.yml b/sahara/server/cluster.yml
index cdb7b04..b01ab3d 100644
--- a/sahara/server/cluster.yml
+++ b/sahara/server/cluster.yml
@@ -9,6 +9,7 @@
enabled: true
version: ${_param:sahara_version}
notification: false
+ role: ${_param:openstack_node_role}
bind:
address: ${_param:single_address}
port: 8386
diff --git a/sahara/server/single.yml b/sahara/server/single.yml
index 01e7b38..fcb26c9 100644
--- a/sahara/server/single.yml
+++ b/sahara/server/single.yml
@@ -5,6 +5,7 @@
server:
enabled: true
version: ${_param:sahara_version}
+ role: ${_param:openstack_node_role}
bind:
host: ${_param:single_address}
port: 8386
diff --git a/salt/control/cluster/kubernetes_proxy_cluster.yml b/salt/control/cluster/kubernetes_proxy_cluster.yml
new file mode 100644
index 0000000..d4251a2
--- /dev/null
+++ b/salt/control/cluster/kubernetes_proxy_cluster.yml
@@ -0,0 +1,25 @@
+parameters:
+ salt:
+ control:
+ size:
+ kubernetes.proxy:
+ cpu: 32
+ ram: 65536
+ disk_profile: small
+ net_profile: default
+ cluster:
+ internal:
+ domain: ${_param:cluster_domain}
+ engine: virt
+ node:
+ prx01:
+ name: ${_param:kubernetes_proxy_node01_hostname}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_trusty_image}
+ size: kubernetes.proxy
+ prx02:
+ name: ${_param:kubernetes_proxy_node02_hostname}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_trusty_image}
+ size: kubernetes.proxy
+
diff --git a/salt/control/placement/cicd/compact.yml b/salt/control/placement/cicd/compact.yml
new file mode 100644
index 0000000..9bdf4a4
--- /dev/null
+++ b/salt/control/placement/cicd/compact.yml
@@ -0,0 +1,28 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ cicd_control_node01_hostname: cid01
+ cicd_control_node02_hostname: cid02
+ cicd_control_node03_hostname: cid03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ cid01:
+ name: ${_param:cicd_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: cicd.control
+ cid02:
+ name: ${_param:cicd_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: cicd.control
+ cid03:
+ name: ${_param:cicd_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: cicd.control
\ No newline at end of file
diff --git a/salt/control/placement/cicd/large.yml b/salt/control/placement/cicd/large.yml
new file mode 100644
index 0000000..9bdf4a4
--- /dev/null
+++ b/salt/control/placement/cicd/large.yml
@@ -0,0 +1,28 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ cicd_control_node01_hostname: cid01
+ cicd_control_node02_hostname: cid02
+ cicd_control_node03_hostname: cid03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ cid01:
+ name: ${_param:cicd_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: cicd.control
+ cid02:
+ name: ${_param:cicd_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: cicd.control
+ cid03:
+ name: ${_param:cicd_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: cicd.control
\ No newline at end of file
diff --git a/salt/control/placement/cicd/medium.yml b/salt/control/placement/cicd/medium.yml
new file mode 100644
index 0000000..9bdf4a4
--- /dev/null
+++ b/salt/control/placement/cicd/medium.yml
@@ -0,0 +1,28 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ cicd_control_node01_hostname: cid01
+ cicd_control_node02_hostname: cid02
+ cicd_control_node03_hostname: cid03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ cid01:
+ name: ${_param:cicd_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: cicd.control
+ cid02:
+ name: ${_param:cicd_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: cicd.control
+ cid03:
+ name: ${_param:cicd_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: cicd.control
\ No newline at end of file
diff --git a/salt/control/placement/cicd/minimal.yml b/salt/control/placement/cicd/minimal.yml
new file mode 100644
index 0000000..9bdf4a4
--- /dev/null
+++ b/salt/control/placement/cicd/minimal.yml
@@ -0,0 +1,28 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ cicd_control_node01_hostname: cid01
+ cicd_control_node02_hostname: cid02
+ cicd_control_node03_hostname: cid03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ cid01:
+ name: ${_param:cicd_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: cicd.control
+ cid02:
+ name: ${_param:cicd_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: cicd.control
+ cid03:
+ name: ${_param:cicd_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: cicd.control
\ No newline at end of file
diff --git a/salt/control/placement/cicd/small.yml b/salt/control/placement/cicd/small.yml
new file mode 100644
index 0000000..9bdf4a4
--- /dev/null
+++ b/salt/control/placement/cicd/small.yml
@@ -0,0 +1,28 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ cicd_control_node01_hostname: cid01
+ cicd_control_node02_hostname: cid02
+ cicd_control_node03_hostname: cid03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ cid01:
+ name: ${_param:cicd_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: cicd.control
+ cid02:
+ name: ${_param:cicd_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: cicd.control
+ cid03:
+ name: ${_param:cicd_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: cicd.control
\ No newline at end of file
diff --git a/salt/control/placement/opencontrail/compact.yml b/salt/control/placement/opencontrail/compact.yml
new file mode 100644
index 0000000..a619956
--- /dev/null
+++ b/salt/control/placement/opencontrail/compact.yml
@@ -0,0 +1,46 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ opencontrail_control_node01_hostname: ntw01
+ opencontrail_control_node02_hostname: ntw02
+ opencontrail_control_node03_hostname: ntw03
+ opencontrail_analytics_node01_hostname: nal01
+ opencontrail_analytics_node02_hostname: nal02
+ opencontrail_analytics_node03_hostname: nal03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ ntw01:
+ name: ${_param:opencontrail_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ ntw02:
+ name: ${_param:opencontrail_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ ntw03:
+ name: ${_param:opencontrail_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ nal01:
+ name: ${_param:opencontrail_analytics_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
+ nal02:
+ name: ${_param:opencontrail_analytics_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
+ nal03:
+ name: ${_param:opencontrail_analytics_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
\ No newline at end of file
diff --git a/salt/control/placement/opencontrail/large.yml b/salt/control/placement/opencontrail/large.yml
new file mode 100644
index 0000000..1aabd0d
--- /dev/null
+++ b/salt/control/placement/opencontrail/large.yml
@@ -0,0 +1,46 @@
+parameters:
+ _param:
+ infra_kvm10_hostname: kvm10
+ infra_kvm11_hostname: kvm11
+ infra_kvm12_hostname: kvm12
+ opencontrail_control_node01_hostname: ntw01
+ opencontrail_control_node02_hostname: ntw02
+ opencontrail_control_node03_hostname: ntw03
+ opencontrail_analytics_node01_hostname: nal01
+ opencontrail_analytics_node02_hostname: nal02
+ opencontrail_analytics_node03_hostname: nal03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ ntw01:
+ name: ${_param:opencontrail_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node10_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ ntw02:
+ name: ${_param:opencontrail_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node11_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ ntw03:
+ name: ${_param:opencontrail_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node12_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ nal01:
+ name: ${_param:opencontrail_analytics_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node10_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
+ nal02:
+ name: ${_param:opencontrail_analytics_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node11_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
+ nal03:
+ name: ${_param:opencontrail_analytics_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node12_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
\ No newline at end of file
diff --git a/salt/control/placement/opencontrail/medium.yml b/salt/control/placement/opencontrail/medium.yml
new file mode 100644
index 0000000..dfc32f3
--- /dev/null
+++ b/salt/control/placement/opencontrail/medium.yml
@@ -0,0 +1,46 @@
+parameters:
+ _param:
+ infra_kvm07_hostname: kvm07
+ infra_kvm08_hostname: kvm08
+ infra_kvm09_hostname: kvm09
+ opencontrail_control_node01_hostname: ntw01
+ opencontrail_control_node02_hostname: ntw02
+ opencontrail_control_node03_hostname: ntw03
+ opencontrail_analytics_node01_hostname: nal01
+ opencontrail_analytics_node02_hostname: nal02
+ opencontrail_analytics_node03_hostname: nal03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ ntw01:
+ name: ${_param:opencontrail_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node07_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ ntw02:
+ name: ${_param:opencontrail_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node08_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ ntw03:
+ name: ${_param:opencontrail_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node09_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ nal01:
+ name: ${_param:opencontrail_analytics_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node07_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
+ nal02:
+ name: ${_param:opencontrail_analytics_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node08_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
+ nal03:
+ name: ${_param:opencontrail_analytics_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node09_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
\ No newline at end of file
diff --git a/salt/control/placement/opencontrail/minimal.yml b/salt/control/placement/opencontrail/minimal.yml
new file mode 100644
index 0000000..a619956
--- /dev/null
+++ b/salt/control/placement/opencontrail/minimal.yml
@@ -0,0 +1,46 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ opencontrail_control_node01_hostname: ntw01
+ opencontrail_control_node02_hostname: ntw02
+ opencontrail_control_node03_hostname: ntw03
+ opencontrail_analytics_node01_hostname: nal01
+ opencontrail_analytics_node02_hostname: nal02
+ opencontrail_analytics_node03_hostname: nal03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ ntw01:
+ name: ${_param:opencontrail_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ ntw02:
+ name: ${_param:opencontrail_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ ntw03:
+ name: ${_param:opencontrail_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ nal01:
+ name: ${_param:opencontrail_analytics_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
+ nal02:
+ name: ${_param:opencontrail_analytics_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
+ nal03:
+ name: ${_param:opencontrail_analytics_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
\ No newline at end of file
diff --git a/salt/control/placement/opencontrail/small.yml b/salt/control/placement/opencontrail/small.yml
new file mode 100644
index 0000000..a619956
--- /dev/null
+++ b/salt/control/placement/opencontrail/small.yml
@@ -0,0 +1,46 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ opencontrail_control_node01_hostname: ntw01
+ opencontrail_control_node02_hostname: ntw02
+ opencontrail_control_node03_hostname: ntw03
+ opencontrail_analytics_node01_hostname: nal01
+ opencontrail_analytics_node02_hostname: nal02
+ opencontrail_analytics_node03_hostname: nal03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ ntw01:
+ name: ${_param:opencontrail_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ ntw02:
+ name: ${_param:opencontrail_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ ntw03:
+ name: ${_param:opencontrail_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: opencontrail.control
+ nal01:
+ name: ${_param:opencontrail_analytics_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
+ nal02:
+ name: ${_param:opencontrail_analytics_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
+ nal03:
+ name: ${_param:opencontrail_analytics_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: opencontrail.analytics
\ No newline at end of file
diff --git a/salt/control/placement/openstack/compact.yml b/salt/control/placement/openstack/compact.yml
new file mode 100644
index 0000000..8c62e28
--- /dev/null
+++ b/salt/control/placement/openstack/compact.yml
@@ -0,0 +1,76 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ openstack_control_node01_hostname: ctl01
+ openstack_control_node02_hostname: ctl02
+ openstack_control_node03_hostname: ctl03
+ openstack_database_node01_hostname: dbs01
+ openstack_database_node02_hostname: dbs02
+ openstack_database_node03_hostname: dbs03
+ openstack_message_queue_node01_hostname: msg01
+ openstack_message_queue_node02_hostname: msg02
+ openstack_message_queue_node03_hostname: msg03
+ openstack_proxy_node01_hostname: prx01
+ openstack_proxy_node02_hostname: prx02
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ ctl01:
+ name: ${_param:openstack_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl02:
+ name: ${_param:openstack_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl03:
+ name: ${_param:openstack_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ dbs01:
+ name: ${_param:openstack_database_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ dbs02:
+ name: ${_param:openstack_database_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ dbs03:
+ name: ${_param:openstack_database_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ msg01:
+ name: ${_param:openstack_message_queue_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ msg02:
+ name: ${_param:openstack_message_queue_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ msg03:
+ name: ${_param:openstack_message_queue_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ prx01:
+ name: ${_param:openstack_proxy_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.proxy
+ prx02:
+ name: ${_param:openstack_proxy_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.proxy
diff --git a/salt/control/placement/openstack/large.yml b/salt/control/placement/openstack/large.yml
new file mode 100644
index 0000000..cb056dd
--- /dev/null
+++ b/salt/control/placement/openstack/large.yml
@@ -0,0 +1,93 @@
+parameters:
+ _param:
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ infra_kvm04_hostname: kvm04
+ infra_kvm05_hostname: kvm05
+ infra_kvm06_hostname: kvm06
+ infra_kvm07_hostname: kvm07
+ infra_kvm08_hostname: kvm08
+ infra_kvm09_hostname: kvm09
+ openstack_control_node01_hostname: ctl01
+ openstack_control_node02_hostname: ctl02
+ openstack_control_node03_hostname: ctl03
+ openstack_control_node04_hostname: ctl04
+ openstack_control_node05_hostname: ctl05
+ openstack_database_node01_hostname: dbs01
+ openstack_database_node02_hostname: dbs02
+ openstack_database_node03_hostname: dbs03
+ openstack_message_queue_node01_hostname: msg01
+ openstack_message_queue_node02_hostname: msg02
+ openstack_message_queue_node03_hostname: msg03
+ openstack_proxy_node01_hostname: prx01
+ openstack_proxy_node02_hostname: prx02
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ ctl01:
+ name: ${_param:openstack_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl02:
+ name: ${_param:openstack_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl03:
+ name: ${_param:openstack_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl04:
+ name: ${_param:openstack_control_node04_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl05:
+ name: ${_param:openstack_control_node05_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ dbs01:
+ name: ${_param:openstack_database_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ dbs02:
+ name: ${_param:openstack_database_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ dbs03:
+ name: ${_param:openstack_database_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ msg01:
+ name: ${_param:openstack_message_queue_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node07_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ msg02:
+ name: ${_param:openstack_message_queue_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node08_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ msg03:
+ name: ${_param:openstack_message_queue_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node09_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ prx01:
+ name: ${_param:openstack_proxy_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node07_hostname}.${_param:cluster_domain}
+ size: openstack.proxy
+ prx02:
+ name: ${_param:openstack_proxy_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node08_hostname}.${_param:cluster_domain}
+ size: openstack.proxy
diff --git a/salt/control/placement/openstack/medium.yml b/salt/control/placement/openstack/medium.yml
new file mode 100644
index 0000000..7d0e166
--- /dev/null
+++ b/salt/control/placement/openstack/medium.yml
@@ -0,0 +1,79 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ infra_kvm04_hostname: kvm04
+ infra_kvm05_hostname: kvm05
+ infra_kvm06_hostname: kvm06
+ openstack_control_node01_hostname: ctl01
+ openstack_control_node02_hostname: ctl02
+ openstack_control_node03_hostname: ctl03
+ openstack_database_node01_hostname: dbs01
+ openstack_database_node02_hostname: dbs02
+ openstack_database_node03_hostname: dbs03
+ openstack_message_queue_node01_hostname: msg01
+ openstack_message_queue_node02_hostname: msg02
+ openstack_message_queue_node03_hostname: msg03
+ openstack_proxy_node01_hostname: prx01
+ openstack_proxy_node02_hostname: prx02
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ ctl01:
+ name: ${_param:openstack_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl02:
+ name: ${_param:openstack_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl03:
+ name: ${_param:openstack_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ dbs01:
+ name: ${_param:openstack_database_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ dbs02:
+ name: ${_param:openstack_database_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ dbs03:
+ name: ${_param:openstack_database_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ msg01:
+ name: ${_param:openstack_message_queue_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ msg02:
+ name: ${_param:openstack_message_queue_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ msg03:
+ name: ${_param:openstack_message_queue_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ prx01:
+ name: ${_param:openstack_proxy_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+ size: openstack.proxy
+ prx02:
+ name: ${_param:openstack_proxy_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+ size: openstack.proxy
diff --git a/salt/control/placement/openstack/minimal.yml b/salt/control/placement/openstack/minimal.yml
new file mode 100644
index 0000000..8c62e28
--- /dev/null
+++ b/salt/control/placement/openstack/minimal.yml
@@ -0,0 +1,76 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ openstack_control_node01_hostname: ctl01
+ openstack_control_node02_hostname: ctl02
+ openstack_control_node03_hostname: ctl03
+ openstack_database_node01_hostname: dbs01
+ openstack_database_node02_hostname: dbs02
+ openstack_database_node03_hostname: dbs03
+ openstack_message_queue_node01_hostname: msg01
+ openstack_message_queue_node02_hostname: msg02
+ openstack_message_queue_node03_hostname: msg03
+ openstack_proxy_node01_hostname: prx01
+ openstack_proxy_node02_hostname: prx02
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ ctl01:
+ name: ${_param:openstack_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl02:
+ name: ${_param:openstack_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl03:
+ name: ${_param:openstack_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ dbs01:
+ name: ${_param:openstack_database_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ dbs02:
+ name: ${_param:openstack_database_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ dbs03:
+ name: ${_param:openstack_database_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ msg01:
+ name: ${_param:openstack_message_queue_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ msg02:
+ name: ${_param:openstack_message_queue_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ msg03:
+ name: ${_param:openstack_message_queue_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ prx01:
+ name: ${_param:openstack_proxy_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.proxy
+ prx02:
+ name: ${_param:openstack_proxy_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.proxy
diff --git a/salt/control/placement/openstack/small.yml b/salt/control/placement/openstack/small.yml
new file mode 100644
index 0000000..8c62e28
--- /dev/null
+++ b/salt/control/placement/openstack/small.yml
@@ -0,0 +1,76 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ openstack_control_node01_hostname: ctl01
+ openstack_control_node02_hostname: ctl02
+ openstack_control_node03_hostname: ctl03
+ openstack_database_node01_hostname: dbs01
+ openstack_database_node02_hostname: dbs02
+ openstack_database_node03_hostname: dbs03
+ openstack_message_queue_node01_hostname: msg01
+ openstack_message_queue_node02_hostname: msg02
+ openstack_message_queue_node03_hostname: msg03
+ openstack_proxy_node01_hostname: prx01
+ openstack_proxy_node02_hostname: prx02
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ ctl01:
+ name: ${_param:openstack_control_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl02:
+ name: ${_param:openstack_control_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ ctl03:
+ name: ${_param:openstack_control_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.control
+ dbs01:
+ name: ${_param:openstack_database_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ dbs02:
+ name: ${_param:openstack_database_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ dbs03:
+ name: ${_param:openstack_database_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.database
+ msg01:
+ name: ${_param:openstack_message_queue_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ msg02:
+ name: ${_param:openstack_message_queue_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ msg03:
+ name: ${_param:openstack_message_queue_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.message_queue
+ prx01:
+ name: ${_param:openstack_proxy_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: openstack.proxy
+ prx02:
+ name: ${_param:openstack_proxy_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: openstack.proxy
diff --git a/salt/control/placement/stacklight/compact.yml b/salt/control/placement/stacklight/compact.yml
new file mode 100644
index 0000000..2cde570
--- /dev/null
+++ b/salt/control/placement/stacklight/compact.yml
@@ -0,0 +1,64 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ stacklight_log_node01_hostname: log01
+ stacklight_log_node02_hostname: log02
+ stacklight_log_node03_hostname: log03
+ stacklight_monitor_node01_hostname: mon01
+ stacklight_monitor_node02_hostname: mon02
+ stacklight_monitor_node03_hostname: mon03
+ stacklight_telemetry_node01_hostname: mtr01
+ stacklight_telemetry_node02_hostname: mtr02
+ stacklight_telemetry_node03_hostname: mtr03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ mtr01:
+ name: ${_param:stacklight_telemetry_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ mtr02:
+ name: ${_param:stacklight_telemetry_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ mtr03:
+ name: ${_param:stacklight_telemetry_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ log01:
+ name: ${_param:stacklight_log_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ log02:
+ name: ${_param:stacklight_log_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ log03:
+ name: ${_param:stacklight_log_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ mon01:
+ name: ${_param:stacklight_monitor_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: stacklight.server
+ mon02:
+ name: ${_param:stacklight_monitor_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: stacklight.server
+ mon03:
+ name: ${_param:stacklight_monitor_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: stacklight.server
\ No newline at end of file
diff --git a/salt/control/placement/stacklight/large.yml b/salt/control/placement/stacklight/large.yml
new file mode 100644
index 0000000..7b380d8
--- /dev/null
+++ b/salt/control/placement/stacklight/large.yml
@@ -0,0 +1,64 @@
+parameters:
+ _param:
+ infra_kvm13_hostname: kvm13
+ infra_kvm14_hostname: kvm14
+ infra_kvm15_hostname: kvm15
+ stacklight_log_node01_hostname: log01
+ stacklight_log_node02_hostname: log02
+ stacklight_log_node03_hostname: log03
+ stacklight_monitor_node01_hostname: mon01
+ stacklight_monitor_node02_hostname: mon02
+ stacklight_monitor_node03_hostname: mon03
+ stacklight_telemetry_node01_hostname: mtr01
+ stacklight_telemetry_node02_hostname: mtr02
+ stacklight_telemetry_node03_hostname: mtr03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ mtr01:
+ name: ${_param:stacklight_telemetry_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node13_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ mtr02:
+ name: ${_param:stacklight_telemetry_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node14_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ mtr03:
+ name: ${_param:stacklight_telemetry_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node15_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ log01:
+ name: ${_param:stacklight_log_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node13_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ log02:
+ name: ${_param:stacklight_log_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node14_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ log03:
+ name: ${_param:stacklight_log_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node15_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ mon01:
+ name: ${_param:stacklight_monitor_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node13_hostname}.${_param:cluster_domain}
+ size: stacklight.server
+ mon02:
+ name: ${_param:stacklight_monitor_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node14_hostname}.${_param:cluster_domain}
+ size: stacklight.server
+ mon03:
+ name: ${_param:stacklight_monitor_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node15_hostname}.${_param:cluster_domain}
+ size: stacklight.server
\ No newline at end of file
diff --git a/salt/control/placement/stacklight/medium.yml b/salt/control/placement/stacklight/medium.yml
new file mode 100644
index 0000000..7f54f4d
--- /dev/null
+++ b/salt/control/placement/stacklight/medium.yml
@@ -0,0 +1,64 @@
+parameters:
+ _param:
+ infra_kvm10_hostname: kvm10
+ infra_kvm11_hostname: kvm11
+ infra_kvm12_hostname: kvm12
+ stacklight_log_node01_hostname: log01
+ stacklight_log_node02_hostname: log02
+ stacklight_log_node03_hostname: log03
+ stacklight_monitor_node01_hostname: mon01
+ stacklight_monitor_node02_hostname: mon02
+ stacklight_monitor_node03_hostname: mon03
+ stacklight_telemetry_node01_hostname: mtr01
+ stacklight_telemetry_node02_hostname: mtr02
+ stacklight_telemetry_node03_hostname: mtr03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ mtr01:
+ name: ${_param:stacklight_telemetry_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node10_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ mtr02:
+ name: ${_param:stacklight_telemetry_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node11_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ mtr03:
+ name: ${_param:stacklight_telemetry_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node12_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ log01:
+ name: ${_param:stacklight_log_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node10_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ lop02:
+ name: ${_param:stacklight_log_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node11_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ log03:
+ name: ${_param:stacklight_log_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node12_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ mon01:
+ name: ${_param:stacklight_monitor_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node10_hostname}.${_param:cluster_domain}
+ size: stacklight.server
+ mon02:
+ name: ${_param:stacklight_monitor_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node11_hostname}.${_param:cluster_domain}
+ size: stacklight.server
+ mon03:
+ name: ${_param:stacklight_monitor_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node12_hostname}.${_param:cluster_domain}
+ size: stacklight.server
\ No newline at end of file
diff --git a/salt/control/placement/stacklight/minimal.yml b/salt/control/placement/stacklight/minimal.yml
new file mode 100644
index 0000000..2cde570
--- /dev/null
+++ b/salt/control/placement/stacklight/minimal.yml
@@ -0,0 +1,64 @@
+parameters:
+ _param:
+ infra_kvm01_hostname: kvm01
+ infra_kvm02_hostname: kvm02
+ infra_kvm03_hostname: kvm03
+ stacklight_log_node01_hostname: log01
+ stacklight_log_node02_hostname: log02
+ stacklight_log_node03_hostname: log03
+ stacklight_monitor_node01_hostname: mon01
+ stacklight_monitor_node02_hostname: mon02
+ stacklight_monitor_node03_hostname: mon03
+ stacklight_telemetry_node01_hostname: mtr01
+ stacklight_telemetry_node02_hostname: mtr02
+ stacklight_telemetry_node03_hostname: mtr03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ mtr01:
+ name: ${_param:stacklight_telemetry_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ mtr02:
+ name: ${_param:stacklight_telemetry_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ mtr03:
+ name: ${_param:stacklight_telemetry_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ log01:
+ name: ${_param:stacklight_log_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ log02:
+ name: ${_param:stacklight_log_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ log03:
+ name: ${_param:stacklight_log_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ mon01:
+ name: ${_param:stacklight_monitor_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ size: stacklight.server
+ mon02:
+ name: ${_param:stacklight_monitor_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ size: stacklight.server
+ mon03:
+ name: ${_param:stacklight_monitor_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ size: stacklight.server
\ No newline at end of file
diff --git a/salt/control/placement/stacklight/small.yml b/salt/control/placement/stacklight/small.yml
new file mode 100644
index 0000000..e16a7cb
--- /dev/null
+++ b/salt/control/placement/stacklight/small.yml
@@ -0,0 +1,64 @@
+parameters:
+ _param:
+ infra_kvm04_hostname: kvm04
+ infra_kvm05_hostname: kvm05
+ infra_kvm06_hostname: kvm06
+ stacklight_log_node01_hostname: log01
+ stacklight_log_node02_hostname: log02
+ stacklight_log_node03_hostname: log03
+ stacklight_monitor_node01_hostname: mon01
+ stacklight_monitor_node02_hostname: mon02
+ stacklight_monitor_node03_hostname: mon03
+ stacklight_telemetry_node01_hostname: mtr01
+ stacklight_telemetry_node02_hostname: mtr02
+ stacklight_telemetry_node03_hostname: mtr03
+ salt:
+ control:
+ cluster:
+ internal:
+ node:
+ mtr01:
+ name: ${_param:stacklight_telemetry_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ mtr02:
+ name: ${_param:stacklight_telemetry_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ mtr03:
+ name: ${_param:stacklight_telemetry_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+ size: stacklight.telemetry
+ log01:
+ name: ${_param:stacklight_log_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ log02:
+ name: ${_param:stacklight_log_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ log03:
+ name: ${_param:stacklight_log_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+ size: stacklight.log
+ mon01:
+ name: ${_param:stacklight_monitor_node01_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node04_hostname}.${_param:cluster_domain}
+ size: stacklight.server
+ mon02:
+ name: ${_param:stacklight_monitor_node02_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node05_hostname}.${_param:cluster_domain}
+ size: stacklight.server
+ mon03:
+ name: ${_param:stacklight_monitor_node03_hostname}
+ image: ${_param:salt_control_xenial_image}
+ provider: ${_param:infra_kvm_node06_hostname}.${_param:cluster_domain}
+ size: stacklight.server
\ No newline at end of file
diff --git a/salt/control/sizes/cicd/compact.yml b/salt/control/sizes/cicd/compact.yml
new file mode 100644
index 0000000..65ad7b7
--- /dev/null
+++ b/salt/control/sizes/cicd/compact.yml
@@ -0,0 +1,6 @@
+parameters:
+ _param:
+ salt_control_size_cpu_cicd_control: 8
+ salt_control_size_ram_cicd_control: 12288
+ salt_control_size_disk_profile_cicd_control: large
+ salt_control_size_net_profile_cicd_control: default
\ No newline at end of file
diff --git a/salt/control/sizes/cicd/large.yml b/salt/control/sizes/cicd/large.yml
new file mode 100644
index 0000000..deb3722
--- /dev/null
+++ b/salt/control/sizes/cicd/large.yml
@@ -0,0 +1,6 @@
+parameters:
+ _param:
+ salt_control_size_cpu_cicd_control: 8
+ salt_control_size_ram_cicd_control: 32768
+ salt_control_size_disk_profile_cicd_control: xxxlarge
+ salt_control_size_net_profile_cicd_control: default
\ No newline at end of file
diff --git a/salt/control/sizes/cicd/medium.yml b/salt/control/sizes/cicd/medium.yml
new file mode 100644
index 0000000..2ef4866
--- /dev/null
+++ b/salt/control/sizes/cicd/medium.yml
@@ -0,0 +1,6 @@
+parameters:
+ _param:
+ salt_control_size_cpu_cicd_control: 8
+ salt_control_size_ram_cicd_control: 32768
+ salt_control_size_disk_profile_cicd_control: xxlarge
+ salt_control_size_net_profile_cicd_control: default
\ No newline at end of file
diff --git a/salt/control/sizes/cicd/minimal.yml b/salt/control/sizes/cicd/minimal.yml
new file mode 100644
index 0000000..876578b
--- /dev/null
+++ b/salt/control/sizes/cicd/minimal.yml
@@ -0,0 +1,6 @@
+parameters:
+ _param:
+ salt_control_size_cpu_cicd_control: 8
+ salt_control_size_ram_cicd_control: 8192
+ salt_control_size_disk_profile_cicd_control: small
+ salt_control_size_net_profile_cicd_control: default
\ No newline at end of file
diff --git a/salt/control/sizes/cicd/small.yml b/salt/control/sizes/cicd/small.yml
new file mode 100644
index 0000000..2ef4866
--- /dev/null
+++ b/salt/control/sizes/cicd/small.yml
@@ -0,0 +1,6 @@
+parameters:
+ _param:
+ salt_control_size_cpu_cicd_control: 8
+ salt_control_size_ram_cicd_control: 32768
+ salt_control_size_disk_profile_cicd_control: xxlarge
+ salt_control_size_net_profile_cicd_control: default
\ No newline at end of file
diff --git a/salt/control/sizes/opencontrail/compact.yml b/salt/control/sizes/opencontrail/compact.yml
new file mode 100644
index 0000000..5e70d89
--- /dev/null
+++ b/salt/control/sizes/opencontrail/compact.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ salt_control_size_cpu_opencontrail_control: 8
+ salt_control_size_ram_opencontrail_control: 32768
+ salt_control_size_disk_profile_opencontrail_control: small
+ salt_control_size_net_profile_opencontrail_control: default
+ salt_control_size_cpu_opencontrail_analytics: 8
+ salt_control_size_ram_opencontrail_analytics: 32768
+ salt_control_size_disk_profile_opencontrail_analytics: large
+ salt_control_size_net_profile_opencontrail_analytics: default
\ No newline at end of file
diff --git a/salt/control/sizes/opencontrail/large.yml b/salt/control/sizes/opencontrail/large.yml
new file mode 100644
index 0000000..3af75d7
--- /dev/null
+++ b/salt/control/sizes/opencontrail/large.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ salt_control_size_cpu_opencontrail_control: 16
+ salt_control_size_ram_opencontrail_control: 65536
+ salt_control_size_disk_profile_opencontrail_control: large
+ salt_control_size_net_profile_opencontrail_control: default
+ salt_control_size_cpu_opencontrail_analytics: 24
+ salt_control_size_ram_opencontrail_analytics: 131072
+ salt_control_size_disk_profile_opencontrail_analytics: xxhuge
+ salt_control_size_net_profile_opencontrail_analytics: default
\ No newline at end of file
diff --git a/salt/control/sizes/opencontrail/medium.yml b/salt/control/sizes/opencontrail/medium.yml
new file mode 100644
index 0000000..410092c
--- /dev/null
+++ b/salt/control/sizes/opencontrail/medium.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ salt_control_size_cpu_opencontrail_control: 8
+ salt_control_size_ram_opencontrail_control: 65536
+ salt_control_size_disk_profile_opencontrail_control: large
+ salt_control_size_net_profile_opencontrail_control: default
+ salt_control_size_cpu_opencontrail_analytics: 16
+ salt_control_size_ram_opencontrail_analytics: 98304
+ salt_control_size_disk_profile_opencontrail_analytics: xhuge
+ salt_control_size_net_profile_opencontrail_analytics: default
\ No newline at end of file
diff --git a/salt/control/sizes/opencontrail/minimal.yml b/salt/control/sizes/opencontrail/minimal.yml
new file mode 100644
index 0000000..ad80ca9
--- /dev/null
+++ b/salt/control/sizes/opencontrail/minimal.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ salt_control_size_cpu_opencontrail_control: 8
+ salt_control_size_ram_opencontrail_control: 12288
+ salt_control_size_disk_profile_opencontrail_control: small
+ salt_control_size_net_profile_opencontrail_control: default
+ salt_control_size_cpu_opencontrail_analytics: 12
+ salt_control_size_ram_opencontrail_analytics: 8192
+ salt_control_size_disk_profile_opencontrail_analytics: medium
+ salt_control_size_net_profile_opencontrail_analytics: default
\ No newline at end of file
diff --git a/salt/control/sizes/opencontrail/small.yml b/salt/control/sizes/opencontrail/small.yml
new file mode 100644
index 0000000..5e70d89
--- /dev/null
+++ b/salt/control/sizes/opencontrail/small.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ salt_control_size_cpu_opencontrail_control: 8
+ salt_control_size_ram_opencontrail_control: 32768
+ salt_control_size_disk_profile_opencontrail_control: small
+ salt_control_size_net_profile_opencontrail_control: default
+ salt_control_size_cpu_opencontrail_analytics: 8
+ salt_control_size_ram_opencontrail_analytics: 32768
+ salt_control_size_disk_profile_opencontrail_analytics: large
+ salt_control_size_net_profile_opencontrail_analytics: default
\ No newline at end of file
diff --git a/salt/control/sizes/openstack/compact.yml b/salt/control/sizes/openstack/compact.yml
new file mode 100644
index 0000000..16e5dba
--- /dev/null
+++ b/salt/control/sizes/openstack/compact.yml
@@ -0,0 +1,22 @@
+parameters:
+ _param:
+ salt_control_size_cpu_openstack_control: 8
+ salt_control_size_ram_openstack_control: 32768
+ salt_control_size_disk_profile_openstack_control: small
+ salt_control_size_net_profile_openstack_control: default
+ salt_control_size_cpu_openstack_database: 8
+ salt_control_size_ram_openstack_database: 16384
+ salt_control_size_disk_profile_openstack_database: large
+ salt_control_size_net_profile_openstack_database: default
+ salt_control_size_cpu_openstack_message_queue: 8
+ salt_control_size_ram_openstack_message_queue: 32768
+ salt_control_size_disk_profile_openstack_message_queue: small
+ salt_control_size_net_profile_openstack_message_queue: default
+ salt_control_size_cpu_openstack_proxy: 4
+ salt_control_size_ram_openstack_proxy: 8192
+ salt_control_size_disk_profile_openstack_proxy: small
+ salt_control_size_net_profile_openstack_proxy: default
+ salt_control_size_cpu_openstack_upgrade: 8
+ salt_control_size_ram_openstack_upgrade: 16384
+ salt_control_size_disk_profile_openstack_upgrade: medium
+ salt_control_size_net_profile_openstack_upgrade: default
\ No newline at end of file
diff --git a/salt/control/sizes/openstack/large.yml b/salt/control/sizes/openstack/large.yml
new file mode 100644
index 0000000..04aa0c4
--- /dev/null
+++ b/salt/control/sizes/openstack/large.yml
@@ -0,0 +1,22 @@
+parameters:
+ _param:
+ salt_control_size_cpu_openstack_control: 24
+ salt_control_size_ram_openstack_control: 131072
+ salt_control_size_disk_profile_openstack_control: large
+ salt_control_size_net_profile_openstack_control: default
+ salt_control_size_cpu_openstack_database: 24
+ salt_control_size_ram_openstack_database: 65536
+ salt_control_size_disk_profile_openstack_database: huge
+ salt_control_size_net_profile_openstack_database: default
+ salt_control_size_cpu_openstack_message_queue: 32
+ salt_control_size_ram_openstack_message_queue: 200704
+ salt_control_size_disk_profile_openstack_message_queue: large
+ salt_control_size_net_profile_openstack_message_queue: default
+ salt_control_size_cpu_openstack_proxy: 8
+ salt_control_size_ram_openstack_proxy: 32768
+ salt_control_size_disk_profile_openstack_proxy: large
+ salt_control_size_net_profile_openstack_proxy: default
+ salt_control_size_cpu_openstack_upgrade: 8
+ salt_control_size_ram_openstack_upgrade: 16384
+ salt_control_size_disk_profile_openstack_upgrade: medium
+ salt_control_size_net_profile_openstack_upgrade: default
\ No newline at end of file
diff --git a/salt/control/sizes/openstack/medium.yml b/salt/control/sizes/openstack/medium.yml
new file mode 100644
index 0000000..7fa5d24
--- /dev/null
+++ b/salt/control/sizes/openstack/medium.yml
@@ -0,0 +1,22 @@
+parameters:
+ _param:
+ salt_control_size_cpu_openstack_control: 16
+ salt_control_size_ram_openstack_control: 65536
+ salt_control_size_disk_profile_openstack_control: large
+ salt_control_size_net_profile_openstack_control: default
+ salt_control_size_cpu_openstack_database: 8
+ salt_control_size_ram_openstack_database: 32786
+ salt_control_size_disk_profile_openstack_database: large
+ salt_control_size_net_profile_openstack_database: default
+ salt_control_size_cpu_openstack_message_queue: 16
+ salt_control_size_ram_openstack_message_queue: 66553
+ salt_control_size_disk_profile_openstack_message_queue: large
+ salt_control_size_net_profile_openstack_message_queue: default
+ salt_control_size_cpu_openstack_proxy: 4
+ salt_control_size_ram_openstack_proxy: 16384
+ salt_control_size_disk_profile_openstack_proxy: small
+ salt_control_size_net_profile_openstack_proxy: default
+ salt_control_size_cpu_openstack_upgrade: 8
+ salt_control_size_ram_openstack_upgrade: 16384
+ salt_control_size_disk_profile_openstack_upgrade: medium
+ salt_control_size_net_profile_openstack_upgrade: default
\ No newline at end of file
diff --git a/salt/control/sizes/openstack/minimal.yml b/salt/control/sizes/openstack/minimal.yml
new file mode 100644
index 0000000..bee7c71
--- /dev/null
+++ b/salt/control/sizes/openstack/minimal.yml
@@ -0,0 +1,22 @@
+parameters:
+ _param:
+ salt_control_size_cpu_openstack_control: 8
+ salt_control_size_ram_openstack_control: 12288
+ salt_control_size_disk_profile_openstack_control: small
+ salt_control_size_net_profile_openstack_control: default
+ salt_control_size_cpu_openstack_database: 6
+ salt_control_size_ram_openstack_database: 8192
+ salt_control_size_disk_profile_openstack_database: medium
+ salt_control_size_net_profile_openstack_database: default
+ salt_control_size_cpu_openstack_message_queue: 6
+ salt_control_size_ram_openstack_message_queue: 8192
+ salt_control_size_disk_profile_openstack_message_queue: small
+ salt_control_size_net_profile_openstack_message_queue: default
+ salt_control_size_cpu_openstack_proxy: 4
+ salt_control_size_ram_openstack_proxy: 6144
+ salt_control_size_disk_profile_openstack_proxy: small
+ salt_control_size_net_profile_openstack_proxy: default
+ salt_control_size_cpu_openstack_upgrade: 8
+ salt_control_size_ram_openstack_upgrade: 16384
+ salt_control_size_disk_profile_openstack_upgrade: medium
+ salt_control_size_net_profile_openstack_upgrade: default
\ No newline at end of file
diff --git a/salt/control/sizes/openstack/small.yml b/salt/control/sizes/openstack/small.yml
new file mode 100644
index 0000000..9f820d6
--- /dev/null
+++ b/salt/control/sizes/openstack/small.yml
@@ -0,0 +1,22 @@
+parameters:
+ _param:
+ salt_control_size_cpu_openstack_control: 8
+ salt_control_size_ram_openstack_control: 32768
+ salt_control_size_disk_profile_openstack_control: large
+ salt_control_size_net_profile_openstack_control: default
+ salt_control_size_cpu_openstack_database: 8
+ salt_control_size_ram_openstack_database: 16384
+ salt_control_size_disk_profile_openstack_database: large
+ salt_control_size_net_profile_openstack_database: default
+ salt_control_size_cpu_openstack_message_queue: 8
+ salt_control_size_ram_openstack_message_queue: 65536
+ salt_control_size_disk_profile_openstack_message_queue: xxlarge
+ salt_control_size_net_profile_openstack_message_queue: default
+ salt_control_size_cpu_openstack_proxy: 4
+ salt_control_size_ram_openstack_proxy: 8192
+ salt_control_size_disk_profile_openstack_proxy: small
+ salt_control_size_net_profile_openstack_proxy: default
+ salt_control_size_cpu_openstack_upgrade: 8
+ salt_control_size_ram_openstack_upgrade: 16384
+ salt_control_size_disk_profile_openstack_upgrade: medium
+ salt_control_size_net_profile_openstack_upgrade: default
\ No newline at end of file
diff --git a/salt/control/sizes/stacklight.yml b/salt/control/sizes/stacklight.yml
index 5b09c14..c7b1875 100644
--- a/salt/control/sizes/stacklight.yml
+++ b/salt/control/sizes/stacklight.yml
@@ -10,7 +10,7 @@
salt_control_size_net_profile_stacklight_server: default
salt_control_size_cpu_stacklight_telemetry: 12
salt_control_size_ram_stacklight_telemetry: 98304
- salt_control_size_disk_profile_stacklight_telemetryr: huge
+ salt_control_size_disk_profile_stacklight_telemetry: huge
salt_control_size_net_profile_stacklight_telemetry: default
salt:
control:
diff --git a/salt/control/sizes/stacklight/compact.yml b/salt/control/sizes/stacklight/compact.yml
new file mode 100644
index 0000000..8d67466
--- /dev/null
+++ b/salt/control/sizes/stacklight/compact.yml
@@ -0,0 +1,14 @@
+parameters:
+ _param:
+ salt_control_size_cpu_stacklight_log: 4
+ salt_control_size_ram_stacklight_log: 8192
+ salt_control_size_disk_profile_stacklight_log: xxxlarge
+ salt_control_size_net_profile_stacklight_log: default
+ salt_control_size_cpu_stacklight_server: 4
+ salt_control_size_ram_stacklight_server: 8192
+ salt_control_size_disk_profile_stacklight_server: xxlarge
+ salt_control_size_net_profile_stacklight_server: default
+ salt_control_size_cpu_stacklight_telemetry: 4
+ salt_control_size_ram_stacklight_telemetry: 8192
+ salt_control_size_disk_profile_stacklight_telemetry: xxlarge
+ salt_control_size_net_profile_stacklight_telemetry: default
\ No newline at end of file
diff --git a/salt/control/sizes/stacklight/large.yml b/salt/control/sizes/stacklight/large.yml
new file mode 100644
index 0000000..6e2463f
--- /dev/null
+++ b/salt/control/sizes/stacklight/large.yml
@@ -0,0 +1,14 @@
+parameters:
+ _param:
+ salt_control_size_cpu_stacklight_log: 16
+ salt_control_size_ram_stacklight_log: 49152
+ salt_control_size_disk_profile_stacklight_log: xxxxhuge
+ salt_control_size_net_profile_stacklight_log: default
+ salt_control_size_cpu_stacklight_server: 24
+ salt_control_size_ram_stacklight_server: 262144
+ salt_control_size_disk_profile_stacklight_server: huge
+ salt_control_size_net_profile_stacklight_server: default
+ salt_control_size_cpu_stacklight_telemetry: 16
+ salt_control_size_ram_stacklight_telemetry: 200704
+ salt_control_size_disk_profile_stacklight_telemetry: xxhuge
+ salt_control_size_net_profile_stacklight_telemetry: default
\ No newline at end of file
diff --git a/salt/control/sizes/stacklight/medium.yml b/salt/control/sizes/stacklight/medium.yml
new file mode 100644
index 0000000..6207f48
--- /dev/null
+++ b/salt/control/sizes/stacklight/medium.yml
@@ -0,0 +1,14 @@
+parameters:
+ _param:
+ salt_control_size_cpu_stacklight_log: 16
+ salt_control_size_ram_stacklight_log: 49152
+ salt_control_size_disk_profile_stacklight_log: xxhuge
+ salt_control_size_net_profile_stacklight_log: default
+ salt_control_size_cpu_stacklight_server: 12
+ salt_control_size_ram_stacklight_server: 65536
+ salt_control_size_disk_profile_stacklight_server: xxlarge
+ salt_control_size_net_profile_stacklight_server: default
+ salt_control_size_cpu_stacklight_telemetry: 12
+ salt_control_size_ram_stacklight_telemetry: 98304
+ salt_control_size_disk_profile_stacklight_telemetry: xhuge
+ salt_control_size_net_profile_stacklight_telemetry: default
\ No newline at end of file
diff --git a/salt/control/sizes/stacklight/minimal.yml b/salt/control/sizes/stacklight/minimal.yml
new file mode 100644
index 0000000..8d5c935
--- /dev/null
+++ b/salt/control/sizes/stacklight/minimal.yml
@@ -0,0 +1,14 @@
+parameters:
+ _param:
+ salt_control_size_cpu_stacklight_log: 4
+ salt_control_size_ram_stacklight_log: 4096
+ salt_control_size_disk_profile_stacklight_log: medium
+ salt_control_size_net_profile_stacklight_log: default
+ salt_control_size_cpu_stacklight_server: 4
+ salt_control_size_ram_stacklight_server: 6144
+ salt_control_size_disk_profile_stacklight_server: small
+ salt_control_size_net_profile_stacklight_server: default
+ salt_control_size_cpu_stacklight_telemetry: 4
+ salt_control_size_ram_stacklight_telemetry: 4096
+ salt_control_size_disk_profile_stacklight_telemetry: medium
+ salt_control_size_net_profile_stacklight_telemetry: default
\ No newline at end of file
diff --git a/salt/control/sizes/stacklight/small.yml b/salt/control/sizes/stacklight/small.yml
new file mode 100644
index 0000000..293e14d
--- /dev/null
+++ b/salt/control/sizes/stacklight/small.yml
@@ -0,0 +1,14 @@
+parameters:
+ _param:
+ salt_control_size_cpu_stacklight_log: 12
+ salt_control_size_ram_stacklight_log: 49152
+ salt_control_size_disk_profile_stacklight_log: xhuge
+ salt_control_size_net_profile_stacklight_log: default
+ salt_control_size_cpu_stacklight_server: 12
+ salt_control_size_ram_stacklight_server: 65536
+ salt_control_size_disk_profile_stacklight_server: xxlarge
+ salt_control_size_net_profile_stacklight_server: default
+ salt_control_size_cpu_stacklight_telemetry: 12
+ salt_control_size_ram_stacklight_telemetry: 65536
+ salt_control_size_disk_profile_stacklight_telemetry: xxxlarge
+ salt_control_size_net_profile_stacklight_telemetry: default
\ No newline at end of file
diff --git a/salt/control/virt.yml b/salt/control/virt.yml
index aea524c..0bbb7fa 100644
--- a/salt/control/virt.yml
+++ b/salt/control/virt.yml
@@ -57,3 +57,9 @@
xxhuge:
- system:
size: 3000000
+ xxxhuge:
+ - system:
+ size: 4000000
+ xxxxhuge:
+ - system:
+ size: 5000000
\ No newline at end of file
diff --git a/salt/master/formula/git/auditd.yml b/salt/master/formula/git/auditd.yml
new file mode 100644
index 0000000..f88c0f9
--- /dev/null
+++ b/salt/master/formula/git/auditd.yml
@@ -0,0 +1,10 @@
+parameters:
+ salt:
+ master:
+ environment:
+ dev:
+ formula:
+ auditd:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-auditd.git'
+ revision: ${_param:salt_master_environment_revision}
diff --git a/salt/master/formula/git/openstack.yml b/salt/master/formula/git/openstack.yml
index cd9df0a..093279a 100644
--- a/salt/master/formula/git/openstack.yml
+++ b/salt/master/formula/git/openstack.yml
@@ -104,6 +104,10 @@
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-opencontrail.git'
revision: ${_param:salt_master_environment_revision}
+ oslo_templates:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-oslo-templates.git'
+ revision: ${_param:salt_master_environment_revision}
python:
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-python.git'
diff --git a/salt/master/formula/git/saltstack.yml b/salt/master/formula/git/saltstack.yml
index d7dde48..b176a2e 100644
--- a/salt/master/formula/git/saltstack.yml
+++ b/salt/master/formula/git/saltstack.yml
@@ -60,6 +60,9 @@
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-sphinx.git'
revision: ${_param:salt_master_environment_revision}
+ watchdog:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-watchdog.git'
xtrabackup:
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-xtrabackup.git'
diff --git a/salt/master/formula/pkg/auditd.yml b/salt/master/formula/pkg/auditd.yml
new file mode 100644
index 0000000..b81c419
--- /dev/null
+++ b/salt/master/formula/pkg/auditd.yml
@@ -0,0 +1,9 @@
+parameters:
+ salt:
+ master:
+ environment:
+ prd:
+ formula:
+ auditd:
+ source: pkg
+ name: salt-formula-auditd
diff --git a/salt/master/formula/pkg/openstack.yml b/salt/master/formula/pkg/openstack.yml
index 3d22c41..381ae1a 100644
--- a/salt/master/formula/pkg/openstack.yml
+++ b/salt/master/formula/pkg/openstack.yml
@@ -76,6 +76,9 @@
octavia:
source: pkg
name: salt-formula-octavia
+ oslo_templates:
+ source: pkg
+ name: salt-formula-oslo-templates
opencontrail:
source: pkg
name: salt-formula-opencontrail
diff --git a/salt/master/formula/pkg/saltstack.yml b/salt/master/formula/pkg/saltstack.yml
index 963580c..a682f7f 100644
--- a/salt/master/formula/pkg/saltstack.yml
+++ b/salt/master/formula/pkg/saltstack.yml
@@ -39,6 +39,9 @@
sphinx:
source: pkg
name: salt-formula-sphinx
+ watchdog:
+ source: pkg
+ name: salt-formula-watchdog
xtrabackup:
source: pkg
name: salt-formula-xtrabackup
diff --git a/salt/master/pkg.yml b/salt/master/pkg.yml
index ac839f8..33c60d9 100644
--- a/salt/master/pkg.yml
+++ b/salt/master/pkg.yml
@@ -1,5 +1,6 @@
classes:
- system.salt.master.single
+- system.salt.master.formula.pkg.auditd
- system.salt.master.formula.pkg.ccp
- system.salt.master.formula.pkg.foundation
- system.salt.master.formula.pkg.kubernetes
@@ -9,4 +10,4 @@
- system.salt.master.formula.pkg.stacklight
- system.salt.master.formula.pkg.monitoring
- system.salt.master.formula.pkg.helm
-- system.salt.master.formula.pkg.ceph
\ No newline at end of file
+- system.salt.master.formula.pkg.ceph
diff --git a/salt/minion/ca/qemu-vnc_ca.yml b/salt/minion/ca/qemu-vnc_ca.yml
new file mode 100644
index 0000000..53778f1
--- /dev/null
+++ b/salt/minion/ca/qemu-vnc_ca.yml
@@ -0,0 +1,30 @@
+parameters:
+ _param:
+ qemu_vnc_ca_common_name: QEMU VNC CA
+ qemu_vnc_ca_country: cz
+ qemu_vnc_ca_locality: Prague
+ qemu_vnc_ca_organization: Mirantis
+ qemu_vnc_ca_days_valid_authority: 3650
+ qemu_vnc_ca_days_valid_certificate: 365
+ salt:
+ minion:
+ ca:
+ qemu_vnc_ca:
+ # We recommend using a dedicated certificate authority solely for the VNC service.
+ # This authority may be a child of the master certificate authority used for the OpenStack deployment.
+ # This is because libvirt does not currently have a mechanism to restrict what certificates can be presented by the proxy server.
+ # https://docs.openstack.org/nova/queens/admin/remote-console-access.html
+ common_name: ${_param:qemu_vnc_ca_common_name}
+ country: ${_param:qemu_vnc_ca_country}
+ locality: ${_param:qemu_vnc_ca_locality}
+ organization: ${_param:qemu_vnc_ca_organization}
+ signing_policy:
+ cert_server:
+ type: v3_edge_cert_server
+ minions: 'cmp*'
+ cert_client:
+ type: v3_edge_cert_client
+ minions: 'ctl*'
+ days_valid:
+ authority: ${_param:qemu_vnc_ca_days_valid_authority}
+ certificate: ${_param:qemu_vnc_ca_days_valid_certificate}
diff --git a/salt/minion/cert/libvirtd/client.yml b/salt/minion/cert/libvirtd/client.yml
new file mode 100644
index 0000000..bf0ce83
--- /dev/null
+++ b/salt/minion/cert/libvirtd/client.yml
@@ -0,0 +1,21 @@
+parameters:
+ _param:
+ libvirtd_client_ssl_key_file: /etc/pki/libvirt/private/clientkey.pem
+ libvirtd_client_ssl_cert_file: /etc/pki/libvirt/clientcert.pem
+ salt:
+ minion:
+ cert:
+ libvirtd_client:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ common_name: ${linux:system:name}.${_param:cluster_domain}
+ signing_policy: cert_client
+ alternative_names: >
+ IP:${_param:cluster_local_address},
+ DNS:${_param:cluster_local_address},
+ DNS:${linux:system:name},
+ DNS:${linux:network:fqdn}
+ key_usage: "digitalSignature,nonRepudiation,keyEncipherment"
+ key_file: ${_param:libvirtd_client_ssl_key_file}
+ cert_file: ${_param:libvirtd_client_ssl_cert_file}
+ ca_file: ${_param:libvirtd_ssl_ca_file}
\ No newline at end of file
diff --git a/salt/minion/cert/libvirtd/init.yml b/salt/minion/cert/libvirtd/init.yml
new file mode 100644
index 0000000..735312e
--- /dev/null
+++ b/salt/minion/cert/libvirtd/init.yml
@@ -0,0 +1,9 @@
+classes:
+- system.salt.minion.cert.libvirtd.server
+- system.salt.minion.cert.libvirtd.client
+
+parameters:
+ _param:
+ salt_minion_ca_host: cfg01.${_param:cluster_domain}
+ salt_minion_ca_authority: salt_master_ca
+ libvirtd_ssl_ca_file: /etc/pki/CA/cacert.pem
\ No newline at end of file
diff --git a/salt/minion/cert/libvirtd/server.yml b/salt/minion/cert/libvirtd/server.yml
new file mode 100644
index 0000000..9080672
--- /dev/null
+++ b/salt/minion/cert/libvirtd/server.yml
@@ -0,0 +1,21 @@
+parameters:
+ _param:
+ libvirtd_server_ssl_key_file: /etc/pki/libvirt/private/serverkey.pem
+ libvirtd_server_ssl_cert_file: /etc/pki/libvirt/servercert.pem
+ salt:
+ minion:
+ cert:
+ libvirtd_server:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ common_name: ${linux:system:name}.${_param:cluster_domain}
+ signing_policy: cert_server
+ alternative_names: >
+ IP:${_param:cluster_local_address},
+ DNS:${_param:cluster_local_address},
+ DNS:${linux:system:name},
+ DNS:${linux:network:fqdn}
+ key_usage: "digitalSignature,nonRepudiation,keyEncipherment"
+ key_file: ${_param:libvirtd_server_ssl_key_file}
+ cert_file: ${_param:libvirtd_server_ssl_cert_file}
+ ca_file: ${_param:libvirtd_ssl_ca_file}
\ No newline at end of file
diff --git a/salt/minion/cert/libvirtd/vnc_server.yml b/salt/minion/cert/libvirtd/vnc_server.yml
new file mode 100644
index 0000000..c49852e
--- /dev/null
+++ b/salt/minion/cert/libvirtd/vnc_server.yml
@@ -0,0 +1,27 @@
+parameters:
+ _param:
+ qemu_vnc_server_ssl_key_file: /etc/pki/libvirt-vnc/server-key.pem
+ qemu_vnc_server_ssl_cert_file: /etc/pki/libvirt-vnc/server-cert.pem
+ qemu_vnc_ssl_ca_file: /etc/pki/libvirt-vnc/ca-cert.pem
+ salt_minion_ca_host: cfg01.${_param:cluster_domain}
+ qemu_vnc_ca_authority: qemu_vnc_ca
+ salt:
+ minion:
+ cert:
+ qemu_vnc_server:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:qemu_vnc_ca_authority}
+ common_name: ${linux:system:name}.${_param:cluster_domain}
+ signing_policy: cert_server
+ alternative_names: >
+ IP:${_param:cluster_local_address},
+ DNS:${_param:cluster_local_address},
+ DNS:${linux:system:name},
+ DNS:${linux:network:fqdn}
+ key_usage: "digitalSignature,nonRepudiation,keyEncipherment"
+ key_file: ${_param:qemu_vnc_server_ssl_key_file}
+ cert_file: ${_param:qemu_vnc_server_ssl_cert_file}
+ ca_file: ${_param:qemu_vnc_ssl_ca_file}
+ user: libvirt-qemu
+ group: libvirt-qemu
+ mode: 640
diff --git a/salt/minion/cert/vnc/init.yml b/salt/minion/cert/vnc/init.yml
new file mode 100644
index 0000000..6f7f6ee
--- /dev/null
+++ b/salt/minion/cert/vnc/init.yml
@@ -0,0 +1,4 @@
+parameters:
+ _param:
+ salt_minion_ca_host: cfg01.${_param:cluster_domain}
+ qemu_vnc_ca_authority: qemu_vnc_ca
diff --git a/salt/minion/cert/vnc/novncproxy_client.yml b/salt/minion/cert/vnc/novncproxy_client.yml
new file mode 100644
index 0000000..7f695eb
--- /dev/null
+++ b/salt/minion/cert/vnc/novncproxy_client.yml
@@ -0,0 +1,29 @@
+classes:
+- system.salt.minion.cert.vnc
+parameters:
+ _param:
+ novncproxy_client_ssl_key_file: /etc/pki/nova-novncproxy/client-key.pem
+ novncproxy_client_ssl_cert_file: /etc/pki/nova-novncproxy/client-cert.pem
+ novncproxy_ssl_ca_file: /etc/pki/nova-novncproxy/ca-cert.pem
+ nova_websocketproxy_ssl_all_file: /var/lib/nova/self.pem
+ salt:
+ minion:
+ cert:
+ libvirt_novnc_client:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:qemu_vnc_ca_authority}
+ common_name: ${linux:system:name}.${_param:cluster_domain}
+ signing_policy: cert_client
+ alternative_names: >
+ IP:${_param:cluster_local_address},
+ DNS:${_param:cluster_local_address},
+ DNS:${linux:system:name},
+ DNS:${linux:network:fqdn}
+ key_usage: "digitalSignature,nonRepudiation,keyEncipherment"
+ key_file: ${_param:novncproxy_client_ssl_key_file}
+ cert_file: ${_param:novncproxy_client_ssl_cert_file}
+ ca_file: ${_param:novncproxy_ssl_ca_file}
+ all_file: ${_param:nova_websocketproxy_ssl_all_file}
+ user: nova
+ group: nova
+ mode: 640