Merge "Add class for alternative unstable salt repo"
diff --git a/apache/server/site/ironic.yml b/apache/server/site/ironic.yml
new file mode 100644
index 0000000..74173a0
--- /dev/null
+++ b/apache/server/site/ironic.yml
@@ -0,0 +1,11 @@
+parameters:
+ apache:
+ server:
+ site:
+ ironic:
+ name: 'ironic'
+ enabled: true
+ type: 'static'
+ root: '/var/www/httproot'
+ host:
+ name: ${linux:system:name}.${linux:system:domain}
diff --git a/aptly/server/docker.yml b/aptly/server/docker.yml
index ee8f4a2..3fa0a8e1 100644
--- a/aptly/server/docker.yml
+++ b/aptly/server/docker.yml
@@ -20,7 +20,6 @@
root_dir: /srv/volumes/aptly
no_config: true
gpg:
- keyring: .gnupg/trustdb.gpg
keypair_id: ${_param:aptly_gpg_keypair_id}
public_key: ${_param:aptly_gpg_public_key}
private_key: ${_param:aptly_gpg_private_key}
diff --git a/aptly/server/mirror/debian/cassandra.yml b/aptly/server/mirror/debian/cassandra.yml
index 3d32e6a..846df4e 100644
--- a/aptly/server/mirror/debian/cassandra.yml
+++ b/aptly/server/mirror/debian/cassandra.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ apt_mk_version: stable
aptly:
server:
mirror:
@@ -14,5 +16,5 @@
publisher:
component: extra
distributions:
- - trusty/nightly
- - xenial/nightly
+ - ubuntu-trusty/${_param:apt_mk_version}
+ - ubuntu-xenial/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/debian/elasticsearch.yml b/aptly/server/mirror/debian/elasticsearch.yml
index 942b70a..ece60af 100644
--- a/aptly/server/mirror/debian/elasticsearch.yml
+++ b/aptly/server/mirror/debian/elasticsearch.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ apt_mk_version: stable
aptly:
server:
mirror:
@@ -12,8 +14,8 @@
publisher:
component: elastic
distributions:
- - trusty/nightly
- - xenial/nightly
+ - trusty/${_param:apt_mk_version}
+ - xenial/${_param:apt_mk_version}
kibana:
source: http://packages.elasticsearch.org/kibana/4.4/debian
distribution: stable
@@ -24,8 +26,8 @@
publisher:
component: elastic
distributions:
- - trusty/nightly
- - xenial/nightly
+ - trusty/${_param:apt_mk_version}
+ - xenial/${_param:apt_mk_version}
kibana-46:
source: http://packages.elasticsearch.org/kibana/4.6/debian
distribution: stable
@@ -36,8 +38,8 @@
publisher:
component: elastic
distributions:
- - trusty/nightly
- - xenial/nightly
+ - trusty/${_param:apt_mk_version}
+ - xenial/${_param:apt_mk_version}
elasticsearch-curator:
source: http://packages.elastic.co/curator/4/debian
distribution: stable
@@ -48,5 +50,5 @@
publisher:
component: elastic
distributions:
- - trusty/nightly
- - xenial/nightly
+ - trusty/${_param:apt_mk_version}
+ - xenial/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/debian/sensu.yml b/aptly/server/mirror/debian/sensu.yml
index 10f3926..0361538 100644
--- a/aptly/server/mirror/debian/sensu.yml
+++ b/aptly/server/mirror/debian/sensu.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ apt_mk_version: stable
aptly:
server:
mirror:
@@ -10,7 +12,7 @@
gpgkeys:
- EB9C94BB
publisher:
- component: extra
+ component: sensu
distributions:
- - trusty/nightly
- - xenial/nightly
+ - ubuntu-trusty/${_param:apt_mk_version}
+ - ubuntu-xenial/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/init.yml b/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/init.yml
index 553e6dd..35ae854 100644
--- a/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/init.yml
+++ b/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk/init.yml
@@ -41,18 +41,6 @@
component: oc32
distributions:
- ubuntu-trusty/${_param:apt_mk_version}
- mcp_opencontrail_trusty_oc303:
- source: http://apt-mk.mirantis.com/trusty/
- distribution: ${_param:apt_mk_version}
- components: oc303
- architectures: amd64
- key_url: "http://apt-mk.mirantis.com/public.gpg"
- gpgkeys:
- - A76882D3
- publisher:
- component: oc303
- distributions:
- - ubuntu-trusty/${_param:apt_mk_version}
mirantis_openstack_trusty_extra:
source: http://apt-mk.mirantis.com/trusty/
distribution: ${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/trusty/salt.yml b/aptly/server/mirror/ubuntu/trusty/salt.yml
index bfc4168..4c243b8 100644
--- a/aptly/server/mirror/ubuntu/trusty/salt.yml
+++ b/aptly/server/mirror/ubuntu/trusty/salt.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ apt_mk_version: stable
aptly:
server:
mirror:
@@ -12,5 +14,5 @@
publisher:
component: salt
distributions:
- - ubuntu-trusty/nightly
+ - ubuntu-trusty/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/xenial/ceph_mirantis.yml b/aptly/server/mirror/ubuntu/xenial/ceph_mirantis.yml
index 3401a4e..eda0368 100644
--- a/aptly/server/mirror/ubuntu/xenial/ceph_mirantis.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ceph_mirantis.yml
@@ -1,9 +1,11 @@
parameters:
+ _param:
+ apt_mk_version: stable
aptly:
server:
mirror:
ubuntu-xenial-ceph-mirantis:
- source: http://eu.mirror.fuel-infra.org/decapod/ceph/apt
+ source: http://eu.mirror.fuel-infra.org/decapod/ceph/jewel-xenial
distribution: jewel-xenial
components: main
architectures: amd64
@@ -12,15 +14,4 @@
publisher:
component: ceph-mirantis
distributions:
- - ubuntu-xenial/nightly
- ubuntu-xenial-decapod-ceph-mirantis:
- source: http://eu.mirror.fuel-infra.org/decapod/ceph/apt
- distribution: jewel-xenial
- components: main
- architectures: amd64
- gpgkeys:
- - 460F3994
- publisher:
- component: main
- distributions:
- - ubuntu-xenial-decapod-ceph/nightly
+ - ubuntu-xenial/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/xenial/docker.yml b/aptly/server/mirror/ubuntu/xenial/docker.yml
index 819de76..4334374 100644
--- a/aptly/server/mirror/ubuntu/xenial/docker.yml
+++ b/aptly/server/mirror/ubuntu/xenial/docker.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ apt_mk_version: stable
aptly:
server:
mirror:
@@ -12,4 +14,4 @@
publisher:
component: docker
distributions:
- - ubuntu-xenial/nightly
+ - ubuntu-xenial/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/xenial/glusterfs.yml b/aptly/server/mirror/ubuntu/xenial/glusterfs.yml
index f8177a0..248de32 100644
--- a/aptly/server/mirror/ubuntu/xenial/glusterfs.yml
+++ b/aptly/server/mirror/ubuntu/xenial/glusterfs.yml
@@ -1,5 +1,6 @@
parameters:
_param:
+ apt_mk_version: stable
glusterfs_version: 3.8
aptly:
server:
@@ -14,4 +15,4 @@
publisher:
component: glusterfs
distributions:
- - ubuntu-xenial/nightly
+ - ubuntu-xenial/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/xenial/grafana.yml b/aptly/server/mirror/ubuntu/xenial/grafana.yml
index 2db0586..8dbb6ea 100644
--- a/aptly/server/mirror/ubuntu/xenial/grafana.yml
+++ b/aptly/server/mirror/ubuntu/xenial/grafana.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ apt_mk_version: stable
aptly:
server:
mirror:
@@ -12,4 +14,4 @@
publisher:
component: grafana
distributions:
- - ubuntu-xenial/nightly
+ - ubuntu-xenial/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/xenial/influxdb.yml b/aptly/server/mirror/ubuntu/xenial/influxdb.yml
index 87930b9..a2ac597 100644
--- a/aptly/server/mirror/ubuntu/xenial/influxdb.yml
+++ b/aptly/server/mirror/ubuntu/xenial/influxdb.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ apt_mk_version: stable
aptly:
server:
mirror:
@@ -12,4 +14,4 @@
publisher:
component: influxdb
distributions:
- - ubuntu-xenial/nightly
+ - ubuntu-xenial/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/xenial/maas.yml b/aptly/server/mirror/ubuntu/xenial/maas.yml
index 1382a09..0e4a559 100644
--- a/aptly/server/mirror/ubuntu/xenial/maas.yml
+++ b/aptly/server/mirror/ubuntu/xenial/maas.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ apt_mk_version: stable
aptly:
server:
mirror:
@@ -12,4 +14,4 @@
publisher:
component: maas
distributions:
- - xenial/nightly
+ - xenial/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/init.yml
similarity index 83%
rename from aptly/server/mirror/ubuntu/xenial/mcp/apt_mk.yml
rename to aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/init.yml
index 6272b69..a340a46 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/init.yml
@@ -41,18 +41,6 @@
component: oc32
distributions:
- ubuntu-xenial/${_param:apt_mk_version}
- mcp_opencontrail_xenial_oc303:
- source: http://apt-mk.mirantis.com/xenial/
- distribution: ${_param:apt_mk_version}
- components: oc303
- architectures: amd64
- key_url: "http://apt-mk.mirantis.com/public.gpg"
- gpgkeys:
- - A76882D3
- publisher:
- component: oc303
- distributions:
- - ubuntu-xenial/${_param:apt_mk_version}
mirantis_openstack_xenial_extra:
source: http://apt-mk.mirantis.com/xenial/
distribution: ${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/stable.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/stable.yml
new file mode 100644
index 0000000..56f8b08
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/stable.yml
@@ -0,0 +1,5 @@
+classes:
+- system.aptly.server.mirror.ubuntu.xenial.mcp.apt_mk
+parameters:
+ _param:
+ apt_mk_version: stable
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/testing.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/testing.yml
new file mode 100644
index 0000000..e5b0bd2
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/testing.yml
@@ -0,0 +1,5 @@
+classes:
+- system.aptly.server.mirror.ubuntu.xenial.mcp.apt_mk
+parameters:
+ _param:
+ apt_mk_version: testing
diff --git a/aptly/server/mirror/ubuntu/xenial/salt.yml b/aptly/server/mirror/ubuntu/xenial/salt.yml
index 9a9b34c..a100bde 100644
--- a/aptly/server/mirror/ubuntu/xenial/salt.yml
+++ b/aptly/server/mirror/ubuntu/xenial/salt.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ apt_mk_version: stable
aptly:
server:
mirror:
@@ -12,4 +14,4 @@
publisher:
component: salt
distributions:
- - ubuntu-xenial/nightly
+ - ubuntu-xenial/${_param:apt_mk_version}
diff --git a/aptly/server/repo/ubuntu/trusty/extra.yml b/aptly/server/repo/ubuntu/trusty/extra.yml
new file mode 100644
index 0000000..9a799b3
--- /dev/null
+++ b/aptly/server/repo/ubuntu/trusty/extra.yml
@@ -0,0 +1,15 @@
+parameters:
+ aptly:
+ server:
+ repo:
+ ubuntu-trusty-extra:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Extra packages for Ubuntu Trusty"
+ publisher:
+ component: extra
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
diff --git a/aptly/server/repo/ubuntu/trusty/opencontrail.yml b/aptly/server/repo/ubuntu/trusty/opencontrail.yml
new file mode 100644
index 0000000..5d98c42
--- /dev/null
+++ b/aptly/server/repo/ubuntu/trusty/opencontrail.yml
@@ -0,0 +1,136 @@
+parameters:
+ aptly:
+ server:
+ repo:
+ ubuntu-trusty-oc302:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.0.2.x"
+ publisher:
+ component: oc302
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-oc303:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.0.3.x"
+ publisher:
+ component: oc303
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-oc31:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.1"
+ publisher:
+ component: oc31
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-oc31-exp:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.1 experimental"
+ publisher:
+ component: oc31
+ distributions:
+ - trusty-dev/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-oc311:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.1.1.x"
+ publisher:
+ component: oc311
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-oc311-exp:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.1.1.x experimental"
+ publisher:
+ component: oc311
+ distributions:
+ - trusty-dev/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-oc32:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.2"
+ publisher:
+ component: oc32
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-oc323:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.2.3.x"
+ publisher:
+ component: oc323
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-oc32-exp:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.2 experimental"
+ publisher:
+ component: oc32
+ distributions:
+ - trusty-dev/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-oc40:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 4.0"
+ publisher:
+ component: oc40
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-oc40-exp:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 4.0 experimental"
+ publisher:
+ component: oc40
+ distributions:
+ - trusty-dev/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-oc666:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Opencontrail master"
+ publisher:
+ component: oc666
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
diff --git a/aptly/server/repo/ubuntu/trusty/openstack.yml b/aptly/server/repo/ubuntu/trusty/openstack.yml
new file mode 100644
index 0000000..09ace8f
--- /dev/null
+++ b/aptly/server/repo/ubuntu/trusty/openstack.yml
@@ -0,0 +1,37 @@
+parameters:
+ aptly:
+ server:
+ repo:
+ ubuntu-trusty-kilo:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Extra packages for Openstack Kilo"
+ publisher:
+ component: kilo
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-liberty:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Extra packages for Openstack Liberty"
+ publisher:
+ component: liberty
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
+ ubuntu-trusty-mitaka:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Extra packages for Openstack Mitaka"
+ publisher:
+ component: mitaka
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
diff --git a/aptly/server/repo/ubuntu/trusty/salt.yml b/aptly/server/repo/ubuntu/trusty/salt.yml
new file mode 100644
index 0000000..473c968
--- /dev/null
+++ b/aptly/server/repo/ubuntu/trusty/salt.yml
@@ -0,0 +1,15 @@
+parameters:
+ aptly:
+ server:
+ repo:
+ ubuntu-trusty-salt:
+ distribution: trusty
+ component: main
+ architectures: amd64
+ comment: "Salt formulas for Ubuntu Trusty"
+ publisher:
+ component: salt
+ distributions:
+ - trusty/nightly
+ architectures:
+ - amd64
diff --git a/aptly/server/repo/ubuntu/xenial/extra.yml b/aptly/server/repo/ubuntu/xenial/extra.yml
new file mode 100644
index 0000000..2af633f
--- /dev/null
+++ b/aptly/server/repo/ubuntu/xenial/extra.yml
@@ -0,0 +1,15 @@
+parameters:
+ aptly:
+ server:
+ repo:
+ ubuntu-xenial-extra:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Extra packages for Ubuntu Xenial"
+ publisher:
+ component: extra
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
diff --git a/aptly/server/repo/ubuntu/xenial/opencontrail.yml b/aptly/server/repo/ubuntu/xenial/opencontrail.yml
new file mode 100644
index 0000000..7f47577
--- /dev/null
+++ b/aptly/server/repo/ubuntu/xenial/opencontrail.yml
@@ -0,0 +1,136 @@
+parameters:
+ aptly:
+ server:
+ repo:
+ ubuntu-xenial-oc302:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.0.2.x"
+ publisher:
+ component: oc302
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-oc303:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.0.3.x"
+ publisher:
+ component: oc303
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-oc31:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.1"
+ publisher:
+ component: oc31
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-oc31-exp:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.1 experimental"
+ publisher:
+ component: oc31
+ distributions:
+ - xenial-dev/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-oc311:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.1.1.x"
+ publisher:
+ component: oc311
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-oc311-exp:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.1.1.x experimental"
+ publisher:
+ component: oc311
+ distributions:
+ - xenial-dev/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-oc32:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.2"
+ publisher:
+ component: oc32
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-oc323:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.2.3.x"
+ publisher:
+ component: oc323
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-oc32-exp:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 3.2 experimental"
+ publisher:
+ component: oc32
+ distributions:
+ - xenial-dev/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-oc40:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 4.0"
+ publisher:
+ component: oc40
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-oc40-exp:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail 4.0 experimental"
+ publisher:
+ component: oc40
+ distributions:
+ - xenial-dev/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-oc666:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Opencontrail master"
+ publisher:
+ component: oc666
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
diff --git a/aptly/server/repo/ubuntu/xenial/openstack.yml b/aptly/server/repo/ubuntu/xenial/openstack.yml
new file mode 100644
index 0000000..8639807
--- /dev/null
+++ b/aptly/server/repo/ubuntu/xenial/openstack.yml
@@ -0,0 +1,59 @@
+parameters:
+ aptly:
+ server:
+ repo:
+ ubuntu-xenial-kilo:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Extra packages for Openstack Kilo"
+ publisher:
+ component: kilo
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-liberty:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Extra packages for Openstack Liberty"
+ publisher:
+ component: liberty
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-mitaka:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Extra packages for Openstack Mitaka"
+ publisher:
+ component: mitaka
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-newton:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Extra packages for Openstack Newton"
+ publisher:
+ component: newton
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
+ ubuntu-xenial-ocata:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Extra packages for Openstack Ocata"
+ publisher:
+ component: ocata
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
diff --git a/aptly/server/repo/ubuntu/xenial/salt.yml b/aptly/server/repo/ubuntu/xenial/salt.yml
new file mode 100644
index 0000000..df74fc2
--- /dev/null
+++ b/aptly/server/repo/ubuntu/xenial/salt.yml
@@ -0,0 +1,15 @@
+parameters:
+ aptly:
+ server:
+ repo:
+ ubuntu-xenial-salt:
+ distribution: xenial
+ component: main
+ architectures: amd64
+ comment: "Salt formulas for Ubuntu Xenial"
+ publisher:
+ component: salt
+ distributions:
+ - xenial/nightly
+ architectures:
+ - amd64
diff --git a/artifactory/client/init.yml b/artifactory/client/init.yml
new file mode 100644
index 0000000..9aea48b
--- /dev/null
+++ b/artifactory/client/init.yml
@@ -0,0 +1,22 @@
+parameters:
+ artifactory:
+ client:
+ enabled: True
+ source:
+ engine: pip
+ server:
+ host: ${_param:artifactory_server_host}
+ port: ${_param:artifactory_server_port}
+ user: ${_param:artifactory_client_user}
+ password: ${_param:artifactory_client_password}
+ ssl_verify: False
+ repo:
+ local_artifactory_repo:
+ name: local_artifactory_repo
+ package_type: generic
+ repo_type: local
+ remote_artifactory_repo:
+ name: remote_artifactory_repo
+ package_type: generic
+ repo_type: remote
+ url: "http://artifactory.mcp.mirantis.net/"
diff --git a/cassandra/backup/client/single.yml b/cassandra/backup/client/single.yml
new file mode 100644
index 0000000..90fdc5d
--- /dev/null
+++ b/cassandra/backup/client/single.yml
@@ -0,0 +1,13 @@
+classes:
+- system.openssh.client.root
+parameters:
+ _param:
+ cassandra_remote_backup_server: cfg01
+ cassandra:
+ backup:
+ client:
+ enabled: true
+ full_backups_to_keep: 3
+ hours_before_full: 24
+ target:
+ host: ${_param:cassandra_remote_backup_server}
diff --git a/cassandra/backup/server/single.yml b/cassandra/backup/server/single.yml
new file mode 100644
index 0000000..1762504
--- /dev/null
+++ b/cassandra/backup/server/single.yml
@@ -0,0 +1,13 @@
+parameters:
+ _param:
+ cassandra_backup_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzLUiHKAjfFXiZ3fsgx35uXF6VivfC5WFafu4QMalxmj6W+s277oCfdWA8Du5f1wtQXM73VQ5nHkXhM2UIfUMarsyhXK+BxKVrcgEBNHdKlDytaecUPyuOxTDdGWhN/DPv5/vL8NYWweEYBbNbLgU0Td7Rvm52TUXKThIDjeF7XDxX4ShXWipBSwU4boOUBtR8KWfga8fsqeBN+eacuAQFR3MrrOfVvAuWW6Bsf047cmd+V6Qv0raoW73Nu4M/ZAdTsaR5k62a0cHsSRoi3hCmNRqw+CZaQi8prQU6t26eWPEtznjp5EkPF+LLh8LxUoCfWqWT+Lxe8QQwT1nx/LCN
+ cassandra:
+ backup:
+ server:
+ enabled: true
+ hours_before_full: 24
+ full_backups_to_keep: 5
+ key:
+ cassandra_pub_key:
+ enabled: true
+ key: ${_param:cassandra_backup_public_key}
diff --git a/cinder/control/backend/solidfire.yml b/cinder/control/backend/solidfire.yml
new file mode 100644
index 0000000..20d708c
--- /dev/null
+++ b/cinder/control/backend/solidfire.yml
@@ -0,0 +1,14 @@
+parameters:
+ cinder:
+ controller:
+ defaul_volume_type: normal-storage
+ backend:
+ solidfire:
+ engine: solidfire
+ type_name: normal-storage
+ engine: solidfire
+ san_ip: ${_param:san_ip_address}
+ san_login: ${_param:san_login}
+ san_password: ${_param:san_password}
+ clustername: ${_param:san_cluster_name}
+ sf_emulate_512: true
\ No newline at end of file
diff --git a/cinder/volume/backend/solidfire.yml b/cinder/volume/backend/solidfire.yml
new file mode 100644
index 0000000..3a38e03
--- /dev/null
+++ b/cinder/volume/backend/solidfire.yml
@@ -0,0 +1,15 @@
+parameters:
+ cinder:
+ volume:
+ enabled: true
+ default_volume_type: normal_storage
+ backend:
+ solidfire:
+ engine: solidfire
+ type_name: normal-storage
+ engine: solidfire
+ san_ip: ${_param:san_ip_address}
+ san_login: ${_param:san_login}
+ san_password: ${_param:san_password}
+ clustername: ${_param:san_cluster_name}
+ sf_emulate_512: true
diff --git a/cinder/volume/local.yml b/cinder/volume/local.yml
new file mode 100644
index 0000000..794a33e
--- /dev/null
+++ b/cinder/volume/local.yml
@@ -0,0 +1,14 @@
+classes:
+- service.cinder.volume.local
+parameters:
+ cinder:
+ volume:
+ enabled: True
+ database:
+ host: ${_param:single_address}
+ glance:
+ host: ${_param:single_address}
+ message_queue:
+ host: ${_param:single_address}
+ identity:
+ host: ${_param:single_address}
diff --git a/designate/server/backend/bind.yml b/designate/server/backend/bind.yml
index 2b40424..c057eb7 100644
--- a/designate/server/backend/bind.yml
+++ b/designate/server/backend/bind.yml
@@ -1,15 +1,18 @@
parameters:
+ _param:
+ designate_bind9_rndc_algorithm: hmac-sha512
designate:
server:
backend:
bind9:
rndc_key: "${_param:designate_bind9_rndc_key}"
+ rndc_algorithm: "${_param:designate_bind9_rndc_algorithm}"
bind:
server:
key:
designate:
secret: "${_param:designate_bind9_rndc_key}"
- algorithm: hmac-sha512
+ algorithm: "${_param:designate_bind9_rndc_algorithm}"
allow_new_zones: true
query: true
control:
@@ -33,4 +36,4 @@
key:
designate:
secret: "${_param:designate_bind9_rndc_key}"
- algorithm: hmac-sha512
+ algorithm: "${_param:designate_bind9_rndc_algorithm}"
diff --git a/designate/server/backend/pdns.yml b/designate/server/backend/pdns.yml
new file mode 100644
index 0000000..50ec3a2
--- /dev/null
+++ b/designate/server/backend/pdns.yml
@@ -0,0 +1,25 @@
+parameters:
+ designate:
+ server:
+ backend:
+ pdns4:
+ api_token: ${_param:designate_pdns_api_key}
+ api_endpoint: ${_param:designate_pdns_api_endpoint}
+ powerdns:
+ server:
+ enabled: true
+ bind:
+ address: ${_param:single_address}
+ port: 53
+ backend:
+ engine: sqlite
+ dbname: pdns.sqlite3
+ dbpath: /var/lib/powerdns
+ api:
+ enabled: true
+ key: ${_param:designate_pdns_api_key}
+ webserver:
+ enabled: true
+ address: ${_param:single_address}
+ port: ${_param:powerdns_webserver_port}
+ password: ${_param:powerdns_webserver_password}
diff --git a/designate/server/cluster.yml b/designate/server/cluster.yml
index 573ac66..33eb632 100644
--- a/designate/server/cluster.yml
+++ b/designate/server/cluster.yml
@@ -43,17 +43,14 @@
user: openstack
password: ${_param:rabbitmq_openstack_password}
virtual_host: '/openstack'
- pool:
- pool_id: ${_param:designate_pool_id}
- nameservers:
- - uuid: ${_param:designate_node1_uuid}
- host: ${_param:cluster_node01_address}
- port: 53
- - uuid: ${_param:designate_node2_uuid}
- host: ${_param:cluster_node02_address}
- port: 53
- targets:
- uuid: ${_param:designate_target_uuid}
- options: 'port: 53, host: 127.0.0.1'
- masters: 127.0.0.1:5354
- type: ${_param:designate_target_type}
+ pools:
+ default:
+ description: 'default pool'
+ ns_records: ${_param:designate_pool_ns_records}
+ nameservers: ${_param:designate_pool_nameservers}
+ targets:
+ default:
+ type: ${_param:designate_pool_target_type}
+ description: 'default target'
+ masters: ${_param:designate_pool_target_masters}
+ options: ${_param:designate_pool_target_options}
diff --git a/designate/server/single.yml b/designate/server/single.yml
index bef6e4d..623c357 100644
--- a/designate/server/single.yml
+++ b/designate/server/single.yml
@@ -1,6 +1,5 @@
classes:
- service.designate.server.single
-- service.haproxy.proxy.single
parameters:
designate:
server:
@@ -23,7 +22,7 @@
password: ${_param:mysql_designate_password}
identity:
engine: keystone
- host: ${_param:openstack_control_address}
+ host: ${_param:single_address}
port: 35357
tenant: service
user: designate
@@ -35,3 +34,14 @@
user: openstack
password: ${_param:rabbitmq_openstack_password}
virtual_host: '/openstack'
+ pools:
+ default:
+ description: 'default pool'
+ ns_records: ${_param:designate_pool_ns_records}
+ nameservers: ${_param:designate_pool_nameservers}
+ targets:
+ default:
+ type: ${_param:designate_pool_target_type}
+ description: 'default target'
+ masters: ${_param:designate_pool_target_masters}
+ options: ${_param:designate_pool_target_options}
diff --git a/devops_portal/service/elasticsearch.yml b/devops_portal/service/elasticsearch.yml
index b945af3..647c4ef 100644
--- a/devops_portal/service/elasticsearch.yml
+++ b/devops_portal/service/elasticsearch.yml
@@ -6,5 +6,5 @@
configure_proxy: true
endpoint:
address: ${_param:haproxy_elasticsearch_bind_host}
- port: ${_param:haproxy_elasticsearch_bind_port}
+ port: ${_param:haproxy_elasticsearch_http_bind_port}
https: ${_param:haproxy_elasticsearch_ssl:enabled}
diff --git a/devops_portal/service/janitor_monkey.yml b/devops_portal/service/janitor_monkey.yml
new file mode 100644
index 0000000..73f2e7c
--- /dev/null
+++ b/devops_portal/service/janitor_monkey.yml
@@ -0,0 +1,10 @@
+parameters:
+ devops_portal:
+ config:
+ service:
+ janitormonkey:
+ configure_proxy: true
+ endpoint:
+ address: ${_param:haproxy_janitor_monkey_bind_host}
+ port: ${_param:haproxy_janitor_monkey_bind_port}
+ https: ${_param:haproxy_janitor_monkey_ssl:enabled}
diff --git a/devops_portal/service/security_monkey.yml b/devops_portal/service/security_monkey.yml
index 3638e56..ba5fe81 100644
--- a/devops_portal/service/security_monkey.yml
+++ b/devops_portal/service/security_monkey.yml
@@ -8,3 +8,6 @@
address: ${_param:haproxy_security_monkey_bind_host}
port: ${_param:haproxy_security_monkey_bind_port}
https: ${_param:haproxy_security_monkey_ssl:enabled}
+ credentials:
+ username: ${_param:security_monkey_user}
+ password: ${_param:security_monkey_password}
diff --git a/docker/swarm/network/runbook.yml b/docker/swarm/network/runbook.yml
new file mode 100644
index 0000000..557b852
--- /dev/null
+++ b/docker/swarm/network/runbook.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ docker_runbook_subnet: 10.40.0.0/24
+ docker:
+ client:
+ network:
+ runbook:
+ subnet: ${_param:docker_runbook_subnet}
+ driver: overlay
+ attachable: true
diff --git a/docker/swarm/service/dashboard/grafana_server.yml b/docker/swarm/service/dashboard/grafana_server.yml
deleted file mode 100644
index 9da7aa5..0000000
--- a/docker/swarm/service/dashboard/grafana_server.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-parameters:
- _param:
- docker_grafana_replicas: 1
- grafana_database_type: sqlite3
- grafana_database_host: localhost
- grafana_database_port: 3306
- grafana_database_password: password
- docker:
- client:
- service:
- grafana_server:
- replicas: ${_param:docker_grafana_replicas}
- environment:
- GF_DATABASE_TYPE: ${_param:grafana_database_type}
- GF_DATABASE_NAME: grafana
- GF_DATABASE_USER: grafana
- GF_DATABASE_PASSWORD: ${_param:grafana_database_password}
- GF_DATABASE_HOST: "${_param:grafana_database_host}:${_param:grafana_database_port}"
- GF_SECURITY_ADMIN_PASSWORD: ${_param:grafana_admin_password}
- restart:
- condition: any
- image: ${_param:docker_image_grafana}
- ports:
- - 15013:3000
diff --git a/docker/swarm/service/jenkins.yml b/docker/swarm/service/jenkins.yml
index b2fdeb6..a39b7a4 100644
--- a/docker/swarm/service/jenkins.yml
+++ b/docker/swarm/service/jenkins.yml
@@ -1,6 +1,6 @@
parameters:
_param:
- docker_image_jenkins: tcpcloud/jenkins:2.52
+ docker_image_jenkins: tcpcloud/jenkins:2.63
docker:
client:
service:
diff --git a/docker/swarm/service/monitoring/prometheus_alertmanager.yml b/docker/swarm/service/monitoring/prometheus_alertmanager.yml
deleted file mode 100644
index 942fa42..0000000
--- a/docker/swarm/service/monitoring/prometheus_alertmanager.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-classes:
-- service.prometheus.alertmanager.container
-parameters:
- docker:
- client:
- service:
- prometheus_alertmanager:
- network: monitoring
- replicas: 2
- environment:
- config_dir: /opt/alertmanager/config
- bind_port: ${prometheus:alertmanager:bind:port}
- bind_address: ${prometheus:alertmanager:bind:address}
- discovery_domain: 'prometheus_alertmanager'
- restart:
- condition: any
- image: ${_param:docker_image_alertmanager}
- ports:
- - 15011:${prometheus:alertmanager:bind:port}
- volume:
- site:
- type: bind
- source: /srv/volumes/prometheus
- destination: /opt/alertmanager/config
diff --git a/docker/swarm/service/monitoring/prometheus_pushgateway.yml b/docker/swarm/service/monitoring/prometheus_pushgateway.yml
deleted file mode 100644
index 850f66e..0000000
--- a/docker/swarm/service/monitoring/prometheus_pushgateway.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-classes:
-- service.prometheus.pushgateway.container
-parameters:
- docker:
- client:
- service:
- prometheus_pushgateway:
- network: monitoring
- replicas: 2
- environment:
- bind_port: ${prometheus:pushgateway:bind:port}
- bind_address: ${prometheus:pushgateway:bind:address}
- restart:
- condition: any
- image: ${_param:docker_image_pushgateway}
- ports:
- - 15012:${prometheus:pushgateway:bind:port}
diff --git a/docker/swarm/service/monitoring/prometheus_server.yml b/docker/swarm/service/monitoring/prometheus_server.yml
deleted file mode 100644
index 5c0a480..0000000
--- a/docker/swarm/service/monitoring/prometheus_server.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-classes:
-- service.prometheus.server.container
-parameters:
- docker:
- client:
- service:
- prometheus_server:
- network: monitoring
- replicas: 1
- environment:
- config_dir: /opt/prometheus/config
- bind_port: ${prometheus:server:bind:port}
- bind_address: ${prometheus:server:bind:address}
- alertmanager_port: ${prometheus:alertmanager:bind:port}
- storage_local_engine: ${prometheus:server:storage:local:engine}
- storage_local_retention: ${prometheus:server:storage:local:retention}
- storage_local_memory_chunks: ${prometheus:server:storage:local:memory_chunks}
- storage_local_max_chunks_to_persist: ${prometheus:server:storage:local:max_chunks_to_persist}
- storage_local_num_fingerprint_mutexes: ${prometheus:server:storage:local:num_fingerprint_mutexes}
- discovery_domain: 'prometheus_alertmanager'
- restart:
- condition: any
- image: ${_param:docker_image_prometheus}
- ports:
- - 15010:${prometheus:server:bind:port}
- volume:
- site:
- type: bind
- source: /srv/volumes/prometheus
- destination: /opt/prometheus/config
diff --git a/docker/swarm/stack/artifactory.yml b/docker/swarm/stack/artifactory.yml
index cda48fe..411b22e 100644
--- a/docker/swarm/stack/artifactory.yml
+++ b/docker/swarm/stack/artifactory.yml
@@ -13,7 +13,7 @@
deploy:
restart_policy:
condition: any
- image: ${_param:docker_image_repository:cicd}/artifactory
+ image: ${_param:docker_image_repository:cicd}
ports:
- 18082:8081
volumes:
diff --git a/docker/swarm/stack/devops_portal.yml b/docker/swarm/stack/devops_portal.yml
index c894d33..f553114 100644
--- a/docker/swarm/stack/devops_portal.yml
+++ b/docker/swarm/stack/devops_portal.yml
@@ -1,7 +1,7 @@
parameters:
_param:
docker_devops_portal_replicas: 1
- docker_image_devops_portal: docker-sandbox.sandbox.mirantis.net/ikharin/oss/devops-portal:latest
+ docker_image_devops_portal: docker-prod-local.artifactory.mirantis.com/mirantis/oss/devops-portal:latest
docker:
client:
stack:
diff --git a/docker/swarm/stack/docker.yml b/docker/swarm/stack/docker.yml
index a680d4c..7f8c153 100644
--- a/docker/swarm/stack/docker.yml
+++ b/docker/swarm/stack/docker.yml
@@ -1,7 +1,7 @@
parameters:
_param:
docker_image_registry: registry:2
- docker_image_visualizer: manomarks/visualizer
+ docker_image_visualizer: dockersamples/visualizer
docker:
client:
stack:
diff --git a/docker/swarm/stack/elasticsearch.yml b/docker/swarm/stack/elasticsearch.yml
index 083388c..5ee295c 100644
--- a/docker/swarm/stack/elasticsearch.yml
+++ b/docker/swarm/stack/elasticsearch.yml
@@ -1,19 +1,29 @@
parameters:
_param:
elasticsearch_replicas: 1
- docker_image_oss_elasticsearch: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/elasticsearch:latest
+ docker_image_elasticsearch: docker.elastic.co/elasticsearch/elasticsearch:5.4.1
+ elasticsearch_cluster_name: oss-cluster
+ elasticsearch_xpack_security_enabled: 'false'
+ elasticsearch_discovery_zen_minimum_master_nodes: 1
+ elasticsearch_discovery_type: single-node
docker:
client:
stack:
elasticsearch:
+ environment:
+ cluster.name: ${_param:elasticsearch_cluster_name}
+ xpack.security.enabled: ${_param:elasticsearch_xpack_security_enabled}
+ discovery.zen.minimum_master_nodes: ${_param:elasticsearch_discovery_zen_minimum_master_nodes}
+ discovery.type: ${_param:elasticsearch_discovery_type}
service:
cluster:
- image: ${_param:docker_image_oss_elasticsearch}
+ image: ${_param:docker_image_elasticsearch}
deploy:
replicas: ${_param:elasticsearch_replicas}
restart_policy:
condition: any
ports:
- - ${_param:haproxy_elasticsearch_exposed_port}:${_param:haproxy_elasticsearch_bind_port}
+ - ${_param:haproxy_elasticsearch_http_exposed_port}:${_param:haproxy_elasticsearch_http_bind_port}
+ - ${_param:haproxy_elasticsearch_binary_exposed_port}:${_param:haproxy_elasticsearch_binary_bind_port}
volumes:
- /srv/volumes/elasticsearch:/usr/share/elasticsearch/data
diff --git a/docker/swarm/stack/janitor_monkey.yml b/docker/swarm/stack/janitor_monkey.yml
new file mode 100644
index 0000000..426a75c
--- /dev/null
+++ b/docker/swarm/stack/janitor_monkey.yml
@@ -0,0 +1,65 @@
+parameters:
+ _param:
+ docker_janitor_monkey_replicas: 1
+ docker_image_mongodb: library/mongo:3.4
+ docker_mongodb_admin_username: admin
+ docker_mongodb_admin_password: password
+ docker_image_janitor_monkey: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/janitor_monkey:6040
+ janitor_monkey_enabled: true
+ janitor_monkey_dryrun_mode: false
+ janitor_monkey_base_url: http://${_param:haproxy_janitor_monkey_bind_host}:${_param:haproxy_janitor_monkey_bind_port}
+ janitor_monkey_mongodb_host: ${_param:haproxy_mongodb_bind_host}
+ janitor_monkey_mongodb_port: ${_param:haproxy_mongodb_bind_port}
+ janitor_monkey_mongodb_db: mcp_cloud
+ janitor_monkey_mongodb_username: janitor
+ janitor_monkey_mongodb_password: password
+ janitor_monkey_elasticsearch: ${_param:haproxy_elasticsearch_bind_host}:${_param:haproxy_elasticsearch_binary_bind_port}
+ janitor_monkey_cloudfire_region: RegionOne
+ janitor_monkey_cis_clustername: ${_param:elasticsearch_cluster_name}
+ janitor_monkey_openstack:
+ project_domain_name: default
+ project_name: admin
+ docker:
+ client:
+ stack:
+ janitor_monkey:
+ environment:
+ MONGO_INITDB_ROOT_USERNAME: ${_param:docker_mongodb_admin_username}
+ MONGO_INITDB_ROOT_PASSWORD: ${_param:docker_mongodb_admin_password}
+ simianarmy.recorder.mongodb.host: ${_param:janitor_monkey_mongodb_host}
+ simianarmy.recorder.mongodb.port: ${_param:janitor_monkey_mongodb_port}
+ simianarmy.recorder.mongodb.database: ${_param:janitor_monkey_mongodb_db}
+ simianarmy.recorder.mongodb.user: ${_param:janitor_monkey_mongodb_username}
+ simianarmy.recorder.mongodb.password: ${_param:janitor_monkey_mongodb_password}
+ simianarmy.base.url: ${_param:janitor_monkey_base_url}
+ simianarmy.janitor.enabled: ${_param:janitor_monkey_enabled}
+ simianarmy.janitor.leashed: ${_param:janitor_monkey_dryrun_mode}
+ simianarmy.calendar.isMonkeyTime: true
+ simianarmy.janitor.resources.sdb.domain: ${_param:janitor_monkey_mongodb_db}
+ simianarmy.client.cloudfire.cis.hosts: ${_param:janitor_monkey_elasticsearch}
+ simianarmy.client.cloudfire.region: ${_param:janitor_monkey_cloudfire_region}
+ simianarmy.client.cloudfire.cis.clustername: ${_param:janitor_monkey_cis_clustername}
+ simianarmy.client.cloudfire.identityEndpoint: ${_param:janitor_monkey_openstack:auth_url}
+ simianarmy.client.cloudfire.accountKey: ${_param:janitor_monkey_openstack:username}
+ simianarmy.client.cloudfire.secretKey: ${_param:janitor_monkey_openstack:password}
+ simianarmy.client.cloudfire.domain: ${_param:janitor_monkey_openstack:project_domain_name}
+ simianarmy.client.cloudfire.project: ${_param:janitor_monkey_openstack:project_name}
+ service:
+ mongodb:
+ image: ${_param:docker_image_mongodb}
+ deploy:
+ replicas: ${_param:docker_janitor_monkey_replicas}
+ restart_policy:
+ condition: any
+ ports:
+ - ${_param:haproxy_mongodb_exposed_port}:${_param:haproxy_mongodb_bind_port}
+ volumes:
+ - /srv/volumes/mongodb:/data/db
+ api:
+ image: ${_param:docker_image_janitor_monkey}
+ deploy:
+ replicas: ${_param:docker_janitor_monkey_replicas}
+ restart_policy:
+ condition: any
+ ports:
+ - ${_param:haproxy_janitor_monkey_exposed_port}:8080
diff --git a/docker/swarm/stack/jenkins/init.yml b/docker/swarm/stack/jenkins/init.yml
new file mode 100644
index 0000000..ab4f07e
--- /dev/null
+++ b/docker/swarm/stack/jenkins/init.yml
@@ -0,0 +1,3 @@
+classes:
+ - system.docker.swarm.stack.jenkins.master
+ - system.docker.swarm.stack.jenkins.slave
diff --git a/docker/swarm/stack/jenkins.yml b/docker/swarm/stack/jenkins/master.yml
similarity index 63%
rename from docker/swarm/stack/jenkins.yml
rename to docker/swarm/stack/jenkins/master.yml
index acea08b..54b0093 100644
--- a/docker/swarm/stack/jenkins.yml
+++ b/docker/swarm/stack/jenkins/master.yml
@@ -1,15 +1,15 @@
parameters:
_param:
- docker_image_jenkins: tcpcloud/jenkins:2.52
+ docker_image_jenkins: tcpcloud/jenkins:2.63
docker:
client:
stack:
jenkins:
- environment:
- JAVA_OPTS: "-Djenkins.install.runSetupWizard=false -Dhudson.DNSMultiCast.disabled=true -Dhudson.udp=-1 -Dhudson.footerURL=https://www.mirantis.com"
- JENKINS_NUM_EXECUTORS: 4
service:
master:
+ environment:
+ JAVA_OPTS: "-Djenkins.install.runSetupWizard=false -Dhudson.DNSMultiCast.disabled=true -Dhudson.udp=-1 -Dhudson.footerURL=https://www.mirantis.com"
+ JENKINS_NUM_EXECUTORS: 4
deploy:
restart_policy:
condition: any
diff --git a/docker/swarm/stack/jenkins/slave.yml b/docker/swarm/stack/jenkins/slave.yml
new file mode 100644
index 0000000..fc281b7
--- /dev/null
+++ b/docker/swarm/stack/jenkins/slave.yml
@@ -0,0 +1,74 @@
+parameters:
+ _param:
+ docker_image_jenkins_slave: tcpcloud/jnlp-slave
+ jenkins_master_host: ${_param:control_vip_address}
+ jenkins_master_port: 8081
+ jenkins_secret: "7c40abc1a7df2d26dd6b2e4421af17218df75a16fcbd5e3aa6017d9f47eaeabe"
+ jenkins_master_url: http://${_param:jenkins_master_host}:${_param:jenkins_master_port}
+ jenkins_slave_user: ${_param:jenkins_client_user}
+ jenkins_slave_password: ${_param:jenkins_client_password}
+ docker:
+ client:
+ stack:
+ jenkins:
+ service:
+ slave01:
+ environment:
+ JENKINS_URL: ${_param:jenkins_master_url}
+ JENKINS_AGENT_NAME: slave01
+ JENKINS_UPDATE_SLAVE: 'true'
+ JENKINS_LOGIN: ${_param:jenkins_slave_user}
+ JENKINS_PASSWORD: ${_param:jenkins_slave_password}
+ deploy:
+ restart_policy:
+ condition: any
+ placement:
+ constraints:
+ - "node.hostname == ${_param:cluster_node01_name}"
+ 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
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /usr/bin/docker:/usr/bin/docker:ro
+ - /var/lib/jenkins:/var/lib/jenkins
+ slave02:
+ environment:
+ JENKINS_URL: ${_param:jenkins_master_url}
+ JENKINS_AGENT_NAME: slave02
+ JENKINS_UPDATE_SLAVE: 'true'
+ JENKINS_LOGIN: ${_param:jenkins_slave_user}
+ JENKINS_PASSWORD: ${_param:jenkins_slave_password}
+ deploy:
+ restart_policy:
+ condition: any
+ placement:
+ constraints:
+ - "node.hostname == ${_param:cluster_node02_name}"
+ 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
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /usr/bin/docker:/usr/bin/docker:ro
+ - /var/lib/jenkins:/var/lib/jenkins
+ slave03:
+ environment:
+ JENKINS_URL: ${_param:jenkins_master_url}
+ JENKINS_AGENT_NAME: slave03
+ JENKINS_UPDATE_SLAVE: 'true'
+ JENKINS_LOGIN: ${_param:jenkins_slave_user}
+ JENKINS_PASSWORD: ${_param:jenkins_slave_password}
+ deploy:
+ restart_policy:
+ condition: any
+ placement:
+ constraints:
+ - "node.hostname == ${_param:cluster_node03_name}"
+ 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
+ - /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/monitoring.yml b/docker/swarm/stack/monitoring.yml
deleted file mode 100644
index bbc2d24..0000000
--- a/docker/swarm/stack/monitoring.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-classes:
-- service.prometheus.server.container
-- service.prometheus.alertmanager.container
-- service.prometheus.pushgateway.container
-parameters:
- docker:
- client:
- stack:
- monitoring:
- network:
- monitoring:
- driver: overlay
- driver_opts:
- encrypted: 1
- service:
- alertmanager:
- networks:
- - monitoring
- deploy:
- replicas: 2
- restart_policy:
- condition: any
- image: ${_param:docker_image_alertmanager}
- ports:
- - 15011:${prometheus:alertmanager:bind:port}
- volumes:
- - /srv/volumes/prometheus:/opt/alertmanager/config
- environment:
- config_dir: /opt/alertmanager/config
- bind_port: ${prometheus:alertmanager:bind:port}
- bind_address: ${prometheus:alertmanager:bind:address}
- discovery_domain: 'monitoring_alertmanager'
- pushgateway:
- networks:
- - monitoring
- deploy:
- replicas: 2
- restart_policy:
- condition: any
- environment:
- bind_port: ${prometheus:pushgateway:bind:port}
- bind_address: ${prometheus:pushgateway:bind:address}
- image: ${_param:docker_image_pushgateway}
- ports:
- - 15012:${prometheus:pushgateway:bind:port}
- server:
- networks:
- - monitoring
- deploy:
- replicas: 1
- restart_policy:
- condition: any
- image: ${_param:docker_image_prometheus}
- ports:
- - 15010:${prometheus:server:bind:port}
- volumes:
- - /srv/volumes/prometheus:/opt/prometheus/config
- environment:
- config_dir: /opt/prometheus/config
- bind_port: ${prometheus:server:bind:port}
- bind_address: ${prometheus:server:bind:address}
- alertmanager_port: ${prometheus:alertmanager:bind:port}
- storage_local_engine: ${prometheus:server:storage:local:engine}
- storage_local_retention: ${prometheus:server:storage:local:retention}
- storage_local_memory_chunks: ${prometheus:server:storage:local:memory_chunks}
- storage_local_max_chunks_to_persist: ${prometheus:server:storage:local:max_chunks_to_persist}
- storage_local_num_fingerprint_mutexes: ${prometheus:server:storage:local:num_fingerprint_mutexes}
- discovery_domain: 'monitoring_alertmanager'
diff --git a/docker/swarm/stack/monitoring/init.yml b/docker/swarm/stack/monitoring/init.yml
new file mode 100644
index 0000000..e5d11e1
--- /dev/null
+++ b/docker/swarm/stack/monitoring/init.yml
@@ -0,0 +1,121 @@
+classes:
+- system.prometheus.alertmanager.container
+- system.prometheus.pushgateway.container
+- system.prometheus.remote_storage_adapter.container
+- system.prometheus.server.container
+- system.telegraf.agent.remote
+parameters:
+ docker:
+ client:
+ stack:
+ monitoring:
+ network:
+ monitoring:
+ driver: overlay
+ driver_opts:
+ encrypted: 1
+ service:
+ remote_storage_adapter:
+ networks:
+ - monitoring
+ deploy:
+ replicas: 1
+ labels:
+ com.mirantis.monitoring: "remote_storage_adapter"
+ restart_policy:
+ condition: any
+ labels:
+ com.mirantis.monitoring: "remote_storage_adapter"
+ image: ${_param:docker_image_remote_storage_adapter}
+ ports:
+ - 15015:${prometheus:remote_storage_adapter:bind:port}
+ environment:
+ bind_port: ${prometheus:remote_storage_adapter:bind:port}
+ bind_address: ${prometheus:remote_storage_adapter:bind:address}
+ influxdb_url: ${_param:prometheus_influxdb_url}
+ influxdb_db: ${_param:prometheus_influxdb_db}
+ influxdb_username: ${_param:prometheus_influxdb_username}
+ influxdb_password: ${_param:prometheus_influxdb_password}
+ remote_agent:
+ networks:
+ - monitoring
+ deploy:
+ replicas: 1
+ labels:
+ com.mirantis.monitoring: "remote_agent"
+ restart_policy:
+ condition: any
+ labels:
+ com.mirantis.monitoring: "remote_agent"
+ image: ${_param:docker_image_remote_agent}
+ ports:
+ - 15014:${telegraf:remote_agent:output:prometheus_client:bind:port}
+ volumes:
+ - ${telegraf:remote_agent:dir:config}:/etc/telegraf
+ - ${telegraf:remote_agent:dir:config_d}:/etc/telegraf/telegraf.d
+ alertmanager:
+ networks:
+ - monitoring
+ deploy:
+ replicas: 2
+ labels:
+ com.mirantis.monitoring: "alertmanager"
+ restart_policy:
+ condition: any
+ labels:
+ com.mirantis.monitoring: "alertmanager"
+ image: ${_param:docker_image_alertmanager}
+ ports:
+ - 15011:${prometheus:alertmanager:bind:port}
+ volumes:
+ - ${prometheus:alertmanager:dir:config}:${_param:prometheus_alertmanager_config_directory}
+ - ${prometheus:alertmanager:dir:data}:${_param:prometheus_alertmanager_data_directory}
+ environment:
+ config_dir: ${_param:prometheus_alertmanager_config_directory}
+ data_dir: ${_param:prometheus_alertmanager_data_directory}
+ bind_port: ${prometheus:alertmanager:bind:port}
+ bind_address: ${prometheus:alertmanager:bind:address}
+ discovery_domain: 'monitoring_alertmanager'
+ pushgateway:
+ networks:
+ - monitoring
+ deploy:
+ replicas: 2
+ labels:
+ com.mirantis.monitoring: "pushgateway"
+ restart_policy:
+ condition: any
+ environment:
+ bind_port: ${prometheus:pushgateway:bind:port}
+ bind_address: ${prometheus:pushgateway:bind:address}
+ labels:
+ com.mirantis.monitoring: "pushgateway"
+ image: ${_param:docker_image_pushgateway}
+ ports:
+ - 15012:${prometheus:pushgateway:bind:port}
+ server:
+ networks:
+ - monitoring
+ deploy:
+ replicas: 1
+ labels:
+ com.mirantis.monitoring: "prometheus"
+ restart_policy:
+ condition: any
+ labels:
+ com.mirantis.monitoring: "prometheus"
+ image: ${_param:docker_image_prometheus}
+ ports:
+ - 15010:${prometheus:server:bind:port}
+ volumes:
+ - ${prometheus:server:dir:config}:${_param:prometheus_server_config_directory}
+ - ${prometheus:server:dir:data}:${_param:prometheus_server_data_directory}
+ environment:
+ config_dir: ${_param:prometheus_server_config_directory}
+ data_dir: ${_param:prometheus_server_data_directory}
+ bind_port: ${prometheus:server:bind:port}
+ bind_address: ${prometheus:server:bind:address}
+ storage_local_engine: ${prometheus:server:storage:local:engine}
+ storage_local_retention: ${prometheus:server:storage:local:retention}
+ storage_local_target_heap_size: ${prometheus:server:storage:local:target_heap_size}
+ storage_local_num_fingerprint_mutexes: ${prometheus:server:storage:local:num_fingerprint_mutexes}
diff --git a/docker/swarm/stack/monitoring/remote_collector.yml b/docker/swarm/stack/monitoring/remote_collector.yml
new file mode 100644
index 0000000..ff6af95
--- /dev/null
+++ b/docker/swarm/stack/monitoring/remote_collector.yml
@@ -0,0 +1,29 @@
+classes:
+- system.heka.remote_collector.container
+- system.heka.remote_collector.input.amqp
+- system.heka.remote_collector.output.elasticsearch
+- system.heka.remote_collector.output.telegraf
+- system.telegraf.agent.remote.input.http_listener
+parameters:
+ docker:
+ client:
+ stack:
+ monitoring:
+ service:
+ remote_collector:
+ networks:
+ - monitoring
+ deploy:
+ replicas: 1
+ labels:
+ com.mirantis.monitoring: "remote_collector"
+ restart_policy:
+ condition: any
+ labels:
+ com.mirantis.monitoring: "remote_collector"
+ image: ${_param:docker_image_remote_collector}
+ volumes:
+ - ${heka:remote_collector:prefix_dir}/etc/remote_collector:/etc/heka
+ - ${heka:remote_collector:prefix_dir}/usr/share/lma_collector:/usr/share/lma_collector
+ environment:
+ HEKA_CACHE_DIR: /var/cache/remote_collector
diff --git a/docker/swarm/stack/postgresql.yml b/docker/swarm/stack/postgresql.yml
index bdad6fb..7ae4052 100644
--- a/docker/swarm/stack/postgresql.yml
+++ b/docker/swarm/stack/postgresql.yml
@@ -1,7 +1,7 @@
parameters:
_param:
docker_postgresql_replicas: 1
- docker_image_postgresql: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/postgresql:latest
+ docker_image_postgresql: library/postgres:9.6
postgresql_admin_user: postgres
postgresql_admin_user_password: postgrespassword
docker:
diff --git a/docker/swarm/stack/privatebin.yml b/docker/swarm/stack/privatebin.yml
new file mode 100644
index 0000000..fb1e9fc
--- /dev/null
+++ b/docker/swarm/stack/privatebin.yml
@@ -0,0 +1,16 @@
+parameters:
+ _param:
+ docker_image_privatebin: jgeusebroek/privatebin
+
+ docker:
+ client:
+ stack:
+ privatebin:
+ service:
+ server:
+ image: ${_param:docker_image_privatebin}
+ ports:
+ - 8099:80
+ volumes:
+ - /srv/volumes/privatebin/data:/privatebin/data
+ - /srv/volumes/privatebin/cfg:/privatebin/cfg
diff --git a/docker/swarm/stack/pushkin.yml b/docker/swarm/stack/pushkin.yml
index 3232301..dde8541 100644
--- a/docker/swarm/stack/pushkin.yml
+++ b/docker/swarm/stack/pushkin.yml
@@ -13,6 +13,11 @@
POSTGRES_DB: ${_param:pushkin_db}
PUSHKINDBHOST: ${_param:pushkin_db_host}
PUSHKINELASTICHOST: ${_param:haproxy_elasticsearch_bind_host}
+ WEBHOOK_FROM: ${_param:webhook_from}
+ WEBHOOK_RECIPIENTS: ${_param:webhook_recipients}
+ WEBHOOK_LOGIN_ID: ${_param:webhook_login_id}
+ WEBHOOK_APPLICATION_ID: ${_param:webhook_application_id}
+ WEBHOOK_SFDC_USERNAME: ${_param:webhook_sfdc_username}
service:
api:
image: ${_param:docker_image_pushkin}
diff --git a/docker/swarm/stack/rundeck.yml b/docker/swarm/stack/rundeck.yml
index f89619a..216415c 100644
--- a/docker/swarm/stack/rundeck.yml
+++ b/docker/swarm/stack/rundeck.yml
@@ -1,7 +1,7 @@
parameters:
_param:
docker_rundeck_replicas: 1
- docker_image_rundeck: docker-sandbox.sandbox.mirantis.net/ikharin/oss/rundeck:devel
+ docker_image_rundeck: docker-prod-local.artifactory.mirantis.com/mirantis/oss/rundeck:latest
docker:
client:
stack:
diff --git a/docker/swarm/stack/security_monkey.yml b/docker/swarm/stack/security_monkey.yml
index 479b028..2d06a42 100644
--- a/docker/swarm/stack/security_monkey.yml
+++ b/docker/swarm/stack/security_monkey.yml
@@ -2,9 +2,27 @@
_param:
docker_security_monkey_api_replicas: 1
docker_security_monkey_scheduler_replicas: 1
- docker_image_security_monkey_api: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-api:3842.6
- docker_image_security_monkey_scheduler: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-scheduler:3842.6
+ docker_image_security_monkey_api: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-api:6700
+ docker_image_security_monkey_scheduler: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-scheduler:6700
security_monkey_db: secmonkey
+ notification_service_url: http://${_param:haproxy_pushkin_bind_host}:${_param:haproxy_pushkin_bind_port}/post_notification_json
+ security_monkey_user: devopsportal@devopsportal.local
+ security_monkey_password: devopsportal
+ security_monkey_role: Justify
+ security_monkey_fqdn: ${_param:haproxy_security_monkey_bind_host}
+ security_monkey_web_port: ${_param:haproxy_security_monkey_bind_port}
+ security_monkey_api_port: ${_param:haproxy_security_monkey_bind_port}
+ security_monkey_nginx_port: ${_param:haproxy_security_monkey_bind_port}
+ devops_portal_sm_wtf_csrf_enabled: False
+ security_monkey_openstack:
+ os_account_id: mcp_cloud
+ os_account_name: mcp_cloud
+ username: ""
+ password: ""
+ auth_url: ""
+ project_domain_name: Default
+ project_name: admin
+ user_domain_name: Default
docker:
client:
stack:
@@ -14,6 +32,25 @@
SECURITY_MONKEY_POSTGRES_PASSWORD: ${_param:secmonkey_db_user_password}
SECURITY_MONKEY_POSTGRES_HOST: ${_param:secmonkey_db_host}
SECURITY_MONKEY_POSTGRES_PORT: ${_param:haproxy_postgresql_bind_port}
+ SECURITY_MONKEY_FQDN: ${_param:security_monkey_fqdn}
+ WEB_PORT: ${_param:security_monkey_web_port}
+ API_PORT: ${_param:security_monkey_api_port}
+ NGINX_PORT: ${_param:security_monkey_nginx_port}
+ NOTIFICATIONS_SERVICE_URL: ${_param:notification_service_url}
+ DEFAULT_USER: ${_param:security_monkey_user}
+ DEFAULT_PASSWORD: ${_param:security_monkey_password}
+ DEFAULT_ROLE: ${_param:security_monkey_role}
+ OS_ACCOUNT_ID: ${_param:security_monkey_openstack:os_account_id}
+ OS_ACCOUNT_NAME: ${_param:security_monkey_openstack:os_account_name}
+ OS_USERNAME: ${_param:security_monkey_openstack:username}
+ OS_PASSWORD: ${_param:security_monkey_openstack:password}
+ OS_AUTH_URL: ${_param:security_monkey_openstack:auth_url}
+ OS_PROJECT_DOMAIN_NAME: ${_param:security_monkey_openstack:project_domain_name}
+ OS_PROJECT_NAME: ${_param:security_monkey_openstack:project_name}
+ USER_DOMAIN_NAME: ${_param:security_monkey_openstack:user_domain_name}
+ SM_WTF_CSRF_ENABLED: ${_param:devops_portal_sm_wtf_csrf_enabled}
+ SQLALCHEMY_DATABASE_URI: postgresql://${_param:secmonkey_db_user}:${_param:secmonkey_db_user_password}@${_param:secmonkey_db_host}:${_param:haproxy_postgresql_bind_port}/${_param:security_monkey_db}
+ SQLALCHEMY_POOL_RECYCLE: 14400
service:
api:
image: ${_param:docker_image_security_monkey_api}
@@ -24,7 +61,7 @@
ports:
- ${_param:haproxy_security_monkey_exposed_port}:${_param:haproxy_security_monkey_bind_port}
volumes:
- - /srv/volumes/security_monkey:/var/log/security_monkey
+ - /srv/volumes/security_monkey/logs:/var/log/security_monkey/logs
scheduler:
image: ${_param:docker_image_security_monkey_scheduler}
deploy:
@@ -32,4 +69,4 @@
restart_policy:
condition: any
volumes:
- - /srv/volumes/security_monkey:/var/log/security_monkey
\ No newline at end of file
+ - /srv/volumes/security_monkey/logs:/var/log/security_monkey/logs
diff --git a/elasticsearch/client/index/janitor_monkey.yml b/elasticsearch/client/index/janitor_monkey.yml
new file mode 100644
index 0000000..bef92ae
--- /dev/null
+++ b/elasticsearch/client/index/janitor_monkey.yml
@@ -0,0 +1,15 @@
+parameters:
+ _param:
+ janitor_monkey_cis_openstack_shards: 5
+ janitor_monkey_cis_openstack_replicas: 1
+ elasticsearch:
+ client:
+ index:
+ cis-openstack:
+ enabled: true
+ force_operation: true
+ definition:
+ template: cis-openstack
+ settings:
+ number_of_shards: ${_param:janitor_monkey_cis_openstack_shards}
+ number_of_replicas: ${_param:janitor_monkey_cis_openstack_replicas}
\ No newline at end of file
diff --git a/elasticsearch/client/index/pushkin.yml b/elasticsearch/client/index/pushkin.yml
new file mode 100644
index 0000000..1d17c77
--- /dev/null
+++ b/elasticsearch/client/index/pushkin.yml
@@ -0,0 +1,42 @@
+parameters:
+ _param:
+ pushkin_notifications_shards: 5
+ pushkin_notifications_replicas: 1
+ elasticsearch:
+ client:
+ index:
+ notifications:
+ enabled: true
+ force_operation: true
+ definition:
+ template: notifications
+ settings:
+ number_of_shards: ${_param:pushkin_notifications_shards}
+ number_of_replicas: ${_param:pushkin_notifications_replicas}
+ mappings:
+ notification:
+ properties:
+ applicationId:
+ type: long
+ content:
+ type: text
+ fields:
+ keyword:
+ type: keyword
+ ignore_above: 256
+ level:
+ type: text
+ fields:
+ keyword:
+ type: keyword
+ ignore_above: 256
+ read:
+ type: boolean
+ timestamp:
+ type: date
+ title:
+ type: text
+ fields:
+ keyword:
+ type: keyword
+ ignore_above: 256
\ No newline at end of file
diff --git a/elasticsearch/client/init.yml b/elasticsearch/client/init.yml
new file mode 100644
index 0000000..d0710ca
--- /dev/null
+++ b/elasticsearch/client/init.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ elasticsearch_client_host: ${_param:haproxy_elasticsearch_bind_host}
+ elasticsearch_client_port: ${_param:haproxy_elasticsearch_http_bind_port}
+ elasticsearch:
+ client:
+ enabled: true
+ server:
+ host: ${_param:elasticsearch_client_host}
+ port: ${_param:elasticsearch_client_port}
\ No newline at end of file
diff --git a/elasticsearch/server/curator.yml b/elasticsearch/server/curator.yml
index 82f34bb..e4e5ace 100644
--- a/elasticsearch/server/curator.yml
+++ b/elasticsearch/server/curator.yml
@@ -30,3 +30,23 @@
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).
+ 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
+ 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/freeipa/client/cluster.yml b/freeipa/client/cluster.yml
new file mode 100644
index 0000000..2276530
--- /dev/null
+++ b/freeipa/client/cluster.yml
@@ -0,0 +1,14 @@
+classes:
+- service.freeipa.client
+parameters:
+ freeipa:
+ client:
+ enabled: true
+ hostname: ${linux:system:name}
+ servers:
+ - ${_param:freeipa_node01_hostname}
+ - ${_param:freeipa_node02_hostname}
+ - ${_param:freeipa_node03_hostname}
+ domain: ${_param:cluster_domain}
+ realm: ${_param:freeipa_realm}
+ otp: ${_param:freeipa_otp}
\ No newline at end of file
diff --git a/freeipa/client/dns.yml b/freeipa/client/dns.yml
new file mode 100644
index 0000000..b88174e
--- /dev/null
+++ b/freeipa/client/dns.yml
@@ -0,0 +1,8 @@
+parameters:
+ linux:
+ network:
+ resolv:
+ dns:
+ - ${_param:freeipa_node01_hostname}
+ - ${_param:freeipa_node02_hostname}
+ - ${_param:freeipa_node03_hostname}
diff --git a/freeipa/client/keytab/apache2.yml b/freeipa/client/keytab/apache2.yml
new file mode 100644
index 0000000..3b18150
--- /dev/null
+++ b/freeipa/client/keytab/apache2.yml
@@ -0,0 +1,11 @@
+parameters:
+ freeipa:
+ client:
+ keytab:
+ /etc/apache2/ipa.keytab:
+ user: root
+ group: www-data
+ mode: 640
+ identities:
+ - service: HTTP
+ host: ${linux:network:hostname}
diff --git a/freeipa/client/keytab/krb5.yml b/freeipa/client/keytab/krb5.yml
new file mode 100644
index 0000000..4555927
--- /dev/null
+++ b/freeipa/client/keytab/krb5.yml
@@ -0,0 +1,8 @@
+parameters:
+ freeipa:
+ client:
+ keytab:
+ /etc/krb5.keytab:
+ identities:
+ - service: host
+ host: ${linux:network:hostname}.${_param:cluster_domain}
diff --git a/freeipa/client/nsupdate.yml b/freeipa/client/nsupdate.yml
new file mode 100644
index 0000000..837b9c7
--- /dev/null
+++ b/freeipa/client/nsupdate.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ freeipa_client_nsupdate_01_address: 172.16.10.240
+ freeipa:
+ client:
+ nsupdate:
+ - name: ${linux:network:hostname}.${_param:cluster_domain}
+ ipv4:
+ - ${_param:freeipa_client_nsupdate_01_address}
+ server: idm.${_param:cluster_domain}
diff --git a/freeipa/client/single.yml b/freeipa/client/single.yml
new file mode 100644
index 0000000..7804bd1
--- /dev/null
+++ b/freeipa/client/single.yml
@@ -0,0 +1,12 @@
+classes:
+- service.freeipa.client
+parameters:
+ freeipa:
+ client:
+ enabled: true
+ hostname: ${linux:system:name}
+ servers:
+ - ${_param:freeipa_node01_hostname}
+ domain: ${_param:cluster_domain}
+ realm: ${_param:freeipa_realm}
+ otp: ${_param:freeipa_otp}
\ No newline at end of file
diff --git a/galera/server/database/designate.yml b/galera/server/database/designate.yml
new file mode 100644
index 0000000..107e3ae
--- /dev/null
+++ b/galera/server/database/designate.yml
@@ -0,0 +1,26 @@
+parameters:
+ mysql:
+ server:
+ database:
+ designate:
+ encoding: utf8
+ users:
+ - name: designate
+ password: ${_param:mysql_designate_password}
+ host: '%'
+ rights: all
+ - name: designate
+ password: ${_param:mysql_designate_password}
+ host: ${_param:cluster_vip_address}
+ rights: all
+ designate_pool_manager:
+ encoding: utf8
+ users:
+ - name: designate
+ password: ${_param:mysql_designate_password}
+ host: '%'
+ rights: all
+ - name: designate
+ password: ${_param:mysql_designate_password}
+ host: ${_param:cluster_vip_address}
+ rights: all
diff --git a/galera/server/database/ironic.yml b/galera/server/database/ironic.yml
new file mode 100644
index 0000000..8cb14a3
--- /dev/null
+++ b/galera/server/database/ironic.yml
@@ -0,0 +1,15 @@
+parameters:
+ mysql:
+ server:
+ database:
+ ironic:
+ encoding: utf8
+ users:
+ - name: ironic
+ password: ${_param:mysql_ironic_password}
+ host: '%'
+ rights: all
+ - name: ironic
+ password: ${_param:mysql_ironic_password}
+ host: ${_param:cluster_local_address}
+ rights: all
diff --git a/galera/server/database/octavia.yml b/galera/server/database/octavia.yml
new file mode 100644
index 0000000..dfefb9c
--- /dev/null
+++ b/galera/server/database/octavia.yml
@@ -0,0 +1,15 @@
+parameters:
+ mysql:
+ server:
+ database:
+ octavia:
+ encoding: 'utf8'
+ users:
+ - name: 'octavia'
+ password: '${_param:mysql_octavia_password}'
+ host: '%'
+ rights: 'all'
+ - name: 'octavia'
+ password: '${_param:mysql_octavia_password}'
+ host: '${_param:cluster_local_address}'
+ rights: 'all'
diff --git a/gerrit/client/project/docker_images.yml b/gerrit/client/project/docker_images.yml
new file mode 100644
index 0000000..cc35eb3
--- /dev/null
+++ b/gerrit/client/project/docker_images.yml
@@ -0,0 +1,20 @@
+parameters:
+ gerrit:
+ client:
+ project:
+ mk/docker-aptly:
+ enabled: true
+ description: Aptly docker images
+ upstream: https://github.com/tcpcloud/docker-aptly
+ access: ${gerrit:client:default_access}
+ require_change_id: true
+ require_agreement: false
+ merge_content: true
+ mk/python-flask-hello:
+ enabled: true
+ description: Flask hello demo application
+ upstream: https://github.com/tcpcloud/python-flask-hello
+ access: ${gerrit:client:default_access}
+ require_change_id: true
+ require_agreement: false
+ merge_content: true
diff --git a/glance/client/image/octavia.yml b/glance/client/image/octavia.yml
new file mode 100644
index 0000000..de81f7f
--- /dev/null
+++ b/glance/client/image/octavia.yml
@@ -0,0 +1,29 @@
+classes:
+- system.glance.client
+parameters:
+ _param:
+ amphora_image_url: "https://artifactory.mirantis.com/binary-prod-local/mirantis/openstack/octavia/images/ocata/amphora-x64-haproxy.qcow2"
+ amphora_image_name: "amphora-x64-haproxy"
+ glance:
+ client:
+ identity:
+ admin_identity:
+ endpoint_type: internalURL
+ image:
+ amphora-x64-haproxy:
+ name: ${_param:amphora_image_name}
+ location: ${_param:amphora_image_url}
+ import_from_format: 'qcow2'
+ container_format: 'bare'
+ disk_format: 'qcow2'
+ tags:
+ - 'amphora'
+ visibility: public
+ wait_timeout: 1000
+ salt:
+ minion:
+ mine:
+ module:
+ glanceng.get_image_owner_id:
+ - ${_param:amphora_image_name}
+ - 'admin_identity'
diff --git a/glance/client/init.yml b/glance/client/init.yml
new file mode 100644
index 0000000..305f9ba
--- /dev/null
+++ b/glance/client/init.yml
@@ -0,0 +1,4 @@
+parameters:
+ glance:
+ client:
+ enabled: true
diff --git a/glance/control/cluster.yml b/glance/control/cluster.yml
index b009e9e..6402721 100644
--- a/glance/control/cluster.yml
+++ b/glance/control/cluster.yml
@@ -42,4 +42,5 @@
- host: ${_param:openstack_message_queue_node03_address}
storage:
engine: file
- images: []
\ No newline at end of file
+ images: []
+ show_multiple_locations: True
diff --git a/glance/control/image_manager.yml b/glance/control/image_manager.yml
new file mode 100644
index 0000000..27103a3
--- /dev/null
+++ b/glance/control/image_manager.yml
@@ -0,0 +1,5 @@
+parameters:
+ glance:
+ server:
+ policy:
+ publicize_image: ['role:admin', 'role:image_manager']
diff --git a/glance/control/single.yml b/glance/control/single.yml
index 13f4434..458cd37 100644
--- a/glance/control/single.yml
+++ b/glance/control/single.yml
@@ -5,3 +5,4 @@
server:
database:
host: ${_param:single_address}
+ show_multiple_locations: True
diff --git a/glusterfs/client/volume/elasticsearch.yml b/glusterfs/client/volume/elasticsearch.yml
index 0248093..2ebfcfc 100644
--- a/glusterfs/client/volume/elasticsearch.yml
+++ b/glusterfs/client/volume/elasticsearch.yml
@@ -11,3 +11,5 @@
path: /srv/volumes/elasticsearch
server: ${_param:elasticsearch_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 7139029..822b61f 100644
--- a/glusterfs/client/volume/keystone.yml
+++ b/glusterfs/client/volume/keystone.yml
@@ -13,3 +13,9 @@
user: keystone
group: keystone
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
+ server: ${_param:keystone_glusterfs_service_host}
+ user: keystone
+ group: keystone
+ opts: "defaults,backup-volfile-servers=${_param:glusterfs_node01_address}:${_param:glusterfs_node02_address}:${_param:glusterfs_node03_address}"
diff --git a/glusterfs/client/volume/mongodb.yml b/glusterfs/client/volume/mongodb.yml
new file mode 100644
index 0000000..1b2fd4f
--- /dev/null
+++ b/glusterfs/client/volume/mongodb.yml
@@ -0,0 +1,13 @@
+parameters:
+ _param:
+ mongodb_glusterfs_service_host: ${_param:glusterfs_service_host}
+ mongodb_glusterfs_node01_address: ${_param:cluster_node01_address}
+ mongodb_glusterfs_node02_address: ${_param:cluster_node02_address}
+ mongodb_glusterfs_node03_address: ${_param:cluster_node03_address}
+ glusterfs:
+ client:
+ volumes:
+ mongodb:
+ path: /srv/volumes/mongodb
+ server: ${_param:mongodb_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:mongodb_glusterfs_node01_address}:${_param:mongodb_glusterfs_node02_address}:${_param:mongodb_glusterfs_node03_address}"
diff --git a/glusterfs/client/volume/privatebin.yml b/glusterfs/client/volume/privatebin.yml
new file mode 100644
index 0000000..c096096
--- /dev/null
+++ b/glusterfs/client/volume/privatebin.yml
@@ -0,0 +1,13 @@
+parameters:
+ _param:
+ privatebin_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:
+ privatebin:
+ path: /srv/volume/privatebin
+ server: ${_param:privatebin_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:glusterfs_node01_address}:${_param:glusterfs_node02_address}:${_param:glusterfs_node03_address}"
diff --git a/glusterfs/server/volume/keystone.yml b/glusterfs/server/volume/keystone.yml
index 229d787..2515fca 100644
--- a/glusterfs/server/volume/keystone.yml
+++ b/glusterfs/server/volume/keystone.yml
@@ -14,4 +14,17 @@
nfs.disable: On
network.remote-dio: On
diagnostics.client-log-level: WARNING
- diagnostics.brick-log-level: WARNING
\ No newline at end of file
+ diagnostics.brick-log-level: WARNING
+ keystone-credential-keys:
+ storage: /srv/glusterfs/keystone-credential-keys
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/keystone-credential-keys
+ - ${_param:cluster_node02_address}:/srv/glusterfs/keystone-credential-keys
+ - ${_param:cluster_node03_address}:/srv/glusterfs/keystone-credential-keys
+ options:
+ cluster.readdir-optimize: On
+ nfs.disable: On
+ network.remote-dio: On
+ diagnostics.client-log-level: WARNING
+ diagnostics.brick-log-level: WARNING
diff --git a/glusterfs/server/volume/mongodb.yml b/glusterfs/server/volume/mongodb.yml
new file mode 100644
index 0000000..a9c69f7
--- /dev/null
+++ b/glusterfs/server/volume/mongodb.yml
@@ -0,0 +1,17 @@
+parameters:
+ glusterfs:
+ server:
+ volumes:
+ mongodb:
+ storage: /srv/glusterfs/mongodb
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/mongodb
+ - ${_param:cluster_node02_address}:/srv/glusterfs/mongodb
+ - ${_param:cluster_node03_address}:/srv/glusterfs/mongodb
+ options:
+ cluster.readdir-optimize: On
+ nfs.disable: On
+ network.remote-dio: On
+ diagnostics.client-log-level: WARNING
+ diagnostics.brick-log-level: WARNING
diff --git a/glusterfs/server/volume/privatebin.yml b/glusterfs/server/volume/privatebin.yml
new file mode 100644
index 0000000..8be5a76
--- /dev/null
+++ b/glusterfs/server/volume/privatebin.yml
@@ -0,0 +1,17 @@
+parameters:
+ glusterfs:
+ server:
+ volumes:
+ privatebin:
+ storage: /srv/glusterfs/privatebin
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/privatebin
+ - ${_param:cluster_node02_address}:/srv/glusterfs/privatebin
+ - ${_param:cluster_node03_address}:/srv/glusterfs/privatebin
+ options:
+ cluster.readdir-optimize: On
+ nfs.disable: On
+ network.remote-dio: On
+ diagnostics.client-log-level: WARNING
+ diagnostics.brick-log-level: WARNING
diff --git a/haproxy/proxy/listen/cicd/artifactory.yml b/haproxy/proxy/listen/cicd/artifactory.yml
new file mode 100644
index 0000000..5bf9bda
--- /dev/null
+++ b/haproxy/proxy/listen/cicd/artifactory.yml
@@ -0,0 +1,38 @@
+parameters:
+ _param:
+ haproxy_artifactory_bind_host: ${_param:haproxy_bind_address}
+ haproxy_artifactory_bind_port: 8081
+ haproxy_artifactory_ssh_bind_host: ${_param:haproxy_artifactory_bind_host}
+ haproxy_artifactory_ssl:
+ enabled: false
+ haproxy:
+ proxy:
+ listen:
+ artifactory:
+ 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_artifactory_bind_host}
+ port: ${_param:haproxy_artifactory_bind_port}
+ ssl: ${_param:haproxy_artifactory_ssl}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 18082
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 18082
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 18082
+ params: backup check
diff --git a/haproxy/proxy/listen/kubernetes/apiserver.yml b/haproxy/proxy/listen/kubernetes/apiserver.yml
index a45a71a..b35d1be 100644
--- a/haproxy/proxy/listen/kubernetes/apiserver.yml
+++ b/haproxy/proxy/listen/kubernetes/apiserver.yml
@@ -21,4 +21,7 @@
- name: ${_param:cluster_node03_hostname}
host: ${_param:cluster_node03_address}
port: 443
- params: check
\ No newline at end of file
+ params: check
+ timeout:
+ server: 10m
+ client: 10m
diff --git a/haproxy/proxy/listen/kubernetes/apiserver_insecure.yml b/haproxy/proxy/listen/kubernetes/apiserver_insecure.yml
index a365c51..7211507 100644
--- a/haproxy/proxy/listen/kubernetes/apiserver_insecure.yml
+++ b/haproxy/proxy/listen/kubernetes/apiserver_insecure.yml
@@ -20,6 +20,9 @@
host: ${_param:cluster_node03_address}
port: 8080
params: check
+ timeout:
+ server: 10m
+ client: 10m
k8s_cluster_localhost:
type: kubernetes
binds:
@@ -37,4 +40,7 @@
- name: ${_param:cluster_node03_hostname}
host: ${_param:cluster_node03_address}
port: 8080
- params: check
\ No newline at end of file
+ params: check
+ timeout:
+ server: 10m
+ client: 10m
diff --git a/haproxy/proxy/listen/mysql.yml b/haproxy/proxy/listen/mysql.yml
index a7ef910..40a9f35 100644
--- a/haproxy/proxy/listen/mysql.yml
+++ b/haproxy/proxy/listen/mysql.yml
@@ -7,7 +7,7 @@
listen:
mysql:
mode: tcp
- balance: source
+ balance: first
binds:
- address: ${_param:haproxy_bind_address}
port: ${_param:haproxy_mysql_bind_port}
diff --git a/haproxy/proxy/listen/openstack/galera.yml b/haproxy/proxy/listen/openstack/galera.yml
index 254dc3b..7298cfc 100644
--- a/haproxy/proxy/listen/openstack/galera.yml
+++ b/haproxy/proxy/listen/openstack/galera.yml
@@ -11,6 +11,7 @@
mysql_cluster:
type: mysql
service_name: mysql
+ balance: first
binds:
- address: ${_param:cluster_vip_address}
port: 3306
diff --git a/haproxy/proxy/listen/openstack/heat.yml b/haproxy/proxy/listen/openstack/heat.yml
index 440a018..2e6b918 100644
--- a/haproxy/proxy/listen/openstack/heat.yml
+++ b/haproxy/proxy/listen/openstack/heat.yml
@@ -7,19 +7,19 @@
service_name: heat
binds:
- address: ${_param:cluster_vip_address}
- port: 8000
+ port: 8003
servers:
- name: ctl01
host: ${_param:cluster_node01_address}
- port: 8000
+ port: 8003
params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
- name: ctl02
host: ${_param:cluster_node02_address}
- port: 8000
+ port: 8003
params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
- name: ctl03
host: ${_param:cluster_node03_address}
- port: 8000
+ port: 8003
params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
heat_api:
type: openstack-service
@@ -45,17 +45,17 @@
service_name: heat
binds:
- address: ${_param:cluster_vip_address}
- port: 8003
+ port: 8000
servers:
- name: ctl01
host: ${_param:cluster_node01_address}
- port: 8003
+ port: 8000
params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
- name: ctl02
host: ${_param:cluster_node02_address}
- port: 8003
+ port: 8000
params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
- name: ctl03
host: ${_param:cluster_node03_address}
- port: 8003
- params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
\ No newline at end of file
+ port: 8000
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
diff --git a/haproxy/proxy/listen/openstack/ironic.yml b/haproxy/proxy/listen/openstack/ironic.yml
new file mode 100644
index 0000000..221a9cc
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/ironic.yml
@@ -0,0 +1,25 @@
+parameters:
+ haproxy:
+ proxy:
+ listen:
+ ironic:
+ type: general-service
+ service_name: ironic
+ check: false
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 6385
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 6385
+ params: check
+ - name: ctl02
+ host: ${_param:cluster_node02_address}
+ port: 6385
+ params: check
+ - name: ctl03
+ host: ${_param:cluster_node03_address}
+ port: 6385
+ params: check
+
diff --git a/haproxy/proxy/listen/openstack/ironic_deploy.yml b/haproxy/proxy/listen/openstack/ironic_deploy.yml
new file mode 100644
index 0000000..f5e7a4f
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/ironic_deploy.yml
@@ -0,0 +1,24 @@
+parameters:
+ haproxy:
+ proxy:
+ listen:
+ ironic_deploy:
+ type: general-service
+ service_name: ironic_deploy
+ check: false
+ binds:
+ - address: ${_param:cluster_baremetal_vip_address}
+ port: 6385
+ servers:
+ - name: bmt01
+ host: ${_param:openstack_baremetal_node01_baremetal_address}
+ port: 6385
+ params: check
+ - name: bmt02
+ host: ${_param:openstack_baremetal_node02_baremetal_address}
+ port: 6385
+ params: check
+ - name: bmt03
+ host: ${_param:openstack_baremetal_node03_baremetal_address}
+ port: 6385
+ params: check
diff --git a/haproxy/proxy/listen/openstack/octavia.yml b/haproxy/proxy/listen/openstack/octavia.yml
new file mode 100644
index 0000000..7360557
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/octavia.yml
@@ -0,0 +1,23 @@
+parameters:
+ haproxy:
+ proxy:
+ listen:
+ octavia_api:
+ type: openstack-service
+ service_name: octavia
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 9876
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 9876
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+ - name: ctl02
+ host: ${_param:cluster_node02_address}
+ port: 9876
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+ - name: ctl03
+ host: ${_param:cluster_node03_address}
+ port: 9876
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
diff --git a/haproxy/proxy/listen/oss/elasticsearch.yml b/haproxy/proxy/listen/oss/elasticsearch.yml
index 2f5d1ee..3a4c98e 100644
--- a/haproxy/proxy/listen/oss/elasticsearch.yml
+++ b/haproxy/proxy/listen/oss/elasticsearch.yml
@@ -1,14 +1,16 @@
parameters:
_param:
haproxy_elasticsearch_bind_host: ${_param:haproxy_bind_address}
- haproxy_elasticsearch_bind_port: 9200
- haproxy_elasticsearch_exposed_port: 19200
+ haproxy_elasticsearch_http_bind_port: 9200
+ haproxy_elasticsearch_http_exposed_port: 19200
+ haproxy_elasticsearch_binary_bind_port: 9300
+ haproxy_elasticsearch_binary_exposed_port: 19300
haproxy_elasticsearch_ssl:
enabled: false
haproxy:
proxy:
listen:
- elasticsearch:
+ elasticsearch_http:
mode: http
options:
- forwardfor
@@ -21,18 +23,41 @@
condition: "if { ssl_fc }"
binds:
- address: ${_param:haproxy_elasticsearch_bind_host}
- port: ${_param:haproxy_elasticsearch_bind_port}
+ port: ${_param:haproxy_elasticsearch_http_bind_port}
ssl: ${_param:haproxy_elasticsearch_ssl}
servers:
- name: ${_param:cluster_node01_name}
host: ${_param:cluster_node01_address}
- port: ${_param:haproxy_elasticsearch_exposed_port}
+ port: ${_param:haproxy_elasticsearch_http_exposed_port}
params: check
- name: ${_param:cluster_node02_name}
host: ${_param:cluster_node02_address}
- port: ${_param:haproxy_elasticsearch_exposed_port}
+ port: ${_param:haproxy_elasticsearch_http_exposed_port}
params: backup check
- name: ${_param:cluster_node03_name}
host: ${_param:cluster_node03_address}
- port: ${_param:haproxy_elasticsearch_exposed_port}
+ port: ${_param:haproxy_elasticsearch_http_exposed_port}
params: backup check
+ elasticsearch_binary:
+ mode: tcp
+ options:
+ - tcpka
+ - tcplog
+ balance: source
+ binds:
+ - address: ${_param:haproxy_elasticsearch_bind_host}
+ port: ${_param:haproxy_elasticsearch_binary_bind_port}
+ ssl: ${_param:haproxy_elasticsearch_ssl}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: ${_param:haproxy_elasticsearch_binary_exposed_port}
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: ${_param:haproxy_elasticsearch_binary_exposed_port}
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: ${_param:haproxy_elasticsearch_binary_exposed_port}
+ params: backup check
\ No newline at end of file
diff --git a/haproxy/proxy/listen/oss/janitor_monkey.yml b/haproxy/proxy/listen/oss/janitor_monkey.yml
new file mode 100644
index 0000000..c2ff760
--- /dev/null
+++ b/haproxy/proxy/listen/oss/janitor_monkey.yml
@@ -0,0 +1,40 @@
+parameters:
+ _param:
+ haproxy_janitor_monkey_bind_host: ${_param:haproxy_bind_address}
+ haproxy_janitor_monkey_bind_port: 8088
+ haproxy_janitor_monkey_exposed_port: 18088
+ haproxy_janitor_monkey_ssl:
+ enabled: false
+ haproxy:
+ proxy:
+ listen:
+ janitor_monkey:
+ mode: http
+ options:
+ - httpchk get /simianarmy/api/v1/janitor
+ balance: source
+ http_request:
+ - action: "add-header X-Forwarded-Proto https"
+ condition: "if { ssl_fc }"
+ health-check:
+ http:
+ enabled: true
+ options:
+ - expect status 200
+ binds:
+ - address: ${_param:haproxy_janitor_monkey_bind_host}
+ port: ${_param:haproxy_janitor_monkey_bind_port}
+ ssl: ${_param:haproxy_janitor_monkey_ssl}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: ${_param:haproxy_janitor_monkey_exposed_port}
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: ${_param:haproxy_janitor_monkey_exposed_port}
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: ${_param:haproxy_janitor_monkey_exposed_port}
+ params: backup check
diff --git a/haproxy/proxy/listen/oss/mongodb.yml b/haproxy/proxy/listen/oss/mongodb.yml
new file mode 100644
index 0000000..d4086cd
--- /dev/null
+++ b/haproxy/proxy/listen/oss/mongodb.yml
@@ -0,0 +1,51 @@
+parameters:
+ _param:
+ haproxy_mongodb_bind_host: ${_param:haproxy_bind_address}
+ haproxy_mongodb_bind_port: 27017
+ haproxy_mongodb_exposed_port: 37017
+ haproxy_mongodb_ssl:
+ enabled: false
+ haproxy:
+ proxy:
+ listen:
+ mongodb:
+ mode: tcp
+ balance: source
+ options:
+ - tcp-check
+ health-check:
+ tcp:
+ enabled: true
+ options:
+ - send-binary 39000000 # Message Length (57)
+ - send-binary EEEEEEEE # Request ID (random value)
+ - send-binary 00000000 # Response To (nothing)
+ - send-binary d4070000 # OpCode (Query)
+ - send-binary 00000000 # Query Flags
+ - send-binary 746573742e # fullCollectionName (test.$cmd)
+ - send-binary 24636d6400 # continued
+ - send-binary 00000000 # NumToSkip
+ - send-binary FFFFFFFF # NumToReturn
+ - send-binary 13000000 # Document Length (19)
+ - send-binary 01 # Type (Double)
+ - send-binary 70696e6700 # Ping:
+ - send-binary 000000000000f03f # Value : 1
+ - send-binary 00 # Term
+ - expect string ok
+ binds:
+ - address: ${_param:haproxy_mongodb_bind_host}
+ port: ${_param:haproxy_mongodb_bind_port}
+ ssl: ${_param:haproxy_mongodb_ssl}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: ${_param:haproxy_mongodb_exposed_port}
+ params: check port ${_param:haproxy_mongodb_exposed_port}
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: ${_param:haproxy_mongodb_exposed_port}
+ params: backup check port ${_param:haproxy_mongodb_exposed_port}
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: ${_param:haproxy_mongodb_exposed_port}
+ params: backup check port ${_param:haproxy_mongodb_exposed_port}
diff --git a/haproxy/proxy/listen/oss/postgresql.yml b/haproxy/proxy/listen/oss/postgresql.yml
index 1bc1f44..a356a48 100644
--- a/haproxy/proxy/listen/oss/postgresql.yml
+++ b/haproxy/proxy/listen/oss/postgresql.yml
@@ -7,6 +7,11 @@
enabled: false
haproxy:
proxy:
+ timeout:
+ queue: '8h'
+ client: '8h'
+ server: '8h'
+ check: '10s'
listen:
postgresql:
mode: tcp
diff --git a/haproxy/proxy/listen/privatebin.yml b/haproxy/proxy/listen/privatebin.yml
new file mode 100644
index 0000000..5588211
--- /dev/null
+++ b/haproxy/proxy/listen/privatebin.yml
@@ -0,0 +1,29 @@
+parameters:
+ haproxy:
+ proxy:
+ listen:
+ privatebin:
+ mode: http
+ service_name: privatebin
+ options:
+ - forwardfor
+ - httpchk
+ - httpclose
+ - httplog
+ balance: source
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8099
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 8099
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 8099
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 8099
+ params: backup check
diff --git a/haproxy/proxy/listen/stacklight/redis.yml b/haproxy/proxy/listen/stacklight/redis.yml
index 881e8ed..7bc5ea6 100644
--- a/haproxy/proxy/listen/stacklight/redis.yml
+++ b/haproxy/proxy/listen/stacklight/redis.yml
@@ -5,6 +5,8 @@
redis:
mode: tcp
check: False
+ options:
+ - tcp-check
health-check:
tcp:
options:
diff --git a/heka/log_collector/output/sensu.yml b/heka/log_collector/output/sensu.yml
index e7bf79d..23085b7 100644
--- a/heka/log_collector/output/sensu.yml
+++ b/heka/log_collector/output/sensu.yml
@@ -1,3 +1,2 @@
classes:
- service.heka.log_collector.output.sensu
-
diff --git a/heka/log_collector/output/telegraf.yml b/heka/log_collector/output/telegraf.yml
new file mode 100644
index 0000000..e6a9488
--- /dev/null
+++ b/heka/log_collector/output/telegraf.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ log_collector_telegraf_port: 8186
+ heka:
+ log_collector:
+ telegraf_host: 127.0.0.1
+ telegraf_port: ${_param:log_collector_telegraf_port}
+ telegraf_timeout: 2000
+ emit_rates: false
+ alarms_enabled: false
diff --git a/heka/remote_collector/container.yml b/heka/remote_collector/container.yml
new file mode 100644
index 0000000..61b8c31
--- /dev/null
+++ b/heka/remote_collector/container.yml
@@ -0,0 +1,9 @@
+classes:
+- service.heka.remote_collector.container
+- system.heka.server
+parameters:
+ _param:
+ remote_collector_prefix_dir: /srv/volumes/local/remote_collector
+ heka:
+ remote_collector:
+ prefix_dir: ${_param:remote_collector_prefix_dir}
\ No newline at end of file
diff --git a/heka/remote_collector/init.yml b/heka/remote_collector/init.yml
new file mode 100644
index 0000000..8446af5
--- /dev/null
+++ b/heka/remote_collector/init.yml
@@ -0,0 +1,15 @@
+classes:
+- service.heka.remote_collector.cluster
+- system.heka.server
+parameters:
+ keepalived:
+ cluster:
+ instance:
+ prometheus_server_vip:
+ notify_action:
+ master:
+ - service remote_collector start
+ backup:
+ - service remote_collector stop
+ fault:
+ - service remote_collector stop
diff --git a/heka/remote_collector/output/aggregator.yml b/heka/remote_collector/output/aggregator.yml
new file mode 100644
index 0000000..2a7444f
--- /dev/null
+++ b/heka/remote_collector/output/aggregator.yml
@@ -0,0 +1,7 @@
+parameters:
+ _param:
+ aggregator_port: 5565
+ heka:
+ remote_collector:
+ aggregator_host: ${_param:heka_aggregator_host}
+ aggregator_port: ${_param:aggregator_port}
diff --git a/heka/remote_collector/output/elasticsearch.yml b/heka/remote_collector/output/elasticsearch.yml
new file mode 100644
index 0000000..25f87cb
--- /dev/null
+++ b/heka/remote_collector/output/elasticsearch.yml
@@ -0,0 +1,7 @@
+parameters:
+ _param:
+ elasticsearch_port: 9200
+ heka:
+ remote_collector:
+ elasticsearch_host: ${_param:heka_elasticsearch_host}
+ elasticsearch_port: ${_param:elasticsearch_port}
diff --git a/heka/remote_collector/output/influxdb.yml b/heka/remote_collector/output/influxdb.yml
new file mode 100644
index 0000000..5383b66
--- /dev/null
+++ b/heka/remote_collector/output/influxdb.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ influxdb_port: 8086
+ heka:
+ remote_collector:
+ influxdb_host: ${_param:heka_influxdb_host}
+ influxdb_port: ${_param:influxdb_port}
+ influxdb_database: lma
+ influxdb_username: lma
+ influxdb_password: ${_param:influxdb_stacklight_password}
diff --git a/heka/remote_collector/output/sensu.yml b/heka/remote_collector/output/sensu.yml
index c7c66e9..087a7c2 100644
--- a/heka/remote_collector/output/sensu.yml
+++ b/heka/remote_collector/output/sensu.yml
@@ -1,3 +1,2 @@
classes:
- service.heka.remote_collector.output.sensu
-
diff --git a/heka/remote_collector/output/telegraf.yml b/heka/remote_collector/output/telegraf.yml
new file mode 100644
index 0000000..48da337
--- /dev/null
+++ b/heka/remote_collector/output/telegraf.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ remote_collector_telegraf_port: 8186
+ heka:
+ remote_collector:
+ influxdb_host: ${_param:remote_collector_telegraf_host}
+ influxdb_port: ${_param:remote_collector_telegraf_port}
+ influxdb_timeout: 2000
+ emit_rates: false
+ alarms_enabled: false
diff --git a/horizon/server/plugin/lbaasv2.yml b/horizon/server/plugin/lbaasv2.yml
new file mode 100644
index 0000000..69e2682
--- /dev/null
+++ b/horizon/server/plugin/lbaasv2.yml
@@ -0,0 +1,9 @@
+parameters:
+ horizon:
+ server:
+ plugin:
+ lbaasv2:
+ source:
+ engine: pkg
+ name: python-horizon-neutron-lbaasv2-panel
+
diff --git a/ironic/api/cluster.yml b/ironic/api/cluster.yml
new file mode 100644
index 0000000..c3a7901
--- /dev/null
+++ b/ironic/api/cluster.yml
@@ -0,0 +1,9 @@
+classes:
+- service.ironic.api.cluster
+parameters:
+ ironic:
+ api:
+ enabled: true
+ version: ${_param:ironic_version}
+ bind:
+ address: ${_param:cluster_baremetal_local_address}
diff --git a/ironic/api/single.yml b/ironic/api/single.yml
new file mode 100644
index 0000000..0800579
--- /dev/null
+++ b/ironic/api/single.yml
@@ -0,0 +1,7 @@
+classes:
+- service.ironic.api.single
+parameters:
+ ironic:
+ api:
+ bind:
+ address: ${_param:single_address}
diff --git a/ironic/conductor/cluster.yml b/ironic/conductor/cluster.yml
new file mode 100644
index 0000000..ba0c538
--- /dev/null
+++ b/ironic/conductor/cluster.yml
@@ -0,0 +1,6 @@
+classes:
+- service.ironic.conductor.cluster
+parameters:
+ ironic:
+ conductor:
+ api_url: 'http://${_param:cluster_baremetal_vip_address}:6385'
diff --git a/ironic/conductor/single.yml b/ironic/conductor/single.yml
new file mode 100644
index 0000000..69e6c20
--- /dev/null
+++ b/ironic/conductor/single.yml
@@ -0,0 +1,7 @@
+classes:
+- service.ironic.conductor.single
+parameters:
+ ironic:
+ conductor:
+ enabled: true
+ version: ${_param:ironic_version}
diff --git a/ironic/tftpd_hpa.yml b/ironic/tftpd_hpa.yml
new file mode 100644
index 0000000..fc1dd74
--- /dev/null
+++ b/ironic/tftpd_hpa.yml
@@ -0,0 +1,14 @@
+classes:
+ - service.tftpd_hpa.server.single
+parameters:
+ tftpd_hpa:
+ server:
+ enabled: true
+ bind:
+ address: '0.0.0.0'
+ port: 69
+ username: 'ironic'
+ path: /var/lib/tftpboot
+ options:
+ - secure
+ - map-file: '/var/lib/tftpboot/map-file'
diff --git a/jenkins/client/approved_scripts.yml b/jenkins/client/approved_scripts.yml
index 77c4c26..f9e01b8 100644
--- a/jenkins/client/approved_scripts.yml
+++ b/jenkins/client/approved_scripts.yml
@@ -98,3 +98,13 @@
- method hudson.model.Run getNumber
- staticMethod java.lang.String valueOf int
- method jenkins.model.Jenkins getItemByFullName java.lang.String
+ - new java.util.ArrayList
+ - new java.util.HashMap
+ - staticMethod java.lang.Math min int int
+ - method hudson.model.Job getBuildByNumber int
+ - new java.io.IOException java.lang.String
+ - method org.jenkinsci.plugins.workflow.job.WorkflowRun finish hudson.model.Result java.lang.Throwable
+ - new groovy.json.JsonBuilder
+ - new java.lang.RuntimeException java.lang.String
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods takeRight java.util.List int
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getAt java.util.List groovy.lang.Range
diff --git a/jenkins/client/init.yml b/jenkins/client/init.yml
index ef0241d..b37c48f 100644
--- a/jenkins/client/init.yml
+++ b/jenkins/client/init.yml
@@ -13,7 +13,7 @@
master:
host: ${_param:jenkins_master_host}
port: ${_param:jenkins_master_port}
- user: ${_param:jenkins_client_user}
+ username: ${_param:jenkins_client_user}
password: ${_param:jenkins_client_password}
plugin:
ansicolor: {}
diff --git a/jenkins/client/job/debian/packages/extra.yml b/jenkins/client/job/debian/packages/extra.yml
index 298452e..7371d3b 100644
--- a/jenkins/client/job/debian/packages/extra.yml
+++ b/jenkins/client/job/debian/packages/extra.yml
@@ -93,6 +93,10 @@
dist: trusty
build: pipeline
branch: debian/trusty
+ - package: jmx-exporter
+ dist: trusty
+ build: jmx-exporter
+ branch: master
- package: librdkafka
dist: xenial
build: pipeline
@@ -105,6 +109,10 @@
dist: xenial
build: pipeline
branch: debian/xenial
+ - package: python-pydbus
+ dist: xenial
+ build: pipeline
+ branch: debian/xenial
- package: python-docker
dist: xenial
build: pipeline
@@ -137,6 +145,22 @@
dist: xenial
build: telegraf
branch: release-1.2
+ - package: libvirt-exporter
+ dist: xenial
+ build: libvirt-exporter
+ branch: master
+ - package: kafka
+ dist: xenial
+ build: pipeline
+ branch: debian/xenial
+ - package: python-cassandra-driver
+ dist: xenial
+ build: pipeline
+ branch: debian/xenial
+ - package: jmx-exporter
+ dist: xenial
+ build: jmx-exporter
+ branch: master
template:
type: workflow-scm
concurrent: false
@@ -150,7 +174,7 @@
project:
debian/{{package}}:
branches:
- - debian/{{dist}}
+ - "{{branch}}"
message:
build_successful: "Build successful"
build_unstable: "Build unstable"
diff --git a/jenkins/client/job/debian/packages/horizon/modules.yml b/jenkins/client/job/debian/packages/horizon/modules.yml
index 235c84c..4fe4966 100644
--- a/jenkins/client/job/debian/packages/horizon/modules.yml
+++ b/jenkins/client/job/debian/packages/horizon/modules.yml
@@ -6,6 +6,42 @@
name: build-debian-horizon-module-{{name}}-{{os_version}}-{{os}}-{{dist}}
jobs:
# Trusty
+ - name: horizon-avi-panels
+ os: ubuntu
+ dist: trusty
+ os_version: mitaka
+ branch: stable/mitaka
+ # Xenial
+ - name: horizon-avi-panels
+ os: ubuntu
+ dist: xenial
+ os_version: mitaka
+ branch: stable/mitaka
+ # Trusty
+ - name: horizon-neutron-lbaasv2-panel
+ os: ubuntu
+ dist: trusty
+ os_version: ocata
+ branch: stable/ocata
+ # Xenial
+ - name: horizon-neutron-lbaasv2-panel
+ os: ubuntu
+ dist: xenial
+ os_version: ocata
+ branch: stable/ocata
+ # Trusty
+ - name: horizon-neutron-lbaasv2-panel
+ os: ubuntu
+ dist: trusty
+ os_version: mitaka
+ branch: stable/mitaka
+ # Xenial
+ - name: horizon-neutron-lbaasv2-panel
+ os: ubuntu
+ dist: xenial
+ os_version: mitaka
+ branch: stable/mitaka
+ # Trusty
- name: horizon-overrides-plugin
os: ubuntu
dist: trusty
@@ -18,6 +54,30 @@
os_version: mitaka
branch: master
# Trusty
+ - name: horizon-overrides-plugin
+ os: ubuntu
+ dist: trusty
+ os_version: ocata
+ branch: master
+ # Xenial
+ - name: horizon-overrides-plugin
+ os: ubuntu
+ dist: xenial
+ os_version: ocata
+ branch: master
+ # Trusty
+ - name: horizon-contrib
+ os: ubuntu
+ dist: trusty
+ os_version: ocata
+ branch: master
+ # Xenial
+ - name: horizon-contrib
+ os: ubuntu
+ dist: xenial
+ os_version: ocata
+ branch: master
+ # Trusty
- name: horizon-contrail-panels
os: ubuntu
dist: trusty
diff --git a/jenkins/client/job/debian/packages/horizon/themes.yml b/jenkins/client/job/debian/packages/horizon/themes.yml
index a5ad56a..a26977f 100644
--- a/jenkins/client/job/debian/packages/horizon/themes.yml
+++ b/jenkins/client/job/debian/packages/horizon/themes.yml
@@ -10,13 +10,25 @@
os: ubuntu
dist: trusty
os_version: mitaka
- branch: master
+ branch: stable/mitaka
# Xenial
- name: horizon-mirantis-theme
os: ubuntu
dist: xenial
os_version: mitaka
- branch: master
+ branch: stable/mitaka
+ # Trusty
+ - name: horizon-mirantis-theme
+ os: ubuntu
+ dist: trusty
+ os_version: ocata
+ branch: stable/ocata
+ # Xenial
+ - name: horizon-mirantis-theme
+ os: ubuntu
+ dist: xenial
+ os_version: ocata
+ branch: stable/ocata
template:
discard:
build:
diff --git a/jenkins/client/job/debian/packages/salt-multi.yml b/jenkins/client/job/debian/packages/salt-multi.yml
index d216e9d..a57a8ab 100644
--- a/jenkins/client/job/debian/packages/salt-multi.yml
+++ b/jenkins/client/job/debian/packages/salt-multi.yml
@@ -117,4 +117,4 @@
default: 'true'
UPLOAD_APTLY:
type: boolean
- default: 'true'
\ No newline at end of file
+ default: 'true'
diff --git a/jenkins/client/job/debian/packages/salt.yml b/jenkins/client/job/debian/packages/salt.yml
index ecd7432..6ccb432 100644
--- a/jenkins/client/job/debian/packages/salt.yml
+++ b/jenkins/client/job/debian/packages/salt.yml
@@ -19,6 +19,8 @@
dist: trusty
- name: backupninja
dist: trusty
+ - name: baremetal-simulator
+ dist: trusty
- name: billometer
dist: trusty
- name: bind
@@ -79,6 +81,8 @@
dist: trusty
- name: iptables
dist: trusty
+ - name: ironic
+ dist: trusty
- name: isc-dhcp
dist: trusty
- name: java
@@ -129,6 +133,8 @@
dist: trusty
- name: ntp
dist: trusty
+ - name: octavia
+ dist: trusty
- name: opencontrail
dist: trusty
- name: openldap
@@ -145,6 +151,8 @@
dist: trusty
- name: postgresql
dist: trusty
+ - name: powerdns
+ dist: trusty
- name: pritunl
dist: trusty
- name: prometheus
@@ -189,6 +197,8 @@
dist: trusty
- name: varnish
dist: trusty
+ - name: xtrabackup
+ dist: trusty
- name: zookeeper
dist: trusty
- name: aodh
@@ -203,6 +213,8 @@
dist: xenial
- name: avinetworks
dist: xenial
+ - name: baremetal-simulator
+ dist: xenial
- name: backupninja
dist: xenial
- name: billometer
@@ -253,6 +265,8 @@
dist: xenial
- name: glusterfs
dist: xenial
+ - name: gnocchi
+ dist: xenial
- name: grafana
dist: xenial
- name: graphite
@@ -261,10 +275,14 @@
dist: xenial
- name: heka
dist: xenial
+ - name: helm
+ dist: xenial
- name: influxdb
dist: xenial
- name: iptables
dist: xenial
+ - name: ironic
+ dist: xenial
- name: isc-dhcp
dist: xenial
- name: java
@@ -315,6 +333,8 @@
dist: xenial
- name: ntp
dist: xenial
+ - name: octavia
+ dist: xenial
- name: opencontrail
dist: xenial
- name: openldap
@@ -327,6 +347,8 @@
dist: xenial
- name: owncloud
dist: xenial
+ - name: panko
+ dist: xenial
- name: postfix
dist: xenial
- name: postgresql
@@ -335,6 +357,8 @@
dist: xenial
- name: prometheus
dist: xenial
+ - name: powerdns
+ dist: xenial
- name: python
dist: xenial
- name: rabbitmq
@@ -375,6 +399,8 @@
dist: xenial
- name: varnish
dist: xenial
+ - name: xtrabackup
+ dist: xenial
- name: zookeeper
dist: xenial
template:
diff --git a/jenkins/client/job/debian/packages/testing.yml b/jenkins/client/job/debian/packages/testing.yml
new file mode 100644
index 0000000..c7ecf98
--- /dev/null
+++ b/jenkins/client/job/debian/packages/testing.yml
@@ -0,0 +1,74 @@
+parameters:
+ _param:
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins:
+ client:
+ job_template:
+ build-debian-python-flask-hello:
+ name: build-debian-{{package}}-ubuntu-{{dist}}
+ jobs:
+ - package: python-flask-hello
+ dist: trusty
+ build: pipeline
+ branch: master
+ template:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: build-debian-packages-{{build}}.groovy
+ trigger:
+ gerrit:
+ project:
+ mk/{{package}}:
+ branches:
+ - "{{branch}}"
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/mk/python-flask-hello"
+ SOURCE_BRANCH:
+ type: string
+ default: "{{branch}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ EXTRA_REPO_URL:
+ type: string
+ default: ""
+ EXTRA_REPO_KEY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_url}/public.gpg"
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ APTLY_REPO:
+ type: string
+ default: "ubuntu-{{dist}}-extra"
+ OS:
+ type: string
+ default: "ubuntu"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
+ PPA:
+ type: string
+ default: "mirantis-opencontrail/extra"
+ UPLOAD_PPA:
+ type: boolean
+ default: 'false'
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
diff --git a/jenkins/client/job/deploy/k8s_control.yml b/jenkins/client/job/deploy/k8s_control.yml
new file mode 100644
index 0000000..7e915c2
--- /dev/null
+++ b/jenkins/client/job/deploy/k8s_control.yml
@@ -0,0 +1,34 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ deploy_k8s_control:
+ type: workflow-scm
+ name: deploy-k8s-control
+ display_name: "Deploy - k8s control"
+ discard:
+ build:
+ keep_num: 20
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: deploy-k8s-deployments.groovy
+ param:
+ # deployments and test settings
+ TARGET_MINIONS:
+ type: string
+ default: "E@k8s-ctl01.*"
+ description: "Salt compound target to match nodes to be updated [*, G@osfamily:debian]."
+ EXTRA_COMMAND:
+ type: string
+ default: ""
+ description: "Extra command to run before update"
+ # salt master
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
diff --git a/jenkins/client/job/deploy/lab/cicd.yml b/jenkins/client/job/deploy/lab/cicd.yml
index 0aa442e..9002c9c 100644
--- a/jenkins/client/job/deploy/lab/cicd.yml
+++ b/jenkins/client/job/deploy/lab/cicd.yml
@@ -20,7 +20,7 @@
# heat
HEAT_TEMPLATE_URL:
type: string
- default: "git@github.com:Mirantis/mk-lab-heat-templates.git"
+ default: "${_param:jenkins_gerrit_url}/mk/heat-templates"
HEAT_TEMPLATE_CREDENTIALS:
type: string
default: "gerrit"
@@ -35,13 +35,13 @@
default: "{{lab}}"
HEAT_STACK_ENVIRONMENT:
type: string
- default: "tcpisek"
+ default: "devcloud"
HEAT_STACK_ZONE:
type: string
- default: "mirantis-zone-qa"
+ default: "mcp-mk"
HEAT_STACK_PUBLIC_NET:
type: string
- default: "mirantis-private"
+ default: "public"
HEAT_STACK_DELETE:
type: boolean
default: 'true'
@@ -62,16 +62,28 @@
# openstack api
OPENSTACK_API_URL:
type: string
- default: "https://vpc.tcpisek.cz:5000/v2.0"
+ default: "https://cloud-cz.bud.mirantis.net:5000"
OPENSTACK_API_CREDENTIALS:
type: string
- default: "openstack-qa-credentials"
+ default: "openstack-devcloud-credentials"
OPENSTACK_API_PROJECT:
type: string
- default: "mirantis_mk20_qa"
+ default: "mcp-mk"
OPENSTACK_API_CLIENT:
type: string
- default: "liberty"
+ default: ""
OPENSTACK_API_VERSION:
type: string
- default: "2"
+ default: "3"
+ OPENSTACK_API_PROJECT_DOMAIN:
+ type: string
+ default: "default"
+ OPENSTACK_API_USER_DOMAIN_ID:
+ type: string
+ default: "default"
+ OPENSTACK_API_PROJECT_ID:
+ type: string
+ default: ""
+ OPENSTACK_API_USER_DOMAIN:
+ type: string
+ default: "default"
diff --git a/jenkins/client/job/deploy/lab/init.yml b/jenkins/client/job/deploy/lab/init.yml
index 5fc4401..e700325 100644
--- a/jenkins/client/job/deploy/lab/init.yml
+++ b/jenkins/client/job/deploy/lab/init.yml
@@ -2,6 +2,7 @@
- system.jenkins.client.job.deploy.lab.mk.physical
- system.jenkins.client.job.deploy.lab.mk.virtual
- system.jenkins.client.job.deploy.lab.mk.cleanup
+ - system.jenkins.client.job.deploy.lab.mk.cloud
- system.jenkins.client.job.deploy.lab.cicd
- system.jenkins.client.job.deploy.lab.demo
diff --git a/jenkins/client/job/deploy/lab/mk/cleanup.yml b/jenkins/client/job/deploy/lab/mk/cleanup.yml
index c2b32cc..626dd4e 100644
--- a/jenkins/client/job/deploy/lab/mk/cleanup.yml
+++ b/jenkins/client/job/deploy/lab/mk/cleanup.yml
@@ -2,10 +2,10 @@
jenkins:
client:
job:
- deploy-heat-cleanup:
+ deploy-stack-cleanup:
type: workflow-scm
concurrent: true
- display_name: "Deploy - heat cleanup"
+ display_name: "Deploy - stack cleanup"
discard:
build:
keep_num: 20
@@ -15,26 +15,51 @@
credentials: "gerrit"
script: cleanup-pipeline.groovy
param:
- # openstack api
- OPENSTACK_API_URL:
- type: string
- default: "https://vpc.tcpisek.cz:5000/v2.0"
- OPENSTACK_API_CREDENTIALS:
- type: string
- default: "openstack-qa-credentials"
- OPENSTACK_API_PROJECT:
- type: string
- default: "mirantis_mk20_qa"
- OPENSTACK_API_CLIENT:
- type: string
- default: "liberty"
- OPENSTACK_API_VERSION:
- type: string
- default: "2"
- # heat
- HEAT_STACK_NAME:
+ # general parameters
+ STACK_NAME:
type: string
description: This stack will be deleted.
+ STACK_TYPE:
+ type: choice
+ choices:
+ - heat
+ - aws
+ default: 'heat'
+
+ # heat parameters
+ OPENSTACK_API_URL:
+ type: string
+ default: "https://cloud-cz.bud.mirantis.net:5000"
+ OPENSTACK_API_CREDENTIALS:
+ type: string
+ default: "openstack-devcloud-credentials"
+ OPENSTACK_API_PROJECT:
+ type: string
+ default: "mcp-mk"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: ""
+ OPENSTACK_API_VERSION:
+ type: string
+ default: "3"
+ OPENSTACK_API_PROJECT_DOMAIN:
+ type: string
+ default: "default"
+ OPENSTACK_API_PROJECT_ID:
+ type: string
+ default: ""
+ OPENSTACK_API_USER_DOMAIN:
+ type: string
+ default: "default"
+
+ # aws parameters
+ AWS_API_CREDENTIALS:
+ type: string
+ default: "aws-credentials"
+ AWS_DEFAULT_REGION:
+ type: string
+ default: "us-west-2"
+
delete-failed-stacks:
type: workflow-scm
concurrent: true
@@ -54,16 +79,28 @@
# openstack api
OPENSTACK_API_URL:
type: string
- default: "https://vpc.tcpisek.cz:5000/v2.0"
+ default: "https://cloud-cz.bud.mirantis.net:5000"
OPENSTACK_API_CREDENTIALS:
type: string
- default: "openstack-qa-credentials"
+ default: "openstack-devcloud-credentials"
OPENSTACK_API_PROJECT:
type: string
- default: "mirantis_mk20_qa"
+ default: "mcp-mk"
OPENSTACK_API_CLIENT:
type: string
- default: "liberty"
+ default: ""
OPENSTACK_API_VERSION:
type: string
- default: "2"
\ No newline at end of file
+ default: "3"
+ OPENSTACK_API_PROJECT_DOMAIN:
+ type: string
+ default: "default"
+ OPENSTACK_API_USER_DOMAIN_ID:
+ type: string
+ default: "default"
+ OPENSTACK_API_PROJECT_ID:
+ type: string
+ default: ""
+ OPENSTACK_API_USER_DOMAIN:
+ type: string
+ default: "default"
diff --git a/jenkins/client/job/deploy/lab/mk/cloud.yml b/jenkins/client/job/deploy/lab/mk/cloud.yml
new file mode 100644
index 0000000..4e4080b
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/mk/cloud.yml
@@ -0,0 +1,206 @@
+parameters:
+ _param:
+ jenkins_cloud_deploy_pipelines:
+ - stack_name: k8s_calico
+ stack_type: aws
+ stack_install: core,k8s,calico
+ job_timer: "H H * * *"
+# - stack_name: ceph_ha
+# stack_type: heat
+# stack_install: core
+# job_timer: ""
+# - stack_name: drivetrain_ha
+# stack_type: heat
+# stack_install: core
+# job_timer: ""
+# - stack_name: drivetrain_ha_clusters
+# stack_type: heat
+# stack_install: core
+# job_timer: ""
+ - stack_name: k8s_aio_calico
+ stack_type: heat
+ stack_install: core,k8s,calico
+ job_timer: ""
+ - stack_name: k8s_aio_contrail
+ stack_type: heat
+ stack_install: core,k8s,contrail
+ job_timer: ""
+ - stack_name: k8s_ha_calico
+ stack_type: heat
+ stack_install: core,k8s,calico
+ job_timer: ""
+ - stack_name: k8s_ha_contrail
+ stack_type: heat
+ stack_install: core,k8s,contrail
+ job_timer: ""
+ - stack_name: os_aio_contrail
+ stack_type: heat
+ stack_install: core,openstack,contrail
+ job_timer: ""
+ - stack_name: os_aio_ovs
+ stack_type: heat
+ stack_install: core,openstack,ovs
+ job_timer: ""
+ - stack_name: os_ha_contrail
+ stack_type: heat
+ stack_install: core,openstack,contrail
+ job_timer: ""
+ - stack_name: os_ha_ovs
+ stack_type: heat
+ stack_install: core,openstack,ovs
+ job_timer: ""
+ - stack_name: stacklight_k8s_calico
+ stack_type: heat
+ stack_install: core,k8s,calico,sl-legacy
+ job_timer: ""
+ - stack_name: stacklight_os_contrail
+ stack_type: heat
+ stack_install: core,openstack,contrail,sl-legacy
+ job_timer: ""
+ - stack_name: stacklight_os_ovs
+ stack_type: heat
+ stack_install: core,openstack,ovs,sl-legacy
+ job_timer: ""
+ jenkins:
+ client:
+ job_template:
+ cloud_deploy_heat_template:
+ name: deploy-{{stack_type}}-{{stack_name}}
+ jobs: ${_param:jenkins_cloud_deploy_pipelines}
+ template:
+ type: workflow-scm
+ discard:
+ build:
+ keep_num: 20
+ concurrent: true
+ display_name: "Deploy - {{stack_name}} {{stack_type}}"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: cloud-deploy-pipeline.groovy
+ trigger:
+ timer:
+ spec: "{{job_timer}}"
+ param:
+ # general parameters
+ ASK_ON_ERROR:
+ type: boolean
+ default: 'false'
+
+ # deployments
+ STACK_NAME:
+ type: string
+ description: Heat stack name. Will be generated if missing.
+ STACK_TEMPLATE:
+ type: string
+ default: "{{stack_name}}"
+ STACK_TYPE:
+ type: string
+ default: "{{stack_type}}"
+ STACK_INSTALL:
+ type: string
+ default: "{{stack_install}}"
+ STACK_TEST:
+ type: string
+ default: ""
+ STACK_DELETE:
+ type: boolean
+ default: 'true'
+ description: "Don't enable it if you need to use the lab after"
+ STACK_REUSE:
+ type: boolean
+ default: 'false'
+ STACK_COMPUTE_COUNT:
+ type: string
+ default: '2'
+
+ STACK_TEMPLATE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/mk/heat-templates"
+ STACK_TEMPLATE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ STACK_TEMPLATE_BRANCH:
+ type: string
+ default: "master"
+ STACK_CLEANUP_JOB:
+ type: string
+ default: 'deploy-stack-cleanup'
+
+ # salt master
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt-qa-credentials"
+ SALT_MASTER_URL:
+ type: string
+ default: ""
+ SALT_OVERRIDES:
+ type: text
+ default: ""
+
+ # aws api
+ AWS_STACK_REGION:
+ type: string
+ default: "us-west-2"
+ AWS_API_CREDENTIALS:
+ type: string
+ default: "aws-credentials"
+ AWS_SSH_KEY:
+ type: string
+ default: "jenkins-mk"
+
+
+ # openstack api
+ OPENSTACK_API_URL:
+ type: string
+ default: "https://cloud-cz.bud.mirantis.net:5000"
+ OPENSTACK_API_CREDENTIALS:
+ type: string
+ default: "openstack-devcloud-credentials"
+ OPENSTACK_API_PROJECT:
+ type: string
+ default: "mcp-mk"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: ""
+ OPENSTACK_API_VERSION:
+ type: string
+ default: "3"
+ OPENSTACK_API_PROJECT_DOMAIN:
+ type: string
+ default: "default"
+ OPENSTACK_API_USER_DOMAIN_ID:
+ type: string
+ default: "default"
+ OPENSTACK_API_PROJECT_ID:
+ type: string
+ default: ""
+ OPENSTACK_API_USER_DOMAIN:
+ type: string
+ default: "default"
+
+ # heat
+ HEAT_STACK_ENVIRONMENT:
+ type: string
+ default: "devcloud"
+ HEAT_STACK_ZONE:
+ type: string
+ default: "mcp-mk"
+ HEAT_STACK_PUBLIC_NET:
+ type: string
+ default: "public"
+
+ # k8s setttings
+ K8S_API_SERVER:
+ type: string
+ default: "http://127.0.0.1:8080"
+ K8S_CONFORMANCE_IMAGE:
+ type: string
+ default: "docker-dev-virtual.docker.mirantis.net/mirantis/kubernetes/k8s-conformance:v1.5.1-3_1482332392819"
+
+ # openstack settings
+ TEMPEST_IMAGE:
+ type: string
+ default: "sandbox-docker-prod-local.docker.mirantis.net/mirantis/rally_tempest:0.1"
+
diff --git a/jenkins/client/job/deploy/lab/mk/init.yml b/jenkins/client/job/deploy/lab/mk/init.yml
index 2a32dc6..dde1fb0 100644
--- a/jenkins/client/job/deploy/lab/mk/init.yml
+++ b/jenkins/client/job/deploy/lab/mk/init.yml
@@ -27,45 +27,48 @@
STACK_TYPE:
type: string
default: "{{stack_type}}"
- INSTALL:
+ STACK_INSTALL:
type: string
default: "{{install}}"
- TEST:
+ STACK_TEST:
type: string
default: "{{test}}"
- # heat
- HEAT_TEMPLATE_URL:
+ STACK_TEMPLATE_URL:
type: string
default: "${_param:jenkins_gerrit_url}/mk/heat-templates"
- HEAT_TEMPLATE_CREDENTIALS:
+ STACK_TEMPLATE_CREDENTIALS:
type: string
default: "gerrit"
- HEAT_TEMPLATE_BRANCH:
+ STACK_TEMPLATE_BRANCH:
type: string
default: "master"
- HEAT_STACK_NAME:
+ STACK_NAME:
type: string
description: Heat stack name. Will be generated if missing.
- HEAT_STACK_TEMPLATE:
+ STACK_TEMPLATE:
type: string
default: "{{lab}}"
- HEAT_STACK_ENVIRONMENT:
- type: string
- default: "tcpisek"
- HEAT_STACK_ZONE:
- type: string
- default: "mirantis-zone-qa"
- HEAT_STACK_PUBLIC_NET:
- type: string
- default: "mirantis-private"
- HEAT_STACK_DELETE:
+ STACK_DELETE:
type: boolean
default: 'true'
description: "Don't enable it if you need to use the lab after"
- HEAT_STACK_REUSE:
+ STACK_REUSE:
type: boolean
default: 'false'
+ STACK_CLEANUP_JOB:
+ type: string
+ default: 'deploy-stack-cleanup'
+ # heat
+ HEAT_STACK_ENVIRONMENT:
+ type: string
+ default: "devcloud"
+ HEAT_STACK_ZONE:
+ type: string
+ default: "mcp-mk"
+ HEAT_STACK_PUBLIC_NET:
+ type: string
+ default: "public"
# salt master
SALT_MASTER_CREDENTIALS:
@@ -78,19 +81,31 @@
# openstack api
OPENSTACK_API_URL:
type: string
- default: "https://vpc.tcpisek.cz:5000/v2.0"
+ default: "https://cloud-cz.bud.mirantis.net:5000"
OPENSTACK_API_CREDENTIALS:
type: string
- default: "openstack-qa-credentials"
+ default: "openstack-devcloud-credentials"
OPENSTACK_API_PROJECT:
type: string
- default: "mirantis_mk20_qa"
+ default: "mcp-mk"
OPENSTACK_API_CLIENT:
type: string
- default: "liberty"
+ default: ""
OPENSTACK_API_VERSION:
type: string
- default: "2"
+ default: "3"
+ OPENSTACK_API_PROJECT_DOMAIN:
+ type: string
+ default: "default"
+ OPENSTACK_API_PROJECT_ID:
+ type: string
+ default: ""
+ OPENSTACK_USER_DOMAIN:
+ type: string
+ default: "default"
+ OPENSTACK_API_USER_DOMAIN:
+ type: string
+ default: "default"
# k8s setttings
K8S_API_SERVER:
diff --git a/jenkins/client/job/deploy/lab/mk/virtual.yml b/jenkins/client/job/deploy/lab/mk/virtual.yml
index 337d93d..da807df 100644
--- a/jenkins/client/job/deploy/lab/mk/virtual.yml
+++ b/jenkins/client/job/deploy/lab/mk/virtual.yml
@@ -9,72 +9,105 @@
stack_type: heat
test: openstack
timer: ""
+ extra_formulas: ""
- lab: virtual_mk20_basic
install: core,openstack
stack_type: heat
test: openstack
timer: ""
+ extra_formulas: ""
# mk22
- lab: virtual_mk22_advanced
install: core,openstack
stack_type: heat
test: openstack
timer: ""
+ extra_formulas: ""
- lab: virtual_mk22_basic
install: core,openstack
stack_type: heat
test: openstack
timer: ""
+ extra_formulas: ""
# mcp05
- lab: virtual_mcp05_dvr
install: core,openstack,dvr
stack_type: heat
test: openstack
timer: ""
+ extra_formulas: ""
- lab: virtual_mcp05_ovs
install: core,openstack,ovs
stack_type: heat
test: openstack
timer: ""
+ extra_formulas: ""
# mcp10
- lab: virtual_mcp10_contrail
install: core,openstack,contrail
stack_type: heat
test: openstack
timer: "H H(0-6) * * *"
+ extra_formulas: ""
- lab: virtual_mcp10_dvr
install: core,openstack,dvr
stack_type: heat
test: openstack
timer: "H H(0-6) * * *"
+ extra_formulas: ""
- lab: virtual_mcp10_ovs
install: core,openstack,ovs
stack_type: heat
test: openstack
timer: "H H(0-6) * * *"
+ extra_formulas: ""
# mcp11
- lab: virtual_mcp11_contrail
install: core,openstack,contrail
stack_type: heat
test: openstack
+ extra_formulas: ""
timer: ""
- lab: virtual_mcp11_dvr
install: core,openstack,dvr
stack_type: heat
test: openstack
timer: ""
+ extra_formulas: ""
- lab: virtual_mcp11_ovs
install: core,openstack,ovs
stack_type: heat
test: openstack
timer: ""
+ extra_formulas: ""
- lab: virtual_mcp11_k8s_calico
install: core,k8s,calico
stack_type: heat
test: k8s
timer: "H H(0-6) * * *"
+ extra_formulas: ""
- lab: virtual_mcp11_k8s_contrail
install: core,k8s,contrail
stack_type: heat
test: k8s
timer: "H H(0-6) * * *"
+ extra_formulas: ""
+ - lab: virtual_mcp11_contrail_nfv
+ install: core,openstack,contrail
+ stack_type: heat
+ test: openstack
+ timer: "H H(0-6) * * *"
+ extra_formulas: ""
+ - lab: virtual_mcp11_ovs_dpdk
+ install: core,openstack,ovs
+ stack_type: heat
+ test: openstack
+ timer: "H H(0-6) * * *"
+ extra_formulas: ""
+ # Identity AAA
+ - lab: virtual_aaa_freeipa
+ install: core,aaa
+ stack_type: heat
+ test: ""
+ timer: ""
+ extra_formulas: ""
diff --git a/jenkins/client/job/deploy/openstack.yml b/jenkins/client/job/deploy/openstack.yml
index 644b16b..c2eb71b 100644
--- a/jenkins/client/job/deploy/openstack.yml
+++ b/jenkins/client/job/deploy/openstack.yml
@@ -20,7 +20,7 @@
STACK_TYPE:
type: string
default: "physical"
- INSTALL:
+ STACK_INSTALL:
type: string
default: "core,kvm,openstack,stacklight"
@@ -34,3 +34,23 @@
ASK_ON_ERROR:
type: boolean
default: 'false'
+ deploy-openstack-compute:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy - OpenStack Compute node"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: openstack-compute-install.groovy
+ param:
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
+ TARGET_SERVERS:
+ type: string
+ default: ""
+ description: "Salt compound target to match nodes to be updated [*, G@osfamily:debian]."
\ No newline at end of file
diff --git a/jenkins/client/job/deploy/update/init.yml b/jenkins/client/job/deploy/update/init.yml
index a65d440..4eadda5 100644
--- a/jenkins/client/job/deploy/update/init.yml
+++ b/jenkins/client/job/deploy/update/init.yml
@@ -3,3 +3,7 @@
- system.jenkins.client.job.deploy.update.config
- system.jenkins.client.job.deploy.update.saltenv
- system.jenkins.client.job.deploy.update.upgrade
+ - system.jenkins.client.job.deploy.update.upgrade_compute
+ - system.jenkins.client.job.deploy.update.restore_mysql
+ - system.jenkins.client.job.deploy.update.restore_cassandra
+ - system.jenkins.client.job.deploy.update.restore_zookeeper
\ No newline at end of file
diff --git a/jenkins/client/job/deploy/update/package.yml b/jenkins/client/job/deploy/update/package.yml
index 273796c..a4e7fc0 100644
--- a/jenkins/client/job/deploy/update/package.yml
+++ b/jenkins/client/job/deploy/update/package.yml
@@ -36,7 +36,7 @@
TARGET_SUBSET_LIVE:
type: string
default: '1'
- description: Number of selected noded to live apply selected package update.
+ description: Number of selected nodes to live apply selected package update.
TARGET_BATCH_LIVE:
type: string
description: Batch size for the complete live package update on all nodes, empty string means apply to all targetted nodes.
diff --git a/jenkins/client/job/deploy/update/restore_cassandra.yml b/jenkins/client/job/deploy/update/restore_cassandra.yml
new file mode 100644
index 0000000..7f53f80
--- /dev/null
+++ b/jenkins/client/job/deploy/update/restore_cassandra.yml
@@ -0,0 +1,25 @@
+#
+# Jobs to update packages on given Salt master environment
+#
+parameters:
+ _param:
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ jenkins:
+ client:
+ job:
+ deploy-cassandra-db-restore:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Cassandra - restore db"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: restore-cassandra.groovy
+ param:
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
diff --git a/jenkins/client/job/deploy/update/restore_mysql.yml b/jenkins/client/job/deploy/update/restore_mysql.yml
new file mode 100644
index 0000000..9b2e4d7
--- /dev/null
+++ b/jenkins/client/job/deploy/update/restore_mysql.yml
@@ -0,0 +1,26 @@
+#
+# Jobs to update packages on given Salt master environment
+#
+parameters:
+ _param:
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ jenkins:
+ client:
+ job:
+ deploy-mysql-db-restore:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Xtrabackup - restore mysql db"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: xtrabackup-restore-mysql-db.groovy
+ param:
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
+
diff --git a/jenkins/client/job/deploy/update/restore_zookeeper.yml b/jenkins/client/job/deploy/update/restore_zookeeper.yml
new file mode 100644
index 0000000..f33607a
--- /dev/null
+++ b/jenkins/client/job/deploy/update/restore_zookeeper.yml
@@ -0,0 +1,25 @@
+#
+# Jobs to update packages on given Salt master environment
+#
+parameters:
+ _param:
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ jenkins:
+ client:
+ job:
+ deploy-zookeeper-restore:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Zookeeper - restore"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: restore-zookeeper.groovy
+ param:
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
diff --git a/jenkins/client/job/deploy/update/saltenv.yml b/jenkins/client/job/deploy/update/saltenv.yml
index 0303aea..1ce1494 100644
--- a/jenkins/client/job/deploy/update/saltenv.yml
+++ b/jenkins/client/job/deploy/update/saltenv.yml
@@ -5,6 +5,7 @@
_param:
jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
jenkins_salt_model_name: "salt"
+ jenkins_salt_model_branch: "master"
jenkins:
client:
job_template:
@@ -21,6 +22,7 @@
scm:
type: git
url: "${_param:jenkins_gerrit_url}/salt-models/{{name}}"
+ branch: ${_param:jenkins_salt_model_branch}
credentials: "gerrit"
script: Jenkinsfile
param:
@@ -30,3 +32,6 @@
SALT_MASTER_CREDENTIALS:
type: string
default: "{{salt_credentials}}"
+ UPDATE_FORMULAS:
+ type: boolean
+ default: "true"
diff --git a/jenkins/client/job/deploy/update/upgrade.yml b/jenkins/client/job/deploy/update/upgrade.yml
index 81a7b16..efbd153 100644
--- a/jenkins/client/job/deploy/update/upgrade.yml
+++ b/jenkins/client/job/deploy/update/upgrade.yml
@@ -23,3 +23,15 @@
SALT_MASTER_CREDENTIALS:
type: string
default: "salt"
+ STAGE_TEST_UPGRADE:
+ type: boolean
+ default: 'true'
+ description: "Test if syncdb and APIs succeed"
+ STAGE_REAL_UPGRADE:
+ type: boolean
+ default: 'true'
+ description: "Run real control upgrade"
+ STAGE_ROLLBACK_UPGRADE:
+ type: boolean
+ default: 'true'
+ description: "Rollback if control upgrade fails"
diff --git a/jenkins/client/job/deploy/update/upgrade_compute.yml b/jenkins/client/job/deploy/update/upgrade_compute.yml
new file mode 100644
index 0000000..6fc6ef1
--- /dev/null
+++ b/jenkins/client/job/deploy/update/upgrade_compute.yml
@@ -0,0 +1,36 @@
+#
+# Jobs to update packages on given Salt master environment
+#
+parameters:
+ _param:
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ jenkins:
+ client:
+ job:
+ deploy-upgrade-compute:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy - upgrade computes"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: openstack-compute-upgrade.groovy
+ param:
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
+ TARGET_SERVERS:
+ type: string
+ default: "*"
+ description: Salt compound target to match nodes to be updated [*, G@osfamily:debian].
+ TARGET_SUBSET_TEST:
+ type: string
+ description: Number of nodes to list package updates, empty string means all targetted nodes.
+ TARGET_SUBSET_LIVE:
+ type: string
+ default: '1'
+ description: Number of selected nodes to live apply selected package update.
diff --git a/jenkins/client/job/docker/aptly.yml b/jenkins/client/job/docker/aptly.yml
deleted file mode 100644
index 98ef8af..0000000
--- a/jenkins/client/job/docker/aptly.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-parameters:
- jenkins:
- client:
- job:
- docker-build-images-aptly:
- name: docker-build-images-aptly
- discard:
- build:
- keep_num: 25
- artifact:
- keep_num: 25
- type: workflow-scm
- concurrent: true
- scm:
- type: git
- url: "${_param:jenkins_gerrit_url}/mk/docker-aptly"
- credentials: "gerrit"
- trigger:
- gerrit:
- project:
- "mk/docker-aptly":
- branches:
- - master
- event:
- ref:
- - updated: {}
- param:
- IMAGE_GIT_URL:
- type: string
- default: "${_param:jenkins_gerrit_url}/mk/docker-aptly"
- IMAGE_BRANCH:
- type: string
- default: "master"
- IMAGE_CREDENTIALS_ID:
- type: string
- default: "gerrit"
- IMAGE_TAGS:
- type: string
- default: "latest"
- REGISTRY_URL:
- type: string
- default: ""
- REGISTRY_CREDENTIALS_ID:
- type: string
- default: "dockerhub"
- DOCKER_GIT_TAG:
- type: boolean
- default: "true"
diff --git a/jenkins/client/job/docker/build-images.yml b/jenkins/client/job/docker/build-images.yml
new file mode 100644
index 0000000..ca1d058
--- /dev/null
+++ b/jenkins/client/job/docker/build-images.yml
@@ -0,0 +1,56 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ docker-build-images:
+ name: "docker-build-images-{{name}}"
+ jobs:
+ - name: aptly
+ repo: mk
+ - name: ci
+ repo: mk
+ - name: prometheus
+ repo: mcp
+ template:
+ discard:
+ build:
+ keep_num: 25
+ artifact:
+ keep_num: 25
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/{{repo}}/docker-{{name}}"
+ credentials: "gerrit"
+ trigger:
+ gerrit:
+ project:
+ "mk/docker-{{name}}":
+ branches:
+ - master
+ event:
+ ref:
+ - updated: {}
+ param:
+ IMAGE_GIT_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/{{repo}}/docker-{{name}}"
+ IMAGE_BRANCH:
+ type: string
+ default: "master"
+ IMAGE_CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ IMAGE_TAGS:
+ type: string
+ default: "latest"
+ REGISTRY_URL:
+ type: string
+ default: ""
+ REGISTRY_CREDENTIALS_ID:
+ type: string
+ default: "dockerhub"
+ DOCKER_GIT_TAG:
+ type: boolean
+ default: "true"
diff --git a/jenkins/client/job/docker/cis-collectors.yml b/jenkins/client/job/docker/cis-collectors.yml
new file mode 100644
index 0000000..11d8be9
--- /dev/null
+++ b/jenkins/client/job/docker/cis-collectors.yml
@@ -0,0 +1,61 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ docker-build-images-cis-openstack:
+ name: docker-build-images-cis-openstack
+ discard:
+ build:
+ keep_num: 25
+ artifact:
+ keep_num: 25
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
+ credentials: "gerrit"
+ script: docker-build-image-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ "oss/cis-collectors":
+ branches:
+ - master
+ skip_vote:
+ - successful
+ - failed
+ - unstable
+ - not_built
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeNoCodeChange: false
+ change:
+ - merged
+ comment:
+ - addedContains:
+ commentAddedCommentContains: 'rebuild'
+ param:
+ IMAGE_NAME:
+ type: string
+ default: "cis-openstack"
+ IMAGE_TAGS:
+ type: string
+ default: ""
+ CONTEXT_PATH:
+ type: string
+ default: "openstack"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ DOCKERFILE_PATH:
+ type: string
+ default: ""
+ DOCKER_REGISTRY:
+ type: string
+ default: "docker-dev-virtual.docker.mirantis.net"
+ PROJECT_NAMESPACE:
+ type: string
+ default: "oss"
diff --git a/jenkins/client/job/docker/devops-portal.yml b/jenkins/client/job/docker/devops-portal.yml
index 7af37eb..3b831d8 100644
--- a/jenkins/client/job/docker/devops-portal.yml
+++ b/jenkins/client/job/docker/devops-portal.yml
@@ -13,9 +13,9 @@
concurrent: false
scm:
type: git
- url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
credentials: "gerrit"
- script: docker-build-to-jfrog.groovy
+ script: docker-build-image-pipeline.groovy
trigger:
gerrit:
project:
@@ -40,16 +40,19 @@
param:
IMAGE_NAME:
type: string
- default: "devops_portal"
+ default: "devops-portal"
IMAGE_TAGS:
type: string
default: ""
+ CONTEXT_PATH:
+ type: string
+ default: "."
CREDENTIALS_ID:
type: string
default: "gerrit"
DOCKERFILE_PATH:
type: string
- default: "docker/devops-portal"
+ default: "docker/devops-portal/Dockerfile"
DOCKER_REGISTRY:
type: string
default: "docker-dev-virtual.docker.mirantis.net"
diff --git a/jenkins/client/job/docker/rundeck.yml b/jenkins/client/job/docker/rundeck.yml
new file mode 100644
index 0000000..9b116fe
--- /dev/null
+++ b/jenkins/client/job/docker/rundeck.yml
@@ -0,0 +1,61 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ docker-build-images-rundeck:
+ name: docker-build-images-rundeck
+ discard:
+ build:
+ keep_num: 25
+ artifact:
+ keep_num: 25
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
+ credentials: "gerrit"
+ script: docker-build-image-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ "oss/docker-rundeck":
+ branches:
+ - master
+ skip_vote:
+ - successful
+ - failed
+ - unstable
+ - not_built
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeNoCodeChange: false
+ change:
+ - merged
+ comment:
+ - addedContains:
+ commentAddedCommentContains: 'rebuild'
+ param:
+ IMAGE_NAME:
+ type: string
+ default: "rundeck"
+ IMAGE_TAGS:
+ type: string
+ default: ""
+ CONTEXT_PATH:
+ type: string
+ default: "."
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ DOCKERFILE_PATH:
+ type: string
+ default: ""
+ DOCKER_REGISTRY:
+ type: string
+ default: "docker-dev-virtual.docker.mirantis.net"
+ PROJECT_NAMESPACE:
+ type: string
+ default: "oss"
diff --git a/jenkins/client/job/docker/testing.yml b/jenkins/client/job/docker/testing.yml
new file mode 100644
index 0000000..bf65dbc
--- /dev/null
+++ b/jenkins/client/job/docker/testing.yml
@@ -0,0 +1,63 @@
+parameters:
+ _param:
+ jenkins_docker_registry_url: ""
+ jenkins_docker_registry_credentials: "dockerhub"
+ jenkins:
+ client:
+ job_template:
+ docker-build-image-testing:
+ name: docker-build-image-{{name}}-{{branch}}
+ jobs:
+ - name: python-flask-hello
+ branch: "master"
+ tags: "latest"
+ dockerfile: "Dockerfile"
+ template:
+ discard:
+ build:
+ keep_num: 5
+ artifact:
+ keep_num: 5
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: docker-build-image-pipeline.groovy
+ trigger:
+ reverse:
+ projects:
+ - build-debian-python-flask-hello-ubuntu-trusty
+ state: UNSTABLE
+ param:
+ IMAGE_NAME:
+ type: string
+ default: "tcpcloud/{{name}}"
+ IMAGE_GIT_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/mk/python-flask-hello"
+ IMAGE_BUILD_PARAMS:
+ type: string
+ default: "--build-arg apt_repository='deb [arch=amd64] ${_param:jenkins_aptly_url}/trusty/ nightly extra' --build-arg apt_key_url=${_param:jenkins_aptly_url}/public.gpg --no-cache"
+ IMAGE_BRANCH:
+ type: string
+ default: "{{branch}}"
+ IMAGE_CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ IMAGE_TAGS:
+ type: string
+ default: "{{tags}}"
+ DOCKERFILE_PATH:
+ type: string
+ default: "{{dockerfile}}"
+ REGISTRY_URL:
+ type: string
+ default: "${_param:jenkins_docker_registry_url}"
+ REGISTRY_CREDENTIALS_ID:
+ type: string
+ default: "${_param:jenkins_docker_registry_credentials}"
+ DOCKER_GIT_TAG:
+ type: boolean
+ default: "true"
diff --git a/jenkins/client/job/gating.yml b/jenkins/client/job/gating.yml
index 6b6d620..d0f2149 100644
--- a/jenkins/client/job/gating.yml
+++ b/jenkins/client/job/gating.yml
@@ -48,7 +48,6 @@
- failed
- unstable
- not_built
- silent_start_mode: "true"
event:
comment:
- added:
diff --git a/jenkins/client/job/git-mirrors/downstream/debian-packages.yml b/jenkins/client/job/git-mirrors/downstream/debian-packages.yml
index 9708d9f..dde7d9a 100644
--- a/jenkins/client/job/git-mirrors/downstream/debian-packages.yml
+++ b/jenkins/client/job/git-mirrors/downstream/debian-packages.yml
@@ -7,6 +7,10 @@
downstream: debian/telegraf
upstream: "https://github.com/influxdata/telegraf.git"
branches: master
+ - name: libvirt-exporter
+ downstream: debian/libvirt-exporter
+ upstream: "https://github.com/kumina/libvirt_exporter.git"
+ branches: master
- name: debian-gophercloud
downstream: debian/gophercloud
upstream: "https://github.com/gophercloud/gophercloud.git"
diff --git a/jenkins/client/job/git-mirrors/downstream/docker_images.yml b/jenkins/client/job/git-mirrors/downstream/docker_images.yml
index 2471280..ff1c649 100644
--- a/jenkins/client/job/git-mirrors/downstream/docker_images.yml
+++ b/jenkins/client/job/git-mirrors/downstream/docker_images.yml
@@ -6,4 +6,8 @@
- name: docker-aptly
downstream: mk/docker-aptly
upstream: "https://github.com/tcpcloud/docker-aptly"
- branches: master
\ No newline at end of file
+ branches: master
+ - name: python-flask-hello
+ downstream: mk/python-flask-hello
+ upstream: "https://github.com/tcpcloud/python-flask-hello"
+ branches: master
diff --git a/jenkins/client/job/git-mirrors/downstream/salt_formulas_utils.yml b/jenkins/client/job/git-mirrors/downstream/salt_formulas_utils.yml
new file mode 100644
index 0000000..dfbdb60
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/downstream/salt_formulas_utils.yml
@@ -0,0 +1,9 @@
+classes:
+ - system.jenkins.client.job.git-mirrors.downstream
+parameters:
+ _param:
+ jenkins_git_mirror_downstream_jobs:
+ - name: salt-formulas
+ downstream: salt-formulas/salt-formulas
+ upstream: "https://github.com/salt-formulas/salt-formulas"
+ branches: master
\ No newline at end of file
diff --git a/jenkins/client/job/git-mirrors/downstream/templates.yml b/jenkins/client/job/git-mirrors/downstream/templates.yml
index ef504af..1c34f37 100644
--- a/jenkins/client/job/git-mirrors/downstream/templates.yml
+++ b/jenkins/client/job/git-mirrors/downstream/templates.yml
@@ -6,7 +6,7 @@
- name: cookiecutter-templates
downstream: mk/cookiecutter-templates
upstream: "git@github.com:Mirantis/mk2x-cookiecutter-reclass-model"
- branches: master
+ branches: master,mcp10
- name: heat-templates
downstream: mk/heat-templates
upstream: "git@github.com:Mirantis/mk-lab-heat-templates"
diff --git a/jenkins/client/job/git-mirrors/upstream/oss.yml b/jenkins/client/job/git-mirrors/upstream/oss.yml
new file mode 100644
index 0000000..af3f816
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/upstream/oss.yml
@@ -0,0 +1,9 @@
+classes:
+ - system.jenkins.client.job.git-mirrors.upstream
+parameters:
+ _param:
+ jenkins_git_mirror_upstream_jobs:
+ - name: rundeck-cis-jobs
+ downstream: oss/rundeck-cis-jobs
+ upstream: "git@github.com:Mirantis/rundeck-cis-jobs"
+ branches: master
diff --git a/jenkins/client/job/git-mirrors/upstream/salt_formulas_utils.yml b/jenkins/client/job/git-mirrors/upstream/salt_formulas_utils.yml
new file mode 100644
index 0000000..c86cda5
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/upstream/salt_formulas_utils.yml
@@ -0,0 +1,9 @@
+classes:
+ - system.jenkins.client.job.git-mirrors.upstream
+parameters:
+ _param:
+ jenkins_git_mirror_upstream_jobs:
+ - name: salt-formulas
+ downstream: salt-formulas/salt-formulas
+ upstream: "git@github.com:salt-formulas/salt-formulas.git"
+ branches: master
diff --git a/jenkins/client/job/git-mirrors/upstream/templates.yml b/jenkins/client/job/git-mirrors/upstream/templates.yml
index 12e4a9a..5ffaa43 100644
--- a/jenkins/client/job/git-mirrors/upstream/templates.yml
+++ b/jenkins/client/job/git-mirrors/upstream/templates.yml
@@ -6,7 +6,7 @@
- name: cookiecutter-templates
downstream: mk/cookiecutter-templates
upstream: "git@github.com:Mirantis/mk2x-cookiecutter-reclass-model"
- branches: master
+ branches: master,mcp10
- name: heat-templates
downstream: mk/heat-templates
upstream: "git@github.com:Mirantis/mk-lab-heat-templates"
diff --git a/jenkins/client/job/image/centos.yml b/jenkins/client/job/image/centos.yml
index 995bfd4..2524163 100644
--- a/jenkins/client/job/image/centos.yml
+++ b/jenkins/client/job/image/centos.yml
@@ -56,13 +56,13 @@
default: "qcow2"
GLANCE_URL:
type: string
- default: "https://vpc.tcpisek.cz:5000/v2.0"
+ default: "https://cloud-cz.bud.mirantis.net:5000"
GLANCE_CREDENTIALS_ID:
type: string
- default: "openstack-qa-credentials"
+ default: "openstack-devcloud-credentials"
GLANCE_PROJECT:
type: string
- default: "mirantis_mk20_qa"
+ default: "mcp-mk"
GLANCE_ARGS:
type: string
default: ""
@@ -71,4 +71,4 @@
default: "true"
OPENSTACK_API_CLIENT:
type: string
- default: "liberty"
+ default: ""
diff --git a/jenkins/client/job/image/debian.yml b/jenkins/client/job/image/debian.yml
index 924b34c..2c92f80 100644
--- a/jenkins/client/job/image/debian.yml
+++ b/jenkins/client/job/image/debian.yml
@@ -56,13 +56,13 @@
default: "qcow2"
GLANCE_URL:
type: string
- default: "https://vpc.tcpisek.cz:5000/v2.0"
+ default: "https://cloud-cz.bud.mirantis.net:5000"
GLANCE_CREDENTIALS_ID:
type: string
- default: "openstack-qa-credentials"
+ default: "openstack-devcloud-credentials"
GLANCE_PROJECT:
type: string
- default: "mirantis_mk20_qa"
+ default: "mcp-mk"
GLANCE_ARGS:
type: string
default: ""
@@ -71,4 +71,4 @@
default: "true"
OPENSTACK_API_CLIENT:
type: string
- default: "liberty"
+ default: ""
diff --git a/jenkins/client/job/image/ubuntu.yml b/jenkins/client/job/image/ubuntu.yml
index a9f25e5..350d2d7 100644
--- a/jenkins/client/job/image/ubuntu.yml
+++ b/jenkins/client/job/image/ubuntu.yml
@@ -63,13 +63,13 @@
default: "qcow2"
GLANCE_URL:
type: string
- default: "https://vpc.tcpisek.cz:5000/v2.0"
+ default: "https://cloud-cz.bud.mirantis.net:5000"
GLANCE_CREDENTIALS_ID:
type: string
- default: "openstack-qa-credentials"
+ default: "openstack-devcloud-credentials"
GLANCE_PROJECT:
type: string
- default: "mirantis_mk20_qa"
+ default: "mcp-mk"
GLANCE_ARGS:
type: string
default: ""
@@ -78,7 +78,7 @@
default: "true"
OPENSTACK_API_CLIENT:
type: string
- default: "liberty"
+ default: ""
build-image-ubuntu-16-04:
type: workflow-scm
concurrent: false
@@ -129,13 +129,13 @@
default: "qcow2"
GLANCE_URL:
type: string
- default: "https://vpc.tcpisek.cz:5000/v2.0"
+ default: "https://cloud-cz.bud.mirantis.net:5000"
GLANCE_CREDENTIALS_ID:
type: string
- default: "openstack-qa-credentials"
+ default: "openstack-devcloud-credentials"
GLANCE_PROJECT:
type: string
- default: "mirantis_mk20_qa"
+ default: "mcp-mk"
GLANCE_ARGS:
type: string
default: ""
@@ -144,4 +144,4 @@
default: "true"
OPENSTACK_API_CLIENT:
type: string
- default: "liberty"
+ default: ""
diff --git a/jenkins/client/job/opencontrail/build/dpdk-extra.yml b/jenkins/client/job/opencontrail/build/dpdk-extra.yml
index f250a8c..5b128a2 100644
--- a/jenkins/client/job/opencontrail/build/dpdk-extra.yml
+++ b/jenkins/client/job/opencontrail/build/dpdk-extra.yml
@@ -21,6 +21,10 @@
dist: xenial
branch_name: mitaka
branch_real_name: mitaka
+ - os: ubuntu
+ dist: xenial
+ branch_name: newton
+ branch_real_name: newton
template:
discard:
build:
diff --git a/jenkins/client/job/opencontrail/build/generic.yml b/jenkins/client/job/opencontrail/build/generic.yml
index cd8a132..27e3117 100644
--- a/jenkins/client/job/opencontrail/build/generic.yml
+++ b/jenkins/client/job/opencontrail/build/generic.yml
@@ -49,6 +49,18 @@
branch: R3.2
ppa: mirantis-opencontrail/opencontrail-3.2
upload_source_package: true
+ - buildname: oc323
+ os: ubuntu
+ dist: trusty
+ branch: R3.2.3.x
+ ppa: mirantis-opencontrail/opencontrail-3.2.3
+ upload_source_package: true
+ - buildname: oc323
+ os: ubuntu
+ dist: xenial
+ branch: R3.2.3.x
+ ppa: mirantis-opencontrail/opencontrail-3.2.3
+ upload_source_package: true
- buildname: oc40
os: ubuntu
dist: trusty
diff --git a/jenkins/client/job/opencontrail/build/test.yml b/jenkins/client/job/opencontrail/build/test.yml
index 5a4666a..655b9f8 100644
--- a/jenkins/client/job/opencontrail/build/test.yml
+++ b/jenkins/client/job/opencontrail/build/test.yml
@@ -62,15 +62,10 @@
branches:
- "{{branch}}"
event:
- patchset:
- - created:
- excludeDrafts: false
- excludeTrivialRebase: false
- excludeNoCodeChange: false
- comment:
+ comment:
- addedContains:
- commentAddedCommentContains: '(recheck|reverify)'
+ commentAddedCommentContains: '^(?s:Patch Set \d+:.*(test|recheck|reverify)\s*)$'
param:
TEST_MODELS:
type: string
- default: "{{clusters}}"
\ No newline at end of file
+ default: "{{clusters}}"
diff --git a/jenkins/client/job/opencontrail/git-mirrors/2way.yml b/jenkins/client/job/opencontrail/git-mirrors/2way.yml
index 0ecb83f..349dad5 100644
--- a/jenkins/client/job/opencontrail/git-mirrors/2way.yml
+++ b/jenkins/client/job/opencontrail/git-mirrors/2way.yml
@@ -3,31 +3,79 @@
jenkins_pollscm_spec: "H/60 * * * *"
jenkins:
client:
- job:
- git-mirror-2way-contrail-kubernetes:
- type: workflow-scm
- concurrent: false
- scm:
- type: git
- url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
- credentials: "gerrit"
- script: git-mirror-2way-pipeline.groovy
- github:
- url: "https://github.com/Mirantis/contrail-kubernetes"
- trigger:
- github:
- pollscm:
- spec: ${_param:jenkins_pollscm_spec}
- param:
- SOURCE_URL:
- type: string
- default: "${_param:jenkins_gerrit_url}/contrail/contrail-kubernetes.git"
- TARGET_URL:
- type: string
- default: "https://github.com/Mirantis/contrail-kubernetes.git"
- CREDENTIALS_ID:
- type: string
- default: "gerrit"
- BRANCHES:
- type: string
- default: ${_param:contrail_kubernetes_branches}
+ job_template:
+ git-mirror-2way:
+ name: git-mirror-2way-{{name}}
+ jobs:
+ - name: contrail-build
+ branches: ${_param:contrail_branches}
+ - name: contrail-pipeline
+ branches: ${_param:contrail_branches}
+ - name: contrail-controller
+ branches: ${_param:contrail_branches}
+ - name: contrail-vrouter
+ branches: ${_param:contrail_branches}
+ - name: contrail-third-party
+ branches: ${_param:contrail_branches}
+ - name: contrail-generateDS
+ branches: ${_param:contrail_branches}
+ - name: contrail-sandesh
+ branches: ${_param:contrail_branches}
+ - name: contrail-packages
+ branches: ${_param:contrail_branches}
+ - name: contrail-nova-vif-driver
+ branches: ${_param:contrail_branches}
+ - name: contrail-neutron-plugin
+ branches: ${_param:contrail_branches}
+ - name: contrail-nova-extensions
+ branches: ${_param:contrail_branches}
+ - name: contrail-ceilometer-plugin
+ branches: ${_param:contrail_ceilometer_plugin_branches}
+ - name: contrail-heat
+ branches: ${_param:contrail_branches}
+ - name: contrail-web-storage
+ branches: ${_param:contrail_branches}
+ - name: contrail-web-server-manager
+ branches: ${_param:contrail_branches}
+ - name: contrail-web-controller
+ branches: ${_param:contrail_branches}
+ - name: contrail-web-core
+ branches: ${_param:contrail_branches}
+ - name: contrail-webui-third-party
+ branches: ${_param:contrail_branches}
+ - name: contrail-dpdk-extra-packages
+ branches: ${_param:contrail_dpdk_extra_branches}
+ - name: contrail-dpdk
+ branches: ${_param:contrail_dpdk_branches}
+ template:
+ discard:
+ build:
+ keep_num: 10
+ artifact:
+ keep_num: 10
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: git-mirror-2way-pipeline.groovy
+ github:
+ url: "https://github.com/Mirantis/{{name}}"
+ trigger:
+ github:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail/{{name}}.git"
+ TARGET_URL:
+ type: string
+ default: "https://github.com/Mirantis/{{name}}.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "{{branches}}"
diff --git a/jenkins/client/job/opencontrail/init.yml b/jenkins/client/job/opencontrail/init.yml
index 2d38d5a..dad3c3a 100644
--- a/jenkins/client/job/opencontrail/init.yml
+++ b/jenkins/client/job/opencontrail/init.yml
@@ -3,12 +3,12 @@
- system.jenkins.client.job.opencontrail.git-mirrors
parameters:
_param:
- contrail_branches: "R3.0.2.x,R3.0.3.x,R3.1,R3.1.1.x,R3.2,R4.0,master"
+ contrail_branches: "R3.0.2.x,R3.0.3.x,R3.1,R3.1.1.x,R3.2,R3.2.3.x,R4.0,master"
contrail_kubernetes_branches: "master,release-1.2"
- contrail_dpdk_extra_branches: "mitaka,kilo,liberty-multiqueue"
+ contrail_dpdk_extra_branches: "mitaka,kilo,liberty-multiqueue,newton"
contrail_ceilometer_plugin_branches: "master,R4.0"
contrail_kubernetes_branches: "master,origin-1.1,origin-1.1.3,release-1.1,release-1.2"
- contrail_dpdk_branches: "master,R3.0.2.x,R3.0.3.x,R3.1,R3.1.1.x,R3.2,R4.0,contrail_dpdk_17_02,contrail_dpdk_1_7,contrail_dpdk_2_0,contrail_dpdk_2_1"
+ contrail_dpdk_branches: "master,R3.0.2.x,R3.0.3.x,R3.1,R3.1.1.x,R3.2,R3.2.3.x,R4.0,contrail_dpdk_17_02,contrail_dpdk_17_05,contrail_dpdk_1_7,contrail_dpdk_2_0,contrail_dpdk_2_1"
jenkins:
client:
view:
diff --git a/jenkins/client/job/oss/test_security_monkey_openstack.yml b/jenkins/client/job/oss/test_security_monkey_openstack.yml
new file mode 100644
index 0000000..7e9343f
--- /dev/null
+++ b/jenkins/client/job/oss/test_security_monkey_openstack.yml
@@ -0,0 +1,43 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ test-oss-security-monkey-openstack:
+ name: test-oss-security-monkey-openstack
+ discard:
+ build:
+ keep_num: 15
+ artifact:
+ keep_num: 15
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
+ credentials: "gerrit"
+ script: test-security-monkey-openstack-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ "oss/security-monkey-openstack":
+ branches:
+ - master
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(recheck|reverify)'
+ param:
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ DEFAULT_GIT_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/oss/security-monkey-openstack"
+ DEFAULT_GIT_REF:
+ type: string
+ default: master
diff --git a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
index 1716a44..01c3baf 100644
--- a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
+++ b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
@@ -8,105 +8,219 @@
name: git-mirror-2way-salt-formula-{{name}}
jobs:
- name: aodh
+ branches: ${_param:salt_formulas_branches}
- name: apache
+ branches: ${_param:salt_formulas_branches}
- name: aptcacher
+ branches: ${_param:salt_formulas_branches}
- name: aptly
+ branches: ${_param:salt_formulas_branches}
- name: artifactory
+ branches: ${_param:salt_formulas_branches}
- name: backupninja
+ branches: ${_param:salt_formulas_branches}
- name: avinetworks
+ branches: ${_param:salt_formulas_branches}
- name: billometer
+ branches: ${_param:salt_formulas_branches}
- name: bind
+ branches: ${_param:salt_formulas_branches}
- name: bird
+ branches: ${_param:salt_formulas_branches}
- name: cadf
+ branches: ${_param:salt_formulas_branches}
- name: calico
+ branches: ${_param:salt_formulas_branches}
- name: cassandra
+ branches: ${_param:salt_formulas_branches}
- name: ccp
+ branches: ${_param:salt_formulas_branches}
- name: ceilometer
+ branches: ${_param:salt_formulas_extra_branches}
- name: ceph
+ branches: ${_param:salt_formulas_branches}
- name: chrony
+ branches: ${_param:salt_formulas_branches}
- name: cinder
+ branches: ${_param:salt_formulas_extra_branches}
- name: collectd
+ branches: ${_param:salt_formulas_branches}
- name: dekapod
+ branches: ${_param:salt_formulas_branches}
- name: devops-portal
+ branches: ${_param:salt_formulas_branches}
- name: docker
+ branches: ${_param:salt_formulas_branches}
- name: dovecot
+ branches: ${_param:salt_formulas_branches}
- name: elasticsearch
+ branches: ${_param:salt_formulas_branches}
- name: etcd
+ branches: ${_param:salt_formulas_branches}
- name: foreman
+ branches: ${_param:salt_formulas_branches}
- name: freeipa
+ branches: ${_param:salt_formulas_branches}
- name: galera
+ branches: ${_param:salt_formulas_branches}
- name: gerrit
+ branches: ${_param:salt_formulas_branches}
- name: git
+ branches: ${_param:salt_formulas_branches}
- name: gitlab
+ branches: ${_param:salt_formulas_branches}
- name: glance
+ branches: ${_param:salt_formulas_extra_branches}
- name: glusterfs
+ branches: ${_param:salt_formulas_branches}
+ - name: gnocchi
+ branches: ${_param:salt_formulas_branches}
- name: grafana
+ branches: ${_param:salt_formulas_branches}
- name: graphite
+ branches: ${_param:salt_formulas_branches}
- name: haproxy
+ branches: ${_param:salt_formulas_branches}
- name: heat
+ branches: ${_param:salt_formulas_extra_branches}
- name: heka
+ branches: ${_param:salt_formulas_branches}
- name: horizon
+ branches: ${_param:salt_formulas_extra_branches}
- name: influxdb
+ branches: ${_param:salt_formulas_branches}
- name: iptables
+ branches: ${_param:salt_formulas_branches}
+ - name: ironic
+ branches: ${_param:salt_formulas_branches}
- name: isc-dhcp
+ branches: ${_param:salt_formulas_branches}
- name: java
+ branches: ${_param:salt_formulas_branches}
- name: jenkins
+ branches: ${_param:salt_formulas_branches}
- name: kedb
+ branches: ${_param:salt_formulas_branches}
- name: keepalived
+ branches: ${_param:salt_formulas_branches}
- name: keystone
+ branches: ${_param:salt_formulas_extra_branches}
- name: kibana
+ branches: ${_param:salt_formulas_branches}
- name: kubernetes
+ branches: ${_param:salt_formulas_extra_branches}
- name: letsencrypt
+ branches: ${_param:salt_formulas_branches}
- name: libvirt
+ branches: ${_param:salt_formulas_branches}
- name: linux
+ branches: ${_param:salt_formulas_branches}
- name: lldp
+ branches: ${_param:salt_formulas_branches}
- name: logrotate
+ branches: ${_param:salt_formulas_branches}
- name: maas
+ branches: ${_param:salt_formulas_branches}
- name: magnum
+ branches: ${_param:salt_formulas_branches}
- name: memcached
+ branches: ${_param:salt_formulas_branches}
- name: midonet
+ branches: ${_param:salt_formulas_branches}
- name: monasca
+ branches: ${_param:salt_formulas_branches}
- name: mongodb
+ branches: ${_param:salt_formulas_branches}
- name: murano
+ branches: ${_param:salt_formulas_branches}
- name: mysql
+ branches: ${_param:salt_formulas_branches}
- name: nagios
+ branches: ${_param:salt_formulas_branches}
- name: network
+ branches: ${_param:salt_formulas_branches}
- name: neutron
+ branches: ${_param:salt_formulas_extra_branches}
- name: nfs
+ branches: ${_param:salt_formulas_branches}
- name: nginx
+ branches: ${_param:salt_formulas_branches}
- name: nodejs
+ branches: ${_param:salt_formulas_branches}
- name: nova
+ branches: ${_param:salt_formulas_extra_branches}
- name: ntp
+ branches: ${_param:salt_formulas_branches}
+ - name: octavia
+ branches: ${_param:salt_formulas_branches}
- name: opencontrail
+ branches: ${_param:salt_formulas_branches}
- name: openldap
+ branches: ${_param:salt_formulas_branches}
- name: openssh
+ branches: ${_param:salt_formulas_branches}
- name: openvpn
+ branches: ${_param:salt_formulas_branches}
- name: openvstorage
+ branches: ${_param:salt_formulas_branches}
- name: owncloud
+ branches: ${_param:salt_formulas_branches}
+ - name: panko
+ branches: ${_param:salt_formulas_branches}
- name: postfix
+ branches: ${_param:salt_formulas_branches}
- name: postgresql
+ branches: ${_param:salt_formulas_branches}
+ - name: powerdns
+ branches: ${_param:salt_formulas_branches}
- name: pritunl
+ branches: ${_param:salt_formulas_branches}
- name: prometheus
+ branches: ${_param:salt_formulas_branches}
- name: python
+ branches: ${_param:salt_formulas_branches}
- name: rabbitmq
+ branches: ${_param:salt_formulas_branches}
- name: reclass
+ branches: ${_param:salt_formulas_branches}
- name: redis
+ branches: ${_param:salt_formulas_branches}
- name: roundcube
+ branches: ${_param:salt_formulas_branches}
- name: rsync
+ branches: ${_param:salt_formulas_branches}
- name: rsyslog
+ branches: ${_param:salt_formulas_branches}
+ - name: rundeck
+ branches: ${_param:salt_formulas_branches}
- name: sahara
+ branches: ${_param:salt_formulas_branches}
- name: salt
+ branches: ${_param:salt_formulas_branches}
- name: sensu
+ branches: ${_param:salt_formulas_branches}
- name: sentry
+ branches: ${_param:salt_formulas_branches}
- name: sphinx
+ branches: ${_param:salt_formulas_branches}
- name: spinnaker
+ branches: ${_param:salt_formulas_branches}
- name: statsd
+ branches: ${_param:salt_formulas_branches}
- name: supervisor
+ branches: ${_param:salt_formulas_branches}
- name: swift
+ branches: ${_param:salt_formulas_extra_branches}
- name: taiga
+ branches: ${_param:salt_formulas_branches}
- name: telegraf
+ branches: ${_param:salt_formulas_branches}
- name: varnish
+ branches: ${_param:salt_formulas_branches}
+ - name: xtrabackup
+ branches: ${_param:salt_formulas_branches}
- name: zookeeper
+ branches: ${_param:salt_formulas_branches}
template:
discard:
build:
@@ -138,4 +252,4 @@
default: "gerrit"
BRANCHES:
type: string
- default: ${_param:salt_formulas_branches}
+ default: "{{branches}}"
diff --git a/jenkins/client/job/salt-formulas/git-mirrors/init.yml b/jenkins/client/job/salt-formulas/git-mirrors/init.yml
index 9b1d77d..b46aebc 100644
--- a/jenkins/client/job/salt-formulas/git-mirrors/init.yml
+++ b/jenkins/client/job/salt-formulas/git-mirrors/init.yml
@@ -2,4 +2,5 @@
- system.jenkins.client.job.salt-formulas.git-mirrors.2way
parameters:
_param:
- salt_formulas_branches: master
+ salt_formulas_branches: "master"
+ salt_formulas_extra_branches: "master,debian/xenial,debian/trusty"
diff --git a/jenkins/client/job/salt-formulas/tests.yml b/jenkins/client/job/salt-formulas/tests.yml
index 111cc6a..15eff13 100644
--- a/jenkins/client/job/salt-formulas/tests.yml
+++ b/jenkins/client/job/salt-formulas/tests.yml
@@ -39,14 +39,17 @@
- name: gitlab
- name: glance
- name: glusterfs
+ - name: gnocchi
- name: grafana
- name: graphite
- name: haproxy
- name: heat
- name: heka
+ - name: helm
- name: horizon
- name: influxdb
- name: iptables
+ - name: ironic
- name: isc-dhcp
- name: java
- name: jenkins
@@ -76,14 +79,17 @@
- name: nodejs
- name: nova
- name: ntp
+ - name: octavia
- name: opencontrail
- name: openldap
- name: openssh
- name: openvpn
- name: openvstorage
- name: owncloud
+ - name: panko
- name: postfix
- name: postgresql
+ - name: powerdns
- name: pritunl
- name: prometheus
- name: python
@@ -93,6 +99,7 @@
- name: roundcube
- name: rsync
- name: rsyslog
+ - name: rundeck
- name: sahara
- name: salt
- name: sensu
@@ -106,6 +113,7 @@
- name: telegraf
- name: tftpd-hpa
- name: varnish
+ - name: xtrabackup
- name: zookeeper
template:
discard:
@@ -127,14 +135,9 @@
branches:
- master
event:
- patchset:
- - created:
- excludeDrafts: false
- excludeTrivialRebase: false
- excludeNoCodeChange: false
comment:
- addedContains:
- commentAddedCommentContains: '(recheck|reverify)'
+ commentAddedCommentContains: '^(?s:Patch Set \d+:.*(test|recheck|reverify)\s*)$'
param:
SALT_VERSION:
type: string
@@ -152,3 +155,6 @@
DEFAULT_GIT_REF:
type: string
default: master
+ KITCHEN_TESTS_PARALLEL:
+ type: boolean
+ default: 'false'
diff --git a/jenkins/client/job/salt-models/generate-auto.yml b/jenkins/client/job/salt-models/generate-auto.yml
index 4f62784..79e4ba3 100644
--- a/jenkins/client/job/salt-models/generate-auto.yml
+++ b/jenkins/client/job/salt-models/generate-auto.yml
@@ -19,7 +19,7 @@
param:
COOKIECUTTER_TEMPLATE_URL:
type: string
- default: "git@github.com:Mirantis/mk2x-cookiecutter-reclass-model.git"
+ default: "https://gerrit.mcp.mirantis.net/p/mk/cookiecutter-templates.git"
COOKIECUTTER_TEMPLATE_CREDENTIALS:
type: string
default: github-credentials
diff --git a/jenkins/client/job/salt-models/generate.yml b/jenkins/client/job/salt-models/generate.yml
index 697ab51..587b3c4 100644
--- a/jenkins/client/job/salt-models/generate.yml
+++ b/jenkins/client/job/salt-models/generate.yml
@@ -19,7 +19,7 @@
param:
COOKIECUTTER_TEMPLATE_URL:
type: string
- default: "git@github.com:Mirantis/mk2x-cookiecutter-reclass-model.git"
+ default: "https://gerrit.mcp.mirantis.net/p/mk/cookiecutter-templates.git"
COOKIECUTTER_TEMPLATE_CREDENTIALS:
type: string
default: github-credentials
@@ -44,3 +44,6 @@
default: false
EMAIL_ADDRESS:
type: string
+ TEST_MODEL:
+ type: boolean
+ default: false
diff --git a/jenkins/client/job/salt-models/git-mirrors.yml b/jenkins/client/job/salt-models/git-mirrors.yml
index 7ee7b94..034f8d5 100644
--- a/jenkins/client/job/salt-models/git-mirrors.yml
+++ b/jenkins/client/job/salt-models/git-mirrors.yml
@@ -6,12 +6,6 @@
job_template:
git_mirror_2way_salt_model:
name: git-mirror-2way-salt-model-{{name}}
- param:
- name:
- - reclass-system
- - slovaktelekom
- - stacklight
- - statens
template:
type: workflow-scm
concurrent: false
@@ -21,7 +15,7 @@
credentials: "gerrit"
script: git-mirror-2way-pipeline.groovy
github:
- url: "https://github.com/Mirantis/{{name}}-salt-model"
+ url: "https://github.com/Mirantis/{{upstream_name}}-salt-model"
trigger:
github:
pollscm:
@@ -44,10 +38,10 @@
default: "${_param:jenkins_gerrit_url}/salt-models/{{name}}.git"
TARGET_URL:
type: string
- default: "git@github.com:Mirantis/{{name}}-salt-model.git"
+ default: "git@github.com:Mirantis/{{upstream_name}}-salt-model.git"
CREDENTIALS_ID:
type: string
default: "gerrit"
BRANCHES:
type: string
- default: "master"
+ default: "{{branches}}"
diff --git a/jenkins/client/job/salt-models/tests.yml b/jenkins/client/job/salt-models/tests.yml
index 1545eff..7c2b369 100644
--- a/jenkins/client/job/salt-models/tests.yml
+++ b/jenkins/client/job/salt-models/tests.yml
@@ -1,18 +1,11 @@
parameters:
_param:
+ jenkins_pollscm_spec: "0 1 * * *"
jenkins:
client:
job_template:
test_salt_model:
name: test-salt-model-{{name}}
- param:
- name:
- - mcp-baremetal-lab
- - mcp-virtual-lab
- - mk-ci
- - qa
- - stacklight
- - training
template:
type: workflow-scm
scm:
@@ -26,16 +19,12 @@
project:
salt-models/{{name}}:
branches:
- - master
+ - compare_type: "REG_EXP"
+ name: "{{branch}}"
event:
- patchset:
- - created:
- excludeDrafts: false
- excludeTrivialRebase: false
- excludeNoCodeChange: false
comment:
- addedContains:
- commentAddedCommentContains: '(recheck|reverify)'
+ commentAddedCommentContains: '^(?s:Patch Set \d+:.*(test|recheck|reverify)\s*)$'
param:
SALT_OPTS:
type: string
@@ -50,11 +39,27 @@
CREDENTIALS_ID:
type: string
default: "gerrit"
+ PARALLEL_NODE_GROUP_SIZE:
+ type: string
+ default: "1"
+ # Salt master setup extra formulas
+ EXTRA_FORMULAS:
+ type: string
+ default: "{{extra_formulas}}"
+ FORMULAS_SOURCE:
+ type: string
+ default: "{{formulas_src}}"
+ FORMULAS_REVISION:
+ type: string
+ default: "{{formulas_revision}}"
+ SYSTEM_GIT_URL:
+ type: string
+ default: ""
+ SYSTEM_GIT_REF:
+ type: string
+ default: ""
test_system_reclass:
name: test-salt-model-{{name}}
- jobs:
- - name: reclass-system
- clusters: "mcp-baremetal-lab,mcp-virtual-lab,qa,stacklight,training"
template:
type: workflow-scm
scm:
@@ -63,16 +68,6 @@
credentials: "gerrit"
script: test-system-reclass-pipeline.groovy
concurrent: true
- trigger:
- gerrit:
- project:
- salt-models/{{name}}:
- branches:
- - master
- event:
- comment:
- - addedContains:
- commentAddedCommentContains: '(recheck|reverify)'
param:
TEST_MODELS:
type: string
@@ -84,3 +79,90 @@
DEFAULT_GIT_REF:
type: string
default: master
+ test_salt_model_cookiecutter:
+ name: test-salt-model-cookiecutter-{{cookiecutter_template}}
+ jobs:
+ - cookiecutter_template: cookiecutter-templates
+ template:
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "jenkins-mk"
+ script: test-cookiecutter-reclass.groovy
+ trigger:
+ gerrit:
+ project:
+ mk/{{cookiecutter_template}}:
+ branches:
+ - master
+ event:
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '^(?s:Patch Set \d+:.*(test|recheck|reverify)\s*)$'
+ param:
+ COOKIECUTTER_TEMPLATE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/mk/{{cookiecutter_template}}"
+ CREDENTIALS_ID:
+ type: string
+ default: gerrit
+ COOKIECUTTER_TEMPLATE_BRANCH:
+ type: string
+ default: master
+ RECLASS_MODEL_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/salt-models/reclass-system"
+ RECLASS_MODEL_BRANCH:
+ type: string
+ default: master
+ PARALLEL_NODE_GROUP_SIZE:
+ type: string
+ default: "1"
+ EXTRA_FORMULAS:
+ type: string
+ default: "xtrabackup"
+ job:
+ test-salt-model-node:
+ name: test-salt-model-node
+ discard:
+ build:
+ keep_num: 500
+ artifact:
+ keep_num: 10
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: test-salt-model-node.groovy
+ param:
+ NODE_TARGET:
+ type: string
+ default: ""
+ DEFAULT_GIT_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/salt-models/{{name}}"
+ DEFAULT_GIT_REF:
+ type: string
+ default: master
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ EXTRA_FORMULAS:
+ type: string
+ default: ""
+ FORMULAS_SOURCE:
+ type: string
+ default: "pkg"
+ FORMULAS_REVISION:
+ type: string
+ default: "stable"
+ SYSTEM_GIT_URL:
+ type: string
+ default: ""
+ SYSTEM_GIT_REF:
+ type: string
+ default: ""
\ No newline at end of file
diff --git a/jenkins/client/job/test_devops_portal.yml b/jenkins/client/job/test_devops_portal.yml
index 711f42a..4007010 100644
--- a/jenkins/client/job/test_devops_portal.yml
+++ b/jenkins/client/job/test_devops_portal.yml
@@ -6,16 +6,16 @@
name: test-oss-devops-portal
discard:
build:
- keep_num: 10
+ keep_num: 15
artifact:
- keep_num: 10
+ keep_num: 15
type: workflow-scm
concurrent: true
scm:
type: git
- url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
credentials: "gerrit"
- script: test-nodejs-pipeline.groovy
+ script: test-devops-portal-pipeline.groovy
trigger:
gerrit:
project:
@@ -35,15 +35,6 @@
CREDENTIALS_ID:
type: string
default: "gerrit"
- NODE_IMAGE:
- type: string
- default: "docker-sandbox.sandbox.mirantis.net/ikharin/ci/node-firefox:6.10"
- COMMANDS:
- type: text
- default: |
- npm run lint
- npm run test:unit
- npm run test:functional
DEFAULT_GIT_URL:
type: string
default: "${_param:jenkins_gerrit_url}/oss/devops-portal"
diff --git a/jenkins/client/node.yml b/jenkins/client/node.yml
new file mode 100644
index 0000000..321951a
--- /dev/null
+++ b/jenkins/client/node.yml
@@ -0,0 +1,47 @@
+parameters:
+ _param:
+ jenkins_slave_executors: 4
+ jenkins:
+ client:
+ node:
+ master:
+ node_mode: Exclusive
+ remote_home: /var/lib/jenkins
+ launcher:
+ type: master
+ slave01:
+ remote_home: /var/lib/jenkins
+ desc: ""
+ num_executors: ${_param:jenkins_slave_executors}
+ node_mode: Normal
+ ret_strategy: Always
+ labels:
+ - python
+ - test
+ - docker
+ launcher:
+ type: jnlp
+ slave02:
+ remote_home: /var/lib/jenkins
+ desc: ""
+ num_executors: ${_param:jenkins_slave_executors}
+ node_mode: Normal
+ ret_strategy: Always
+ labels:
+ - python
+ - test
+ - docker
+ launcher:
+ type: jnlp
+ slave03:
+ remote_home: /var/lib/jenkins
+ desc: ""
+ num_executors: ${_param:jenkins_slave_executors}
+ node_mode: Normal
+ ret_strategy: Always
+ labels:
+ - python
+ - test
+ - docker
+ launcher:
+ type: jnlp
diff --git a/jenkins/client/security/matrix.yml b/jenkins/client/security/matrix.yml
index b08aefd..a0ecc1e 100644
--- a/jenkins/client/security/matrix.yml
+++ b/jenkins/client/security/matrix.yml
@@ -5,9 +5,11 @@
- ${_param:jenkins_client_user}
- admins
# Read only access
- jenkins_security_matrix_read: []
+ jenkins_security_matrix_read:
+ - mirantis
# Read + permissions to build jobs
- jenkins_security_matrix_build: []
+ jenkins_security_matrix_build:
+ - mirantis
# Build permissions + create/delete, whatever.
jenkins_security_matrix_write:
- ${_param:jenkins_client_user}
diff --git a/jenkins/slave/docker.yml b/jenkins/slave/docker.yml
index b1356f0..ea3639b 100644
--- a/jenkins/slave/docker.yml
+++ b/jenkins/slave/docker.yml
@@ -8,9 +8,11 @@
groups:
- docker
sudo:
+ enabled: true
users:
jenkins:
+ setenv: true
hosts:
- ALL
commands:
- - docker
\ No newline at end of file
+ - /usr/bin/docker
\ No newline at end of file
diff --git a/keepalived/cluster/instance/openstack_baremetal_vip.yml b/keepalived/cluster/instance/openstack_baremetal_vip.yml
new file mode 100644
index 0000000..c3141b6
--- /dev/null
+++ b/keepalived/cluster/instance/openstack_baremetal_vip.yml
@@ -0,0 +1,21 @@
+applications:
+- keepalived
+classes:
+- service.keepalived.support
+parameters:
+ _param:
+ keepalived_openstack_baremetal_vip_address: ${_param:cluster_baremetal_vip_address}
+ keepalived_openstack_baremetal_password: password
+ keepalived_openstack_baremetal_vip_interface: eth1
+ keepalived_openstack_baremetal_vip_virtual_router_id: 132
+ keepalived_openstack_baremetal_vip_priority: ${_param:keepalived_vip_priority}
+ keepalived:
+ cluster:
+ enabled: true
+ instance:
+ openstack_baremetal_vip:
+ address: ${_param:keepalived_openstack_baremetal_vip_address}
+ password: ${_param:keepalived_openstack_baremetal_password}
+ interface: ${_param:keepalived_openstack_baremetal_vip_interface}
+ virtual_router_id: ${_param:keepalived_openstack_baremetal_vip_virtual_router_id}
+ priority: ${_param:keepalived_openstack_baremetal_vip_priority}
diff --git a/keystone/client/core.yml b/keystone/client/core.yml
new file mode 100644
index 0000000..39d28de
--- /dev/null
+++ b/keystone/client/core.yml
@@ -0,0 +1,40 @@
+parameters:
+ linux:
+ system:
+ job:
+ keystone_job_rotate:
+ command: '/usr/bin/keystone-manage fernet_rotate --keystone-user keystone --keystone-group keystone >> /var/log/key_rotation_log 2>> /var/log/key_rotation_log'
+ enabled: true
+ user: root
+ minute: 0
+ keystone:
+ client:
+ enabled: true
+ server:
+ identity:
+ admin:
+ host: ${_param:keystone_service_host}
+ port: 35357
+ token: ${_param:keystone_service_token}
+ roles:
+ - admin
+ - Member
+ project:
+ service:
+ description: "OpenStack Service tenant"
+ admin:
+ description: "OpenStack Admin tenant"
+ user:
+ admin:
+ is_admin: true
+ password: ${_param:keystone_admin_password}
+ email: ${_param:admin_email}
+ admin_identity:
+ admin:
+ user: admin
+ password: ${_param:keystone_admin_password}
+ project: admin
+ host: ${_param:keystone_service_host}
+ port: 5000
+ region_name: ${_param:openstack_region}
+ use_keystoneauth: true
diff --git a/keystone/client/image_manager.yml b/keystone/client/image_manager.yml
new file mode 100644
index 0000000..024b0c4
--- /dev/null
+++ b/keystone/client/image_manager.yml
@@ -0,0 +1,23 @@
+parameters:
+ _param:
+ keystone_image_manager_email: 'root@localhost'
+ keystone:
+ client:
+ enabled: true
+ server:
+ identity:
+ admin:
+ host: ${_param:keystone_service_host}
+ port: 35357
+ token: ${_param:keystone_service_token}
+ roles:
+ - image_manager
+ project:
+ admin:
+ user:
+ image_manager:
+ is_admin: false
+ password: ${_param:keystone_image_manager_password}
+ email: ${_param:keystone_image_manager_email}
+ roles:
+ - image_manager
diff --git a/keystone/client/service/barbican.yml b/keystone/client/service/barbican.yml
new file mode 100644
index 0000000..f83e6ab
--- /dev/null
+++ b/keystone/client/service/barbican.yml
@@ -0,0 +1,30 @@
+parameters:
+ _param:
+ cluster_public_protocol: https
+ keystone:
+ client:
+ server:
+ identity:
+ project:
+ service:
+ user:
+ barbican:
+ is_admin: true
+ password: ${_param:keystone_barbican_password}
+ email: ${_param:admin_email}
+ service:
+ barbican:
+ type: key-manager
+ description: OpenStack Key-Manager Service
+ endpoints:
+ - region: ${_param:openstack_region}
+ public_address: ${_param:cluster_public_host}
+ public_protocol: ${_param:cluster_public_protocol}
+ public_port: 9311
+ public_path: '/'
+ internal_address: ${_param:barbican_service_host}
+ internal_port: 9311
+ internal_path: '/'
+ admin_address: ${_param:barbican_service_host}
+ admin_port: 9311
+ admin_path: '/'
diff --git a/keystone/client/service/congress.yml b/keystone/client/service/congress.yml
new file mode 100644
index 0000000..529d3ee
--- /dev/null
+++ b/keystone/client/service/congress.yml
@@ -0,0 +1,30 @@
+parameters:
+ _param:
+ cluster_public_protocol: https
+ keystone:
+ client:
+ server:
+ identity:
+ project:
+ service:
+ user:
+ congress:
+ is_admin: true
+ password: ${_param:keystone_congress_password}
+ email: ${_param:admin_email}
+ service:
+ congress:
+ type: policy
+ description: Congress service
+ endpoints:
+ - region: ${_param:openstack_region}
+ public_address: ${_param:cluster_public_host}
+ public_protocol: ${_param:cluster_public_protocol}
+ public_port: 1789
+ public_path: '/'
+ internal_address: ${_param:congress_service_host}
+ internal_port: 1789
+ internal_path: '/'
+ admin_address: ${_param:congress_service_host}
+ admin_port: 1789
+ admin_path: '/'
diff --git a/keystone/client/service/ironic.yml b/keystone/client/service/ironic.yml
new file mode 100644
index 0000000..1ab9872
--- /dev/null
+++ b/keystone/client/service/ironic.yml
@@ -0,0 +1,38 @@
+parameters:
+ _param:
+ cluster_public_protocol: https
+ keystone:
+ client:
+ server:
+ identity:
+ project:
+ service:
+ user:
+ ironic:
+ is_admin: true
+ password: ${_param:keystone_ironic_password}
+ email: ${_param:admin_email}
+ service:
+ ironic:
+ type: baremetal
+ description: OpenStack Baremetal Service
+ endpoints:
+ - region: ${_param:openstack_region}
+ public_address: ${_param:cluster_public_host}
+ public_protocol: ${_param:cluster_public_protocol}
+ public_port: 6385
+ public_path: ''
+ internal_address: ${_param:ironic_service_host}
+ internal_port: 6385
+ internal_path: ''
+ admin_address: ${_param:ironic_service_host}
+ admin_port: 6385
+ admin_path: ''
+ admin_identity:
+ admin:
+ user: admin
+ password: ${_param:keystone_admin_password}
+ project: admin
+ host: ${_param:keystone_service_host}
+ port: 5000
+ region_name: ${_param:openstack_region}
diff --git a/keystone/client/service/keystone3.yml b/keystone/client/service/keystone3.yml
index 9dd9eef..bd0c63b 100644
--- a/keystone/client/service/keystone3.yml
+++ b/keystone/client/service/keystone3.yml
@@ -6,7 +6,7 @@
server:
identity:
service:
- keystone3:
+ keystone:
type: identity
description: OpenStack Identity Service v3
endpoints:
@@ -20,4 +20,4 @@
internal_path: '/v3'
admin_address: ${_param:keystone_service_host}
admin_port: 35357
- admin_path: '/v3'
+ admin_path: '/v2.0'
diff --git a/keystone/client/service/octavia.yml b/keystone/client/service/octavia.yml
new file mode 100644
index 0000000..4e14217
--- /dev/null
+++ b/keystone/client/service/octavia.yml
@@ -0,0 +1,38 @@
+parameters:
+ _param:
+ cluster_public_protocol: https
+ keystone:
+ client:
+ server:
+ identity:
+ project:
+ service:
+ user:
+ octavia:
+ is_admin: true
+ password: ${_param:keystone_octavia_password}
+ email: ${_param:admin_email}
+ service:
+ octavia:
+ type: octavia
+ description: OpenStack Loadbalancing Service
+ endpoints:
+ - region: ${_param:openstack_region}
+ public_address: ${_param:cluster_public_host}
+ public_protocol: ${_param:cluster_public_protocol}
+ public_port: 9876
+ public_path: '/'
+ internal_address: ${_param:octavia_service_host}
+ internal_port: 9876
+ internal_path: '/'
+ admin_address: ${_param:octavia_service_host}
+ admin_port: 9876
+ admin_path: '/'
+ octavia_identity:
+ admin:
+ user: octavia
+ password: ${_param:keystone_octavia_password}
+ project: service
+ host: ${_param:keystone_service_host}
+ port: 5000
+ region_name: ${_param:openstack_region}
diff --git a/keystone/client/service/radosgw-swift.yml b/keystone/client/service/radosgw-swift.yml
index 9c7547e..3bf9b27 100644
--- a/keystone/client/service/radosgw-swift.yml
+++ b/keystone/client/service/radosgw-swift.yml
@@ -1,6 +1,7 @@
parameters:
_param:
cluster_public_protocol: https
+ radosgw_swift_cluster_port: 8081
keystone:
client:
server:
@@ -20,11 +21,11 @@
- region: ${_param:openstack_region}
public_address: ${_param:cluster_public_host}
public_protocol: ${_param:cluster_public_protocol}
- public_port: 8081
+ public_port: ${_param:radosgw_swift_cluster_port}
public_path: '/swift/v1' # /$(project_id)s
internal_address: ${_param:radosgw_service_host}
- internal_port: 8081
+ internal_port: ${_param:radosgw_swift_cluster_port}
internal_path: '/swift/v1'
admin_address: ${_param:radosgw_service_host}
- admin_port: 8081
+ admin_port: ${_param:radosgw_swift_cluster_port}
admin_path: '/swift/v1'
diff --git a/keystone/client/single.yml b/keystone/client/single.yml
index 6d7a4c6..0c70390 100644
--- a/keystone/client/single.yml
+++ b/keystone/client/single.yml
@@ -38,3 +38,12 @@
is_admin: true
password: ${_param:keystone_admin_password}
email: ${_param:admin_email}
+ admin_identity:
+ admin:
+ user: admin
+ password: ${_param:keystone_admin_password}
+ project: admin
+ host: ${_param:keystone_service_host}
+ port: 5000
+ region_name: ${_param:openstack_region}
+ use_keystoneauth: true
diff --git a/keystone/server/cluster.yml b/keystone/server/cluster.yml
index 6db4f7a..a8f7069 100644
--- a/keystone/server/cluster.yml
+++ b/keystone/server/cluster.yml
@@ -31,6 +31,8 @@
expiration: 3600
max_active_keys: 3
location: /var/lib/keystone/fernet-keys
+ credential:
+ location: /var/lib/keystone/credential-keys
message_queue:
engine: rabbitmq
members:
@@ -41,3 +43,6 @@
password: ${_param:rabbitmq_openstack_password}
virtual_host: '/openstack'
ha_queues: true
+ auth_methods:
+ - password
+ - token
diff --git a/keystone/server/single.yml b/keystone/server/single.yml
index 26c7d2b..72dc045 100644
--- a/keystone/server/single.yml
+++ b/keystone/server/single.yml
@@ -35,10 +35,21 @@
expiration: 3600
max_active_keys: 3
location: /var/lib/keystone/fernet-keys
+ credential:
+ location: /var/lib/keystone/credential-keys
message_queue:
engine: rabbitmq
host: ${_param:single_address}
user: openstack
password: ${_param:rabbitmq_openstack_password}
virtual_host: '/openstack'
- ha_queues: true
\ No newline at end of file
+ ha_queues: true
+ roles:
+ - admin
+ - Member
+ - image_manager
+ auth_methods:
+ - password
+ - token
+ database:
+ host: 127.0.0.1
diff --git a/keystone/server/websso.yml b/keystone/server/websso.yml
new file mode 100644
index 0000000..0960ccb
--- /dev/null
+++ b/keystone/server/websso.yml
@@ -0,0 +1,15 @@
+classes:
+- service.shibboleth.server.cluster
+parameters:
+ keystone:
+ server:
+ websso:
+ protocol: saml2
+ remote_id_attribute: Shib-Identity-Provider
+ federation_driver: keystone.contrib.federation.backends.sql.Federation
+ trusted_dashboard:
+ - https://${_param:cluster_public_host}/auth/websso/
+ - https://${_param:proxy_vip_host}/auth/websso/
+ auth_methods:
+ - saml2
+ - external
diff --git a/keystone/server/wsgi.yml b/keystone/server/wsgi.yml
index 2c8a19d..1a949e9 100644
--- a/keystone/server/wsgi.yml
+++ b/keystone/server/wsgi.yml
@@ -15,5 +15,10 @@
name: wsgi
host:
name: ${linux:network:fqdn}
+ log:
+ custom:
+ format: >-
+ %v:%p %h %l %u %t \"%r\" %>s %D %O \"%{Referer}i\" \"%{User-Agent}i\"
+
modules:
- wsgi
diff --git a/kubernetes/control/flask_hello.yml b/kubernetes/control/flask_hello.yml
new file mode 100644
index 0000000..f7b41e5
--- /dev/null
+++ b/kubernetes/control/flask_hello.yml
@@ -0,0 +1,26 @@
+classes:
+ - system.kubernetes.control
+parameters:
+ kubernetes:
+ control:
+ service:
+ flask-hello:
+ enabled: true
+ service: flask-hello
+ namespace: default
+ cluster: flask-hello
+ role: server
+ type: LoadBalancer
+ replicas: 1
+ kind: Deployment
+ apiVersion: extensions/v1beta1
+ ports:
+ - port: 5000
+ name: flask-hello
+ container:
+ flask-hello:
+ image: ${_param:cicd_control_address}:5000/tcpcloud/python-flask-hello
+ image_pull_policy: Always
+ ports:
+ - port: 5000
+ name: flask-hello
diff --git a/kubernetes/control/init.yml b/kubernetes/control/init.yml
new file mode 100644
index 0000000..6e5fb40
--- /dev/null
+++ b/kubernetes/control/init.yml
@@ -0,0 +1,2 @@
+classes:
+ - service.kubernetes.control.cluster
diff --git a/kubernetes/master/cluster.yml b/kubernetes/master/cluster.yml
index ab283d0..f21f003 100644
--- a/kubernetes/master/cluster.yml
+++ b/kubernetes/master/cluster.yml
@@ -4,6 +4,9 @@
- service.haproxy.proxy.single
- system.haproxy.proxy.listen.kubernetes.apiserver
parameters:
+ _param:
+ kubernetes_netchecker_agent_image: quay.io/l23network/k8s-netchecker-agent:v1.0
+ kubernetes_netchecker_server_image: quay.io/l23network/k8s-netchecker-server:v1.0
kubernetes:
master:
container: false
diff --git a/kubernetes/master/single.yml b/kubernetes/master/single.yml
index 5f0dfdc..cc8d8ab 100644
--- a/kubernetes/master/single.yml
+++ b/kubernetes/master/single.yml
@@ -1,8 +1,11 @@
classes:
- service.kubernetes.master.single
parameters:
+ _param:
+ kubernetes_netchecker_agent_image: quay.io/l23network/k8s-netchecker-agent:v1.0
+ kubernetes_netchecker_server_image: quay.io/l23network/k8s-netchecker-server:v1.0
kubernetes:
master:
container: false
network:
- engine: calico
\ No newline at end of file
+ engine: calico
diff --git a/kubernetes/pool/cluster.yml b/kubernetes/pool/cluster.yml
index 8295d97..05aa1bc 100644
--- a/kubernetes/pool/cluster.yml
+++ b/kubernetes/pool/cluster.yml
@@ -2,6 +2,15 @@
- service.kubernetes.pool.cluster
- service.docker.host
parameters:
+ _param:
+ # component docker images
+ kubernetes_calicoctl_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/ctl:latest
+ kubernetes_calico_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/node:latest
+ kubernetes_calico_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/cni:latest
+ kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.6.2-2
+ kubernetes_contrail_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration/contrail-cni:v1.0.0
+ kubernetes_contrail_network_controller_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration/contrail-network-controller:v1.0.0
+
kubernetes:
pool:
container: false
diff --git a/kubernetes/pool/single.yml b/kubernetes/pool/single.yml
index 68e3844..9be2164 100644
--- a/kubernetes/pool/single.yml
+++ b/kubernetes/pool/single.yml
@@ -2,8 +2,17 @@
- service.kubernetes.pool.single
- service.docker.host
parameters:
+ _param:
+ # component docker images
+ kubernetes_calicoctl_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/ctl:latest
+ kubernetes_calico_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/node:latest
+ kubernetes_calico_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/cni:latest
+ kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.6.2-2
+ kubernetes_contrail_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration/contrail-cni:v1.0.0
+ kubernetes_contrail_network_controller_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration/contrail-network-controller:v1.0.0
+
kubernetes:
pool:
container: false
network:
- engine: calico
\ No newline at end of file
+ engine: calico
diff --git a/linux/system/repo/mcp/openstack.yml b/linux/system/repo/mcp/openstack.yml
index 249f5b2..2235b2c 100644
--- a/linux/system/repo/mcp/openstack.yml
+++ b/linux/system/repo/mcp/openstack.yml
@@ -34,7 +34,7 @@
architectures: amd64
key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename}/archive-mcp${_param:openstack_version}.key"
pin:
- - pin: 'release a=${_param:openstack_version}-uptades'
+ - pin: 'release a=${_param:openstack_version}-updates'
priority: 1100
package: '*'
mirantis_openstack_holdback:
diff --git a/linux/system/repo/saltstack/rhel.yml b/linux/system/repo/saltstack/rhel.yml
new file mode 100644
index 0000000..b0f28f3
--- /dev/null
+++ b/linux/system/repo/saltstack/rhel.yml
@@ -0,0 +1,14 @@
+parameters:
+ _param:
+ salt_version: 2016.3
+ rhel_releasever: 7
+ rhel_basearch: x86_64
+ linux:
+ system:
+ repo:
+ salt:
+ humanname: "SaltStack repo for RHEL/CentOS ${rhel_repo_releasever}"
+ source: "https://repo.saltstack.com/yum/redhat/${_param:rhel_releasever}/${_param:rhel_basearch}/${_param:salt_version}"
+ gpgkey: "https://repo.saltstack.com/yum/redhat/${_param:rhel_releasever}/${_param:rhel_basearch}/${_param:salt_version}/SALTSTACK-GPG-KEY.pub"
+ gpgcheck: true
+ architectures: amd64
diff --git a/linux/system/repo/saltstack/rhel6.yml b/linux/system/repo/saltstack/rhel6.yml
new file mode 100644
index 0000000..098410c
--- /dev/null
+++ b/linux/system/repo/saltstack/rhel6.yml
@@ -0,0 +1,6 @@
+classes:
+- system.linux.system.repo.saltstack.rhel
+parameters:
+ _param:
+ salt_version: 2016.3
+ rhel_releasever: 6
diff --git a/linux/system/repo/saltstack/rhel7.yml b/linux/system/repo/saltstack/rhel7.yml
new file mode 100644
index 0000000..a216398
--- /dev/null
+++ b/linux/system/repo/saltstack/rhel7.yml
@@ -0,0 +1,6 @@
+classes:
+- system.linux.system.repo.saltstack.rhel
+parameters:
+ _param:
+ salt_version: 2016.3
+ rhel_releasever: 7
diff --git a/linux/system/repo_local/ceph.yml b/linux/system/repo_local/ceph.yml
new file mode 100644
index 0000000..d28c0b6
--- /dev/null
+++ b/linux/system/repo_local/ceph.yml
@@ -0,0 +1,9 @@
+parameters:
+ linux:
+ system:
+ repo:
+ ceph:
+ refresh_db: ${_param:linux_repo_refresh_db}
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:apt_mk_version} ceph-mirantis"
+ architectures: amd64
+ key_url: "http://${_param:local_repo_url}/public.gpg"
diff --git a/linux/system/repo_local/docker.yml b/linux/system/repo_local/docker.yml
new file mode 100644
index 0000000..cd3b514
--- /dev/null
+++ b/linux/system/repo_local/docker.yml
@@ -0,0 +1,9 @@
+parameters:
+ linux:
+ system:
+ repo:
+ docker:
+ refresh_db: ${_param:linux_repo_refresh_db}
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:apt_mk_version} docker"
+ architectures: amd64
+ key_url: "http://${_param:local_repo_url}/public.gpg"
diff --git a/linux/system/repo_local/elasticsearch.yml b/linux/system/repo_local/elasticsearch.yml
new file mode 100644
index 0000000..8dc78aa
--- /dev/null
+++ b/linux/system/repo_local/elasticsearch.yml
@@ -0,0 +1,9 @@
+parameters:
+ linux:
+ system:
+ repo:
+ elasticsearch:
+ refresh_db: ${_param:linux_repo_refresh_db}
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/${_param:linux_system_codename}/ ${_param:apt_mk_version} elastic"
+ architectures: amd64
+ key_url: "http://${_param:local_repo_url}/public.gpg"
diff --git a/linux/system/repo_local/grafana.yml b/linux/system/repo_local/grafana.yml
index a94d1be..f2d9ad5 100644
--- a/linux/system/repo_local/grafana.yml
+++ b/linux/system/repo_local/grafana.yml
@@ -4,6 +4,6 @@
repo:
grafana:
refresh_db: ${_param:linux_repo_refresh_db}
- source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ nightly grafana"
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:apt_mk_version} grafana"
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
diff --git a/linux/system/repo_local/influxdb.yml b/linux/system/repo_local/influxdb.yml
index 5e30d83..1c641bb 100644
--- a/linux/system/repo_local/influxdb.yml
+++ b/linux/system/repo_local/influxdb.yml
@@ -4,6 +4,6 @@
repo:
influxdb:
refresh_db: ${_param:linux_repo_refresh_db}
- source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ nightly influxdb"
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:apt_mk_version} influxdb"
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
diff --git a/linux/system/repo_local/mcp/extra.yml b/linux/system/repo_local/mcp/extra.yml
index b7ae91a..c55ecfc 100644
--- a/linux/system/repo_local/mcp/extra.yml
+++ b/linux/system/repo_local/mcp/extra.yml
@@ -10,3 +10,8 @@
source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:linux_system_repo_mcp_extra_version} extra"
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
+ clean_file: true
+ pin:
+ - pin: 'release a=${_param:linux_system_repo_mcp_extra_version}'
+ priority: 1100
+ package: '*'
diff --git a/linux/system/repo_local/sensu.yml b/linux/system/repo_local/sensu.yml
index df418fd..67750cf 100644
--- a/linux/system/repo_local/sensu.yml
+++ b/linux/system/repo_local/sensu.yml
@@ -4,6 +4,6 @@
repo:
sensu:
refresh_db: ${_param:linux_repo_refresh_db}
- source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ nightly sensu"
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:apt_mk_version} sensu"
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
diff --git a/linux/system/single.yml b/linux/system/single.yml
index 2c538f5..ef23a39 100644
--- a/linux/system/single.yml
+++ b/linux/system/single.yml
@@ -57,3 +57,8 @@
- type: hard
item: nproc
value: 307200
+ systemd:
+ system:
+ Manager:
+ DefaultLimitNOFILE: 307200
+ DefaultLimitNPROC: 307200
diff --git a/linux/system/sudo.yml b/linux/system/sudo.yml
index 1668c12..8f03f7d 100644
--- a/linux/system/sudo.yml
+++ b/linux/system/sudo.yml
@@ -23,7 +23,21 @@
- /usr/sbin/visudo
sudo_coreutils_safe:
- /usr/bin/less
+ - /usr/bin/grep
+ - /usr/bin/fgrep
+ - /usr/bin/egrep
+ - /usr/bin/zgrep
+ - /usr/bin/tail
+ - /usr/bin/socat
+ - /usr/bin/top
+ - /usr/bin/tail
+ - /usr/bin/lsof
+ - /usr/bin/virsh
+ - /bin/ls
+ - /bin/cp
+ - /bin/netstat
sudo_rabbitmq_safe:
+ - /usr/sbin/rabbitmqctl
- /usr/sbin/rabbitmqctl status
- /usr/sbin/rabbitmqctl cluster_status
- /usr/sbin/rabbitmqctl list_queues*
@@ -41,3 +55,42 @@
- /usr/bin/salt-call saltutil*
sudo_salt_trusted:
- /usr/bin/salt*
+ sudo_networking:
+ - /sbin/ip
+ - /sbin/ss
+ - /sbin/ifconfig
+ - /sbin/route
+ - /sbin/ethtool
+ - /sbin/tcpdump
+ sudo_contrail_utilities:
+ - /usr/bin/contrail*
+ - /bin/contrail*
+ - /usr/bin/vif
+ - /usr/bin/flow
+ - /usr/bin/vrfstats
+ - /usr/bin/rt
+ - /usr/bin/dropstats
+ - /usr/bin/mpls
+ - /usr/bin/mirror
+ - /usr/bin/vxlan
+ - /usr/bin/nh
+ sudo_storage_utilities:
+ - /usr/bin/ceph*
+ - /usr/bin/rados*
+ - /usr/bin/rbd
+ - /usr/sbin/gluster
+ sudo_openstack_clients:
+ - /usr/bin/openstack
+ - /usr/bin/heat*
+ - /usr/bin/nova*
+ - /usr/bin/neutron*
+ - /usr/bin/keystone*
+ - /usr/bin/glance*
+ - /usr/bin/cinder*
+ - /usr/bin/swift*
+ - /usr/bin/ironic*
+ - /usr/bin/manila*
+ - /usr/bin/barbican*
+ - /usr/bin/ceilometer*
+ - /usr/bin/trove*
+
diff --git a/maas/region/single.yml b/maas/region/single.yml
index 569d475..d3227ca 100644
--- a/maas/region/single.yml
+++ b/maas/region/single.yml
@@ -2,15 +2,42 @@
- service.maas.region.single
- service.maas.region.vendor_repo
parameters:
+ _param:
+ maas_admin_username: mirantis
maas:
+ cluster:
+ enabled: true
+ role: master
+ region:
+ host: ${_param:single_address}
+ port: 5242
region:
+ salt_master_ip: ${_param:infra_config_deploy_address}
theme: mirantis
enable_iframe: True
bind:
- host: ${_param:cluster_vip_address}
+ host: ${_param:single_address}
+ admin:
+ username: ${_param:maas_admin_username}
+ password: ${_param:maas_admin_password}
+ email: email@example.com
database:
engine: postgresql
- host: 10.0.175.10
+ host: localhost
name: maasdb
- password: password
- username: maas
\ No newline at end of file
+ password: ${_param:maas_db_password}
+ username: maas
+ maas_config:
+ commissioning_distro_series: xenial
+ default_distro_series: xenial
+ default_osystem: 'ubuntu'
+ default_storage_layout: lvm
+ disk_erase_with_secure_erase: true
+ dnssec_validation: 'no'
+ enable_third_party_drivers: true
+ maas_name: mas01
+ active_discovery_interval: '600'
+ ntp_external_only: true
+ upstream_dns: ${_param:dns_server01}
+ enable_http_proxy: false
+ default_min_hwe_kernel: ''
diff --git a/mysql/client/database/ironic.yml b/mysql/client/database/ironic.yml
new file mode 100644
index 0000000..e142e64
--- /dev/null
+++ b/mysql/client/database/ironic.yml
@@ -0,0 +1,18 @@
+parameters:
+ mysql:
+ client:
+ server:
+ database:
+ database:
+ ironic:
+ encoding: utf8
+ users:
+ - name: ironic
+ password: ${_param:mysql_ironic_password}
+ host: '%'
+ rights: all
+ - name: ironic
+ password: ${_param:mysql_ironic_password}
+ host: ${_param:cluster_local_address}
+ rights: all
+
diff --git a/mysql/client/database/octavia.yml b/mysql/client/database/octavia.yml
new file mode 100644
index 0000000..6c31ece
--- /dev/null
+++ b/mysql/client/database/octavia.yml
@@ -0,0 +1,17 @@
+parameters:
+ mysql:
+ client:
+ server:
+ database:
+ database:
+ octavia:
+ encoding: utf8
+ users:
+ - name: octavia
+ password: ${_param:mysql_octavia_password}
+ host: '%'
+ rights: all
+ - name: octavia
+ password: ${_param:mysql_octavia_password}
+ host: ${_param:single_address}
+ rights: all
diff --git a/neutron/client/service/ironic.yml b/neutron/client/service/ironic.yml
new file mode 100644
index 0000000..3bc5be4
--- /dev/null
+++ b/neutron/client/service/ironic.yml
@@ -0,0 +1,22 @@
+parameters:
+ neutron:
+ client:
+ enabled: true
+ server:
+ admin_identity:
+ endpoint_type: internalURL
+ network:
+ baremetal-flat-network:
+ tenant: admin
+ shared: True
+ admin_state_up: True
+ provider_network_type: flat
+ provider_physical_network: physnet3
+ port_security_enabled: false
+ subnet:
+ baremetal-subnet:
+ cidr: ${_param:openstack_baremeta_neutron_subnet_cidr}
+ allocation_pools:
+ - start: ${_param:openstack_baremeta_neutron_subnet_allocation_start}
+ end: ${_param:openstack_baremeta_neutron_subnet_allocation_end}
+ enable_dhcp: true
diff --git a/neutron/compute/cluster.yml b/neutron/compute/cluster.yml
index 9897006..d6674f0 100644
--- a/neutron/compute/cluster.yml
+++ b/neutron/compute/cluster.yml
@@ -1,9 +1,12 @@
classes:
- service.neutron.compute.single
parameters:
+ _param:
+ neutron_enable_qos: False
neutron:
compute:
dvr: ${_param:neutron_compute_dvr}
+ qos: ${_param:neutron_enable_qos}
agent_mode: ${_param:neutron_compute_agent_mode}
external_access: ${_param:neutron_compute_external_access}
backend:
@@ -12,4 +15,4 @@
members:
- host: ${_param:openstack_message_queue_node01_address}
- host: ${_param:openstack_message_queue_node02_address}
- - host: ${_param:openstack_message_queue_node03_address}
\ No newline at end of file
+ - host: ${_param:openstack_message_queue_node03_address}
diff --git a/neutron/control/openvswitch/cluster.yml b/neutron/control/openvswitch/cluster.yml
index dc8e0c5..0587342 100644
--- a/neutron/control/openvswitch/cluster.yml
+++ b/neutron/control/openvswitch/cluster.yml
@@ -9,12 +9,14 @@
neutron_global_physnet_mtu: 1500
neutron_external_mtu: 1500
neutron_tenant_network_types: "flat,vxlan"
+ neutron_enable_qos: False
neutron:
server:
plugin: ml2
global_physnet_mtu: ${_param:neutron_global_physnet_mtu}
l3_ha: ${_param:neutron_l3_ha}
dvr: ${_param:neutron_control_dvr}
+ qos: ${_param:neutron_enable_qos}
backend:
engine: ml2
tenant_network_types: "${_param:neutron_tenant_network_types}"
diff --git a/neutron/control/openvswitch/octavia.yml b/neutron/control/openvswitch/octavia.yml
new file mode 100644
index 0000000..9f6345b
--- /dev/null
+++ b/neutron/control/openvswitch/octavia.yml
@@ -0,0 +1,12 @@
+parameters:
+ _param:
+ octavia_api_bind_address: ${_param:cluster_local_address}
+ neutron:
+ server:
+ lbaas:
+ enabled: true
+ providers:
+ octavia:
+ engine: octavia
+ driver_path: 'neutron_lbaas.drivers.octavia.driver.OctaviaDriver'
+ base_url: http://${_param:octavia_api_bind_address}:9876
diff --git a/neutron/control/openvswitch/single.yml b/neutron/control/openvswitch/single.yml
index 6601db1..91db484 100644
--- a/neutron/control/openvswitch/single.yml
+++ b/neutron/control/openvswitch/single.yml
@@ -7,12 +7,14 @@
neutron_global_physnet_mtu: 1500
neutron_external_mtu: 1500
neutron_tenant_network_types: "flat,vxlan"
+ neutron_enable_qos: False
neutron:
server:
plugin: ml2
global_physnet_mtu: ${_param:neutron_global_physnet_mtu}
l3_ha: ${_param:neutron_l3_ha}
dvr: ${_param:neutron_control_dvr}
+ qos: ${_param:neutron_enable_qos}
backend:
engine: ml2
tenant_network_types: "${_param:neutron_tenant_network_types}"
diff --git a/neutron/gateway/cluster.yml b/neutron/gateway/cluster.yml
index 99699f7..a4f37b1 100644
--- a/neutron/gateway/cluster.yml
+++ b/neutron/gateway/cluster.yml
@@ -1,9 +1,12 @@
classes:
- service.neutron.gateway.single
parameters:
+ _param:
+ neutron_enable_qos: False
neutron:
gateway:
dvr: ${_param:neutron_gateway_dvr}
+ qos: ${_param:neutron_enable_qos}
agent_mode: ${_param:neutron_gateway_agent_mode}
backend:
tenant_network_types: ${_param:neutron_tenant_network_types}"
diff --git a/neutron/gateway/ironic.yml b/neutron/gateway/ironic.yml
new file mode 100644
index 0000000..c01dbce
--- /dev/null
+++ b/neutron/gateway/ironic.yml
@@ -0,0 +1,4 @@
+parameters:
+ neutron:
+ gateway:
+ ironic_enabled: true
diff --git a/nginx/server/proxy/openstack_api.yml b/nginx/server/proxy/openstack_api.yml
index 5c4a1fa..2b84993 100644
--- a/nginx/server/proxy/openstack_api.yml
+++ b/nginx/server/proxy/openstack_api.yml
@@ -85,12 +85,24 @@
name: ${_param:nginx_proxy_openstack_api_host}
port: 9696
ssl: ${_param:nginx_proxy_ssl}
- nginx_proxy_openstack_api_heat_cfn:
+ nginx_proxy_openstack_api_heat_cloudwatch:
enabled: true
type: nginx_proxy
name: openstack_api_heat_cfn
proxy:
host: ${_param:heat_service_host}
+ port: 8003
+ protocol: http
+ host:
+ name: ${_param:nginx_proxy_openstack_api_host}
+ port: 8003
+ ssl: ${_param:nginx_proxy_ssl}
+ nginx_proxy_openstack_api_heat_cfn:
+ enabled: true
+ type: nginx_proxy
+ name: openstack_api_heat_cloudwatch
+ proxy:
+ host: ${_param:heat_service_host}
port: 8000
protocol: http
host:
diff --git a/nginx/server/proxy/stacklight/grafana.yml b/nginx/server/proxy/stacklight/grafana.yml
index a1c7c49..24219ee 100644
--- a/nginx/server/proxy/stacklight/grafana.yml
+++ b/nginx/server/proxy/stacklight/grafana.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ nginx_proxy_grafana_port: 3000
nginx:
server:
enabled: true
@@ -9,7 +11,7 @@
name: grafana
proxy:
host: ${_param:stacklight_monitor_address}
- port: 3000
+ port: ${_param:nginx_proxy_grafana_port}
protocol: http
host:
name: ${_param:cluster_public_host}
diff --git a/nginx/server/site/ironic.yml b/nginx/server/site/ironic.yml
new file mode 100644
index 0000000..d03311c
--- /dev/null
+++ b/nginx/server/site/ironic.yml
@@ -0,0 +1,20 @@
+parameters:
+ _param:
+ nginx_proxy_openstack_api_host: ${_param:cluster_public_host}
+ nginx:
+ server:
+ enabled: true
+ site:
+ nginx_proxy_openstack_api_ironic:
+ enabled: true
+ type: nginx_proxy
+ name: openstack_api_ironic
+ check: false
+ proxy:
+ host: ${_param:ironic_service_host}
+ port: 6385
+ protocol: http
+ host:
+ name: ${_param:nginx_proxy_openstack_api_host}
+ port: 6385
+ ssl: ${_param:nginx_proxy_ssl}
diff --git a/nova/client/service/octavia.yml b/nova/client/service/octavia.yml
new file mode 100644
index 0000000..817297f
--- /dev/null
+++ b/nova/client/service/octavia.yml
@@ -0,0 +1,13 @@
+parameters:
+ nova:
+ client:
+ enabled: true
+ server:
+ octavia_identity:
+ endpoint_type: internalURL
+ flavor:
+ m1.amphora:
+ flavor_id: ${_param:amp_flavor_id}
+ ram: 1024
+ disk: 2
+ vcpus: 1
diff --git a/nova/compute_ironic/cluster.yml b/nova/compute_ironic/cluster.yml
new file mode 100644
index 0000000..2526373
--- /dev/null
+++ b/nova/compute_ironic/cluster.yml
@@ -0,0 +1,53 @@
+classes:
+- service.nova.compute.ironic
+parameters:
+ nova:
+ compute:
+ version: ${_param:nova_version}
+ enabled: true
+ virtualization: 'baremetal'
+ pkgs:
+ - nova-compute-ironic
+ database:
+ engine: mysql
+ host: ${_param:openstack_database_address}
+ port: 3306
+ name: nova
+ user: nova
+ password: ${_param:mysql_nova_password}
+ identity:
+ engine: keystone
+ region: ${_param:openstack_region}
+ host: ${_param:cluster_vip_address}
+ port: 35357
+ user: nova
+ password: ${_param:keystone_nova_password}
+ tenant: service
+ message_queue:
+ engine: rabbitmq
+ port: 5672
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
+ members:
+ - host: ${_param:openstack_message_queue_node01_address}
+ - host: ${_param:openstack_message_queue_node02_address}
+ - host: ${_param:openstack_message_queue_node03_address}
+ network:
+ engine: neutron
+ region: ${_param:openstack_region}
+ host: ${_param:neutron_service_host}
+ port: 9696
+ user: neutron
+ tenant: service
+ password: ${_param:keystone_neutron_password}
+ ironic:
+ region: ${_param:openstack_region}
+ host: ${_param:ironic_service_host}
+ port: 6385
+ user: ironic
+ tenant: service
+ password: ${_param:keystone_ironic_password}
+ auth_type: password
+ project_domain_name: Default
+ user_domain_name: Default
diff --git a/nova/compute_ironic/single.yml b/nova/compute_ironic/single.yml
new file mode 100644
index 0000000..5c19023
--- /dev/null
+++ b/nova/compute_ironic/single.yml
@@ -0,0 +1,47 @@
+classes:
+- service.nova.compute.ironic
+parameters:
+ nova:
+ compute:
+ version: ${_param:nova_version}
+ enabled: true
+ virtualization: 'baremetal'
+ pkgs:
+ - nova-compute-ironic
+ database:
+ engine: mysql
+ host: ${_param:control_address}
+ port: 3306
+ name: nova
+ user: nova
+ password: ${_param:mysql_nova_password}
+ identity:
+ engine: keystone
+ region: ${_param:openstack_region}
+ host: ${_param:control_address}
+ port: 35357
+ user: nova
+ password: ${_param:keystone_nova_password}
+ tenant: service
+ message_queue:
+ engine: rabbitmq
+ port: 5672
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
+ host: ${_param:control_address}
+ network:
+ engine: neutron
+ region: ${_param:openstack_region}
+ host: ${_param:control_address}
+ port: 9696
+ user: neutron
+ tenant: service
+ password: ${_param:keystone_neutron_password}
+ ironic:
+ region: ${_param:openstack_region}
+ host: ${_param:control_address}
+ port: 6385
+ user: ironic
+ tenant: service
+ password: ${_param:keystone_ironic_password}
diff --git a/octavia/api/cluster.yml b/octavia/api/cluster.yml
new file mode 100644
index 0000000..75a4c19
--- /dev/null
+++ b/octavia/api/cluster.yml
@@ -0,0 +1,9 @@
+classes:
+- service.octavia.api.cluster
+- system.haproxy.proxy.listen.openstack.octavia
+parameters:
+ octavia:
+ api:
+ enabled: true
+ bind:
+ address: ${_param:cluster_local_address}
diff --git a/octavia/api/single.yml b/octavia/api/single.yml
new file mode 100644
index 0000000..685c4b4
--- /dev/null
+++ b/octavia/api/single.yml
@@ -0,0 +1,8 @@
+classes:
+- service.octavia.api.single
+parameters:
+ octavia:
+ api:
+ enabled: true
+ bind:
+ address: ${_param:single_address}
diff --git a/octavia/manager/single.yml b/octavia/manager/single.yml
new file mode 100644
index 0000000..a7bc7a9
--- /dev/null
+++ b/octavia/manager/single.yml
@@ -0,0 +1,7 @@
+classes:
+- service.octavia.manager.single
+parameters:
+ octavia:
+ manager:
+ enabled: true
+ version: ${_param:octavia_version}
diff --git a/opencontrail/client/resource/k8s_api.yml b/opencontrail/client/resource/k8s_api.yml
new file mode 100644
index 0000000..79d6f0d
--- /dev/null
+++ b/opencontrail/client/resource/k8s_api.yml
@@ -0,0 +1,9 @@
+parameters:
+ opencontrail:
+ client:
+ linklocal_service:
+ k8s_api:
+ lls_ip: ${_param:kubernetes_internal_api_address}
+ lls_port: 443
+ ipf_addresses: ${_param:kubernetes_control_address}
+ ipf_port: 443
diff --git a/opencontrail/client/resource/openstack_metadata.yml b/opencontrail/client/resource/openstack_metadata.yml
new file mode 100644
index 0000000..3ed8f3b
--- /dev/null
+++ b/opencontrail/client/resource/openstack_metadata.yml
@@ -0,0 +1,9 @@
+parameters:
+ opencontrail:
+ client:
+ linklocal_service:
+ metadata:
+ lls_ip: 169.254.169.254
+ lls_port: 80
+ ipf_addresses: ${_param:openstack_control_address}
+ ipf_port: 8775
diff --git a/opencontrail/compute/cluster.yml b/opencontrail/compute/cluster.yml
index 375e600..5e92709 100644
--- a/opencontrail/compute/cluster.yml
+++ b/opencontrail/compute/cluster.yml
@@ -1,3 +1,5 @@
+classes:
+ - service.opencontrail.compute.cluster
applications:
- opencontrail
parameters:
@@ -20,6 +22,8 @@
version: ${_param:opencontrail_version}
disable_flow_collection: true
enabled: True
+ bind:
+ address: ${_param:single_address}
discovery:
host: ${_param:opencontrail_control_address}
interface:
diff --git a/opencontrail/compute/cluster4_0.yml b/opencontrail/compute/cluster4_0.yml
new file mode 100644
index 0000000..68f8007
--- /dev/null
+++ b/opencontrail/compute/cluster4_0.yml
@@ -0,0 +1,51 @@
+applications:
+- opencontrail
+parameters:
+ _param:
+ opencontrail_compute_iface_mask: 24
+ opencontrail_version: 4.0
+ linux_repo_contrail_component: oc40
+ opencontrail:
+ common:
+ version: ${_param:opencontrail_version}
+ identity:
+ engine: keystone
+ host: ${_param:openstack_control_address}
+ port: 35357
+ token: ${_param:keystone_service_token}
+ password: ${_param:keystone_admin_password}
+ network:
+ engine: neutron
+ host: ${_param:openstack_control_address}
+ port: 9696
+ compute:
+ version: ${_param:opencontrail_version}
+ disable_flow_collection: true
+ enabled: True
+ bind:
+ address: ${_param:single_address}
+ config:
+ members:
+ - host: ${_param:opencontrail_control_node01_address}
+ - host: ${_param:opencontrail_control_node02_address}
+ - host: ${_param:opencontrail_control_node03_address}
+ collector:
+ members:
+ - host: ${_param:opencontrail_analytics_node01_address}
+ - host: ${_param:opencontrail_analytics_node02_address}
+ - host: ${_param:opencontrail_analytics_node03_address}
+ control:
+ members:
+ - host: ${_param:opencontrail_control_node01_address}
+ - host: ${_param:opencontrail_control_node02_address}
+ - host: ${_param:opencontrail_control_node03_address}
+ interface:
+ address: ${_param:opencontrail_compute_address}
+ dev: ${_param:opencontrail_compute_iface}
+ gateway: ${_param:opencontrail_compute_gateway}
+ mask: ${_param:opencontrail_compute_iface_mask}
+ dns: ${_param:opencontrail_compute_dns}
+ mtu: 9000
+ nova:
+ compute:
+ networking: contrail
diff --git a/opencontrail/compute/single4_0.yml b/opencontrail/compute/single4_0.yml
new file mode 100644
index 0000000..bd77c05
--- /dev/null
+++ b/opencontrail/compute/single4_0.yml
@@ -0,0 +1,44 @@
+applications:
+- opencontrail
+parameters:
+ _param:
+ opencontrail_compute_iface_mask: 24
+ opencontrail_version: 4.0
+ linux_repo_contrail_component: oc40
+ opencontrail:
+ common:
+ version: ${_param:opencontrail_version}
+ identity:
+ engine: keystone
+ host: ${_param:control_address}
+ port: 35357
+ token: ${_param:keystone_service_token}
+ password: ${_param:keystone_admin_password}
+ network:
+ engine: neutron
+ host: ${_param:control_address}
+ port: 9696
+ compute:
+ version: ${_param:opencontrail_version}
+ enabled: True
+ config:
+ members:
+ - host: ${_param:opencontrail_control_node01_address}
+ - host: ${_param:opencontrail_control_node02_address}
+ - host: ${_param:opencontrail_control_node03_address}
+ collector:
+ members:
+ - host: ${_param:opencontrail_analytics_node01_address}
+ - host: ${_param:opencontrail_analytics_node02_address}
+ - host: ${_param:opencontrail_analytics_node03_address}
+ interface:
+ address: ${_param:opencontrail_compute_address}
+ dev: ${_param:opencontrail_compute_iface}
+ gateway: ${_param:opencontrail_compute_gateway}
+ mask: ${_param:opencontrail_compute_iface_mask}
+ dns: ${_param:opencontrail_compute_dns}
+ mtu: 9000
+ nova:
+ compute:
+ networking: contrail
+
diff --git a/opencontrail/control/analytics.yml b/opencontrail/control/analytics.yml
index 8cbd166..8065742 100644
--- a/opencontrail/control/analytics.yml
+++ b/opencontrail/control/analytics.yml
@@ -14,6 +14,9 @@
python-kafka:
version: 1.0.1-0contrail1
hold: true
+ kernel:
+ modules:
+ - nf_conntrack_ipv4
opencontrail:
common:
identity:
diff --git a/opencontrail/control/analytics4_0.yml b/opencontrail/control/analytics4_0.yml
new file mode 100644
index 0000000..a122830
--- /dev/null
+++ b/opencontrail/control/analytics4_0.yml
@@ -0,0 +1,64 @@
+classes:
+- service.haproxy.proxy.single
+- service.keepalived.cluster.single
+- service.opencontrail.control.analytics
+- system.haproxy.proxy.listen.opencontrail.analytics
+parameters:
+ _param:
+ opencontrail_version: 4.0
+ linux_repo_contrail_component: oc40
+ 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}
+# Temprorary fix for MOS9 packages to pin old version of kafka
+ linux:
+ system:
+ package:
+ librdkafka1:
+ version: 0.9.0-0contrail0
+ hold: true
+ python-kafka:
+ version: 1.0.1-0contrail1
+ hold: true
+ kernel:
+ modules:
+ - nf_conntrack_ipv4
+ opencontrail:
+ common:
+ identity:
+ host: ${_param:openstack_control_address}
+ network:
+ host: ${_param:openstack_control_address}
+ collector:
+ discovery:
+ host: None
+ database:
+ members:
+ - host: ${_param:opencontrail_analytics_node01_address}
+ - host: ${_param:opencontrail_analytics_node02_address}
+ - host: ${_param:opencontrail_analytics_node03_address}
+ analytics:
+ members:
+ - host: ${_param:opencontrail_analytics_node01_address}
+ - host: ${_param:opencontrail_analytics_node02_address}
+ - host: ${_param:opencontrail_analytics_node03_address}
+ message_queue:
+ host: ${_param:opencontrail_message_queue_address}
+ members:
+ - host: ${_param:opencontrail_message_queue_node01_address}
+ - host: ${_param:opencontrail_message_queue_node02_address}
+ - host: ${_param:opencontrail_message_queue_node03_address}
+ config:
+ members:
+ - host: ${_param:opencontrail_control_node01_address}
+ - host: ${_param:opencontrail_control_node02_address}
+ - host: ${_param:opencontrail_control_node03_address}
+ database:
+ discovery:
+ host: None
+ analytics:
+ members:
+ - host: ${_param:opencontrail_analytics_node01_address}
+ - host: ${_param:opencontrail_analytics_node02_address}
+ - host: ${_param:opencontrail_analytics_node03_address}
diff --git a/opencontrail/control/cluster.yml b/opencontrail/control/cluster.yml
index 4ffe081..a4126d6 100644
--- a/opencontrail/control/cluster.yml
+++ b/opencontrail/control/cluster.yml
@@ -13,8 +13,9 @@
version: 0.9.0-0contrail0
python-kafka:
version: 1.0.1-0contrail1
- contrail-api-cli:
- version: latest
+ kernel:
+ modules:
+ - nf_conntrack_ipv4
opencontrail:
web:
database:
diff --git a/opencontrail/control/cluster4_0.yml b/opencontrail/control/cluster4_0.yml
new file mode 100644
index 0000000..cd12eef
--- /dev/null
+++ b/opencontrail/control/cluster4_0.yml
@@ -0,0 +1,114 @@
+classes:
+- service.haproxy.proxy.single
+- service.keepalived.cluster.single
+- service.opencontrail.control.cluster
+- system.haproxy.proxy.listen.opencontrail.control
+- system.haproxy.proxy.listen.opencontrail.analytics
+parameters:
+ _param:
+ opencontrail_version: 4.0
+ linux_repo_contrail_component: oc40
+ 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}
+# Temprorary fix for MOS9 packages to pin old version of kafka
+ linux:
+ system:
+ package:
+ librdkafka1:
+ version: 0.9.0-0contrail0
+ python-kafka:
+ version: 1.0.1-0contrail1
+ kernel:
+ modules:
+ - nf_conntrack_ipv4
+ opencontrail:
+ common:
+ identity:
+ host: ${_param:openstack_control_address}
+ network:
+ host: ${_param:openstack_control_address}
+ collector:
+ discovery:
+ host: None
+ database:
+ members:
+ - host: ${_param:cluster_node01_address}
+ - host: ${_param:cluster_node02_address}
+ - host: ${_param:cluster_node03_address}
+ analytics:
+ members:
+ - host: ${_param:cluster_node01_address}
+ - host: ${_param:cluster_node02_address}
+ - host: ${_param:cluster_node03_address}
+ message_queue:
+ host: ${_param:opencontrail_message_queue_address}
+ members:
+ - host: ${_param:opencontrail_message_queue_node01_address}
+ - host: ${_param:opencontrail_message_queue_node02_address}
+ - host: ${_param:opencontrail_message_queue_node03_address}
+ config:
+ members:
+ - host: ${_param:cluster_node01_address}
+ - host: ${_param:cluster_node02_address}
+ - host: ${_param:cluster_node03_address}
+ database:
+ discovery:
+ host: None
+ analytics:
+ members:
+ - host: ${_param:cluster_node01_address}
+ - host: ${_param:cluster_node02_address}
+ - host: ${_param:cluster_node03_address}
+ config:
+ network:
+ host: ${_param:openstack_control_address}
+ bind:
+ address: ${_param:cluster_local_address}
+ discovery:
+ host: None
+ api:
+ host: ${_param:opencontrail_control_address}
+ analytics:
+ members:
+ - host: ${_param:cluster_node01_address}
+ - host: ${_param:cluster_node02_address}
+ - host: ${_param:cluster_node03_address}
+ message_queue:
+ members:
+ - host: ${_param:opencontrail_message_queue_node01_address}
+ - host: ${_param:opencontrail_message_queue_node02_address}
+ - host: ${_param:opencontrail_message_queue_node03_address}
+ identity:
+ region: ${_param:openstack_region}
+ host: ${_param:openstack_control_address}
+ control:
+ analytics:
+ members:
+ - host: ${_param:cluster_node01_address}
+ - host: ${_param:cluster_node02_address}
+ - host: ${_param:cluster_node03_address}
+ message_queue:
+ members:
+ - host: ${_param:opencontrail_message_queue_node01_address}
+ - host: ${_param:opencontrail_message_queue_node02_address}
+ - host: ${_param:opencontrail_message_queue_node03_address}
+ database:
+ members:
+ - host: ${_param:cluster_node01_address}
+ - host: ${_param:cluster_node02_address}
+ - host: ${_param:cluster_node03_address}
+ discovery:
+ host: None
+ web:
+ analytics:
+ host: ${_param:opencontrail_control_address}
+ cache:
+ host: 127.0.0.1
+ identity:
+ host: ${_param:openstack_control_address}
+ database:
+ port: 9042
+ network:
+ host: ${_param:openstack_control_address}
diff --git a/opencontrail/control/control.yml b/opencontrail/control/control.yml
index 9c1d905..fdc4f7d 100644
--- a/opencontrail/control/control.yml
+++ b/opencontrail/control/control.yml
@@ -38,3 +38,8 @@
port: 9042
network:
host: ${_param:cluster_vip_address}
+ linux:
+ system:
+ kernel:
+ modules:
+ - nf_conntrack_ipv4
diff --git a/opencontrail/control/control4_0.yml b/opencontrail/control/control4_0.yml
new file mode 100644
index 0000000..32b51e5
--- /dev/null
+++ b/opencontrail/control/control4_0.yml
@@ -0,0 +1,79 @@
+classes:
+- service.keepalived.cluster.single
+- service.opencontrail.control.control
+- system.haproxy.proxy.listen.opencontrail.control
+parameters:
+ _param:
+ opencontrail_version: 4.0
+ linux_repo_contrail_component: oc40
+ 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:
+ common:
+ identity:
+ host: ${_param:openstack_control_address}
+ network:
+ host: ${_param:openstack_control_address}
+ config:
+ network:
+ host: ${_param:openstack_control_address}
+ bind:
+ address: ${_param:cluster_local_address}
+ discovery:
+ host: None
+ api:
+ host: ${_param:opencontrail_control_address}
+ analytics:
+ members:
+ - host: ${_param:opencontrail_analytics_node01_address}
+ - host: ${_param:opencontrail_analytics_node02_address}
+ - host: ${_param:opencontrail_analytics_node03_address}
+ message_queue:
+ members:
+ - host: ${_param:opencontrail_message_queue_node01_address}
+ - host: ${_param:opencontrail_message_queue_node02_address}
+ - host: ${_param:opencontrail_message_queue_node03_address}
+ identity:
+ region: ${_param:openstack_region}
+ host: ${_param:openstack_control_address}
+ control:
+ analytics:
+ members:
+ - host: ${_param:opencontrail_analytics_node01_address}
+ - host: ${_param:opencontrail_analytics_node02_address}
+ - host: ${_param:opencontrail_analytics_node03_address}
+ message_queue:
+ members:
+ - host: ${_param:opencontrail_message_queue_node01_address}
+ - host: ${_param:opencontrail_message_queue_node02_address}
+ - host: ${_param:opencontrail_message_queue_node03_address}
+ database:
+ members:
+ - host: ${_param:opencontrail_control_node01_address}
+ - host: ${_param:opencontrail_control_node02_address}
+ - host: ${_param:opencontrail_control_node03_address}
+ discovery:
+ host: None
+ web:
+ analytics:
+ host: ${_param:opencontrail_analytics_address}
+ cache:
+ host: 127.0.0.1
+ identity:
+ host: ${_param:openstack_control_address}
+ database:
+ port: 9042
+ network:
+ host: ${_param:openstack_control_address}
+ database:
+ analytics:
+ members:
+ - host: ${_param:opencontrail_analytics_node01_address}
+ - host: ${_param:opencontrail_analytics_node02_address}
+ - host: ${_param:opencontrail_analytics_node03_address}
+ linux:
+ system:
+ kernel:
+ modules:
+ - nf_conntrack_ipv4
diff --git a/opencontrail/control/single.yml b/opencontrail/control/single.yml
index efdc267..064418e 100644
--- a/opencontrail/control/single.yml
+++ b/opencontrail/control/single.yml
@@ -12,6 +12,9 @@
version: 1.0.1-0contrail1
contrail-api-cli:
version: latest
+ kernel:
+ modules:
+ - nf_conntrack_ipv4
haproxy:
proxy:
listen:
diff --git a/opencontrail/control/single4_0.yml b/opencontrail/control/single4_0.yml
new file mode 100644
index 0000000..365ed20
--- /dev/null
+++ b/opencontrail/control/single4_0.yml
@@ -0,0 +1,140 @@
+classes:
+- service.opencontrail.control.single
+- service.haproxy.proxy.single
+parameters:
+ _param:
+ opencontrail_version: 4.0
+ linux_repo_contrail_component: oc40
+# Temprorary fix for MOS9 packages to pin old version of kafka
+ linux:
+ system:
+ package:
+ librdkafka1:
+ version: 0.9.0-0contrail0
+ python-kafka:
+ version: 1.0.1-0contrail1
+ contrail-api-cli:
+ version: latest
+ kernel:
+ modules:
+ - nf_conntrack_ipv4
+ haproxy:
+ proxy:
+ listen:
+ contrail_api:
+ type: contrail-api
+ service_name: contrail
+ check: false
+ binds:
+ - address: ${_param:single_address}
+ port: 8082
+ servers:
+ - name: ctl01
+ host: ${_param:single_address}
+ port: 9100
+ params: check inter 2000 rise 2 fall 3
+ contrail_discovery:
+ type: contrail-api
+ service_name: contrail
+ binds:
+ - address: ${_param:single_address}
+ port: 5998
+ servers:
+ - name: ctl01
+ host: ${_param:single_address}
+ port: 9110
+ params: check inter 2000 rise 2 fall 3
+ contrail_config_stats:
+ type: contrail-config
+ service_name: contrail
+ format: listen
+ binds:
+ - address: '*'
+ port: 5937
+ user: haproxy
+ password: ${_param:opencontrail_stats_password}
+ contrail_openstack_stats:
+ type: contrail-config
+ service_name: contrail
+ format: listen
+ binds:
+ - address: '*'
+ port: 5936
+ user: haproxy
+ password: ${_param:opencontrail_stats_password}
+ contrail_collector_stats:
+ type: contrail-config
+ service_name: contrail
+ format: listen
+ binds:
+ - address: '*'
+ port: 5938
+ user: haproxy
+ password: ${_param:opencontrail_stats_password}
+ opencontrail:
+ common:
+ identity:
+ host: ${_param:openstack_control_address}
+ network:
+ host: ${_param:openstack_control_address}
+ config:
+ network:
+ host: ${_param:openstack_control_address}
+ bind:
+ address: ${_param:single_address}
+ discovery:
+ host: None
+ api:
+ host: ${_param:single_address}
+ analytics:
+ members:
+ - host: ${_param:single_address}
+ message_queue:
+ members:
+ - host: ${_param:openstack_control_address}
+ identity:
+ region: ${_param:openstack_region}
+ host: ${_param:openstack_control_address}
+ control:
+ analytics:
+ members:
+ - host: ${_param:single_address}
+ message_queue:
+ members:
+ - host: ${_param:openstack_control_address}
+ database:
+ members:
+ - host: ${_param:single_address}
+ discovery:
+ host: None
+ web:
+ analytics:
+ host: ${_param:single_address}
+ cache:
+ host: 127.0.0.1
+ identity:
+ host: ${_param:openstack_control_address}
+ database:
+ port: 9042
+ network:
+ host: ${_param:openstack_control_address}
+ database:
+ analytics:
+ members:
+ - host: ${_param:single_address}
+ collector:
+ discovery:
+ host: None
+ database:
+ members:
+ - host: ${_param:single_address}
+ analytics:
+ members:
+ - host: ${_param:single_address}
+ message_queue:
+ host: ${_param:openstack_control_address}
+ members:
+ - host: ${_param:openstack_control_address}
+ config:
+ members:
+ - host: ${_param:single_address}
diff --git a/openldap/client/groups/mirantis.yml b/openldap/client/groups/mirantis.yml
new file mode 100644
index 0000000..003eba0
--- /dev/null
+++ b/openldap/client/groups/mirantis.yml
@@ -0,0 +1,19 @@
+classes:
+ - system.openldap.client.groups
+parameters:
+ openldap:
+ client:
+ entry:
+ groups:
+ entry:
+ mirantis:
+ attr:
+ description: Mirantis Administrators
+ gidNumber: 20002
+ memberUid:
+ - akomarek
+ - fpytloun
+ - jpavlik
+ classes:
+ - posixGroup
+ - top
diff --git a/openldap/client/people/mirantis.yml b/openldap/client/people/mirantis.yml
new file mode 100644
index 0000000..3673783
--- /dev/null
+++ b/openldap/client/people/mirantis.yml
@@ -0,0 +1,64 @@
+#
+# This class defines Mirantis users. To crypt user password, use this command:
+# echo "{CRYPT}$(mkpasswd --rounds 500000 -m sha-512 --salt `head -c 40 /dev/random | base64 | sed -e 's/+/./g' | cut -b 10-25` 'password')"
+#
+classes:
+ - system.openldap.client.people
+ - system.openldap.client.groups.mirantis
+parameters:
+ openldap:
+ client:
+ entry:
+ people:
+ entry:
+ jpavlik:
+ attr:
+ uid: jpavlik
+ userPassword: '{CRYPT}$6$rounds=500000$sSdm1peCUw78UsaP$l55AuiLv3j.0avLg.k8B2jM.xBczuf9CMursuS4QUm0ZEUgIZkmToPU1PiaTJB37zGgv2ubAYbr2oME7.TX8G1'
+ uidNumber: 20051
+ gidNumber: ${openldap:client:entry:groups:entry:mirantis:attr:gidNumber}
+ gecos: "Jakub Pavlik"
+ givenName: Jakub
+ sn: Pavlik
+ homeDirectory: /home/jpavlik
+ loginShell: /bin/bash
+ mail: jpavlik@mirantis.com
+ classes:
+ - posixAccount
+ - inetOrgPerson
+ - top
+ - shadowAccount
+ akomarek:
+ attr:
+ uid: akomarek
+ userPassword: '{CRYPT}$6$rounds=500000$sSdm1peCUw78UsaP$l55AuiLv3j.0avLg.k8B2jM.xBczuf9CMursuS4QUm0ZEUgIZkmToPU1PiaTJB37zGgv2ubAYbr2oME7.TX8G1'
+ uidNumber: 20052
+ gidNumber: ${openldap:client:entry:groups:entry:mirantis:attr:gidNumber}
+ gecos: "Ales Komarek"
+ givenName: Ales
+ sn: Komarek
+ homeDirectory: /home/akomarek
+ loginShell: /bin/bash
+ mail: akomarek@mirantis.com
+ classes:
+ - posixAccount
+ - inetOrgPerson
+ - top
+ - shadowAccount
+ fpytloun:
+ attr:
+ uid: fpytloun
+ userPassword: '{CRYPT}$6$rounds=500000$T84bEG26yetA1384$.Zh2GZu6pjWdS3hA2WVFzMnWe/hD15IeNIiGM.clq4XpKkwzbNeLbIs7F21vMsxzdOs0R8P8fvjepVHyrPrjQ.'
+ uidNumber: 20053
+ gidNumber: ${openldap:client:entry:groups:entry:mirantis:attr:gidNumber}
+ gecos: "Filip Pytloun"
+ givenName: Filip
+ sn: Pytloun
+ homeDirectory: /home/fpytloun
+ loginShell: /bin/bash
+ mail: fpytloun@mirantis.com
+ classes:
+ - posixAccount
+ - inetOrgPerson
+ - top
+ - shadowAccount
diff --git a/openssh/client/lab.yml b/openssh/client/lab.yml
index 26ac7f4..7a65847 100644
--- a/openssh/client/lab.yml
+++ b/openssh/client/lab.yml
@@ -38,13 +38,6 @@
enabled: true
user: ${linux:system:user:root}
private_key: ${private_keys:lab}
- known_hosts:
- - ${known_hosts:git.tcpcloud.eu}
- known_hosts:
- git.tcpcloud.eu:
- name: git.tcpcloud.eu
- type: ecdsa
- fingerprint: fc:77:72:6c:65:c0:e1:26:0d:68:b8:a8:4a:56:38:22
private_keys:
lab:
type: rsa
diff --git a/openssh/server/team/k8s_team.yml b/openssh/server/team/k8s_team.yml
index c46a2a0..36f3252 100644
--- a/openssh/server/team/k8s_team.yml
+++ b/openssh/server/team/k8s_team.yml
@@ -72,6 +72,13 @@
full_name: Stan Lagun
home: /home/slagun
email: slagun@mirantis.com
+ psiwczak:
+ enabled: true
+ sudo: true
+ name: psiwczak
+ full_name: Piotr Siwczak
+ home: /home/psiwczak
+ email: psiwczak@mirantis.com
openssh:
server:
enabled: true
@@ -147,3 +154,5 @@
key: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0IKYIbf05K67En++os8mfi2XYTCHp5ex+KBy4Y7NqAXC3J+hnqgcMry9sHtqVJ+O6do7bCRY7sjgnWosm6TxEupxMCs+euViT3VFvQlszAvj4v/xrAu0IwUUiqA0Pn9TKCJrHtYKYixkGfNw8IdxShH2FRTh52ufBqlLP5qRhdMP/nOohbNwtk0FAX49UB4AXzcLLkHu+P3gjTkR345CH+iciBGL88rp8qpEEA6QdtEjcgk1tGY3uktJ1tTWBv4ozth6EF9A+kG4yd1Fhwv2JVPRNkcL/xKR7f4i67A9KyyNoFLv4rHfXXPOjyproNpz5CZ06V7lJ4jgU/AbyHhLgw== mmosesohn@mattymo1
slagun:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCfQtpitSDDfwP1TruBs7Nlim1B2PC8NKu1lOifZGOgGaL4G6CTXJunSoU48ovg0AOks6OPb7DSU9ocLTj6q0qNuPvy4yrsKWS+ZsrywLW5qp3OGfE7wmAWj5AGxNUiUaLAFKhriVV541v57OVw322dDuxQ3YE0P5dkKKBc9Xy3Su7PoDkR029fbQFvSlIsUtrICNGKvMtrTIm8V0EQHZnV7Y44+MMJMRxCMrulHJFmtaKE5uPaRz+eVVsbEOl1jfUA/BQ1WyU52Ol3gvm34kwBStQcnqhKC2CP/5ILVhf+Omylw+mcs58vKbc0Tw6dwFEDaTQlkYHLFZij+Y24HGyr slagun@MacLagun2.local
+ psiwczak:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFSHwjVOBC3nVVytH3DAaWEcfrca/cnurIn9K2elf8wn2PSet7q1OddfVTAtYdiG8pai9BX3uHswEu+TinAfgPoEnvKR4wSgk4hVf/W9eCf7xOn1X0fdSnfogQEjdP54Qk+mOmrh1vChcOL/NdBNNxJC6LGHRslVfcGu5ULaasT7EGzItMjUl8hKbbsM8tFX1IW7uRm3fZu4/HiMMaMnm+cPwH9LUB+cOaLEain5WNo0j0OKtpF6Kp53fpqCS6v4z/+wMgx0V2BMMrSla6cq4mL7iLvtufkO467j2ksa9sG8/ADD6Wh89hxkKGqF3yDm+olywNEo+WwTRfZf6Py5Uv
diff --git a/openssh/server/team/l1_support.yml b/openssh/server/team/l1_support.yml
index f25149a..aab98c7 100644
--- a/openssh/server/team/l1_support.yml
+++ b/openssh/server/team/l1_support.yml
@@ -19,6 +19,7 @@
- system.openssh.server.team.members.mikhailkraynov
- system.openssh.server.team.members.nadezhdakabanova
- system.openssh.server.team.members.renesoto
+- system.openssh.server.team.members.rsafonov
- system.openssh.server.team.members.scottmachtmes
- system.openssh.server.team.members.zahedkhurasani
parameters:
@@ -38,11 +39,19 @@
L1_SUPPORT_SALT_TRUSTED: ${_param:sudo_salt_trusted}
L1_SUPPORT_RESTRICTED_SHELLS: ${_param:sudo_shells}
L1_SUPPORT_RESTRICTED: ${_param:sudo_restricted_su}
+ L1_SUPPORT_NETWORKING: ${_param:sudo_networking}
+ L1_SUPPORT_CONTRAIL: ${_param:sudo_contrail_utilities}
+ L1_SUPPORT_STORAGE: ${_param:sudo_storage_utilities}
+ L1_SUPPORT_OPENSTACK_CLIENTS: ${_param:sudo_openstack_clients}
groups:
support:
commands:
- L1_SUPPORT_SALT
- L1_SUPPORT_COREUTILS
- L1_SUPPORT_RABBITMQ
+ - L1_SUPPORT_NETWORKING
+ - L1_SUPPORT_CONTRAIL
+ - L1_SUPPORT_STORAGE
+ - L1_SUPPORT_OPENSTACK_CLIENTS
- '!L1_SUPPORT_RESTRICTED_SHELLS'
- '!L1_SUPPORT_RESTRICTED'
diff --git a/openssh/server/team/mcp_ci.yml b/openssh/server/team/mcp_ci.yml
index cd931a6..4bf0a5c 100644
--- a/openssh/server/team/mcp_ci.yml
+++ b/openssh/server/team/mcp_ci.yml
@@ -23,6 +23,13 @@
full_name: Dmytro Kaiharodtsev
home: /home/dkaiharodsev
email: dkaiharodsev@mirantis.com
+ sotpuschennikov:
+ enabled: true
+ name: sotpuschennikov
+ sudo: true
+ full_name: Sergey Otpuschennikov
+ home: /home/sotpuschennikov
+ email: sotpuschennikov@mirantis.com
openssh:
server:
enabled: true
@@ -42,6 +49,11 @@
public_keys:
- ${public_keys:dkaiharodsev}
user: ${linux:system:user:dkaiharodsev}
+ sotpuschennikov:
+ enabled: true
+ public_keys:
+ - ${public_keys:sotpuschennikov}
+ user: ${linux:system:user:sotpuschennikov}
public_keys:
rkamaldinov:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCzeIFxatNuXWuaTomcGDTMlpqiF6KlK47BSO5yIpfWHTL7o0OFsQArB4UeZ9AC7JHQg1bpxzscJxz8Xj3tA1f8yOCrepR8LbWh7L6a1hMhSCJPK9QLUHPCLV4PW0ghq46Um8ekxMbEqGM/rrKP+GeYxNFUxJMHCkKbZAsV+BV8amuJHQkYt29GP/hgYyZEoWKErqoQ/uGQ0qWEMVQsnus6M3p3c/v1J4JtbbrmRBjyrPx/Tjinw6K2sgocgBZT7vVb4PYwbONi1IAclkPJIyrSNEavZ4MbK93ZXNQCV7rkUbKmHT71Qle34/ks9zyERJ3RgB+pWgQqCjtmJeV51V1 rkamaldinov@mirantis.com
@@ -49,3 +61,5 @@
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPKldN0BL6C/pmjkKyaSUw9OTUQAumWLCgNPyLVGZIuYPyFs9GqvKgHVm0QChm1OLhnQuA1wxGW5piBtqaDCTyLbKb/ANR3nhO1rqX5LTwZS2W2I0ImP47HUpnxqsBl15/y9hY2JDHZ7qrd7zNqCD+uCkf9l9qA9BmN1aMSKm07fqaaUfhnl3AocxsPX4X4eHfzy7hPJdzrHEcHbGoLLEd8ahJLkHKieWF1lAI++fIhETPF41+ZbH7MBBG4qw/UhhYAgLP3YAEWwvm/J3DtRqGkpSvH2U21hmAlgJHwxtoCD9Q1jKpH5+BDTvqJIXu0K7Gcl00xbeNYyHrwTVsldFX dburmistrov@mirantis.com
dkaiharodsev:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSz9eH08GDUOSEDReJAIdjDCoYaoTwg1SSzYNwPRO/evJBeqYwRvZmxzITKq+1qy4jXnpa3ZpuBdaUebqKri2VtvMGmBrWtP8Ojbg3kNPjKOfvrW4cCyJE0yrnW03TULnRgrnf4/WXLK0dnHxL39AmlVjQTVS4pbx73XjyPoVjJbk4PXq37F5cLyyLj4aeWmCcPWn7MLsEC4RUkDwHy3DsDNdgKOlUSHmmOfVy9GBwVbXwVyYbq732Qm0Qqf/2zlJi84LgXOH2irv5HRTMDQ2Wey5Amcl7VpK8OMvtN4R8Sb7c3mgsmM/b/h+gefl0Y/vQfsSSi8GCPhmBoNT4FBgZ dkaiharodsev@dkaiharodsev-pc
+ sotpuschennikov:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDO/nNs4MF5ZOCooLxF+zrxVmuJa9URzAqIQG5eZkhWvSAnrYREN15BN6dlcixA+Ro4YsHY6iSHzsaanr8onNu89yZdCkHIqLZ8+DcBefpoVXcsLZzeXwNNqr9sUjHEJCTesI5dJcEe/222LjwzAdTW1Xv/o3mgVAwt+4XsQ2IPAlxl3LfJOlCQdC/0sL5FMFX6LwMonLBss3B/J45atXgPL1Dx9WKTP0QrJHaX+vh+Xj2PK9yXcB2hJhFP0IULmUqGkYgDw/mh2DiHSiCQUPGZDo49MIw4WqEwqpQKcJGjD0Ihy2pjzwI9ZUzCNWe+bUcqDdl/9SH4YsNbfaK4Te6H pers@sotpuschennikov
diff --git a/openssh/server/team/members/rsafonov.yml b/openssh/server/team/members/rsafonov.yml
new file mode 100644
index 0000000..7e6f206
--- /dev/null
+++ b/openssh/server/team/members/rsafonov.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ rsafonov:
+ enabled: true
+ name: rsafonov
+ sudo: false
+ full_name: Roman Safonov
+ home: /home/rsafonov
+ email: rsafonov@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ rsafonov:
+ enabled: true
+ public_keys: ${public_keys:rsafonov}
+ user: ${linux:system:user:rsafonov}
+ public_keys:
+ rsafonov:
+ - key: ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCaVDVMjNUXR+SP4xjH4vX9zfqzYHosQRO4MlVxE8uJPIIQdF1+iPWtggLrsRDZTSQ0JNzCYGXPv8fK6iKBQ/cX5KgMnVPQmFn4Q+Ip/oWotkbVZtR1F0ZVw01KNBYE0LMXrV9dxhX6qUFCO0IV9inbOZ+6zhYOLPddG2WVc8htz8XH7xdWqGbU1GBwyEoRFjITZ9GAYMRNrSjlzPsoBVkQwGKNtvh8uCFZasfAMr2mV1XVFcJlK52T6bNqIXOYPmRc9mSoQoD0UHRRYwlWAZHzW+2e8SABT+NRT1Cc/BoioRC2SBKj9tsZgy9nhq5O0EfuvWVL3ZCM6+RviNxkEL7Z
+
diff --git a/openssh/server/team/oss_team.yml b/openssh/server/team/oss_team.yml
index 9d6dce9..db4dbbd 100644
--- a/openssh/server/team/oss_team.yml
+++ b/openssh/server/team/oss_team.yml
@@ -23,6 +23,27 @@
full_name: Michael Ivanov
home: /home/mivanov
email: mivanov@mirantis.com
+ vkramskikh:
+ enabled: true
+ name: vkramskikh
+ sudo: true
+ full_name: Vitaly Kramskikh
+ home: /home/vkramskikh
+ email: vkramskikh@mirantis.com
+ jkirnosova:
+ enabled: true
+ name: jkirnosova
+ sudo: true
+ full_name: Iuliia Aranovich
+ home: /home/jkirnosova
+ email: jkirnosova@mirantis.com
+ sskripnick:
+ enabled: true
+ name: sskripnick
+ sudo: true
+ full_name: Serhii Skrypnik
+ home: /home/sskripnick
+ email: sskripnick@mirantis.com
openssh:
server:
enabled: true
@@ -42,6 +63,21 @@
public_keys:
- ${public_keys:mivanov}
user: ${linux:system:user:mivanov}
+ vkramskikh:
+ enabled: true
+ public_keys:
+ - ${public_keys:vkramskikh}
+ user: ${linux:system:user:vkramskikh}
+ jkirnosova:
+ enabled: true
+ public_keys:
+ - ${public_keys:jkirnosova}
+ user: ${linux:system:user:jkirnosova}
+ sskripnick:
+ enabled: true
+ public_keys:
+ - ${public_keys:sskripnick}
+ user: ${linux:system:user:sskripnick}
public_keys:
ikharin:
key: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0NNCF9Orei3Ls5wa7xNH/2nl4eAUYY/vuAers7as8lQXjUXkurLQUG1YTQhuRiqyLrqLZjokq87l3LcpXsiBaqNybwlg4OAcf7p59FwDwdpCcAfoHeP03vt/FOYgozeExIRxVNHMdZjQJ4o5j75vnwTfGIubSF1eUOwtRVeezAREK1OPA2TRvlSOXCsAinNSZHBFTlYVYIXQEk/zuH7PdwlU2rkN69mNivh1tAUDlhrwZHrR9rcudafp5s3C5MKFtI3W4MhYIqv9ZViEhLwfEhNb0WXiUv+sdGTf8jTcXaYOlw6z9A76Ab/9bfPyOTmI7tli8Pz15+YPj1ymdlIZlQ==
@@ -49,3 +85,9 @@
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDF13qwUbb+lva8KCNE6IppajmGfF3MJIFhIPD7HYwzeIyI3INlc6nMMOk+r4a6IO3okVxgqRi27boebvUpazw0Jw4T4e1oLQpWCxvhTZkukFsrd9DJiCj07VXluua2ofaCRLCSHVLdjAH4WocmZeCXpZF1ldDeNBeuX0iYJiFBslrG/pmOuCm3IEL7GmoIJjF0Idtwo3tkWcvCUXKvBaVqCHS34Q/KJLAvZc95MLESs/kdnhfxhxbpWrRRFcZn/zIxuuptuTBzWOPd7CnsOLo5PCnuxIfDznDYYzQUJq6OmwMZipepTtymXUvFQiqq7xc/HmNR51vowqwoftgHNxYvoaQgXkneWFnq4Cl9WZaLVs90wNgQewPaKmhL8ia1S2C3Cub0ILsbU/091L7adBeZI87pkfx72HhFQRUOcVprgPAEKKTbEvUQKAQ4rZ6GOIU5Tz/fKf1sXLhiTEAgpGpaTyyTP04vpgP5iY4kcXQHpRsPxg1BQ+93S3KqF2XAdXvrA4eZfAHmGhsAOePdnJQZVf8c4exsgkIGEyM9Wgi2ZWlq7oY0tFJLf+Kq7y23QuC6isIqBBIDN/TtmHRpiWNY4zwmGhzSxBdA6zMVy9PblrU71w1xVBS4KKwUqbWbP06pA7V04sp8kGKz5OmN9Z+rdTQJ2v41SSU71kT6XSFFOQ==
mivanov:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLY+5Yc3MMOmxVGrBmvfMX9bwK98RdgW+9E/rj56rh1w5cuIy5qN0xsuU4634EcSLRUjGXBcutDXPEXV1s7BZfeZjXJri37RICLsKfvPZcyiEqtwTbGYkcDDOHH0nmZdfngi0r/qAc5o5k3KA7Eh4CJW+GgqPoShngCKo9YKqbWFUkrGpX7wIUMlqwyuVKsybxD6EU+CB3RAeASG4E0rRq7VYQaTj/+PQq8VrWGUs9QHW8wX+OakDDCI7Or4Ll5q/uPCopaU9r7yz+uEYA1L8P2wEJ4XG9V6dxUMvzrFLBE+wDrHHXcEZMWGbmrPHUy5Yt8UCFPgtYfOl2BvHHHUSp
+ vkramskikh:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9eVOmPT/jCS/q/+T5EmKIBol3wovE+qTb4SQI4y9ZUIT+tMGult1dheqXVKIMYdTe/cccPTf5A+b6QpkPEjzQQljn0qmyHM75ya+Gjd3uTWx+1VXSFL42p0+404oVkB+eOtax+Bf8CU14P6sJn+3ypO63VVCJz6V2cgkr14tqkMZb+4OBPJB6zrNAfXhNJlJ8fLV4d5c4guin74hoaor5VIER3hwMPIe0CtudzdjcdDDvVNqXYfoknwMTNR52h1Zfwvomsy5pdFcI5sQKaOxSqWyi3C22yu/ZK0Diq82INskZ1vjHiJHw8QguXLzevCK4BECnjDFr6Hu4J6eRK3YJ
+ jkirnosova:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDuW6hvLo7eRwm6WcjJEDW7TsLG2rZrtmffHQ58c4AzlLAxV0tkvvfQRS4f5Pb+Wj1flxt+RW2rq4dSkQCpwNnYdTHHRnQJFJQEAouqNF7cTVrprioXNeoBe8DGVHiUUI8IpeN8hJYQw17NB6hf8oZulZqdZZ9DA7uwnC0HFfQ1E4MuFnfhB0/XyzJMsxrxHyjte+cOdgE9F43ccHInBGowrzOJP8AUdWdC0I2WU0sjvQrGcvlHr7/EqPP1Zh7PblwESyf3muas7iFTCKtCbXM+pT3e687++ueCqrAftVZGCPpXe23U3sSGdiIti0L6CYxBI02VKlsQgfSqWd8z+W1T
+ sskripnick:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbDedH7Aw1g2LDHrCLpxfq5GsdTpqRglDXy9dDSEr08tVVl7gSzPJ5oMlIr9VsNVHsR9vf/THhxghFrV1rQZDny8c6yLqus3Upc7pJfOUztWD4+E29H7qJOafrnuNRHGFaEiaG6aZm3WyyvAdlR1lh/i5zQtdrPBmjYkq5LMJvNQBpj4XqmHYp7gLRNDI30Ne49xxAIGC1Qbx0Xvhmq9/h4gZhI5mB/QeOj4tPcd7g+kSTdc5/fXbBLeQDBZt/HlDr7/LFjYZ4OBumVDOTfClFO5UoIAvHyfysaiWI/qZ7UZI7uU4yAPeI8/s/INOQOIoiqaHyiVnL5BvFklHldMot
diff --git a/openssh/server/team/presales.yml b/openssh/server/team/presales.yml
new file mode 100644
index 0000000..7efc9da
--- /dev/null
+++ b/openssh/server/team/presales.yml
@@ -0,0 +1,51 @@
+parameters:
+ linux:
+ system:
+ user:
+ ivano:
+ enabled: true
+ name: ivano
+ sudo: true
+ full_name: Ivan Ostojic
+ home: /home/ivano
+ email: ivan@mirantis.com
+ asteer:
+ enabled: true
+ name: asteer
+ sudo: true
+ full_name: Adrian Steer
+ home: /home/asteer
+ email: asteer@mirantis.com
+ sbraun:
+ enabled: true
+ name: sbraun
+ sudo: true
+ full_name: Sebastien Braun
+ home: /home/sbraun
+ email: sbraun@mirantis.com
+ openssh:
+ server:
+ enabled: true
+ user:
+ ivano:
+ enabled: true
+ public_keys:
+ - ${public_keys:ivano}
+ user: ${linux:system:user:ivano}
+ asteer:
+ enabled: true
+ public_keys:
+ - ${public_keys:asteer}
+ user: ${linux:system:user:asteer}
+ sbraun:
+ enabled: true
+ public_keys:
+ - ${public_keys:sbraun}
+ user: ${linux:system:user:sbraun}
+ public_keys:
+ ivano:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD94JXgHYTjfPoyYfWe5HgCPUgyal89VlI7ZYLr7RezAl+YQaaeO5adCXnnMDN2BiNf2l1SfbFf/A4Vi6W5eSRLqtSplpdhass7iqmmq+rDoXcELv6BZYnbOFhbFq2vegwcgk35A2uz9x9i3x3wHMLBZI/+dNCjCnW2Uikb/f0nmFqTLT5T9SJ/nmhs5oPd5vGKgFtYdRPLZW/fPxl180psPzBXmOCh50xyydxKPzncyFme+mgb0o1GjyBiJe7cXL/rXShcrFb9btMS+sXZZVQaDveaBHYUE+q+29yqR0c5uUusEzD9BWZVSoKPrFUMy/9YohGwRqbRE7Jh8XVF7Fff ivano@unicorn
+ asteer:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBIXQqD5NH9glU5CBoodFtTuZMd5KgcjPDw0krOBaM0YkzbCGzEecLeqgd1oP2AbUO1nV80O9STatFhJ1NY1x1Xxv/k0n7kMIXpuxyAcVKbg6J/B5GzACsK9tKfnEypz8VvQcBB70h+4Y6G6AiOQxRpLJg4fHv/Q0fF3rl3diQyJZeTa6jjcYettikclZlYYyFh1eLQ7yzjbGL+KNX/ks/N55gl+N6BKYIGvhSUFI7Xex0p6qqpPM+XTsGJFVRBIrHnNiTtHc5SO+oN/J4u2PnO14tP8ZAeX33jF4XejbRvo8kA61KZ+i10wkSbGKFLQeYBrVnxJwo5FG+kOm8WnRF
+ sbraun:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCdvb2aPES+H5+McRueB3EYbpdG/685pIJCH6mbFmTsIHlQobcJSSYtqww7ji/m6/KuMGE/Wc5f06d5v+beslfHKLaaAKXwWBpDgO77zwO42PbFPreFXKg8sNLPmqB+WEyIX7yAaJNxz0bbQgo2Vl3Bhtv/79zZXpzo0DIXNtdi75vwzWpuiyRuhC7pNqz+VXFZAVtkA+EchogDnT7rLa8ullSwuSgk5iPC6/XsuwL5Z5/UGBx4OT9Y8+cjb3g2oE9N3hdJH8wp9ts6stvKgAZ/5EE+LuCVhtKCvQ0sbZY8DmH99HFIP7SQoNQoyD8ALKbyCxGdF4/kxsqSlnLM5bR sebbraun@gmail.com
diff --git a/openssh/server/team/stacklight.yml b/openssh/server/team/stacklight.yml
index ac7fd25..84a8255 100644
--- a/openssh/server/team/stacklight.yml
+++ b/openssh/server/team/stacklight.yml
@@ -16,13 +16,6 @@
full_name: Simon Pasquier
home: /home/spasquier
email: spasquier@mirantis.com
- scroiset:
- enabled: true
- name: scroiset
- sudo: true
- full_name: Swann Croiset
- home: /home/scroiset
- email: scroiset@mirantis.com
ppetit:
enabled: true
name: ppetit
@@ -65,13 +58,6 @@
full_name: Martin Polreich
home: /home/mpolreich
email: mpolreich@mirantis.com
- ityaptin:
- enabled: true
- name: ityaptin
- sudo: true
- full_name: Ilya Tyaptin
- home: /home/ityaptin
- email: ityaptin@mirantis.com
isvetlov:
enabled: true
name: isvetlov
@@ -79,6 +65,34 @@
full_name: Ildar Svetlov
home: /home/isvetlov
email: isvetlov@mirantis.com
+ akholkin:
+ enabled: true
+ name: akholkin
+ sudo: true
+ full_name: Aleksandr Kholkin
+ home: /home/akholkin
+ email: akholkin@mirantis.com
+ kszukielojc:
+ enabled: true
+ name: kszukielojc
+ sudo: true
+ full_name: Krzysztof Szukiełojć
+ home: /home/kszukielojc
+ email: kszukielojc@mirantis.com
+ isviridov:
+ enabled: true
+ name: isviridov
+ sudo: true
+ full_name: Illia Svyrydov
+ home: /home/isviridov
+ email: isviridov@mirantis.com
+ nzaporozhets:
+ enabled: true
+ name: nzaporozhets
+ sudo: true
+ full_name: Nikita Zaporozhets
+ home: /home/nzaporozhets
+ email: nzaporozhets@mirantis.com
openssh:
client:
enabled: true
@@ -95,11 +109,6 @@
public_keys:
- ${public_keys:spasquier}
user: ${linux:system:user:spasquier}
- scroiset:
- enabled: true
- public_keys:
- - ${public_keys:scroiset}
- user: ${linux:system:user:scroiset}
ppetit:
enabled: true
public_keys:
@@ -130,23 +139,36 @@
public_keys:
- ${public_keys:mpolreich}
user: ${linux:system:user:mpolreich}
- ityaptin:
- enable: true
- public_keys:
- - ${public_keys:ityaptin}
- user: ${linux:system:user:ityaptin}
isvetlov:
enable: true
public_keys:
- ${public_keys:isvetlov}
user: ${linux:system:user:isvetlov}
+ akholkin:
+ enable: true
+ public_keys:
+ - ${public_keys:akholkin}
+ user: ${linux:system:user:akholkin}
+ kszukielojc:
+ enable: true
+ public_keys:
+ - ${public_keys:kszukielojc}
+ user: ${linux:system:user:kszukielojc}
+ isviridov:
+ enable: true
+ public_keys:
+ - ${public_keys:isviridov}
+ user: ${linux:system:user:isviridov}
+ nzaporozhets:
+ enable: true
+ public_keys:
+ - ${public_keys:nzaporozhets}
+ user: ${linux:system:user:nzaporozhets}
public_keys:
newt:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3odU+3V2uDA2ptAFL9hrJRPNEEdAyztWOZFQ5Oyd9oerTGOU3p4xmrgWWjfKFKbYGhiiIUcYAol5PkTfKukGEkkjCHYA1t023soCaaAj85wCZCnw2zQNAziwxTYmAzTqgxiSvtZNMMrtJvFHRIRDzJ3M1lV0prWNWkMM1/3FAd4W49y6VT3fkMCo8uqG7CfGdgR2DgBCxf9KaNPfW5eDEPOgmE5lK8tVSEI6T+Cg7hbcTf4lFYnlFBnlQgp/0JstsM4Vbwb4B34LOpOsf2S8rrWk2xQMjwaMHXkc2s/E8iW3F5nVFuyEXYISFQIiAHw8dzC6CHgLcyHUVWwznKawZ newt@newt-dev1
spasquier:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXBHKQaGUNB92DsnyvflmCbmuXnkiuNahZiue3hnyXqLA2q8jmQmzBbxReAJzexnVfJhrUCTw8IPJUpMUP27u3igvGdkhfctdUuxVf9yGJErtGNgHK/aGbeLCvUOmhw6X/xbf3IbyFL1gwxOJ2cmmjlSptYU9E1W2xFY+IMFWBhzO3vso5EABgPVli/UUMfeXUUd++lIZpoyYe2Hkri1QGNhzfbZcFjEO78+vNiLZrvjJEtkXWu7iZTYK6eE365CiFJzqFL7N6Ichb28qakcmVqR/foreuz3cOMqMGssKoOQk1213x8w4fE0yLwf9Ft8L7GMf+vXQvuNt0ZKBPWqn7 spasquier@mirantis.com
- scroiset:
- key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUfVxx6qi4fay4znw8M6yLJJcRr3pdvPPihTAszioFJP9V/GBbqfkofTfeKdpdvJ4j25p40boiDt43Ek7LfcRmKMP9+2SEfk9W7ec/umM8Mer+h4ocnShVQm69weELVUfr9q4G+qWf14ANc9D097bclqQ6FP/cjy8HodVPgQ+i1lpMjwP6xvAAERJJH353lCFsxkh2N8aOi9YcP9M2lQeKWM+eYFsdcmTFAPHbgPq0K4ma6/YXw5UibEBClYu1u4OJTFZSI3z8kERb2cU0aFGYAduiynDMBKM7y7YAoksgBOVprq0huEMFUqJ3vsrZbPn55GIpzmBga+EGnNbSCadt swann@scroiset
ppetit:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCUGCb+mGidT4FRa4rJxoYx39NX2vCjRw+CmCQJW/Uf6xc0NNp5WRWJ0hnyIMRVVfehvfjdXPo4bO4cXIwmo06C1Wx+DMyvjI9NvuHtt52p3QTsh+PYZe5t4hFuGh7veWQw3LuLtDLVlVS633FQMgT/BXDaBc65yfN9CuV6lHqZ6KPKoGAi3ADlcQFqhFttO+GsVkxd6uGtelnbYXsDMwylCIKop0C/obu6wG85d/8Q2/Zts5CvUcCiCNfZtl8otgNMrpfnuhC0xAsmgwDxqK2kshxUujclyFfO7ixl+E9Plc7kUJvodNbzOcAmY3YpuHVoJQkHx/Ou81/q+JOVtFxz ppetit@baobab
obourdon:
@@ -159,7 +181,13 @@
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrCyaZjs8hiwx38LfpeQ2z9n9ptwQ7gFrhq2z5sK9q/LQMCubbnp5xhyF0SMY1jmQUewBOKXhnq3QSX+DmtNsnhitnZBw2BE5PBXllCBWMMiWULfAYvB0of728Q3EEjrtyfHkt7o2E+CvreVJcVI4kBwjKh5WpVBZ8mmkW/sexLGMuYu0bUWjCddu6ZlhUa+y14VZKOKp44auemza1VL/UzqOVZkBAfR2gPV2pBG3Im+SlnOlDRxKPEXQbsn3u/sNeZq0wSY++khY86AU7jAKfL2NiNsoA7CyB0jTEKwYO3vOWOhECifZuHwY/TNWyRFWM2ImW3mT9aO7nE4w4jXXJ vgusev@vgusev
mpolreich:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC0N+ds8BGTR+ZQo9NSRGRbjv3T8AbPmtSw2nClXxetRdmHpM/mU7/5iD7qfkCXtNptKeCG/Qk44wlijnAtjztJK1qfvyphHe3etZxLnqhYMm73Yy++yKPE/ywFPFb+7kd0BDy2iZqohZpX3gUi5iDnvXUInHNqqtTv3xFe2kmn3lq5bSRuUMtr61nZ7z/fkX8kNfoGxKrm7bhSo5zq4sjTrj3lk1LKZc1HYji3RwrzBM0z4eyed1BaJyDNtG+eFN4nOnvVn59452AR8SmKJXRErk37rEoQn80xszypzybooFPN5dpdB6u9b4xquFCOD83usb8kEjKY9VIYGuXxEEts1KIF20J+xd8UnZU8d4JL50G8JY8zdNgurR3ZyMD2okuord4cpHF8SVecsAyRV6nuhDxVtF2Xn/RriY02jrLoRPsS+3nIrKt9H8vpQZMYJ+jgEpekZhhVfz4AP3pATzOrWENzNXj5G1bLJs1C9aTtwE27EnKW73XekX/GLsehCwsQ21JvDX8PMxJwLVfqvkRlrc5GILEIVgjZ82Cj6Eens1QobymRAEWuEpZxkPx6u0kGO62ri8zFx8+NYwYDz3mwhHDRT34T/Rvzy/9V9xVjkUQOj9cZ3eYBnC1MffJjx8heHDmSQmUd+99zKa9Hzr74z3AvR3AIgFqmu7kx5fIMew== ubuntu@thinkpad-x1
- ityaptin:
- key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDLTkl8X9HIJxruAHkmGNQTovy7DCr256pH68xh2DHWinPKUW4ccsCBbqJeF56aEA41OKJlEVOYzD3gQJkDAAbDdy9BlI14oEtzmk3yAtgBwwUzUNMq7oCPrbt4xNg5U26JSb26j69r5vQ4vXA2hf0bCQ68vb3VDqMMaMbneI3rP3qSaq7dauR8sEjx1XAtNen5SygLE46k0pCObJmahGkg39HisoJ/gkjoi/xvQn1JzrYSxWObrBfUbtQN3JbCRozSp/0Env0hMbXj7cS3J/uY68zAWc7GAEFKSmPAol4d/93sRknFUSQKqZjsDaLfiGLte/7oFwLquaz6AJw+mwP ityaptin@ityaptin.local
isvetlov:
- key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDflz5rJEC6+yKOteNG2uzObQCtV/c/Rnu9Aku1AJWLMMlouID7RaCUrP642xH2z11kZE+sZk/4c3515M5SPQFVKhjGceftbnI9I7DI1KF4OJwMCSfmACDHM3bJcld8eiKTRBxtk32i6YPdNi6m9unHvPultTIBJCxRP/KVyxOOnQparsSSBhBj2t3Kis+3dnDZNBUJJDWyo69FD0RvAOaWZdogwes0nCl+3JJSNWsATqyS+bi4ojqJimHFKiW2sz8qMX3cMzu9uTx1OWvJWJRgOV5/tPsuuNVt75zPAOsfJnIqQJtpkdZAb4SYK+0jLFcLvB6GBgXY3aHk9nHu9MHr isvetlov@ubuntu
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9lvegjKq6OP7cgF9YU9mPOk1/mfJbov3YnYnhiW1Ks0hrWZyAo+0TV3O7LgWZ8jqD9abbYaOiWCt4d9ABkLUJfCLNAqOJRapJ+tybPAxJKx4eV8pptJ7UF0EdItasTdd+gqJJ4Krk869rwmqVQ4hethdykjhKyWu3bG+uVtFUF5xUj9zaT9NThA6/Xhz0idAiTO8ArmLng4W8ne45gANaHIWXpIsklo6GLUSZwl4z6j2z4joxNJsB1hrw0msT56F26ctkDo6thNMAzPMyZsLjYJBJIRYhdC1d4Up9114nVcY4pzYw76+zXU9zED2XNRLdyAaxFlwXvumAs3iMLI8Z isvetlov@isvetlov-mac.local
+ akholkin:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDjpy9RI6iEDH/04eOOwreDa+R32USZiWxyFiKHa8zoDAlOfwaZVg6mZWepOxzwxCJPYusPGXCwQ6Zw9tHxVWOCgtzzPpsCCfhUU4v+99Wh08//W8d/s/WFka+5vqyskAO5Z8Ekk+kQU+jpUBG8/gMxAPBjj0fFc5BNeqDY9r9nmMNK6N2RVjvA6wZ8G5hLGxL9bn5Prhf/+avui1NAfy6gsT/mRt1W+eHWTvpijyNGm+m83jU34dQO6gE48n6WdSylLh/fY/p31rzAURaq1V/AZhdbSuZ8aJYDnfHevpK5+hMjoOop3v3hb7WHEmybGujQfW5HVaaWmG7SFlHeKGE/gZ2P9T+bQ+SgO+PmEAw4LayiBkzTPAHdZ2UGZe+3BI5gdM/ayovK2WVO1jS5FNlNGIvEQW+ws9V+ph+S1jL4jobDJEjs358iXrAYpf4JL+LvxFHiuj6EL51tbo8EU22z5mmgRQQ5eFrDzBuVLhcim651A3a5iSlmCeAQ5rTmHX/Op/PbK+3vAtI8vnlK4AhycLvWQ3kK2DRx+Uhzrlk5v6E14SopAhvpGOHqrLgmoHwHp1xt/9M1JgxkOUK5gccFKTQduxLHoTNBaNcP60IOG/MjqUPcOXSBcAN4Y1RDBg+pwXe4PFgOzwKdFoYeuhvtm8y185S0IvvfCHLCD8pNfQ== akholkin@mirantis.com
+ kszukielojc:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCiUm3Z3W3t4v7oe143rCNM/hbg9NU2bYUmQXek8DJPA4c3Xm6u0q+RL9kEXME+3zcj2HKqMxKsCBLXXdFIsgdUbOBV8AYiuySE220FTnEKRmdxsEnfSaBhXxFyIBNoew4gI7URSqAOclt5WuPJTqRM7K4VhbtzwEgeWVd/NUhxMCCtgkdJCYTSmycxmxs7R6V8vMr9Mb8DOqKkSpOu6f3JkR0lwnFN9zGGC4V/60FlJSDzvvI5Tn40ANPHITivs8xME0znsx7t0bF4vQUimvhYn1mumQCY1NwIaxJ/QqasD6Ag9Sn5dxSg9b3SeLn0JM6qKoIqZtfPYVuCp9gmlH0fyzJUdqu4lKKb2wBw/H5lK6icH4+owMawkav55rbvinHQOqmVCr/Bg/rTfc35ycVqjTXH/5J7OhzioKjU0yFkXFS2X/s8gpyxp3beJ+Ea4faoX+kcs0gyhMYzqC7/DOamrau7aVyEAjKYJNy60xRfjCQzjqiurbxVFh+3Fi64UUn7Bl1QV8VEiU3ztJ118psEI7zA+x2VROLZ1jrtaBYZTYB118JZicaFDycEVgg3+BHX3pFH/QSOjLsA4SK+HJjSz8CFKvWwaO6QJv1/3KHpcGEacMvmqKxwpQK0E4WpjWhglZRMPObQ0dBaGClOujgoOIHXtFGILEpWy2SdzDQkHw== kszukielojc@w541
+ isviridov:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGNZxzOm7OsZi/q6Qk71fnvjCfWk4BfxpZ5hDig6N1f9D0iAMaINyNmlF2PxstSLW0Mjdq2tXTUvVWlYpGrw+YLHQmVk8dckmLdUAxe2Z0oEvtWhiQC64927ibBTgQ2Tjfkao+PFYPbdjiO4FgRymS1/FpGKhvpdyPDCcOLrxsMSK9YpPi4kbkd4GmlGMercuaEzP3JOOzJioOOLtEw3LOLWG5mAIzXjGFxuCNdTI4gqxQm/iw/tOpb9PcsY10EapZsS4Pd8j58vuhJlwdoTxI3gzySJcTlWm0tcphex0g8X0tEUI+zVjemJcrYkZgUpb6x5/mUjNxC4nv+4A4yMTP
+ nzaporozhets:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC/UtqwBD6qkEoWSrmO0jXa9sUcwumySxmkX2XCTlAj+e8tzCNndNhaUueu01pbcNrGrB7xvCHyTa5cxgJEv0RAJRxZnObTjluegiuW+/KNSGwiSDy90bwPVb6zWalrDg12xGh8C0ybmv90uC+GrGO1UXFpm5N1qL3ZsUvSjWBRZ70xXjUI4self+fWxBYJhu7hGZ0RVCeA8TjRutzdOWcSZwN2Arn2Oq+fx9n5HP8iXlPcfM6aWj+QvkXphvKjUhDYiImQ07kJctYvxEwMei5pM1dAPZefQ6FRsUP1gKYKPVp1CiBHPIKLG3LMwxp0/LWQmHB4umZvA6HYplSUXZLMd+FhCRuocVFdxe308JWeIFWyw7og/qEBlpxqW4BUk0bR3c4deI9QDKWCuuunTDB4oEB8ZnkI7utknpx7sqO72Ev2UNS/CSi3yyqgOajojQ3l+McWn9bm08KSLzuuMaexETRYQ9dgjE79N7fH+DEt5Ryii+GA2a8Gl3iRtTZs9WA94mTb/KjZBrVxh+PixpQ6s3oGFelFCPMKSPWIEb+rwuAUi0Ulrqb2UZDzJYhT50QfbCzRN2MU+8bR7PJt/xpAADvQX0iMMrMUvAVngs2YrXKapJliyHhTZxOmVdDRIyCQ1YpK2ktBJf+E+RXl3R5XUmbJkT4jZ1R6cA1QJOEKVQ== nzaporozhets@mirantis.com
diff --git a/postgresql/client/init.yml b/postgresql/client/init.yml
new file mode 100644
index 0000000..95fdcdb
--- /dev/null
+++ b/postgresql/client/init.yml
@@ -0,0 +1,15 @@
+parameters:
+ _param:
+ postgresql_client_user: none
+ postgresql_client_password: none
+ postgresql_client_host: ${_param:control_vip_address}
+ postgresql_client_port: 5432
+ postgresql:
+ client:
+ server:
+ server01:
+ admin:
+ host: ${_param:postgresql_client_host}
+ port: ${_param:postgresql_client_port}
+ user: ${_param:postgresql_client_user}
+ password: ${_param:postgresql_client_password}
diff --git a/postgresql/client/pushkin.yml b/postgresql/client/pushkin.yml
index 12b5906..c6ec567 100644
--- a/postgresql/client/pushkin.yml
+++ b/postgresql/client/pushkin.yml
@@ -1,27 +1,26 @@
+classes:
+ - system.postgresql.client
parameters:
_param:
pushkin_db_host: ${_param:haproxy_postgresql_bind_host}
- pushkin_db_port: ${_param:haproxy_postgresql_bind_port}
pushkin_db_user: pushkin
pushkin_db_user_password: pushkin
postgresql:
client:
server:
server01:
- admin:
- host: ${_param:pushkin_db_host}
- port: ${_param:pushkin_db_port}
- user: ${_param:postgresql_admin_user}
- password: ${_param:postgresql_admin_user_password}
database:
pushkin:
enabled: true
encoding: 'UTF8'
locale: 'en_US'
- template: 'hstore_enabled'
users:
- name: ${_param:pushkin_db_user}
password: ${_param:pushkin_db_user_password}
host: ${_param:pushkin_db_host}
createdb: true
rights: all privileges
+ extension:
+ hstore:
+ enabled: true
+
diff --git a/postgresql/client/rundeck.yml b/postgresql/client/rundeck.yml
new file mode 100644
index 0000000..0c1102d
--- /dev/null
+++ b/postgresql/client/rundeck.yml
@@ -0,0 +1,22 @@
+classes:
+ - system.postgresql.client
+parameters:
+ _param:
+ rundeck_db_host: ${_param:haproxy_postgresql_bind_host}
+ rundeck_db_user: rundeck
+ rundeck_db_user_password: password
+ postgresql:
+ client:
+ server:
+ server01:
+ database:
+ rundeck:
+ enabled: true
+ encoding: 'UTF8'
+ locale: 'en_US'
+ users:
+ - name: ${_param:rundeck_db_user}
+ password: ${_param:rundeck_db_user_password}
+ host: ${_param:rundeck_db_host}
+ createdb: true
+ rights: all privileges
diff --git a/postgresql/client/security_monkey.yml b/postgresql/client/security_monkey.yml
index 65f1de2..43e48d2 100644
--- a/postgresql/client/security_monkey.yml
+++ b/postgresql/client/security_monkey.yml
@@ -1,18 +1,14 @@
+classes:
+ - system.postgresql.client
parameters:
_param:
secmonkey_db_host: ${_param:haproxy_postgresql_bind_host}
- secmonkey_db_port: ${_param:haproxy_postgresql_bind_port}
secmonkey_db_user: secmonkey
secmonkey_db_user_password: secmonkey
postgresql:
client:
server:
server01:
- admin:
- host: ${_param:secmonkey_db_host}
- port: ${_param:secmonkey_db_port}
- user: ${_param:postgresql_admin_user}
- password: ${_param:postgresql_admin_user_password}
database:
secmonkey:
enabled: true
@@ -24,3 +20,9 @@
host: ${_param:secmonkey_db_host}
createdb: true
rights: all privileges
+ init:
+ maintenance_db: pushkin
+ force: true
+ queries:
+ - INSERT INTO login VALUES (11, 1) ON CONFLICT (id) DO UPDATE SET id = excluded.id;
+ - INSERT INTO device VALUES (1, 11, 42, 'security_audit_service', NULL, 1, NULL) ON CONFLICT (id) DO UPDATE SET id = excluded.id;
diff --git a/powerdns/server/single.yml b/powerdns/server/single.yml
new file mode 100644
index 0000000..13077de
--- /dev/null
+++ b/powerdns/server/single.yml
@@ -0,0 +1,6 @@
+classes:
+ - service.powerdns.server.single
+parameters:
+ powerdns:
+ server:
+ enabled: true
diff --git a/prometheus/alertmanager/container.yml b/prometheus/alertmanager/container.yml
new file mode 100644
index 0000000..e2fdcf7
--- /dev/null
+++ b/prometheus/alertmanager/container.yml
@@ -0,0 +1,3 @@
+classes:
+- service.prometheus.alertmanager.container
+- system.prometheus.alertmanager
diff --git a/prometheus/alertmanager/init.yml b/prometheus/alertmanager/init.yml
new file mode 100644
index 0000000..b00a4b9
--- /dev/null
+++ b/prometheus/alertmanager/init.yml
@@ -0,0 +1,4 @@
+parameters:
+ _param:
+ prometheus_alertmanager_config_directory: /srv/alertmanager
+ prometheus_alertmanager_data_directory: /data
diff --git a/prometheus/alertmanager/notification/pushkin.yml b/prometheus/alertmanager/notification/pushkin.yml
new file mode 100644
index 0000000..905a292
--- /dev/null
+++ b/prometheus/alertmanager/notification/pushkin.yml
@@ -0,0 +1,22 @@
+parameters:
+ _param:
+ alertmanager_notification_pushkin_host: ${_param:haproxy_pushkin_bind_host}
+ alertmanager_notification_pushkin_port: ${_param:haproxy_pushkin_bind_port}
+parameters:
+ prometheus:
+ alertmanager:
+ config:
+ route:
+ routes:
+ pushkin:
+ receiver: HTTP-pushkin
+ match_re:
+ - label: route
+ value: .+?
+ receiver:
+ HTTP-pushkin:
+ enabled: true
+ webhook_configs:
+ pushkin-vip:
+ url: "${_param:alertmanager_notification_pushkin_host}:${_param:alertmanager_notification_pushkin_port}/webhook?app=stacklight"
+ send_resolved: true
diff --git a/prometheus/exporters/jmx/init.yml b/prometheus/exporters/jmx/init.yml
new file mode 100644
index 0000000..4052201
--- /dev/null
+++ b/prometheus/exporters/jmx/init.yml
@@ -0,0 +1,2 @@
+classes:
+- service.prometheus.exporters.jmx
diff --git a/prometheus/exporters/libvirt/init.yml b/prometheus/exporters/libvirt/init.yml
new file mode 100644
index 0000000..5686f44
--- /dev/null
+++ b/prometheus/exporters/libvirt/init.yml
@@ -0,0 +1,2 @@
+classes:
+- service.prometheus.exporters.libvirt
diff --git a/prometheus/pushgateway/container.yml b/prometheus/pushgateway/container.yml
new file mode 100644
index 0000000..d0e986e
--- /dev/null
+++ b/prometheus/pushgateway/container.yml
@@ -0,0 +1,2 @@
+classes:
+- service.prometheus.pushgateway.container
diff --git a/prometheus/remote_storage_adapter/container.yml b/prometheus/remote_storage_adapter/container.yml
new file mode 100644
index 0000000..f2afbf7
--- /dev/null
+++ b/prometheus/remote_storage_adapter/container.yml
@@ -0,0 +1,2 @@
+classes:
+- service.prometheus.remote_storage_adapter.container
diff --git a/prometheus/server/alert/labels_add/route.yml b/prometheus/server/alert/labels_add/route.yml
new file mode 100644
index 0000000..47d9eea
--- /dev/null
+++ b/prometheus/server/alert/labels_add/route.yml
@@ -0,0 +1,9 @@
+parameters:
+ _param:
+ prometheus_server_alert_label_route: mail
+ prometheus:
+ server:
+ config:
+ alert:
+ labels_add:
+ route: ${_param:prometheus_server_alert_label_route}
diff --git a/prometheus/server/alertmanager/dns.yml b/prometheus/server/alertmanager/dns.yml
new file mode 100644
index 0000000..99fd4db
--- /dev/null
+++ b/prometheus/server/alertmanager/dns.yml
@@ -0,0 +1,12 @@
+parameters:
+ prometheus:
+ server:
+ config:
+ alertmanager:
+ docker_swarm_alertmanager:
+ enabled: true
+ dns_sd_configs:
+ domain:
+ - tasks.monitoring_alertmanager
+ type: A
+ port: ${prometheus:alertmanager:bind:port}
diff --git a/prometheus/server/container.yml b/prometheus/server/container.yml
new file mode 100644
index 0000000..99873ad
--- /dev/null
+++ b/prometheus/server/container.yml
@@ -0,0 +1,3 @@
+classes:
+- service.prometheus.server.container
+- system.prometheus.server
diff --git a/prometheus/server/init.yml b/prometheus/server/init.yml
new file mode 100644
index 0000000..0ecea17
--- /dev/null
+++ b/prometheus/server/init.yml
@@ -0,0 +1,4 @@
+parameters:
+ _param:
+ prometheus_server_config_directory: /srv/prometheus
+ prometheus_server_data_directory: /data
diff --git a/prometheus/server/remote_write/docker.yml b/prometheus/server/remote_write/docker.yml
new file mode 100644
index 0000000..356f31f
--- /dev/null
+++ b/prometheus/server/remote_write/docker.yml
@@ -0,0 +1,8 @@
+parameters:
+ prometheus:
+ server:
+ config:
+ remote_write:
+ docker_remote_write:
+ enabled: true
+ url: http://monitoring_remote_storage_adapter:${prometheus:remote_storage_adapter:bind:port}/write
diff --git a/prometheus/server/target/dns.yml b/prometheus/server/target/dns.yml
index 14d5da3..ed6602d 100644
--- a/prometheus/server/target/dns.yml
+++ b/prometheus/server/target/dns.yml
@@ -1,7 +1,3 @@
-classes:
-- service.prometheus.server.container
-- service.prometheus.alertmanager.container
-- service.prometheus.pushgateway.container
parameters:
prometheus:
server:
@@ -24,3 +20,8 @@
- 'tasks.monitoring_alertmanager'
type: A
port: ${prometheus:alertmanager:bind:port}
+ - name: 'remote_agent'
+ domain:
+ - 'tasks.monitoring_remote_agent'
+ type: A
+ port: ${telegraf:remote_agent:output:prometheus_client:bind:port}
diff --git a/prometheus/server/target/etcd.yml b/prometheus/server/target/etcd.yml
index 4cd04bf..0ac3310 100644
--- a/prometheus/server/target/etcd.yml
+++ b/prometheus/server/target/etcd.yml
@@ -8,6 +8,6 @@
scheme: https
tls_config:
skip_verify: true
- ssl_dir: /opt/prometheus/config
+ ssl_dir: ${_param:prometheus_server_config_directory}
cert_name: prometheus-server.crt
key_name: prometheus-server.key
diff --git a/prometheus/server/target/kubernetes.yml b/prometheus/server/target/kubernetes.yml
index d7ba3d6..60ca1e0 100644
--- a/prometheus/server/target/kubernetes.yml
+++ b/prometheus/server/target/kubernetes.yml
@@ -5,6 +5,6 @@
kubernetes:
enabled: true
api_ip: ${_param:kubernetes_control_address}
- ssl_dir: /opt/prometheus/config
+ ssl_dir: ${_param:prometheus_server_config_directory}
cert_name: prometheus-server.crt
key_name: prometheus-server.key
diff --git a/reclass/storage/system/infra_maas_single.yml b/reclass/storage/system/infra_maas_single.yml
new file mode 100644
index 0000000..eb5a96b
--- /dev/null
+++ b/reclass/storage/system/infra_maas_single.yml
@@ -0,0 +1,16 @@
+parameters:
+ _param:
+ infra_maas_node01_hostname: mas01
+ reclass:
+ storage:
+ node:
+ infra_maas_node01:
+ name: ${_param:infra_maas_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.maas
+ params:
+ salt_master_host: ${_param:infra_config_deploy_address}
+ linux_system_codename: xenial
+ single_address: ${_param:infra_maas_node01_deploy_address}
+
diff --git a/reclass/storage/system/openstack_baremetal_cluster.yml b/reclass/storage/system/openstack_baremetal_cluster.yml
new file mode 100644
index 0000000..8cab119
--- /dev/null
+++ b/reclass/storage/system/openstack_baremetal_cluster.yml
@@ -0,0 +1,44 @@
+parameters:
+ _param:
+ openstack_baremetal_node01_hostname: bmt01
+ openstack_baremetal_node02_hostname: bmt02
+ openstack_baremetal_node03_hostname: bmt03
+
+ openstack_baremetal_node01_baremetal_address: ${_param:single_address}
+ openstack_baremetal_node02_baremetal_address: ${_param:single_address}
+ openstack_baremetal_node03_baremetal_address: ${_param:single_address}
+ reclass:
+ storage:
+ node:
+ openstack_baremetal_node01:
+ name: ${_param:openstack_baremetal_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.baremetal
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:linux_system_codename}
+ single_address: ${_param:openstack_baremetal_node01_address}
+ baremetal_address: ${_param:openstack_baremetal_node01_baremetal_address}
+ openstack_baremetal_node02:
+ name: ${_param:openstack_baremetal_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.baremetal
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:linux_system_codename}
+ single_address: ${_param:openstack_baremetal_node02_address}
+ baremetal_address: ${_param:openstack_baremetal_node02_baremetal_address}
+ openstack_baremetal_node03:
+ name: ${_param:openstack_baremetal_node03_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.baremetal
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:linux_system_codename}
+ single_address: ${_param:openstack_baremetal_node03_address}
+ baremetal_address: ${_param:openstack_baremetal_node03_baremetal_address}
+
+
diff --git a/reclass/storage/system/openstack_baremetal_single.yml b/reclass/storage/system/openstack_baremetal_single.yml
new file mode 100644
index 0000000..3b279b0
--- /dev/null
+++ b/reclass/storage/system/openstack_baremetal_single.yml
@@ -0,0 +1,16 @@
+parameters:
+ _param:
+ openstack_baremetal_node01_hostname: bmt01
+ reclass:
+ storage:
+ node:
+ openstack_baremetal_node01:
+ name: ${_param:openstack_baremetal_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.baremetal
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:linux_system_codename}
+ single_address: ${_param:openstack_baremetal_node01_address}
+ baremetal_address: ${_param:openstack_baremetal_node01_baremetal_address}
diff --git a/reclass/storage/system/openstack_gateway_single_octavia.yml b/reclass/storage/system/openstack_gateway_single_octavia.yml
new file mode 100644
index 0000000..264b3f1
--- /dev/null
+++ b/reclass/storage/system/openstack_gateway_single_octavia.yml
@@ -0,0 +1,7 @@
+parameters:
+ reclass:
+ storage:
+ node:
+ openstack_gateway_node01:
+ classes:
+ - system.octavia.manager.single
diff --git a/reclass/storage/system/stacklight_log_cluster.yml b/reclass/storage/system/stacklight_log_cluster.yml
index 4a5da29..bbb6a6b 100644
--- a/reclass/storage/system/stacklight_log_cluster.yml
+++ b/reclass/storage/system/stacklight_log_cluster.yml
@@ -22,6 +22,7 @@
domain: ${_param:cluster_domain}
classes:
- cluster.${_param:cluster_name}.stacklight.log
+ - cluster.${_param:cluster_name}.stacklight.log_curator
params:
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
@@ -32,6 +33,7 @@
domain: ${_param:cluster_domain}
classes:
- cluster.${_param:cluster_name}.stacklight.log
+ - cluster.${_param:cluster_name}.stacklight.log_curator
params:
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
diff --git a/reclass/storage/system/stacklightv2_server_cluster.yml b/reclass/storage/system/stacklightv2_server_cluster.yml
new file mode 100644
index 0000000..c72ac2c
--- /dev/null
+++ b/reclass/storage/system/stacklightv2_server_cluster.yml
@@ -0,0 +1,42 @@
+parameters:
+ _param:
+ stacklight_monitor_node01_hostname: mon01
+ stacklight_monitor_node02_hostname: mon02
+ stacklight_monitor_node03_hostname: mon03
+ reclass:
+ storage:
+ node:
+ stacklight_server_node01:
+ name: ${_param:stacklight_monitor_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - system.docker.swarm.master
+ - cluster.${_param:cluster_name}.stacklight.server
+ - cluster.${_param:cluster_name}.stacklight.client
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: xenial
+ single_address: ${_param:stacklight_monitor_node01_address}
+ keepalived_vip_priority: 103
+ stacklight_server_node02:
+ name: ${_param:stacklight_monitor_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - system.docker.swarm.manager
+ - cluster.${_param:cluster_name}.stacklight.server
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: xenial
+ single_address: ${_param:stacklight_monitor_node02_address}
+ keepalived_vip_priority: 102
+ stacklight_server_node03:
+ name: ${_param:stacklight_monitor_node03_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - system.docker.swarm.manager
+ - cluster.${_param:cluster_name}.stacklight.server
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: xenial
+ single_address: ${_param:stacklight_monitor_node03_address}
+ keepalived_vip_priority: 101
diff --git a/rundeck/client/project/cicd.yml b/rundeck/client/project/cicd.yml
index e33fcae..cb427d8 100644
--- a/rundeck/client/project/cicd.yml
+++ b/rundeck/client/project/cicd.yml
@@ -1,4 +1,14 @@
parameters:
+ _param:
+ rundeck_cis_os_auth_url: none
+ rundeck_cis_os_username: admin
+ rundeck_cis_os_password: password
+ rundeck_cis_os_project_name: admin
+ rundeck_cis_os_domain_id: default
+ rundeck_cis_jobs_repository: https://gerrit.mcp.mirantis.net/oss/rundeck-cis-jobs
+ rundeck_cis_jobs_revision: master
+ rundeck_cis_elasticsearch_url: none
+ rundeck_cis_os_docker_image: docker-prod-local.artifactory.mirantis.com/mirantis/oss/cis-openstack:latest
rundeck:
client:
project:
@@ -20,3 +30,29 @@
hostname: ${_param:cluster_node03_address}
username: ${_param:rundeck_runbook_user}
tags: [cicd, docker]
+ plugin:
+ import:
+ address: ${_param:rundeck_cis_jobs_repository}
+ branch: ${_param:rundeck_cis_jobs_revision}
+ secret:
+ cis/elasticsearch/url:
+ type: password
+ content: ${_param:rundeck_cis_elasticsearch_url}
+ cis/openstack/auth_url:
+ type: password
+ content: ${_param:rundeck_cis_os_auth_url}
+ cis/openstack/username:
+ type: password
+ content: ${_param:rundeck_cis_os_username}
+ cis/openstack/password:
+ type: password
+ content: ${_param:rundeck_cis_os_password}
+ cis/openstack/project_name:
+ type: password
+ content: ${_param:rundeck_cis_os_project_name}
+ cis/openstack/domain_id:
+ type: password
+ content: ${_param:rundeck_cis_os_domain_id}
+ cis/openstack/image:
+ type: password
+ content: ${_param:rundeck_cis_os_docker_image}
diff --git a/rundeck/client/runbook.yml b/rundeck/client/runbook.yml
index cb94025..773673b 100644
--- a/rundeck/client/runbook.yml
+++ b/rundeck/client/runbook.yml
@@ -9,8 +9,14 @@
name: ${_param:rundeck_runbook_user}
system: true
sudo: true
+ groups:
+ - docker
full_name: Rundeck Remote
home: /var/lib/runbook
+ group:
+ docker:
+ enabled: true
+ name: docker
openssh:
server:
enabled: true
@@ -20,3 +26,5 @@
public_keys:
- key: ${_param:rundeck_runbook_public_key}
user: ${linux:system:user:runbook}
+ accept_env:
+ - RD_OPTION_*
diff --git a/rundeck/server/docker.yml b/rundeck/server/docker.yml
index 3406b6a..1c89f4f 100644
--- a/rundeck/server/docker.yml
+++ b/rundeck/server/docker.yml
@@ -2,6 +2,12 @@
- service.rundeck.common
- service.rundeck.server.single
parameters:
+ _param:
+ rundeck_postgresql_username: rundeck
+ rundeck_postgresql_password: password
+ rundeck_postgresql_database: rundeck
+ rundeck_postgresql_host: ${_param:control_vip_address}
+ rundeck_postgresql_port: 5432
rundeck:
server:
user:
@@ -9,6 +15,13 @@
gid: 550
home_dir: /srv/volumes/rundeck
root_dir: /srv/volumes/rundeck
+ datasource:
+ engine: postgresql
+ host: ${_param:rundeck_postgresql_host}
+ port: ${_param:rundeck_postgresql_port}
+ username: ${_param:rundeck_postgresql_username}
+ password: ${_param:rundeck_postgresql_password}
+ database: ${_param:rundeck_postgresql_database}
api:
host: ${_param:haproxy_rundeck_bind_host}
port: ${_param:haproxy_rundeck_bind_port}
diff --git a/salt/control/cluster/infra_maas_single.yml b/salt/control/cluster/infra_maas_single.yml
new file mode 100644
index 0000000..d8675e8
--- /dev/null
+++ b/salt/control/cluster/infra_maas_single.yml
@@ -0,0 +1,20 @@
+parameters:
+ salt:
+ control:
+ size:
+ infra.maas:
+ cpu: 4
+ ram: 8192
+ disk_profile: small
+ net_profile: default
+ cluster:
+ internal:
+ domain: ${_param:cluster_domain}
+ engine: virt
+ node:
+ mas01:
+ name: ${_param:infra_maas_node01_hostname}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: infra.maas
+
diff --git a/salt/control/cluster/openstack_baremetal_cluster.yml b/salt/control/cluster/openstack_baremetal_cluster.yml
new file mode 100644
index 0000000..609be28
--- /dev/null
+++ b/salt/control/cluster/openstack_baremetal_cluster.yml
@@ -0,0 +1,26 @@
+parameters:
+ salt:
+ control:
+ size:
+ openstack.baremetal:
+ cpu: 32
+ ram: 65536
+ disk_profile: small
+ net_profile: default
+ cluster:
+ internal:
+ domain: ${_param:cluster_domain}
+ engine: virt
+ node:
+ bmt01:
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.baremetal
+ bmt02:
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.baremetal
+ bmt03:
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.baremetal
diff --git a/salt/control/cluster/openstack_baremetal_single.yml b/salt/control/cluster/openstack_baremetal_single.yml
new file mode 100644
index 0000000..5ff00f5
--- /dev/null
+++ b/salt/control/cluster/openstack_baremetal_single.yml
@@ -0,0 +1,18 @@
+parameters:
+ salt:
+ control:
+ size:
+ openstack.baremetal:
+ cpu: 32
+ ram: 65536
+ disk_profile: small
+ net_profile: default
+ cluster:
+ internal:
+ domain: ${_param:cluster_domain}
+ engine: virt
+ node:
+ bmt01:
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.baremetal
diff --git a/salt/control/cluster/openstack_gateway_cluster.yml b/salt/control/cluster/openstack_gateway_cluster.yml
index 5d2a20a..efc7215 100644
--- a/salt/control/cluster/openstack_gateway_cluster.yml
+++ b/salt/control/cluster/openstack_gateway_cluster.yml
@@ -13,14 +13,14 @@
engine: virt
node:
gtw01:
- provider: kvm01.${_param:cluster_domain}
+ provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
image: ${_param:salt_control_xenial_image}
size: openstack.gateway
gtw02:
- provider: kvm01.${_param:cluster_domain}
+ provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
image: ${_param:salt_control_xenial_image}
size: openstack.gateway
gtw03:
- provider: kvm01.${_param:cluster_domain}
+ provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
image: ${_param:salt_control_xenial_image}
size: openstack.gateway
diff --git a/salt/master/formula/git/baremetal.yml b/salt/master/formula/git/baremetal.yml
new file mode 100644
index 0000000..80909e4
--- /dev/null
+++ b/salt/master/formula/git/baremetal.yml
@@ -0,0 +1,14 @@
+parameters:
+ salt:
+ master:
+ environment:
+ dev:
+ formula:
+ ironic:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-ironic.git'
+ revision: ${_param:salt_master_environment_revision}
+ tftpd_hpa:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-tftpd-hpa.git'
+ revision: ${_param:salt_master_environment_revision}
diff --git a/salt/master/formula/git/openstack.yml b/salt/master/formula/git/openstack.yml
index 36ddfc2..9173a4a 100644
--- a/salt/master/formula/git/openstack.yml
+++ b/salt/master/formula/git/openstack.yml
@@ -92,6 +92,10 @@
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-nova.git'
revision: ${_param:salt_master_environment_revision}
+ octavia:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-octavia.git'
+ revision: ${_param:salt_master_environment_revision}
opencontrail:
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-opencontrail.git'
diff --git a/salt/master/formula/git/oss.yml b/salt/master/formula/git/oss.yml
index e927387..64f3e54 100644
--- a/salt/master/formula/git/oss.yml
+++ b/salt/master/formula/git/oss.yml
@@ -1,7 +1,4 @@
parameters:
- _param:
- salt_master_oss_repository: https://gerrit.mcp.mirantis.net/salt-formulas
- salt_master_oss_revision: master
salt:
master:
environment:
@@ -12,8 +9,8 @@
devops_utils.py:
enabled: true
source: git
- address: '${_param:salt_master_oss_repository}/devops-portal.git'
- revision: ${_param:salt_master_oss_revision}
+ address: '${_param:salt_master_environment_repository}/salt-formula-devops-portal.git'
+ revision: ${_param:salt_master_environment_revision}
rundeck:
module:
rundeck.py:
@@ -21,6 +18,12 @@
state:
rundeck_project.py:
enabled: true
+ state:
+ rundeck_scm.py:
+ enabled: true
+ state:
+ rundeck_secret.py:
+ enabled: true
source: git
- address: '${_param:salt_master_oss_repository}/rundeck.git'
- revision: ${_param:salt_master_oss_revision}
+ address: '${_param:salt_master_environment_repository}/salt-formula-rundeck.git'
+ revision: ${_param:salt_master_environment_revision}
diff --git a/salt/master/formula/git/saltstack.yml b/salt/master/formula/git/saltstack.yml
index d0ca453..ebcf96f 100644
--- a/salt/master/formula/git/saltstack.yml
+++ b/salt/master/formula/git/saltstack.yml
@@ -47,3 +47,15 @@
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-sphinx.git'
revision: ${_param:salt_master_environment_revision}
+ xtrabackup:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-xtrabackup.git'
+ revision: ${_param:salt_master_environment_revision}
+ zookeeper:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-zookeeper.git'
+ revision: ${_param:salt_master_environment_revision}
+ cassandra:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-cassandra.git'
+ revision: ${_param:salt_master_environment_revision}
diff --git a/salt/master/formula/pkg/baremetal.yml b/salt/master/formula/pkg/baremetal.yml
new file mode 100644
index 0000000..3899fe7
--- /dev/null
+++ b/salt/master/formula/pkg/baremetal.yml
@@ -0,0 +1,12 @@
+parameters:
+ salt:
+ master:
+ environment:
+ prd:
+ formula:
+ ironic:
+ source: pkg
+ name: salt-formula-ironic
+ tftpd_hpa:
+ source: pkg
+ name: salt-formula-tftpd-hpa
diff --git a/salt/master/formula/pkg/openstack.yml b/salt/master/formula/pkg/openstack.yml
index b1222d1..827f096 100644
--- a/salt/master/formula/pkg/openstack.yml
+++ b/salt/master/formula/pkg/openstack.yml
@@ -70,6 +70,9 @@
nova:
source: pkg
name: salt-formula-nova
+ octavia:
+ source: pkg
+ name: salt-formula-octavia
opencontrail:
source: pkg
name: salt-formula-opencontrail
diff --git a/salt/master/formula/pkg/saltstack.yml b/salt/master/formula/pkg/saltstack.yml
index eeff26b..a62a272 100644
--- a/salt/master/formula/pkg/saltstack.yml
+++ b/salt/master/formula/pkg/saltstack.yml
@@ -37,3 +37,12 @@
sphinx:
source: pkg
name: salt-formula-sphinx
+ xtrabackup:
+ source: pkg
+ name: salt-formula-xtrabackup
+ zookeeper:
+ source: pkg
+ name: salt-formula-zookeeper
+ cassandra:
+ source: pkg
+ name: salt-formula-cassandra
diff --git a/salt/minion/cert/prometheus_server.yml b/salt/minion/cert/prometheus_server.yml
index 23c4abf..30a0711 100644
--- a/salt/minion/cert/prometheus_server.yml
+++ b/salt/minion/cert/prometheus_server.yml
@@ -5,8 +5,8 @@
prometheus_server:
host: ${_param:salt_minion_ca_host}
authority: ${_param:salt_minion_ca_authority}
- key_file: /srv/volumes/prometheus/prometheus-server.key
- cert_file: /srv/volumes/prometheus/prometheus-server.crt
+ key_file: ${prometheus:server:dir:config}/prometheus-server.key
+ cert_file: ${prometheus:server:dir:config}/prometheus-server.crt
common_name: prometheus-server
signing_policy: cert_client
alternative_names: IP:${_param:cluster_vip_address},IP:${_param:cluster_node01_address},IP:${_param:cluster_node02_address},IP:${_param:cluster_node03_address},IP:${_param:kubernetes_internal_api_address}
diff --git a/swift/proxy/cluster.yml b/swift/proxy/cluster.yml
new file mode 100644
index 0000000..994eb1e
--- /dev/null
+++ b/swift/proxy/cluster.yml
@@ -0,0 +1,52 @@
+classes:
+- service.memcached.server.single
+- service.keepalived.cluster.single
+- service.haproxy.proxy.single
+- service.swift.proxy.cluster
+parameters:
+ _param:
+ cluster_node01_address: ${_param:swift_proxy_node01_address}
+ cluster_node02_address: ${_param:swift_proxy_node02_address}
+ keepalived:
+ cluster:
+ instance:
+ VIP:
+ virtual_router_id: ${_param:keepalived_vip_virtual_router_id}
+ haproxy:
+ proxy:
+ listen:
+ swift_admin:
+ type: stats
+ check: false
+ binds:
+ - address: ${_param:swift_proxy_vip_address}
+ port: 8080
+ swift_proxy_cluster:
+ type: general-service
+ check: false
+ binds:
+ - address: ${_param:swift_proxy_vip_address}
+ port: 8080
+ servers:
+ - name: ${_param:swift_proxy_node01_hostname}
+ host: ${_param:swift_proxy_node01_address}
+ port: 8080
+ params: check
+ - name: ${_param:swift_proxy_node02_hostname}
+ host: ${_param:swift_proxy_node02_address}
+ port: 8080
+ params: check
+ swift:
+ proxy:
+ bind:
+ address: ${_param:single_address}
+ identity:
+ host: ${_param:control_vip_address}
+ common:
+ cache:
+ engine: memcached
+ members:
+ - host: ${_param:swift_proxy_node01_address}
+ port: 11211
+ - host: ${_param:swift_proxy_node02_address}
+ port: 11211
diff --git a/swift/rings/default.yml b/swift/rings/default.yml
new file mode 100644
index 0000000..c0e06d6
--- /dev/null
+++ b/swift/rings/default.yml
@@ -0,0 +1,16 @@
+parameters:
+ swift:
+ ring_builder:
+ enabled: true
+ rings:
+ - partition_power: 9
+ replicas: 3
+ hours: 1
+ region: 1
+ devices:
+ - address: ${_param:swift_storage_node01_address}
+ device: ${_param:swift_device0}
+ - address: ${_param:swift_storage_node02_address}
+ device: ${_param:swift_device0}
+ - address: ${_param:swift_storage_node03_address}
+ device: ${_param:swift_device0}
\ No newline at end of file
diff --git a/swift/rings/init.yml b/swift/rings/init.yml
new file mode 100644
index 0000000..f157aff
--- /dev/null
+++ b/swift/rings/init.yml
@@ -0,0 +1,5 @@
+parameters:
+ swift:
+ ring_builder:
+ enabled: true
+ rings: []
diff --git a/swift/storage/cluster.yml b/swift/storage/cluster.yml
new file mode 100644
index 0000000..9f0fa8f
--- /dev/null
+++ b/swift/storage/cluster.yml
@@ -0,0 +1,38 @@
+classes:
+- service.swift.storage.cluster
+- service.rsync.server.single
+parameters:
+ rsync:
+ server:
+ module:
+ account:
+ max_connections: 100
+ path: /srv/node/
+ read_only: False
+ uid: swift
+ gid: swift
+ #write_only: False
+ #list: yes
+ #incoming_chmod = 0644
+ #outgoing_chmod = 0644
+ container:
+ max_connections: 100
+ path: /srv/node/
+ read_only: False
+ uid: swift
+ gid: swift
+ object:
+ max_connections: 100
+ path: /srv/node/
+ read_only: False
+ uid: swift
+ gid: swift
+ swift:
+ common:
+ cache:
+ engine: memcached
+ members:
+ - host: ${_param:swift_proxy_node01_address}
+ port: 11211
+ - host: ${_param:swift_proxy_node02_address}
+ port: 11211
diff --git a/telegraf/agent/init.yml b/telegraf/agent/init.yml
index 0e836e8..ca7e2b0 100644
--- a/telegraf/agent/init.yml
+++ b/telegraf/agent/init.yml
@@ -1,5 +1,7 @@
classes:
- service.telegraf.agent
+- system.telegraf.agent.input.http_listener
+- system.telegraf.sudo
parameters:
telegraf:
agent:
diff --git a/telegraf/agent/input/http_listener.yml b/telegraf/agent/input/http_listener.yml
new file mode 100644
index 0000000..6cdcf3c
--- /dev/null
+++ b/telegraf/agent/input/http_listener.yml
@@ -0,0 +1,2 @@
+classes:
+- service.telegraf.agent.input.http_listener
diff --git a/telegraf/agent/output/prometheus.yml b/telegraf/agent/output/prometheus.yml
new file mode 100644
index 0000000..952bc13
--- /dev/null
+++ b/telegraf/agent/output/prometheus.yml
@@ -0,0 +1,11 @@
+parameters:
+ _param:
+ telegraf_agent_prometheus_port: 9126
+ telegraf:
+ agent:
+ output:
+ prometheus_client:
+ bind:
+ address: 0.0.0.0
+ port: ${_param: telegraf_agent_prometheus_port}
+ engine: prometheus
diff --git a/telegraf/agent/remote/init.yml b/telegraf/agent/remote/init.yml
new file mode 100644
index 0000000..c634d54
--- /dev/null
+++ b/telegraf/agent/remote/init.yml
@@ -0,0 +1,17 @@
+classes:
+- service.telegraf.agent.remote
+parameters:
+ telegraf:
+ remote_agent:
+ omit_hostname: true
+ dir:
+ config: /srv/volumes/local/telegraf
+ config_d: /srv/volumes/local/telegraf/telegraf.d
+ input:
+ internal:
+ output:
+ prometheus_client:
+ bind:
+ address: 0.0.0.0
+ port: 9126
+ engine: prometheus
diff --git a/telegraf/agent/remote/input/http_listener.yml b/telegraf/agent/remote/input/http_listener.yml
new file mode 100644
index 0000000..d6788d2
--- /dev/null
+++ b/telegraf/agent/remote/input/http_listener.yml
@@ -0,0 +1,13 @@
+parameters:
+ _param:
+ telegraf_remote_agent_http_listener_port: 8186
+ telegraf:
+ remote_agent:
+ input:
+ http_listener:
+ bind:
+ address: 0.0.0.0
+ port: ${_param:telegraf_remote_agent_http_listener_port}
+ read_timeout: 10s
+ write_timeout: 10s
+ tagexclude: ['hostname']
diff --git a/telegraf/agent/remote/output/prometheus.yml b/telegraf/agent/remote/output/prometheus.yml
new file mode 100644
index 0000000..8aadd96
--- /dev/null
+++ b/telegraf/agent/remote/output/prometheus.yml
@@ -0,0 +1,11 @@
+parameters:
+ _param:
+ telegraf_remote_agent_prometheus_port: 9126
+ telegraf:
+ remote_agent:
+ output:
+ prometheus_client:
+ bind:
+ address: 0.0.0.0
+ port: ${_param:telegraf_remote_agent_prometheus_port}
+ engine: prometheus
diff --git a/telegraf/sudo.yml b/telegraf/sudo.yml
new file mode 100644
index 0000000..3fc76e1
--- /dev/null
+++ b/telegraf/sudo.yml
@@ -0,0 +1,11 @@
+parameters:
+ linux:
+ system:
+ sudo:
+ enabled: true
+ users:
+ telegraf:
+ hosts:
+ - ALL
+ commands:
+ - /usr/sbin/gluster
diff --git a/xtrabackup/client/single.yml b/xtrabackup/client/single.yml
new file mode 100644
index 0000000..cbe1123
--- /dev/null
+++ b/xtrabackup/client/single.yml
@@ -0,0 +1,3 @@
+classes:
+- service.xtrabackup.client.single
+- system.openssh.client.root
\ No newline at end of file
diff --git a/xtrabackup/server/single.yml b/xtrabackup/server/single.yml
new file mode 100644
index 0000000..d1d54fd
--- /dev/null
+++ b/xtrabackup/server/single.yml
@@ -0,0 +1,2 @@
+classes:
+- service.xtrabackup.server.single
diff --git a/zookeeper/backup/client/single.yml b/zookeeper/backup/client/single.yml
new file mode 100644
index 0000000..0085b79
--- /dev/null
+++ b/zookeeper/backup/client/single.yml
@@ -0,0 +1,13 @@
+classes:
+- system.openssh.client.root
+parameters:
+ _param:
+ zookeeper_remote_backup_server: cfg01
+ zookeeper:
+ backup:
+ client:
+ enabled: true
+ full_backups_to_keep: 3
+ hours_before_full: 24
+ target:
+ host: ${_param:zookeeper_remote_backup_server}
diff --git a/zookeeper/backup/server/single.yml b/zookeeper/backup/server/single.yml
new file mode 100644
index 0000000..aaa877b
--- /dev/null
+++ b/zookeeper/backup/server/single.yml
@@ -0,0 +1,13 @@
+parameters:
+ _param:
+ zookeeper_backup_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzLUiHKAjfFXiZ3fsgx35uXF6VivfC5WFafu4QMalxmj6W+s277oCfdWA8Du5f1wtQXM73VQ5nHkXhM2UIfUMarsyhXK+BxKVrcgEBNHdKlDytaecUPyuOxTDdGWhN/DPv5/vL8NYWweEYBbNbLgU0Td7Rvm52TUXKThIDjeF7XDxX4ShXWipBSwU4boOUBtR8KWfga8fsqeBN+eacuAQFR3MrrOfVvAuWW6Bsf047cmd+V6Qv0raoW73Nu4M/ZAdTsaR5k62a0cHsSRoi3hCmNRqw+CZaQi8prQU6t26eWPEtznjp5EkPF+LLh8LxUoCfWqWT+Lxe8QQwT1nx/LCN
+ zookeeper:
+ backup:
+ server:
+ enabled: true
+ hours_before_full: 24
+ full_backups_to_keep: 5
+ key:
+ zookeeper_pub_key:
+ enabled: true
+ key: ${_param:zookeeper_backup_public_key}