Merge "Implement X.509 auth for MySQL and Neutron"
diff --git a/aodh/server/cluster.yml b/aodh/server/cluster.yml
index fb6839b..db6b39b 100644
--- a/aodh/server/cluster.yml
+++ b/aodh/server/cluster.yml
@@ -1,5 +1,6 @@
classes:
- service.aodh.server.cluster
+- system.salt.minion.cert.mysql.clients.openstack.aodh
- service.haproxy.proxy.single
- system.haproxy.proxy.listen.openstack.aodh
- system.keepalived.cluster.instance.openstack_telemetry_vip
@@ -8,6 +9,14 @@
openstack_event_alarm_topic: alarm.all
# Keep alarm history in database for 30 days
aodh_alarm_history_ttl: 2592000
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
+ linux:
+ system:
+ cron:
+ user:
+ aodh:
+ enabled: true
aodh:
server:
enabled: true
@@ -26,6 +35,13 @@
name: aodh
user: aodh
password: ${_param:mysql_aodh_password}
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_aodh_ssl_ca_file}
+ key_file: ${_param:mysql_aodh_client_ssl_key_file}
+ cert_file: ${_param:mysql_aodh_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
bind:
host: ${_param:cluster_local_address}
port: 8042
diff --git a/aodh/server/single.yml b/aodh/server/single.yml
index 6fec2a6..f20195f 100644
--- a/aodh/server/single.yml
+++ b/aodh/server/single.yml
@@ -1,12 +1,29 @@
classes:
- service.aodh.server.single
+- system.salt.minion.cert.mysql.clients.openstack.aodh
parameters:
_param:
openstack_event_alarm_topic: alarm.all
# Keep alarm history in database for 30 days
aodh_alarm_history_ttl: 2592000
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
+ linux:
+ system:
+ cron:
+ user:
+ aodh:
+ enabled: true
aodh:
server:
+ database:
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_aodh_ssl_ca_file}
+ key_file: ${_param:mysql_aodh_client_ssl_key_file}
+ cert_file: ${_param:mysql_aodh_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
ttl: ${_param:aodh_alarm_history_ttl}
role: ${_param:openstack_node_role}
region: ${_param:openstack_region}
diff --git a/cassandra/backup/server/single.yml b/cassandra/backup/server/single.yml
index ffb43cf..c441529 100644
--- a/cassandra/backup/server/single.yml
+++ b/cassandra/backup/server/single.yml
@@ -3,6 +3,12 @@
parameters:
_param:
cassandra_backup_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzLUiHKAjfFXiZ3fsgx35uXF6VivfC5WFafu4QMalxmj6W+s277oCfdWA8Du5f1wtQXM73VQ5nHkXhM2UIfUMarsyhXK+BxKVrcgEBNHdKlDytaecUPyuOxTDdGWhN/DPv5/vL8NYWweEYBbNbLgU0Td7Rvm52TUXKThIDjeF7XDxX4ShXWipBSwU4boOUBtR8KWfga8fsqeBN+eacuAQFR3MrrOfVvAuWW6Bsf047cmd+V6Qv0raoW73Nu4M/ZAdTsaR5k62a0cHsSRoi3hCmNRqw+CZaQi8prQU6t26eWPEtznjp5EkPF+LLh8LxUoCfWqWT+Lxe8QQwT1nx/LCN
+ linux:
+ system:
+ cron:
+ user:
+ cassandra:
+ enabled: true
cassandra:
backup:
server:
diff --git a/ceph/backup/server/single.yml b/ceph/backup/server/single.yml
index ca36297..896a6cc 100644
--- a/ceph/backup/server/single.yml
+++ b/ceph/backup/server/single.yml
@@ -1,2 +1,9 @@
classes:
- service.ceph.backup.server
+parameters:
+ linux:
+ system:
+ cron:
+ user:
+ ceph:
+ enabled: true
diff --git a/designate/server/cluster/simple.yml b/designate/server/cluster/simple.yml
index 9f9b18b..06c6a33 100644
--- a/designate/server/cluster/simple.yml
+++ b/designate/server/cluster/simple.yml
@@ -1,9 +1,12 @@
classes:
- service.designate.server.cluster
+- system.salt.minion.cert.mysql.clients.openstack.designate
parameters:
_param:
designate_admin_api_enabled: false
cluster_internal_protocol: 'http'
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
linux:
system:
package:
@@ -33,6 +36,13 @@
pool_manager: designate_pool_manager
user: designate
password: ${_param:mysql_designate_password}
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_designate_ssl_ca_file}
+ key_file: ${_param:mysql_designate_client_ssl_key_file}
+ cert_file: ${_param:mysql_designate_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
identity:
engine: keystone
host: ${_param:openstack_control_address}
diff --git a/designate/server/single.yml b/designate/server/single.yml
index 683180e..1bb51cb 100644
--- a/designate/server/single.yml
+++ b/designate/server/single.yml
@@ -1,9 +1,12 @@
classes:
- service.designate.server.single
+- system.salt.minion.cert.mysql.clients.openstack.designate
parameters:
_param:
designate_admin_api_enabled: false
internal_protocol: 'http'
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
linux:
system:
package:
@@ -33,6 +36,13 @@
pool_manager: designate_pool_manager
user: designate
password: ${_param:mysql_designate_password}
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_designate_ssl_ca_file}
+ key_file: ${_param:mysql_designate_client_ssl_key_file}
+ cert_file: ${_param:mysql_designate_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
identity:
engine: keystone
host: ${_param:single_address}
diff --git a/elasticsearch/server/curator.yml b/elasticsearch/server/curator.yml
index fe7383d..a73ef44 100644
--- a/elasticsearch/server/curator.yml
+++ b/elasticsearch/server/curator.yml
@@ -2,6 +2,12 @@
_param:
elasticsearch_curator_indices_pattern: "^(log|notification)-.*$"
elasticsearch_curator_retention_period: 31
+ linux:
+ system:
+ cron:
+ user:
+ elasticsearch:
+ enabled: true
elasticsearch:
server:
curator:
diff --git a/galera/server/database/ssl/aodh.yml b/galera/server/database/ssl/aodh.yml
new file mode 100644
index 0000000..e68e0fa
--- /dev/null
+++ b/galera/server/database/ssl/aodh.yml
@@ -0,0 +1,4 @@
+parameters:
+ _param:
+ mysql_aodh_ssl_option:
+ - SSL: True
\ No newline at end of file
diff --git a/galera/server/database/ssl/designate.yml b/galera/server/database/ssl/designate.yml
new file mode 100644
index 0000000..d8a7ed8
--- /dev/null
+++ b/galera/server/database/ssl/designate.yml
@@ -0,0 +1,4 @@
+parameters:
+ _param:
+ mysql_designate_ssl_option:
+ - SSL: True
\ No newline at end of file
diff --git a/galera/server/database/ssl/glance.yml b/galera/server/database/ssl/glance.yml
new file mode 100644
index 0000000..99802f8
--- /dev/null
+++ b/galera/server/database/ssl/glance.yml
@@ -0,0 +1,4 @@
+parameters:
+ _param:
+ mysql_glance_ssl_option:
+ - SSL: True
\ No newline at end of file
diff --git a/galera/server/database/ssl/heat.yml b/galera/server/database/ssl/heat.yml
new file mode 100644
index 0000000..567d611
--- /dev/null
+++ b/galera/server/database/ssl/heat.yml
@@ -0,0 +1,4 @@
+parameters:
+ _param:
+ mysql_heat_ssl_option:
+ - SSL: True
\ No newline at end of file
diff --git a/galera/server/database/ssl/keystone.yml b/galera/server/database/ssl/keystone.yml
new file mode 100644
index 0000000..bcaec18
--- /dev/null
+++ b/galera/server/database/ssl/keystone.yml
@@ -0,0 +1,4 @@
+parameters:
+ _param:
+ mysql_keystone_ssl_option:
+ - SSL: True
\ No newline at end of file
diff --git a/galera/server/database/x509/aodh.yml b/galera/server/database/x509/aodh.yml
new file mode 100644
index 0000000..d90d17e
--- /dev/null
+++ b/galera/server/database/x509/aodh.yml
@@ -0,0 +1,7 @@
+parameters:
+ _param:
+ mysql_aodh_client_ssl_x509_subject: '/C=cz/CN=mysql-aodh-client/L=Prague/O=Mirantis'
+ mysql_aodh_client_ssl_x509_issuer: '/C=cz/CN=Salt Master CA/L=Prague/O=Mirantis'
+ mysql_aodh_ssl_option:
+ - SUBJECT: ${_param:mysql_aodh_client_ssl_x509_subject}
+ - ISSUER: ${_param:mysql_aodh_client_ssl_x509_issuer}
\ No newline at end of file
diff --git a/galera/server/database/x509/designate.yml b/galera/server/database/x509/designate.yml
new file mode 100644
index 0000000..27e3ae4
--- /dev/null
+++ b/galera/server/database/x509/designate.yml
@@ -0,0 +1,7 @@
+parameters:
+ _param:
+ mysql_designate_client_ssl_x509_subject: '/C=cz/CN=mysql-designate-client/L=Prague/O=Mirantis'
+ mysql_designate_client_ssl_x509_issuer: '/C=cz/CN=Salt Master CA/L=Prague/O=Mirantis'
+ mysql_designate_ssl_option:
+ - SUBJECT: ${_param:mysql_designate_client_ssl_x509_subject}
+ - ISSUER: ${_param:mysql_designate_client_ssl_x509_issuer}
\ No newline at end of file
diff --git a/galera/server/database/x509/glance.yml b/galera/server/database/x509/glance.yml
new file mode 100644
index 0000000..2fdcea3
--- /dev/null
+++ b/galera/server/database/x509/glance.yml
@@ -0,0 +1,7 @@
+parameters:
+ _param:
+ mysql_glance_client_ssl_x509_subject: '/C=cz/CN=mysql-glance-client/L=Prague/O=Mirantis'
+ mysql_glance_client_ssl_x509_issuer: '/C=cz/CN=Salt Master CA/L=Prague/O=Mirantis'
+ mysql_glance_ssl_option:
+ - SUBJECT: ${_param:mysql_glance_client_ssl_x509_subject}
+ - ISSUER: ${_param:mysql_glance_client_ssl_x509_issuer}
\ No newline at end of file
diff --git a/galera/server/database/x509/heat.yml b/galera/server/database/x509/heat.yml
new file mode 100644
index 0000000..57dbd5f
--- /dev/null
+++ b/galera/server/database/x509/heat.yml
@@ -0,0 +1,7 @@
+parameters:
+ _param:
+ mysql_heat_client_ssl_x509_subject: '/C=cz/CN=mysql-heat-client/L=Prague/O=Mirantis'
+ mysql_heat_client_ssl_x509_issuer: '/C=cz/CN=Salt Master CA/L=Prague/O=Mirantis'
+ mysql_heat_ssl_option:
+ - SUBJECT: ${_param:mysql_heat_client_ssl_x509_subject}
+ - ISSUER: ${_param:mysql_heat_client_ssl_x509_issuer}
\ No newline at end of file
diff --git a/galera/server/database/x509/keystone.yml b/galera/server/database/x509/keystone.yml
new file mode 100644
index 0000000..0a790e7
--- /dev/null
+++ b/galera/server/database/x509/keystone.yml
@@ -0,0 +1,7 @@
+parameters:
+ _param:
+ mysql_keystone_client_ssl_x509_subject: '/C=cz/CN=mysql-keystone-client/L=Prague/O=Mirantis'
+ mysql_keystone_client_ssl_x509_issuer: '/C=cz/CN=Salt Master CA/L=Prague/O=Mirantis'
+ mysql_keystone_ssl_option:
+ - SUBJECT: ${_param:mysql_keystone_client_ssl_x509_subject}
+ - ISSUER: ${_param:mysql_keystone_client_ssl_x509_issuer}
\ No newline at end of file
diff --git a/glance/control/cluster.yml b/glance/control/cluster.yml
index e218835..a9181de 100644
--- a/glance/control/cluster.yml
+++ b/glance/control/cluster.yml
@@ -3,9 +3,17 @@
- service.keepalived.cluster.single
- service.haproxy.proxy.single
- system.haproxy.proxy.listen.openstack.glance
+- system.salt.minion.cert.mysql.clients.openstack.glance
parameters:
+ _param:
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
linux:
system:
+ cron:
+ user:
+ glance:
+ enabled: true
package:
python-pymysql:
fromrepo: ${_param:openstack_version}
@@ -23,6 +31,13 @@
name: glance
user: glance
password: ${_param:mysql_glance_password}
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_glance_ssl_ca_file}
+ key_file: ${_param:mysql_glance_client_ssl_key_file}
+ cert_file: ${_param:mysql_glance_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
registry:
host: ${_param:cluster_vip_address}
port: 9191
diff --git a/glance/control/single.yml b/glance/control/single.yml
index 63e1b48..a036077 100644
--- a/glance/control/single.yml
+++ b/glance/control/single.yml
@@ -1,8 +1,16 @@
classes:
- service.glance.control.single
+- system.salt.minion.cert.mysql.clients.openstack.glance
parameters:
+ _param:
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
linux:
system:
+ cron:
+ user:
+ glance:
+ enabled: true
package:
python-pymysql:
fromrepo: ${_param:openstack_version}
@@ -12,6 +20,13 @@
role: ${_param:openstack_node_role}
database:
host: ${_param:single_address}
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_glance_ssl_ca_file}
+ key_file: ${_param:mysql_glance_client_ssl_key_file}
+ cert_file: ${_param:mysql_glance_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
identity:
region: ${_param:openstack_region}
show_multiple_locations: True
diff --git a/heat/server/cluster.yml b/heat/server/cluster.yml
index eee2b63..7bbc2ac 100644
--- a/heat/server/cluster.yml
+++ b/heat/server/cluster.yml
@@ -3,10 +3,13 @@
- service.haproxy.proxy.single
- service.keepalived.cluster.single
- system.haproxy.proxy.listen.openstack.heat
+- system.salt.minion.cert.mysql.clients.openstack.heat
parameters:
_param:
cluster_public_protocol: 'https'
cluster_internal_protocol: 'http'
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
linux:
system:
package:
@@ -37,6 +40,13 @@
name: heat
user: heat
password: ${_param:mysql_heat_password}
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_heat_ssl_ca_file}
+ key_file: ${_param:mysql_heat_client_ssl_key_file}
+ cert_file: ${_param:mysql_heat_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
metadata:
host: ${_param:cluster_public_host}
port: 8000
diff --git a/heat/server/single.yml b/heat/server/single.yml
index 2f28613..208bdf0 100644
--- a/heat/server/single.yml
+++ b/heat/server/single.yml
@@ -1,6 +1,10 @@
classes:
- service.heat.server.single
+- system.salt.minion.cert.mysql.clients.openstack.heat
parameters:
+ _param:
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
linux:
system:
package:
@@ -20,4 +24,12 @@
waitcondition:
protocol: ${_param:cluster_public_protocol}
watch:
- protocol: ${_param:cluster_public_protocol}
\ No newline at end of file
+ protocol: ${_param:cluster_public_protocol}
+ database:
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_heat_ssl_ca_file}
+ key_file: ${_param:mysql_heat_client_ssl_key_file}
+ cert_file: ${_param:mysql_heat_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
\ No newline at end of file
diff --git a/jenkins/client/job/deploy/lab/component/stacklight.yml b/jenkins/client/job/deploy/lab/component/stacklight.yml
index 94ccce2..2937b9a 100644
--- a/jenkins/client/job/deploy/lab/component/stacklight.yml
+++ b/jenkins/client/job/deploy/lab/component/stacklight.yml
@@ -4,18 +4,24 @@
_param:
jenkins_deploy_jobs:
- stack_name: stacklight_k8s_calico
+ heat_stack_zone_job_param: "mcp-stacklight"
+ openstack_api_projects_job_param: "mcp-stacklight"
stack_env: devcloud
stack_type: heat
stack_install: core,k8s,calico,stacklight
stack_test: ""
job_timer: "H H(0-6) * * *"
- stack_name: stacklight_os_contrail
+ heat_stack_zone_job_param: "mcp-stacklight"
+ openstack_api_projects_job_param: "mcp-stacklight"
stack_env: devcloud
stack_type: heat
stack_install: core,openstack,contrail,stacklight
stack_test: ""
job_timer: "H H(0-6) * * *"
- stack_name: stacklight_os_ovs
+ heat_stack_zone_job_param: "mcp-stacklight"
+ openstack_api_projects_job_param: "mcp-stacklight"
stack_env: devcloud
stack_type: heat
stack_install: core,openstack,ovs,stacklight
diff --git a/jenkins/client/job/docker/cicd/tempest.yml b/jenkins/client/job/docker/cicd/tempest.yml
index 38cc667..e156802 100644
--- a/jenkins/client/job/docker/cicd/tempest.yml
+++ b/jenkins/client/job/docker/cicd/tempest.yml
@@ -22,7 +22,11 @@
"mcp/docker-ci-tempest":
branches:
- master
+ - queens
- pike
+ - ocata
+ - newton
+ - mitaka
event:
patchset:
- created:
diff --git a/jenkins/client/job/k8s-test/init.yml b/jenkins/client/job/k8s-test/init.yml
index 4d22797..c26bfce 100644
--- a/jenkins/client/job/k8s-test/init.yml
+++ b/jenkins/client/job/k8s-test/init.yml
@@ -1,4 +1,8 @@
classes:
- system.jenkins.client.job.k8s-test.mcp-k8s-test-pipeline
- system.jenkins.client.job.k8s-test.mcp-k8s-merge-pipeline
+- system.jenkins.client.job.k8s-test.mcp-k8s-dashboard-test-pipeline
+- system.jenkins.client.job.k8s-test.mcp-k8s-dashboard-merge-pipeline
+- system.jenkins.client.job.k8s-test.mcp-k8s-metallb-test-pipeline
+- system.jenkins.client.job.k8s-test.mcp-k8s-metallb-merge-pipeline
- system.jenkins.client.job.k8s-test.mcp-k8s-formula-test-pipeline
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-dashboard-merge-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-dashboard-merge-pipeline.yml
new file mode 100644
index 0000000..f6b2350
--- /dev/null
+++ b/jenkins/client/job/k8s-test/mcp-k8s-dashboard-merge-pipeline.yml
@@ -0,0 +1,43 @@
+parameters:
+ _param:
+ mcp_docker_registry: 'docker-dev-local.docker.mirantis.net'
+ mcp_prod_docker_registry: 'docker-prod-local.docker.mirantis.net'
+ jenkins:
+ client:
+ job:
+ mcp_k8s_dashboard_merge_pipeline:
+ type: workflow-scm
+ name: mcp-k8s-dashboard-merge-pipeline
+ display_name: "Kubernetes dashboard merge pipeline"
+ discard:
+ build:
+ keep_num: 20
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
+ credentials: "gerrit"
+ script: pipelines/mcp-k8s-dashboard-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ kubernetes/kubernetes:
+ branches:
+ - compare_type: "ANT"
+ name: "**mcp**"
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ change:
+ - merged
+ param:
+ KUBE_DOCKER_REGISTRY:
+ type: string
+ default: ${_param:mcp_docker_registry}
+ description: 'Docker registry for binaries and images'
+ KUBE_PROD_DOCKER_REGISTRY:
+ type: string
+ default: ${_param:mcp_prod_docker_registry}
+ description: 'Prod docker registry for binaries and images'
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-dashboard-test-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-dashboard-test-pipeline.yml
new file mode 100644
index 0000000..ebb4692
--- /dev/null
+++ b/jenkins/client/job/k8s-test/mcp-k8s-dashboard-test-pipeline.yml
@@ -0,0 +1,48 @@
+parameters:
+ _param:
+ mcp_docker_registry: 'docker-dev-local.docker.mirantis.net'
+ jenkins:
+ client:
+ job:
+ mcp_k8s_dashboard_test_pipeline:
+ type: workflow-scm
+ name: mcp-k8s-dashboard-test-pipeline
+ display_name: "Kubernetes dashboard tests pipeline"
+ discard:
+ build:
+ keep_num: 50
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
+ credentials: "gerrit"
+ script: pipelines/mcp-k8s-dashboard-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ kubernetes/dashboard:
+ branches:
+ - compare_type: "ANT"
+ name: "**"
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(recheck|reverify)'
+ override-votes:
+ gerritBuildUnstableVerifiedValue: 1
+ gerritBuildUnstableCodeReviewValue: 1
+ param:
+ KUBE_DOCKER_REGISTRY:
+ type: string
+ default: ${_param:mcp_docker_registry}
+ description: 'Docker registry for binaries and images'
+
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-metallb-merge-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-metallb-merge-pipeline.yml
new file mode 100644
index 0000000..f6a3162
--- /dev/null
+++ b/jenkins/client/job/k8s-test/mcp-k8s-metallb-merge-pipeline.yml
@@ -0,0 +1,43 @@
+parameters:
+ _param:
+ mcp_docker_registry: 'docker-dev-local.docker.mirantis.net'
+ mcp_prod_docker_registry: 'docker-prod-local.docker.mirantis.net'
+ jenkins:
+ client:
+ job:
+ mcp_k8s_metallb_merge_pipeline:
+ type: workflow-scm
+ name: mcp-k8s-metallb-merge-pipeline
+ display_name: "MetalLB merge pipeline"
+ discard:
+ build:
+ keep_num: 20
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
+ credentials: "gerrit"
+ script: pipelines/mcp-k8s-metallb-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ kubernetes/kubernetes:
+ branches:
+ - compare_type: "ANT"
+ name: "**mcp**"
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ change:
+ - merged
+ param:
+ KUBE_DOCKER_REGISTRY:
+ type: string
+ default: ${_param:mcp_docker_registry}
+ description: 'Docker registry for binaries and images'
+ KUBE_PROD_DOCKER_REGISTRY:
+ type: string
+ default: ${_param:mcp_prod_docker_registry}
+ description: 'Prod docker registry for binaries and images'
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-metallb-test-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-metallb-test-pipeline.yml
new file mode 100644
index 0000000..8ebd8eb
--- /dev/null
+++ b/jenkins/client/job/k8s-test/mcp-k8s-metallb-test-pipeline.yml
@@ -0,0 +1,48 @@
+parameters:
+ _param:
+ mcp_docker_registry: 'docker-dev-local.docker.mirantis.net'
+ jenkins:
+ client:
+ job:
+ mcp_k8s_metallb_test_pipeline:
+ type: workflow-scm
+ name: mcp-k8s-metallb-test-pipeline
+ display_name: "MetalLB tests pipeline"
+ discard:
+ build:
+ keep_num: 50
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
+ credentials: "gerrit"
+ script: pipelines/mcp-k8s-metallb-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ kubernetes/metallb:
+ branches:
+ - compare_type: "ANT"
+ name: "**"
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(recheck|reverify)'
+ override-votes:
+ gerritBuildUnstableVerifiedValue: 1
+ gerritBuildUnstableCodeReviewValue: 1
+ param:
+ KUBE_DOCKER_REGISTRY:
+ type: string
+ default: ${_param:mcp_docker_registry}
+ description: 'Docker registry for binaries and images'
+
diff --git a/jenkins/client/job/oscore/qa.yml b/jenkins/client/job/oscore/qa.yml
index f076a78..331bd7e 100644
--- a/jenkins/client/job/oscore/qa.yml
+++ b/jenkins/client/job/oscore/qa.yml
@@ -71,7 +71,11 @@
mcp/{{oscore-qa-project}}:
branches:
- master
+ - queens
- pike
+ - ocata
+ - newton
+ - mitaka
event:
patchset:
- created
diff --git a/keystone/server/cluster.yml b/keystone/server/cluster.yml
index c9642bd..24840fe 100644
--- a/keystone/server/cluster.yml
+++ b/keystone/server/cluster.yml
@@ -5,10 +5,13 @@
- system.haproxy.proxy.listen.openstack.keystone.standalone
- system.linux.system.users.keystone
- system.keystone.server.fernet_rotation.cluster
+- system.salt.minion.cert.mysql.clients.openstack.keystone
parameters:
_param:
keystone_tokens_expiration: 3600
openstack_node_role: primary
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
linux:
system:
package:
@@ -42,6 +45,13 @@
name: keystone
password: ${_param:mysql_keystone_password}
user: keystone
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_keystone_ssl_ca_file}
+ key_file: ${_param:mysql_keystone_client_ssl_key_file}
+ cert_file: ${_param:mysql_keystone_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
tokens:
engine: fernet
expiration: ${_param:keystone_tokens_expiration}
diff --git a/keystone/server/fernet_rotation/cluster.yml b/keystone/server/fernet_rotation/cluster.yml
index a4aad33..7da8b5b 100644
--- a/keystone/server/fernet_rotation/cluster.yml
+++ b/keystone/server/fernet_rotation/cluster.yml
@@ -24,6 +24,10 @@
credential_rotation_driver: ${_param:credential_rotation_driver}
linux:
system:
+ cron:
+ user:
+ keystone:
+ enabled: true
job:
keystone_fernet_rotate_rsync:
command: '/var/lib/keystone/keystone_keys_rotate.sh -r -s -t fernet >> /var/log/keystone/keystone-rotate.log 2>> /var/log/keystone/keystone-rotate.log'
diff --git a/keystone/server/fernet_rotation/single.yml b/keystone/server/fernet_rotation/single.yml
index de5ca6a..bb6f234 100644
--- a/keystone/server/fernet_rotation/single.yml
+++ b/keystone/server/fernet_rotation/single.yml
@@ -10,6 +10,10 @@
credential_rotation_driver: ${_param:credential_rotation_driver}
linux:
system:
+ cron:
+ user:
+ keystone:
+ enabled: true
job:
keystone_fernet_rotate_rsync:
command: '/var/lib/keystone/keystone_keys_rotate.sh -r -t fernet >> /var/log/keystone/keystone-rotate.log 2>> /var/log/keystone/keystone-rotate.log'
diff --git a/keystone/server/single.yml b/keystone/server/single.yml
index e1131c0..d926c0d 100644
--- a/keystone/server/single.yml
+++ b/keystone/server/single.yml
@@ -2,6 +2,7 @@
- service.keystone.server.single
- system.linux.system.users.keystone
- system.keystone.server.fernet_rotation.single
+- system.salt.minion.cert.mysql.clients.openstack.keystone
parameters:
_param:
keystone_service_token: token
@@ -11,6 +12,8 @@
mysql_keystone_password: password
keystone_tokens_expiration: 3600
openstack_node_role: primary
+ openstack_mysql_x509_enabled: False
+ galera_ssl_enabled: False
linux:
system:
package:
@@ -41,6 +44,13 @@
name: keystone
password: ${_param:mysql_keystone_password}
user: keystone
+ x509:
+ enabled: ${_param:openstack_mysql_x509_enabled}
+ ca_file: ${_param:mysql_keystone_ssl_ca_file}
+ key_file: ${_param:mysql_keystone_client_ssl_key_file}
+ cert_file: ${_param:mysql_keystone_client_ssl_cert_file}
+ ssl:
+ enabled: ${_param:galera_ssl_enabled}
tokens:
engine: fernet
expiration: ${_param:keystone_tokens_expiration}
diff --git a/kubernetes/common.yml b/kubernetes/common.yml
index c178ced..9151987 100644
--- a/kubernetes/common.yml
+++ b/kubernetes/common.yml
@@ -19,6 +19,7 @@
kubernetes_sriov_repo: https://docker-prod-local.artifactory.mirantis.com/artifactory/binary-prod-local/mirantis/kubernetes/sriov-cni
kubernetes_cniplugins_repo: https://docker-prod-local.artifactory.mirantis.com/artifactory/binary-prod-local/mirantis/kubernetes/containernetworking-plugins
kubernetes_dashboard_repo: k8s.gcr.io
+ kubernetes_coredns_repo: coredns
# component docker images
kubernetes_docker_package: docker-engine=1.13.1-0~ubuntu-xenial
@@ -26,8 +27,8 @@
kubernetes_calico_image: ${_param:kubernetes_calico_repo}/node:v3.1.3
kubernetes_calico_cni_image: ${_param:kubernetes_calico_cni_repo}/cni:v3.1.3
kubernetes_calico_kube_controllers_image: ${_param:kubernetes_calico_kube_ctl_repo}/kube-controllers:v3.1.3
- 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_hyperkube_image: ${_param:kubernetes_hyperkube_repo}/hyperkube-amd64:v1.11.2-1
+ kubernetes_pause_image: ${_param:kubernetes_hyperkube_repo}/pause-amd64:v1.11.2-1
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
@@ -43,8 +44,8 @@
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_metallb_controller_image: ${_param:kubernetes_metallb_repo}/controller:v0.7.3
+ kubernetes_metallb_speaker_image: ${_param:kubernetes_metallb_repo}/speaker:v0.7.3
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
@@ -53,12 +54,13 @@
kubernetes_fluentd_aggregator_image: fluent/fluentd-kubernetes-daemonset:v1.2-debian-elasticsearch
kubernetes_fluentd_logger_image: fluent/fluentd-kubernetes-daemonset:v1.2-debian-stackdriver
kubernetes_telegraf_image: docker.io/telegraf:1.5.3
+ kubernetes_coredns_image: ${_param:kubernetes_coredns_repo}/coredns:1.2.0
kubelet_fail_on_swap: true
kubernetes_dashboard_enabled: true
- kubernetes_kubedns_enabled: true
+ kubernetes_kubedns_enabled: false
kubernetes_externaldns_enabled: false
- kubernetes_coredns_enabled: false
+ kubernetes_coredns_enabled: true
kubernetes_externaldns_provider: coredns
kubernetes_virtlet_enabled: false
kubernetes_flannel_enabled: false
@@ -163,6 +165,7 @@
provider: ${_param:kubernetes_externaldns_provider}
coredns:
enabled: ${_param:kubernetes_coredns_enabled}
+ image: ${_param:kubernetes_coredns_image}
contrail_network_controller:
enabled: ${_param:kubernetes_contrail_network_controller_enabled}
image: ${_param:kubernetes_contrail_network_controller_image}
diff --git a/kubernetes/control/opencontrail.yaml b/kubernetes/control/opencontrail.yml
similarity index 70%
rename from kubernetes/control/opencontrail.yaml
rename to kubernetes/control/opencontrail.yml
index ba22753..d72892d 100644
--- a/kubernetes/control/opencontrail.yaml
+++ b/kubernetes/control/opencontrail.yml
@@ -3,6 +3,9 @@
opencontrail_identity_user: admin
opencontrail_identity_password: contrail123
opencontrail_identity_tenant: admin
+ opencontrail_public_ip_range: 172.17.47.128/25
+ opencontrail_public_ip_network: default-domain:default-project:Public
+ opencontrail_private_ip_range: 10.150.0.0/16
kubernetes:
pool:
network:
@@ -13,17 +16,17 @@
network:
engine: none
opencontrail:
- version: {{ cookiecutter.opencontrail_version }}
- public_ip_range: {{ cookiecutter.opencontrail_public_ip_range }}
- public_network: {{ cookiecutter.get('opencontrail_public_ip_network', 'default-domain:default-project:Public') }}
- private_ip_range: {{ cookiecutter.opencontrail_private_ip_range }}
+ version: ${_param:opencontrail_version}
+ public_ip_range: ${_param:opencontrail_public_ip_range }
+ public_network: ${_param:opencontrail_public_ip_network }
+ private_ip_range: ${_param:opencontrail_private_ip_range }
config:
api:
host: ${_param:opencontrail_control_address}
identity:
auth_user: ${_param:opencontrail_identity_user}
auth_password: ${_param:opencontrail_identity_password}
- auth_tenant: ${_param:kubernetes_opencontrail_identity_tenant}
+ auth_tenant: ${_param:opencontrail_identity_tenant}
message_queue:
host: ${_param:single_address}
database:
diff --git a/linux/system/single/simple.yml b/linux/system/single/simple.yml
index 2b4e919..45be219 100644
--- a/linux/system/single/simple.yml
+++ b/linux/system/single/simple.yml
@@ -8,6 +8,16 @@
local_package_repos: false
linux:
system:
+ at:
+ enabled: true
+ user:
+ root:
+ enabled: true
+ cron:
+ enabled: true
+ user:
+ root:
+ enabled: true
local_package_repos: ${_param:local_package_repos}
timezone: UTC
locale:
diff --git a/neutron/control/openvswitch/cluster.yml b/neutron/control/openvswitch/cluster.yml
index 3f80a55..5800060 100644
--- a/neutron/control/openvswitch/cluster.yml
+++ b/neutron/control/openvswitch/cluster.yml
@@ -17,6 +17,7 @@
cluster_internal_protocol: 'http'
neutron:
server:
+ role: ${_param:openstack_node_role}
global_physnet_mtu: ${_param:neutron_global_physnet_mtu}
l3_ha: ${_param:neutron_l3_ha}
dvr: ${_param:neutron_control_dvr}
diff --git a/openssh/server/team/drivetrain.yml b/openssh/server/team/drivetrain.yml
new file mode 100644
index 0000000..a48400a
--- /dev/null
+++ b/openssh/server/team/drivetrain.yml
@@ -0,0 +1,10 @@
+classes:
+- system.openssh.server.team.members.degorenko
+- system.openssh.server.team.members.iberezovskiy
+
+parameters:
+ _param:
+ linux_system_user_sudo: true
+ openssh:
+ server:
+ enabled: true
diff --git a/openssh/server/team/members/asamoylov.yml b/openssh/server/team/members/asamoylov.yml
new file mode 100644
index 0000000..63bfdd3
--- /dev/null
+++ b/openssh/server/team/members/asamoylov.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ asamoylov:
+ enabled: true
+ name: asamoylov
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Anton Samoylov
+ home: /home/asamoylov
+ email: asamoylov@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ asamoylov:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwNiivTQ04f2ckhd6Zku7SFav6vAnVhGas3E9JbqIa222YhZdIqeCp7Su1jDmyuMsCe+ibRWNh9z+TnGb40qr2mbR+XyAeXv2kkUy1hc61Si1SWc2n0mrx7xh8aiGqMifra+WojBVVMHnknmdVFqGtq2hJSWrNYikdxKKI241EQ9Grta/iIjzlXmSSetcf54amsMJS8qMWOU7nW65EhSXNH3gUBdUV/85PJaTAChAKeOI3K7/jjogJ9hwYcpTVZCcCxEST6R6Q8Xhm5FXx1Fa6+nuGQYF8j9DF+tqWtoIuwlpNF5jn7ddr4qhVQkNpVEnMORT+2qhtOsvRPySqHbGb
+ user: ${linux:system:user:asamoylov}
diff --git a/openssh/server/team/members/degorenko.yml b/openssh/server/team/members/degorenko.yml
new file mode 100644
index 0000000..2f0d09e
--- /dev/null
+++ b/openssh/server/team/members/degorenko.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ degorenko:
+ enabled: true
+ name: degorenko
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Denis Egorenko
+ home: /home/degorenko
+ email: degorenko@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ degorenko:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBUclrfSgL1AGw8gjjAcfD2XP9beQVRcP+FMTsuro/2UXjNN7fQ9oXm0TbIk5u+hgILrgjOkbxb1K7bYzdS7+zF3cFoK5B8GKaQog/frEZ2Y4NdkyK3nm5RX1NfxguND3pzEhr5tar/gi+C59uNWA70FF6lqi2yzqA6cWsBM4lP8ZVCOoKJpJNbXe8HXNDmHbVLP+kXzG7k0j/ifAHaF4Rsp+r9B7NupA28N0VhOaXooDRt8TrbqVPZRKuk2XIvitiw73b7ZoiErfOarkkAR6vI2pMrJLFiXm1J2kZHf1CLCl2EdVuS2ba7LtQo77Qw++YeYM4zdGQ5Xr+yjztgxXX degorenko
+ user: ${linux:system:user:degorenko}
diff --git a/openssh/server/team/members/iberezovskiy.yml b/openssh/server/team/members/iberezovskiy.yml
new file mode 100644
index 0000000..14e868f
--- /dev/null
+++ b/openssh/server/team/members/iberezovskiy.yml
@@ -0,0 +1,20 @@
+parameters:
+ linux:
+ system:
+ user:
+ iberezovskiy:
+ enabled: true
+ name: iberezovskiy
+ sudo: ${_param:linux_system_user_sudo}
+ full_name: Ivan Berezovskiy
+ home: /home/iberezovskiy
+ email: iberezovskiy@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ iberezovskiy:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnn18VJ7z3CIBaQmIRfYltyh/BogwBq4B9KVUZ0Gl1EWd5AutuR00xCOYdFeU7okaURYILC+8W2A7a9qkML9G99sX+KD+7CDsKm33XeCP4YJ9QhOwA+OYPS84lLExvK+9AoVPnB06sEK8CvPdU6byQE/EX1VA9gFFCraOH1D0eABaC01csHI+GaiIA5qSjDMH+ieii1Rv5Zb6NHyYRktaCSHB2asu5Y7VxmL2srweFJonpk4Z80+TWlc2ESRLc9EFMefRt/MixIyFjBgvcsE++eCO6MModCAoP5V1Tmgd+cztcvm/tlQqJirve/64SFLvDbjYLE9QxQ8bY4/d4MjcX iberezovskiy@tests-MacBook-Pro.local
+ user: ${linux:system:user:iberezovskiy}
diff --git a/openssh/server/team/networking.yml b/openssh/server/team/networking.yml
index 9921b5b..219c2ee 100644
--- a/openssh/server/team/networking.yml
+++ b/openssh/server/team/networking.yml
@@ -8,6 +8,7 @@
- system.openssh.server.team.members.psvimbersky
- system.openssh.server.team.members.gzimin
- system.openssh.server.team.members.dpyzhov
+- system.openssh.server.team.members.asamoylov
parameters:
_param:
linux_system_user_sudo: true
diff --git a/panko/server/cluster.yml b/panko/server/cluster.yml
index d641f36..3a4cb65 100644
--- a/panko/server/cluster.yml
+++ b/panko/server/cluster.yml
@@ -11,6 +11,12 @@
panko_memcached_node03_address: ${_param:cluster_node03_address}
# Keep events in database for 30 days
panko_event_time_to_live: 2592000
+ linux:
+ system:
+ cron:
+ user:
+ panko:
+ enabled: true
panko:
server:
role: ${_param:openstack_node_role}
@@ -32,4 +38,4 @@
expirer:
cron:
minute: 0
- hour: 2
\ No newline at end of file
+ hour: 2
diff --git a/panko/server/single.yml b/panko/server/single.yml
index 497b21e..4ba2787 100644
--- a/panko/server/single.yml
+++ b/panko/server/single.yml
@@ -5,6 +5,12 @@
_param:
# Keep events in database for 30 days
panko_event_time_to_live: 2592000
+ linux:
+ system:
+ cron:
+ user:
+ panko:
+ enabled: true
panko:
server:
role: ${_param:openstack_node_role}
@@ -13,4 +19,4 @@
expirer:
cron:
minute: 0
- hour: 2
\ No newline at end of file
+ hour: 2
diff --git a/reclass/storage/system/openstack_barbican_cluster.yml b/reclass/storage/system/openstack_barbican_cluster.yml
new file mode 100644
index 0000000..1b47ee6
--- /dev/null
+++ b/reclass/storage/system/openstack_barbican_cluster.yml
@@ -0,0 +1,42 @@
+parameters:
+ _param:
+ openstack_barbican_node01_hostname: kmn01
+ openstack_barbican_node02_hostname: kmn02
+ openstack_barbican_node03_hostname: kmn03
+ openstack_barbican_system_codename: xenial
+ reclass:
+ storage:
+ node:
+ openstack_barbican_node01:
+ name: ${_param:openstack_barbican_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.barbican
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:openstack_barbican_system_codename}
+ single_address: ${_param:openstack_barbican_node01_address}
+ keepalived_vip_priority: 103
+ openstack_node_role: primary
+ openstack_barbican_node02:
+ name: ${_param:openstack_barbican_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.barbican
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:openstack_barbican_system_codename}
+ single_address: ${_param:openstack_barbican_node02_address}
+ keepalived_vip_priority: 102
+ openstack_node_role: secondary
+ openstack_barbican_node03:
+ name: ${_param:openstack_barbican_node03_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.barbican
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:openstack_barbican_system_codename}
+ single_address: ${_param:openstack_barbican_node03_address}
+ keepalived_vip_priority: 101
+ openstack_node_role: secondary
diff --git a/salt/control/cluster/openstack_barbican_cluster.yml b/salt/control/cluster/openstack_barbican_cluster.yml
new file mode 100644
index 0000000..cfa7ba6
--- /dev/null
+++ b/salt/control/cluster/openstack_barbican_cluster.yml
@@ -0,0 +1,29 @@
+parameters:
+ salt:
+ control:
+ size:
+ openstack.barbican:
+ cpu: 4
+ ram: 8192
+ disk_profile: large
+ net_profile: default
+ cluster:
+ internal:
+ domain: ${_param:cluster_domain}
+ engine: virt
+ node:
+ kmn01:
+ name: ${_param:openstack_barbican_node01_hostname}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.barbican
+ kmn02:
+ name: ${_param:openstack_barbican_node02_hostname}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.barbican
+ kmn03:
+ name: ${_param:openstack_barbican_node03_hostname}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.barbican
diff --git a/salt/control/cluster/openstack_manila_cluster.yml b/salt/control/cluster/openstack_manila_cluster.yml
new file mode 100644
index 0000000..feb1d4f
--- /dev/null
+++ b/salt/control/cluster/openstack_manila_cluster.yml
@@ -0,0 +1,29 @@
+parameters:
+ salt:
+ control:
+ size:
+ openstack.manila:
+ cpu: 1
+ ram: 2048
+ disk_profile: large
+ net_profile: default
+ cluster:
+ internal:
+ domain: ${_param:cluster_domain}
+ engine: virt
+ node:
+ share01:
+ name: ${_param:openstack_share_node01_hostname}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.manila
+ share02:
+ name: ${_param:openstack_share_node02_hostname}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.manila
+ share03:
+ name: ${_param:openstack_share_node03_hostname}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.manila
diff --git a/salt/minion/cert/mysql/clients/openstack/aodh.yml b/salt/minion/cert/mysql/clients/openstack/aodh.yml
new file mode 100644
index 0000000..ba5ef52
--- /dev/null
+++ b/salt/minion/cert/mysql/clients/openstack/aodh.yml
@@ -0,0 +1,27 @@
+parameters:
+ _param:
+ salt_minion_ca_host: cfg01.${_param:cluster_domain}
+ salt_minion_ca_authority: salt_master_ca
+ mysql_aodh_client_ssl_key_file: /etc/aodh/ssl/mysql/client-key.pem
+ mysql_aodh_client_ssl_cert_file: /etc/aodh/ssl/mysql/client-cert.pem
+ mysql_aodh_ssl_ca_file: /etc/aodh/ssl/mysql/ca-cert.pem
+ salt:
+ minion:
+ cert:
+ mysql-aodh-client:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ common_name: mysql-aodh-client
+ 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:mysql_aodh_client_ssl_key_file}
+ cert_file: ${_param:mysql_aodh_client_ssl_cert_file}
+ ca_file: ${_param:mysql_aodh_ssl_ca_file}
+ user: aodh
+ group: aodh
+ mode: 640
diff --git a/salt/minion/cert/mysql/clients/openstack/designate.yml b/salt/minion/cert/mysql/clients/openstack/designate.yml
new file mode 100644
index 0000000..f66c59f
--- /dev/null
+++ b/salt/minion/cert/mysql/clients/openstack/designate.yml
@@ -0,0 +1,27 @@
+parameters:
+ _param:
+ salt_minion_ca_host: cfg01.${_param:cluster_domain}
+ salt_minion_ca_authority: salt_master_ca
+ mysql_designate_client_ssl_key_file: /etc/designate/ssl/mysql/client-key.pem
+ mysql_designate_client_ssl_cert_file: /etc/designate/ssl/mysql/client-cert.pem
+ mysql_designate_ssl_ca_file: /etc/designate/ssl/mysql/ca-cert.pem
+ salt:
+ minion:
+ cert:
+ mysql-designate-client:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ common_name: mysql-designate-client
+ 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:mysql_designate_client_ssl_key_file}
+ cert_file: ${_param:mysql_designate_client_ssl_cert_file}
+ ca_file: ${_param:mysql_designate_ssl_ca_file}
+ user: designate
+ group: designate
+ mode: 640
diff --git a/salt/minion/cert/mysql/clients/openstack/glance.yml b/salt/minion/cert/mysql/clients/openstack/glance.yml
new file mode 100644
index 0000000..ab71174
--- /dev/null
+++ b/salt/minion/cert/mysql/clients/openstack/glance.yml
@@ -0,0 +1,27 @@
+parameters:
+ _param:
+ salt_minion_ca_host: cfg01.${_param:cluster_domain}
+ salt_minion_ca_authority: salt_master_ca
+ mysql_glance_client_ssl_key_file: /etc/glance/ssl/mysql/client-key.pem
+ mysql_glance_client_ssl_cert_file: /etc/glance/ssl/mysql/client-cert.pem
+ mysql_glance_ssl_ca_file: /etc/glance/ssl/mysql/ca-cert.pem
+ salt:
+ minion:
+ cert:
+ mysql-glance-client:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ common_name: mysql-glance-client
+ 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:mysql_glance_client_ssl_key_file}
+ cert_file: ${_param:mysql_glance_client_ssl_cert_file}
+ ca_file: ${_param:mysql_glance_ssl_ca_file}
+ user: glance
+ group: glance
+ mode: 640
diff --git a/salt/minion/cert/mysql/clients/openstack/heat.yml b/salt/minion/cert/mysql/clients/openstack/heat.yml
new file mode 100644
index 0000000..1246dae
--- /dev/null
+++ b/salt/minion/cert/mysql/clients/openstack/heat.yml
@@ -0,0 +1,27 @@
+parameters:
+ _param:
+ salt_minion_ca_host: cfg01.${_param:cluster_domain}
+ salt_minion_ca_authority: salt_master_ca
+ mysql_heat_client_ssl_key_file: /etc/heat/ssl/mysql/client-key.pem
+ mysql_heat_client_ssl_cert_file: /etc/heat/ssl/mysql/client-cert.pem
+ mysql_heat_ssl_ca_file: /etc/heat/ssl/mysql/ca-cert.pem
+ salt:
+ minion:
+ cert:
+ mysql-heat-client:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ common_name: mysql-heat-client
+ 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:mysql_heat_client_ssl_key_file}
+ cert_file: ${_param:mysql_heat_client_ssl_cert_file}
+ ca_file: ${_param:mysql_heat_ssl_ca_file}
+ user: heat
+ group: heat
+ mode: 640
diff --git a/salt/minion/cert/mysql/clients/openstack/keystone.yml b/salt/minion/cert/mysql/clients/openstack/keystone.yml
new file mode 100644
index 0000000..c0fe71d
--- /dev/null
+++ b/salt/minion/cert/mysql/clients/openstack/keystone.yml
@@ -0,0 +1,27 @@
+parameters:
+ _param:
+ salt_minion_ca_host: cfg01.${_param:cluster_domain}
+ salt_minion_ca_authority: salt_master_ca
+ mysql_keystone_client_ssl_key_file: /etc/keystone/ssl/mysql/client-key.pem
+ mysql_keystone_client_ssl_cert_file: /etc/keystone/ssl/mysql/client-cert.pem
+ mysql_keystone_ssl_ca_file: /etc/keystone/ssl/mysql/ca-cert.pem
+ salt:
+ minion:
+ cert:
+ mysql-keystone-client:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ common_name: mysql-keystone-client
+ 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:mysql_keystone_client_ssl_key_file}
+ cert_file: ${_param:mysql_keystone_client_ssl_cert_file}
+ ca_file: ${_param:mysql_keystone_ssl_ca_file}
+ user: keystone
+ group: keystone
+ mode: 640
diff --git a/salt/minion/cert/mysql/clients/openstack/nova.yml b/salt/minion/cert/mysql/clients/openstack/nova.yml
index 154a553..955d6eb 100644
--- a/salt/minion/cert/mysql/clients/openstack/nova.yml
+++ b/salt/minion/cert/mysql/clients/openstack/nova.yml
@@ -2,9 +2,9 @@
_param:
salt_minion_ca_host: cfg01.${_param:cluster_domain}
salt_minion_ca_authority: salt_master_ca
- mysql_nova_client_ssl_key_file: /etc/pki/mysql-nova-client/client-key.pem
- mysql_nova_client_ssl_cert_file: /etc/pki/mysql-nova-client/client-cert.pem
- mysql_nova_ssl_ca_file: /etc/pki/mysql-nova-client/ca-cert.pem
+ mysql_nova_client_ssl_key_file: /etc/nova/ssl/mysql/client-key.pem
+ mysql_nova_client_ssl_cert_file: /etc/nova/ssl/mysql/client-cert.pem
+ mysql_nova_ssl_ca_file: /etc/nova/ssl/mysql/ca-cert.pem
salt:
minion:
cert:
@@ -24,4 +24,4 @@
ca_file: ${_param:mysql_nova_ssl_ca_file}
user: nova
group: nova
- mode: 640
\ No newline at end of file
+ mode: 640
diff --git a/xtrabackup/server/single.yml b/xtrabackup/server/single.yml
index f72a92a..ad06a94 100644
--- a/xtrabackup/server/single.yml
+++ b/xtrabackup/server/single.yml
@@ -4,3 +4,9 @@
_param:
xtrabackup_qpress_source: pkg
xtrabackup_qpress_source_name: qpress
+ linux:
+ system:
+ cron:
+ user:
+ xtrabackup:
+ enabled: true
diff --git a/zookeeper/backup/server/single.yml b/zookeeper/backup/server/single.yml
index 6796d8a..a97df06 100644
--- a/zookeeper/backup/server/single.yml
+++ b/zookeeper/backup/server/single.yml
@@ -3,6 +3,12 @@
parameters:
_param:
zookeeper_backup_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzLUiHKAjfFXiZ3fsgx35uXF6VivfC5WFafu4QMalxmj6W+s277oCfdWA8Du5f1wtQXM73VQ5nHkXhM2UIfUMarsyhXK+BxKVrcgEBNHdKlDytaecUPyuOxTDdGWhN/DPv5/vL8NYWweEYBbNbLgU0Td7Rvm52TUXKThIDjeF7XDxX4ShXWipBSwU4boOUBtR8KWfga8fsqeBN+eacuAQFR3MrrOfVvAuWW6Bsf047cmd+V6Qv0raoW73Nu4M/ZAdTsaR5k62a0cHsSRoi3hCmNRqw+CZaQi8prQU6t26eWPEtznjp5EkPF+LLh8LxUoCfWqWT+Lxe8QQwT1nx/LCN
+ linux:
+ system:
+ cron:
+ user:
+ zookeeper:
+ enabled: true
zookeeper:
backup:
server: