Merge pull request #169 from Mirantis/murano
add murano
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..1b8353e
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,4 @@
+[gerrit]
+host=gerrit.mcp.mirantis.net
+port=29418
+project=salt-models/reclass-system.git
diff --git a/.travis.yml b/.travis.yml
index 6faf483..1cc95a8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,8 +4,8 @@
addons:
apt:
sources:
- - sourceline: 'deb http://apt.tcpcloud.eu/nightly trusty tcp tcp-salt'
- - key_url: 'http://apt.tcpcloud.eu/public.gpg'
+ - sourceline: 'deb http://apt-mk.mirantis.com/trusty nightly salt'
+ - key_url: 'http://apt-mk.mirantis.com/public.gpg'
packages:
- curl
- subversion
diff --git a/aptly/server/docker.yml b/aptly/server/docker.yml
index 4810e7b..ee8f4a2 100644
--- a/aptly/server/docker.yml
+++ b/aptly/server/docker.yml
@@ -1,9 +1,15 @@
classes:
- service.aptly.server.single
parameters:
+ _param:
+ aptly_server_secure: false
+ aptly_gpg_keypair_id: none
+ aptly_gpg_public_key: none
+ aptly_gpg_private_key: none
aptly:
server:
enabled: true
+ secure: ${_param:aptly_server_secure}
source:
engine: docker
image: tcpcloud/aptly
@@ -12,7 +18,6 @@
gid: 501
home_dir: /srv/volumes/aptly
root_dir: /srv/volumes/aptly
- secure: true
no_config: true
gpg:
keyring: .gnupg/trustdb.gpg
diff --git a/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk.yml b/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk.yml
new file mode 100644
index 0000000..553e6dd
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/mcp/apt_mk.yml
@@ -0,0 +1,79 @@
+parameters:
+ _param:
+ apt_mk_version: stable
+ aptly:
+ server:
+ mirror:
+ # required for opencontrail formulas
+ mcp_opencontrail_trusty_oc311:
+ source: http://apt-mk.mirantis.com/trusty/
+ distribution: ${_param:apt_mk_version}
+ components: oc311
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ gpgkeys:
+ - A76882D3
+ publisher:
+ component: oc311
+ distributions:
+ - ubuntu-trusty/${_param:apt_mk_version}
+ mcp_opencontrail_trusty_oc31:
+ source: http://apt-mk.mirantis.com/trusty/
+ distribution: ${_param:apt_mk_version}
+ components: oc31
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ gpgkeys:
+ - A76882D3
+ publisher:
+ component: oc31
+ distributions:
+ - ubuntu-trusty/${_param:apt_mk_version}
+ mcp_opencontrail_trusty_oc32:
+ source: http://apt-mk.mirantis.com/trusty/
+ distribution: ${_param:apt_mk_version}
+ components: oc32
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ gpgkeys:
+ - A76882D3
+ publisher:
+ 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}
+ components: extra
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ gpgkeys:
+ - A76882D3
+ publisher:
+ component: extra
+ distributions:
+ - ubuntu-trusty/${_param:apt_mk_version}
+ mirantis_openstack_trusty_salt:
+ source: http://apt-mk.mirantis.com/trusty/
+ distribution: ${_param:apt_mk_version}
+ components: salt
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ gpgkeys:
+ - A76882D3
+ publisher:
+ component: salt
+ distributions:
+ - ubuntu-trusty/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/trusty/mcp/openstack.yml b/aptly/server/mirror/ubuntu/trusty/mcp/openstack.yml
new file mode 100644
index 0000000..b419b8b
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/mcp/openstack.yml
@@ -0,0 +1,74 @@
+parameters:
+ _param:
+ mcp_repo_version: 1.0
+ linux_system_codename: trusty
+ aptly:
+ server:
+ mirror:
+ mirantis_openstack_trusty:
+ source: http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}
+ distribution: mitaka
+ components: main restricted
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ gpgkeys:
+ - 1FA22B08
+ publisher:
+ component: main
+ distributions:
+ - ubuntu-trusty/mitaka
+
+ mirantis_openstack_hotfix_trusty:
+ source: http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}
+ distribution: mitaka-hotfix
+ components: main restricted
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ gpgkeys:
+ - 1FA22B08
+ publisher:
+ component: main
+ distributions:
+ - ubuntu-trusty/mitaka-hotfix
+
+ mirantis_openstack_security_trusty:
+ source: http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}
+ distribution: mitaka-security
+ components: main restricted
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ gpgkeys:
+ - 1FA22B08
+ publisher:
+ component: main
+ distributions:
+ - ubuntu-trusty/mitaka-security
+
+ # required for alternative horizon plugins/etc..
+ mirantis_openstack_updates_trusty:
+ source: http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}
+ distribution: mitaka-updates
+ components: main restricted
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ gpgkeys:
+ - 1FA22B08
+ publisher:
+ component: main
+ distributions:
+ - ubuntu-trusty/mitaka-updates
+
+ # required for salt formulas
+ mirantis_openstack_holdback_trusty:
+ source: http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}
+ distribution: mitaka-holdback
+ components: main restricted
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ gpgkeys:
+ - 1FA22B08
+ publisher:
+ component: main
+ distributions:
+ - ubuntu-trusty/mitaka-holdback
+
diff --git a/aptly/server/mirror/ubuntu/trusty/mos8.yml b/aptly/server/mirror/ubuntu/trusty/mos8.yml
index e6e6707..c85363f 100644
--- a/aptly/server/mirror/ubuntu/trusty/mos8.yml
+++ b/aptly/server/mirror/ubuntu/trusty/mos8.yml
@@ -13,6 +13,7 @@
component: main
distributions:
- mos8/mos8.0
+ # FIXME, enable hotfix once contain packages, otherwise broke aptly publish
#mirantis-openstack-8.0-hotfix-trusty:
# source: http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/
# distribution: mos8.0-hotfix
@@ -37,6 +38,7 @@
component: main
distributions:
- mos8/mos8.0-proposed
+ # FIXME, enable security once contain packages, otherwise broke aptly publish
#mirantis-openstack-8.0-security-trusty:
# source: http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/
# distribution: mos8.0-security
diff --git a/aptly/server/mirror/ubuntu/trusty/mos9.yml b/aptly/server/mirror/ubuntu/trusty/mos9.yml
index 20f87b2..29415ab 100644
--- a/aptly/server/mirror/ubuntu/trusty/mos9.yml
+++ b/aptly/server/mirror/ubuntu/trusty/mos9.yml
@@ -37,6 +37,7 @@
component: main
distributions:
- mos9/mos9.0-proposed
+ # FIXME, enable security once contain packages, otherwise broke aptly publish
#mirantis-openstack-9.0-security-trusty:
# source: http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/
# distribution: mos9.0-security
@@ -62,7 +63,7 @@
distributions:
- mos9/mos9.0-updates
mirantis-openstack-9.0-extras-murano:
- source: http://mirror.fuel-infra.org/extras/murano-plugin-repos/release/1.1.0/ubuntu/9.0/
+ source: http://mirror.fuel-infra.org/extras/murano-plugin-repos/release/1.2.0/ubuntu/9.0/
distribution: mos9.0
components: main restricted
architectures: amd64
diff --git a/aptly/server/mirror/ubuntu/trusty/ubuntu.yml b/aptly/server/mirror/ubuntu/trusty/ubuntu.yml
index 22e83df..3cd7c7b 100644
--- a/aptly/server/mirror/ubuntu/trusty/ubuntu.yml
+++ b/aptly/server/mirror/ubuntu/trusty/ubuntu.yml
@@ -1,10 +1,12 @@
parameters:
+ _param:
+ linux_system_country_code: cz
aptly:
server:
mirror:
# trusty
trusty-main:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty
components: main
architectures: amd64
@@ -17,7 +19,7 @@
distributions:
- ubuntu/trusty
trusty-multiverse:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty
components: multiverse
architectures: amd64
@@ -30,7 +32,7 @@
distributions:
- ubuntu/trusty
trusty-restricted:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty
components: restricted
architectures: amd64
@@ -43,7 +45,7 @@
distributions:
- ubuntu/trusty
trusty-universe:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty
components: universe
architectures: amd64
@@ -58,7 +60,7 @@
# trusty-updates
trusty-updates-main:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-updates
components: main
architectures: amd64
@@ -71,7 +73,7 @@
distributions:
- ubuntu/trusty-updates
trusty-updates-multiverse:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-updates
components: multiverse
architectures: amd64
@@ -84,7 +86,7 @@
distributions:
- ubuntu/trusty-updates
trusty-updates-restricted:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-updates
components: restricted
architectures: amd64
@@ -97,7 +99,7 @@
distributions:
- ubuntu/trusty-updates
trusty-updates-universe:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-updates
components: universe
architectures: amd64
@@ -112,7 +114,7 @@
#trusty-security:
trusty-security-main:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-security
components: main
architectures: amd64
@@ -125,7 +127,7 @@
distributions:
- ubuntu/trusty-security
trusty-security-multiverse:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-security
components: multiverse
architectures: amd64
@@ -138,7 +140,7 @@
distributions:
- ubuntu/trusty-security
trusty-security-restricted:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-security
components: restricted
architectures: amd64
@@ -151,7 +153,7 @@
distributions:
- ubuntu/trusty-security
trusty-security-universe:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-security
components: universe
architectures: amd64
@@ -166,7 +168,7 @@
#trusty-proposed:
trusty-proposed-main:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-proposed
components: main
architectures: amd64
@@ -179,7 +181,7 @@
distributions:
- ubuntu/trusty-proposed
trusty-proposed-multiverse:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-proposed
components: multiverse
architectures: amd64
@@ -192,7 +194,7 @@
distributions:
- ubuntu/trusty-proposed
trusty-proposed-restricted:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-proposed
components: restricted
architectures: amd64
@@ -205,7 +207,7 @@
distributions:
- ubuntu/trusty-proposed
trusty-proposed-universe:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-proposed
components: universe
architectures: amd64
@@ -220,7 +222,7 @@
#trusty-backports:
trusty-backports-main:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-backports
components: main
architectures: amd64
@@ -233,7 +235,7 @@
distributions:
- ubuntu/trusty-backports
trusty-backports-multiverse:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-backports
components: multiverse
architectures: amd64
@@ -246,7 +248,7 @@
distributions:
- ubuntu/trusty-backports
trusty-backports-restricted:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-backports
components: restricted
architectures: amd64
@@ -259,7 +261,7 @@
distributions:
- ubuntu/trusty-backports
trusty-backports-universe:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: trusty-backports
components: universe
architectures: amd64
diff --git a/aptly/server/mirror/ubuntu/xenial/ceph_mirantis.yml b/aptly/server/mirror/ubuntu/xenial/ceph_mirantis.yml
index 1bc4341..3401a4e 100644
--- a/aptly/server/mirror/ubuntu/xenial/ceph_mirantis.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ceph_mirantis.yml
@@ -2,7 +2,7 @@
aptly:
server:
mirror:
- ceph-mirantis-xenial:
+ ubuntu-xenial-ceph-mirantis:
source: http://eu.mirror.fuel-infra.org/decapod/ceph/apt
distribution: jewel-xenial
components: main
@@ -12,8 +12,8 @@
publisher:
component: ceph-mirantis
distributions:
- - xenial/nightly
- decapod-ceph-mirantis-xenial:
+ - ubuntu-xenial/nightly
+ ubuntu-xenial-decapod-ceph-mirantis:
source: http://eu.mirror.fuel-infra.org/decapod/ceph/apt
distribution: jewel-xenial
components: main
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk.yml
new file mode 100644
index 0000000..6272b69
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk.yml
@@ -0,0 +1,79 @@
+parameters:
+ _param:
+ apt_mk_version: stable
+ aptly:
+ server:
+ mirror:
+ # required for opencontrail formulas
+ mcp_opencontrail_xenial_oc311:
+ source: http://apt-mk.mirantis.com/xenial/
+ distribution: ${_param:apt_mk_version}
+ components: oc311
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ gpgkeys:
+ - A76882D3
+ publisher:
+ component: oc311
+ distributions:
+ - ubuntu-xenial/${_param:apt_mk_version}
+ mcp_opencontrail_xenial_oc31:
+ source: http://apt-mk.mirantis.com/xenial/
+ distribution: ${_param:apt_mk_version}
+ components: oc31
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ gpgkeys:
+ - A76882D3
+ publisher:
+ component: oc31
+ distributions:
+ - ubuntu-xenial/${_param:apt_mk_version}
+ mcp_opencontrail_xenial_oc32:
+ source: http://apt-mk.mirantis.com/xenial/
+ distribution: ${_param:apt_mk_version}
+ components: oc32
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ gpgkeys:
+ - A76882D3
+ publisher:
+ 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}
+ components: extra
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ gpgkeys:
+ - A76882D3
+ publisher:
+ component: extra
+ distributions:
+ - ubuntu-xenial/${_param:apt_mk_version}
+ mirantis_openstack_xenial_salt:
+ source: http://apt-mk.mirantis.com/xenial/
+ distribution: ${_param:apt_mk_version}
+ components: salt
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ gpgkeys:
+ - A76882D3
+ publisher:
+ component: salt
+ distributions:
+ - ubuntu-xenial/${_param:apt_mk_version}
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/openstack.yml b/aptly/server/mirror/ubuntu/xenial/mcp/openstack.yml
new file mode 100644
index 0000000..0d07f5a
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/openstack.yml
@@ -0,0 +1,74 @@
+parameters:
+ _param:
+ mcp_repo_version: 1.0
+ linux_system_codename: xenial
+ aptly:
+ server:
+ mirror:
+ mirantis_openstack_xenial:
+ source: http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}
+ distribution: mitaka
+ components: main restricted
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ gpgkeys:
+ - 1FA22B08
+ publisher:
+ component: main
+ distributions:
+ - ubuntu-xenial/mitaka
+
+ mirantis_openstack_hotfix_xenial:
+ source: http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}
+ distribution: mitaka-hotfix
+ components: main restricted
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ gpgkeys:
+ - 1FA22B08
+ publisher:
+ component: main
+ distributions:
+ - ubuntu-xenial/mitaka-hotfix
+
+ mirantis_openstack_security_xenial:
+ source: http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}
+ distribution: mitaka-security
+ components: main restricted
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ gpgkeys:
+ - 1FA22B08
+ publisher:
+ component: main
+ distributions:
+ - ubuntu-xenial/mitaka-security
+
+ # required for alternative horizon plugins/etc..
+ mirantis_openstack_updates_xenial:
+ source: http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}
+ distribution: mitaka-updates
+ components: main restricted
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ gpgkeys:
+ - 1FA22B08
+ publisher:
+ component: main
+ distributions:
+ - ubuntu-xenial/mitaka-updates
+
+ # required for salt formulas
+ mirantis_openstack_holdback_xenial:
+ source: http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}
+ distribution: mitaka-holdback
+ components: main restricted
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ gpgkeys:
+ - 1FA22B08
+ publisher:
+ component: main
+ distributions:
+ - ubuntu-xenial/mitaka-holdback
+
diff --git a/aptly/server/mirror/ubuntu/xenial/ubuntu.yml b/aptly/server/mirror/ubuntu/xenial/ubuntu.yml
index 10c54a5..4675063 100644
--- a/aptly/server/mirror/ubuntu/xenial/ubuntu.yml
+++ b/aptly/server/mirror/ubuntu/xenial/ubuntu.yml
@@ -1,10 +1,14 @@
parameters:
+ _param:
+ linux_system_country_code_default: cz
+ linux_system_country_code: ${_param:linux_system_country_code_default}
aptly:
server:
mirror:
# xenial
xenial-main:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial
components: main
architectures: amd64
@@ -17,7 +21,8 @@
distributions:
- ubuntu/xenial
xenial-multiverse:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial
components: multiverse
architectures: amd64
@@ -30,7 +35,8 @@
distributions:
- ubuntu/xenial
xenial-restricted:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial
components: restricted
architectures: amd64
@@ -43,7 +49,8 @@
distributions:
- ubuntu/xenial
xenial-universe:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial
components: universe
architectures: amd64
@@ -58,7 +65,8 @@
# xenial-updates
xenial-updates-main:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-updates
components: main
architectures: amd64
@@ -71,7 +79,8 @@
distributions:
- ubuntu/xenial-updates
xenial-updates-multiverse:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-updates
components: multiverse
architectures: amd64
@@ -84,7 +93,8 @@
distributions:
- ubuntu/xenial-updates
xenial-updates-restricted:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-updates
components: restricted
architectures: amd64
@@ -97,7 +107,8 @@
distributions:
- ubuntu/xenial-updates
xenial-updates-universe:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-updates
components: universe
architectures: amd64
@@ -112,7 +123,8 @@
#xenial-security:
xenial-security-main:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-security
components: main
architectures: amd64
@@ -125,7 +137,8 @@
distributions:
- ubuntu/xenial-security
xenial-security-multiverse:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-security
components: multiverse
architectures: amd64
@@ -138,7 +151,8 @@
distributions:
- ubuntu/xenial-security
xenial-security-restricted:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-security
components: restricted
architectures: amd64
@@ -151,7 +165,8 @@
distributions:
- ubuntu/xenial-security
xenial-security-universe:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-security
components: universe
architectures: amd64
@@ -166,7 +181,8 @@
#xenial-proposed:
xenial-proposed-main:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-proposed
components: main
architectures: amd64
@@ -179,7 +195,8 @@
distributions:
- ubuntu/xenial-proposed
xenial-proposed-multiverse:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-proposed
components: multiverse
architectures: amd64
@@ -192,7 +209,7 @@
distributions:
- ubuntu/xenial-proposed
xenial-proposed-restricted:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-proposed
components: restricted
architectures: amd64
@@ -205,7 +222,7 @@
distributions:
- ubuntu/xenial-proposed
xenial-proposed-universe:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-proposed
components: universe
architectures: amd64
@@ -220,7 +237,7 @@
#xenial-backports:
xenial-backports-main:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-backports
components: main
architectures: amd64
@@ -233,7 +250,7 @@
distributions:
- ubuntu/xenial-backports
xenial-backports-multiverse:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-backports
components: multiverse
architectures: amd64
@@ -246,7 +263,8 @@
distributions:
- ubuntu/xenial-backports
xenial-backports-restricted:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-backports
components: restricted
architectures: amd64
@@ -259,7 +277,8 @@
distributions:
- ubuntu/xenial-backports
xenial-backports-universe:
- source: http://cz.archive.ubuntu.com/ubuntu/
+ sources: true
+ source: http://${_param:linux_system_country_code}.archive.ubuntu.com/ubuntu/
distribution: xenial-backports
components: universe
architectures: amd64
diff --git a/aptly/server/single.yml b/aptly/server/single.yml
index d5ff8fc..8b71974 100644
--- a/aptly/server/single.yml
+++ b/aptly/server/single.yml
@@ -5,6 +5,7 @@
parameters:
_param:
nginx_aptly_server_host: ${linux:network:fqdn}
+ aptly_server_secure: true
iptables:
service:
enabled: true
@@ -71,7 +72,8 @@
aptly:
server:
enabled: true
- secure: true
- gpg_keypair_id: ${_param:aptly_gpg_keypair_id}
- gpg_public_key: ${_param:aptly_gpg_public_key}
- gpg_private_key: ${_param:aptly_gpg_private_key}
+ secure: ${_param:aptly_server_secure}
+ 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/bind/server/single.yml b/bind/server/single.yml
new file mode 100644
index 0000000..be34143
--- /dev/null
+++ b/bind/server/single.yml
@@ -0,0 +1,9 @@
+classes:
+ - service.bind.server.single
+parameters:
+ bind:
+ server:
+ enabled: true
+ recursion:
+ hosts:
+ - localhost
diff --git a/ceilometer/agent/cluster.yml b/ceilometer/agent/cluster.yml
index d4ec5da..cfd93f7 100644
--- a/ceilometer/agent/cluster.yml
+++ b/ceilometer/agent/cluster.yml
@@ -3,6 +3,7 @@
parameters:
ceilometer:
agent:
+ region: ${_param:openstack_region}
enabled: true
version: ${_param:ceilometer_version}
secret: ${_param:ceilometer_secret_key}
diff --git a/ceilometer/server/cluster.yml b/ceilometer/server/cluster.yml
index 005379d..b5d8013 100644
--- a/ceilometer/server/cluster.yml
+++ b/ceilometer/server/cluster.yml
@@ -8,6 +8,7 @@
server:
enabled: true
version: ${_param:ceilometer_version}
+ region: ${_param:openstack_region}
cluster: true
secret: ${_param:ceilometer_secret_key}
ttl: 86400
diff --git a/ceph/client/single.yml b/ceph/client/single.yml
index b01458f..6ff7cd8 100644
--- a/ceph/client/single.yml
+++ b/ceph/client/single.yml
@@ -20,10 +20,18 @@
osd_journal_size: 7500
mon:
mon_debug_dump_transactions: False
+ client:
+ rbd_cache_size: 268435456
+ rbd_cache_max_dirty: 134217728
+ rbd_cache_max_dirty_age: 5
+ rbd_cache: True
+ # TODO: Configure these keys on cluster level
# keyring:
+ # images:
+ # key:
# object:
- # key:
+ # key:
# cinder:
- # key:
+ # key:
# nova:
- # key:
\ No newline at end of file
+ # key:
diff --git a/designate/server/backend/bind.yml b/designate/server/backend/bind.yml
new file mode 100644
index 0000000..2b40424
--- /dev/null
+++ b/designate/server/backend/bind.yml
@@ -0,0 +1,36 @@
+parameters:
+ designate:
+ server:
+ backend:
+ bind9:
+ rndc_key: "${_param:designate_bind9_rndc_key}"
+ bind:
+ server:
+ key:
+ designate:
+ secret: "${_param:designate_bind9_rndc_key}"
+ algorithm: hmac-sha512
+ allow_new_zones: true
+ query: true
+ control:
+ local:
+ enabled: true
+ bind:
+ address: 127.0.0.1
+ port: 953
+ allow:
+ - 127.0.0.1
+ - ${_param:single_address}
+ keys:
+ - designate
+ client:
+ enabled: true
+ option:
+ default:
+ server: 127.0.0.1
+ port: 953
+ key: designate
+ key:
+ designate:
+ secret: "${_param:designate_bind9_rndc_key}"
+ algorithm: hmac-sha512
diff --git a/designate/server/cluster.yml b/designate/server/cluster.yml
new file mode 100644
index 0000000..573ac66
--- /dev/null
+++ b/designate/server/cluster.yml
@@ -0,0 +1,59 @@
+classes:
+- service.designate.server.cluster
+- service.keepalived.cluster.single
+- system.haproxy.proxy.listen.openstack.designate
+- service.haproxy.proxy.single
+parameters:
+ designate:
+ _support:
+ sensu:
+ enabled: false
+ server:
+ enabled: true
+ local_bind: true
+ region: ${_param:openstack_region}
+ domain_id: ${_param:designate_domain_id}
+ version: ${_param:designate_version}
+ database:
+ engine: mysql
+ host: ${_param:openstack_database_address}
+ port: 3306
+ name:
+ main_database: designate
+ pool_manager: designate_pool_manager
+ user: designate
+ password: ${_param:mysql_designate_password}
+ identity:
+ engine: keystone
+ host: ${_param:openstack_control_address}
+ port: 35357
+ tenant: service
+ user: designate
+ password: ${_param:keystone_designate_password}
+ bind:
+ api:
+ address: ${_param:single_address}
+ message_queue:
+ engine: rabbitmq
+ port: 5672
+ members:
+ - host: ${_param:openstack_message_queue_node01_address}
+ - host: ${_param:openstack_message_queue_node02_address}
+ - host: ${_param:openstack_message_queue_node03_address}
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
+ 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}
diff --git a/designate/server/single.yml b/designate/server/single.yml
new file mode 100644
index 0000000..bef6e4d
--- /dev/null
+++ b/designate/server/single.yml
@@ -0,0 +1,37 @@
+classes:
+- service.designate.server.single
+- service.haproxy.proxy.single
+parameters:
+ designate:
+ server:
+ enabled: true
+ local_bind: true
+ region: ${_param:openstack_region}
+ domain_id: ${_param:designate_domain_id}
+ version: ${_param:designate_version}
+ bind:
+ api:
+ address: ${_param:single_address}
+ database:
+ engine: mysql
+ host: ${_param:openstack_database_address}
+ port: 3306
+ name:
+ main_database: designate
+ pool_manager: designate_pool_manager
+ user: designate
+ password: ${_param:mysql_designate_password}
+ identity:
+ engine: keystone
+ host: ${_param:openstack_control_address}
+ port: 35357
+ tenant: service
+ user: designate
+ password: ${_param:keystone_designate_password}
+ message_queue:
+ engine: rabbitmq
+ host: ${_param:cluster_vip_address}
+ port: 5672
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
diff --git a/devops_portal/service/gerrit.yml b/devops_portal/service/gerrit.yml
new file mode 100644
index 0000000..6dcad9c
--- /dev/null
+++ b/devops_portal/service/gerrit.yml
@@ -0,0 +1,9 @@
+parameters:
+ devops_portal:
+ config:
+ service:
+ gerrit:
+ endpoint:
+ address: ${_param:haproxy_gerrit_bind_host}
+ port: ${_param:haproxy_gerrit_bind_port}
+ https: ${_param:haproxy_gerrit_ssl:enabled}
diff --git a/devops_portal/service/jenkins.yml b/devops_portal/service/jenkins.yml
new file mode 100644
index 0000000..349a707
--- /dev/null
+++ b/devops_portal/service/jenkins.yml
@@ -0,0 +1,9 @@
+parameters:
+ devops_portal:
+ config:
+ service:
+ jenkins:
+ endpoint:
+ address: ${_param:haproxy_jenkins_bind_host}
+ port: ${_param:haproxy_jenkins_bind_port}
+ https: ${_param:haproxy_jenkins_ssl:enabled}
diff --git a/devops_portal/service/rundeck.yml b/devops_portal/service/rundeck.yml
new file mode 100644
index 0000000..1a15473
--- /dev/null
+++ b/devops_portal/service/rundeck.yml
@@ -0,0 +1,13 @@
+parameters:
+ devops_portal:
+ config:
+ service:
+ rundeck:
+ configure_proxy: true
+ credentials:
+ username: admin
+ password: ${_param:rundeck_admin_password}
+ endpoint:
+ address: ${_param:haproxy_rundeck_bind_host}
+ port: ${_param:haproxy_rundeck_bind_port}
+ https: ${_param:haproxy_rundeck_ssl:enabled}
diff --git a/docker/swarm/manager.yml b/docker/swarm/manager.yml
index 36f5bcb..25a7fbe 100644
--- a/docker/swarm/manager.yml
+++ b/docker/swarm/manager.yml
@@ -1,4 +1,8 @@
+classes:
+ - system.docker.swarm.network.gwbridge
parameters:
+ _param:
+ docker_gwbridge_subnet: 10.20.0.0/16
docker:
swarm:
role: manager
diff --git a/docker/swarm/master.yml b/docker/swarm/master.yml
index bb2d83b..fba9af3 100644
--- a/docker/swarm/master.yml
+++ b/docker/swarm/master.yml
@@ -1,4 +1,8 @@
+classes:
+ - system.docker.swarm.network.gwbridge
parameters:
+ _param:
+ docker_gwbridge_subnet: 10.20.0.0/16
docker:
swarm:
role: master
diff --git a/docker/swarm/network/gwbridge.yml b/docker/swarm/network/gwbridge.yml
new file mode 100644
index 0000000..8208d3d
--- /dev/null
+++ b/docker/swarm/network/gwbridge.yml
@@ -0,0 +1,10 @@
+parameters:
+ docker:
+ swarm:
+ network:
+ docker_gwbridge:
+ subnet: ${_param:docker_gwbridge_subnet}
+ opt:
+ com.docker.network.bridge.name: docker_gwbridge
+ com.docker.network.bridge.enable_icc: false
+ com.docker.network.bridge.enable_ip_masquerade: true
diff --git a/docker/swarm/network/monitoring.yml b/docker/swarm/network/monitoring.yml
new file mode 100644
index 0000000..a049aac
--- /dev/null
+++ b/docker/swarm/network/monitoring.yml
@@ -0,0 +1,8 @@
+parameters:
+ docker:
+ client:
+ network:
+ monitoring:
+ driver: overlay
+ opt:
+ encrypted: true
diff --git a/docker/swarm/service/aptly.yml b/docker/swarm/service/aptly.yml
index d85b1b4..5f6de6e 100644
--- a/docker/swarm/service/aptly.yml
+++ b/docker/swarm/service/aptly.yml
@@ -1,4 +1,8 @@
parameters:
+ _param:
+ docker_image_aptly:
+ api: tcpcloud/aptly-api
+ public: tcpcloud/aptly-public
docker:
client:
service:
diff --git a/docker/swarm/service/dashboard/grafana_server.yml b/docker/swarm/service/dashboard/grafana_server.yml
new file mode 100644
index 0000000..4ed587e
--- /dev/null
+++ b/docker/swarm/service/dashboard/grafana_server.yml
@@ -0,0 +1,13 @@
+parameters:
+ docker:
+ client:
+ service:
+ grafana_server:
+ replica: 1
+ environment:
+ 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/devops_portal.yml b/docker/swarm/service/devops_portal.yml
new file mode 100644
index 0000000..6a82aa5
--- /dev/null
+++ b/docker/swarm/service/devops_portal.yml
@@ -0,0 +1,23 @@
+parameters:
+ _param:
+ docker_devops_portal_replicas: 1
+ docker_image_devops_portal: docker-sandbox.sandbox.mirantis.net/ikharin/oss/devops-portal:latest
+ docker:
+ client:
+ service:
+ devops-portal:
+ replicas: ${_param:docker_devops_portal_replicas}
+ image: ${_param:docker_image_devops_portal}
+ restart:
+ condition: any
+ ports:
+ - 18800:8000
+ volume:
+ nginx:
+ type: bind
+ source: /srv/volumes/devops_portal/nginx/
+ destination: /etc/nginx/config
+ config:
+ type: bind
+ source: /srv/volumes/devops_portal/config/
+ destination: /opt/devops-portal/config
diff --git a/docker/swarm/service/docker.yml b/docker/swarm/service/docker.yml
index a79fc08..d20b4db 100644
--- a/docker/swarm/service/docker.yml
+++ b/docker/swarm/service/docker.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ docker_image_registry: registry:2
docker:
client:
service:
diff --git a/docker/swarm/service/gerrit.yml b/docker/swarm/service/gerrit.yml
index d1bdfae..d33bdbb 100644
--- a/docker/swarm/service/gerrit.yml
+++ b/docker/swarm/service/gerrit.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ docker_image_gerrit: tcpcloud/gerrit:2.12.7
docker:
client:
service:
diff --git a/docker/swarm/service/jenkins.yml b/docker/swarm/service/jenkins.yml
index c0b0721..3069dc6 100644
--- a/docker/swarm/service/jenkins.yml
+++ b/docker/swarm/service/jenkins.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ docker_image_jenkins: tcpcloud/jenkins:2.50
docker:
client:
service:
diff --git a/docker/swarm/service/monitoring/prometheus_alertmanager.yml b/docker/swarm/service/monitoring/prometheus_alertmanager.yml
new file mode 100644
index 0000000..74b20f5
--- /dev/null
+++ b/docker/swarm/service/monitoring/prometheus_alertmanager.yml
@@ -0,0 +1,23 @@
+include:
+- service.prometheus.alertmanager.container
+parameters:
+ docker:
+ client:
+ service:
+ prometheus_alertmanager:
+ network: monitoring
+ replica: 2
+ environment:
+ config_dir: /opt/alertmanager/config
+ bind_port: ${prometheus:alertmanager:bind:port}
+ bind_address: ${prometheus:alertmanager:bind:address}
+ restart:
+ condition: any
+ image: ${_param:docker_image_alertmanager}
+ ports:
+ - 15011:${prometheus:alertmanager:bind:port}
+ volume:
+ site:
+ type: bind
+ source: /srv/volumes/prometheus-config
+ destination: /opt/alertmanager/config
diff --git a/docker/swarm/service/monitoring/prometheus_pushgateway.yml b/docker/swarm/service/monitoring/prometheus_pushgateway.yml
new file mode 100644
index 0000000..7ba37af
--- /dev/null
+++ b/docker/swarm/service/monitoring/prometheus_pushgateway.yml
@@ -0,0 +1,12 @@
+parameters:
+ docker:
+ client:
+ service:
+ prometheus_pushgateway:
+ network: monitoring
+ replica: 2
+ restart:
+ condition: any
+ image: ${_param:docker_image_pushgateway}
+ ports:
+ - 15012:9091
diff --git a/docker/swarm/service/monitoring/prometheus_server.yml b/docker/swarm/service/monitoring/prometheus_server.yml
new file mode 100644
index 0000000..24a9193
--- /dev/null
+++ b/docker/swarm/service/monitoring/prometheus_server.yml
@@ -0,0 +1,29 @@
+include:
+- service.prometheus.server.container
+parameters:
+ docker:
+ client:
+ service:
+ prometheus_server:
+ network: monitoring
+ replica: 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}
+ restart:
+ condition: any
+ image: ${_param:docker_image_prometheus}
+ ports:
+ - 15010:${prometheus:server:bind:port}
+ volume:
+ site:
+ type: bind
+ source: /srv/volumes/prometheus-config
+ destination: /opt/prometheus/config
diff --git a/docker/swarm/service/mysql.yml b/docker/swarm/service/mysql.yml
index 53faa8b..f94cf4d 100644
--- a/docker/swarm/service/mysql.yml
+++ b/docker/swarm/service/mysql.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ docker_image_mysql: mysql:5.6
docker:
client:
service:
@@ -10,7 +12,7 @@
MYSQL_ROOT_PASSWORD: ${_param:mysql_admin_password}
restart:
condition: any
- image: "mysql:5.6"
+ image: "${_param:docker_image_mysql}"
ports:
- 13306:3306
volume:
diff --git a/docker/swarm/service/openldap.yml b/docker/swarm/service/openldap.yml
index d009ed5..9745017 100644
--- a/docker/swarm/service/openldap.yml
+++ b/docker/swarm/service/openldap.yml
@@ -1,4 +1,6 @@
parameters:
+ _param:
+ docker_image_openldap: osixia/openldap:1.1.8
docker:
client:
service:
@@ -7,20 +9,20 @@
# https://github.com/docker/docker/issues/24877
restart:
condition: any
- image: osixia/openldap:1.1.7
+ image: ${_param:docker_image_openldap}
environment:
- HOSTNAME: ldap01.${_param:cluster_public_host}
+ HOSTNAME: ldap01.${_param:openldap_domain}
LDAP_ORGANISATION: "${_param:openldap_organisation}"
LDAP_DOMAIN: "${_param:openldap_domain}"
LDAP_ADMIN_PASSWORD: ${_param:openldap_admin_password}
LDAP_CONFIG_PASSWORD: ${_param:openldap_config_password}
- LDAP_READONLY_USER: true
+ LDAP_READONLY_USER: "true"
LDAP_READONLY_USER_USERNAME: readonly
LDAP_READONLY_USER_PASSWORD: ${_param:openldap_readonly_password}
- LDAP_TLS: false
+ LDAP_TLS: "false"
ports:
- - 389:389
- - 636:636
+ - 1389:389
+ - 1636:636
volume:
database:
type: bind
diff --git a/docker/swarm/service/phpldapadmin.yml b/docker/swarm/service/phpldapadmin.yml
new file mode 100644
index 0000000..3a6d2e4
--- /dev/null
+++ b/docker/swarm/service/phpldapadmin.yml
@@ -0,0 +1,17 @@
+parameters:
+ _param:
+ docker_image_phpldapadmin: osixia/phpldapadmin:0.6.12
+ docker:
+ client:
+ service:
+ phpldapadmin:
+ restart:
+ condition: any
+ image: ${_param:docker_image_phpldapadmin}
+ environment:
+ PHPLDAPADMIN_LDAP_HOSTS: "#PYTHON2BASH: [{'ldap.${_param:cluster_public_host}': [{'server': [{'tls': False}, {'host': '${_param:cluster_vip_address}'}, {'port': 389}]}, {'login': [{'bind_id': 'cn=admin'}, {'bind_pass': '${_param:openldap_admin_password}'}]}]}]"
+ PHPLDAPADMIN_HTTPS: false
+ PHPLDAPADMIN_TRUST_PROXY_SSL: true
+ PHPLDAPADMIN_SERVER_ADMIN: ${_param:admin_email}
+ ports:
+ - 18089:80
diff --git a/docker/swarm/service/rundeck.yml b/docker/swarm/service/rundeck.yml
new file mode 100644
index 0000000..baad94a
--- /dev/null
+++ b/docker/swarm/service/rundeck.yml
@@ -0,0 +1,47 @@
+parameters:
+ _param:
+ docker_rundeck_replicas: 1
+ docker_image_rundeck: docker-sandbox.sandbox.mirantis.net/ikharin/oss/rundeck:latest
+ rundeck_admin_password: password
+ docker:
+ client:
+ service:
+ rundeck:
+ environment:
+ SERVER_URL: "http://${_param:haproxy_rundeck_bind_host}:${_param:haproxy_rundeck_bind_port}"
+ RUNDECK_ADMIN_PASSWORD: ${_param:rundeck_admin_password}
+ replicas: ${_param:docker_rundeck_replicas}
+ image: ${_param:docker_image_rundeck}
+ restart:
+ condition: any
+ ports:
+ - 14440:4440
+ volume:
+ etc:
+ type: bind
+ source: /srv/volumes/rundeck/etc
+ destination: /etc/rundeck
+ rundeck:
+ type: bind
+ source: /srv/volumes/rundeck/rundeck
+ destination: /var/rundeck
+ mysql:
+ type: bind
+ source: /srv/volumes/rundeck/mysql
+ destination: /var/lib/mysql
+ log:
+ type: bind
+ source: /srv/volumes/rundeck/log
+ destination: /var/log/rundeck
+ logs:
+ type: bind
+ source: /srv/volumes/rundeck/logs
+ destination: /var/lib/rundeck/logs
+ plugins:
+ type: bind
+ source: /srv/volumes/rundeck/plugins
+ destination: /opt/rundeck-plugins
+ storage:
+ type: bind
+ source: /srv/volumes/rundeck/storage
+ destination: /var/lib/rundeck/var/storage
diff --git a/docker/swarm/service/visualizer.yml b/docker/swarm/service/visualizer.yml
index fe52c0b..8519363 100644
--- a/docker/swarm/service/visualizer.yml
+++ b/docker/swarm/service/visualizer.yml
@@ -1,11 +1,13 @@
parameters:
+ _param:
+ docker_image_visualizer: manomarks/visualizer
docker:
client:
service:
visualizer:
restart:
condition: any
- image: manomarks/visualizer
+ image: ${_param:docker_image_visualizer}
constraint: "node.role==manager"
ports:
- 18090:8080
diff --git a/docker/swarm/worker.yml b/docker/swarm/worker.yml
index acdb0cf..643b207 100644
--- a/docker/swarm/worker.yml
+++ b/docker/swarm/worker.yml
@@ -1,4 +1,8 @@
+classes:
+ - system.docker.swarm.network.gwbridge
parameters:
+ _param:
+ docker_gwbridge_subnet: 10.20.0.0/16
docker:
swarm:
role: worker
diff --git a/gerrit/client/project/ci.yml b/gerrit/client/project/ci.yml
new file mode 100644
index 0000000..f1fdcd1
--- /dev/null
+++ b/gerrit/client/project/ci.yml
@@ -0,0 +1,20 @@
+parameters:
+ gerrit:
+ client:
+ project:
+ mcp-ci/pipeline-library:
+ enabled: true
+ description: Jenkins pipeline libraries
+ upstream: https://github.com/Mirantis/pipeline-library
+ access: ${gerrit:client:default_access}
+ require_change_id: true
+ require_agreement: false
+ merge_content: true
+ mk/mk-pipelines:
+ enabled: true
+ description: Jenkins pipelines
+ upstream: https://github.com/Mirantis/mk-pipelines
+ access: ${gerrit:client:default_access}
+ require_change_id: true
+ require_agreement: false
+ merge_content: true
diff --git a/glusterfs/client/volume/aptly.yml b/glusterfs/client/volume/aptly.yml
index c894428..86a1b40 100644
--- a/glusterfs/client/volume/aptly.yml
+++ b/glusterfs/client/volume/aptly.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ aptly_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
aptly:
path: /srv/volumes/aptly
- server: ${_param:cluster_node01_address}
- opts: 'defaults'
+ server: ${_param:aptly_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/artifactory.yml b/glusterfs/client/volume/artifactory.yml
index 056ff82..2d36961 100644
--- a/glusterfs/client/volume/artifactory.yml
+++ b/glusterfs/client/volume/artifactory.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ artifactory_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
artifactory:
path: /srv/volumes/artifactory
- server: ${_param:cluster_node01_address}
- opts: 'defaults'
+ server: ${_param:artifactory_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/devops_portal.yml b/glusterfs/client/volume/devops_portal.yml
new file mode 100644
index 0000000..9a3c291
--- /dev/null
+++ b/glusterfs/client/volume/devops_portal.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ devops_portal_glusterfs_service_host: ${_param:glusterfs_service_host}
+ glusterfs:
+ client:
+ volumes:
+ devops_portal:
+ path: /srv/volumes/devops_portal
+ server: ${_param:devops_portal_glusterfs_service_host}
+ opts: 'defaults'
diff --git a/glusterfs/client/volume/gerrit.yml b/glusterfs/client/volume/gerrit.yml
index 9cbef86..39e9559 100644
--- a/glusterfs/client/volume/gerrit.yml
+++ b/glusterfs/client/volume/gerrit.yml
@@ -1,10 +1,12 @@
parameters:
+ _param:
+ gerrit_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
gerrit:
path: /srv/volumes/gerrit
- server: ${_param:cluster_node01_address}
- opts: 'defaults'
+ server: ${_param:gerrit_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
user: 1000
group: 1000
diff --git a/glusterfs/client/volume/glance.yml b/glusterfs/client/volume/glance.yml
index 66a4166..25cc988 100644
--- a/glusterfs/client/volume/glance.yml
+++ b/glusterfs/client/volume/glance.yml
@@ -9,3 +9,4 @@
server: ${_param:glance_glusterfs_service_host}
user: glance
group: glance
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/jenkins.yml b/glusterfs/client/volume/jenkins.yml
index 5f804fe..8ca47e2 100644
--- a/glusterfs/client/volume/jenkins.yml
+++ b/glusterfs/client/volume/jenkins.yml
@@ -1,10 +1,12 @@
parameters:
+ _param:
+ jenkins_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
jenkins:
path: /srv/volumes/jenkins
- server: ${_param:cluster_node01_address}
- opts: 'defaults'
+ server: ${_param:jenkins_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
user: 1000
group: 1000
diff --git a/glusterfs/client/volume/keystone.yml b/glusterfs/client/volume/keystone.yml
index 188ea03..415e93f 100644
--- a/glusterfs/client/volume/keystone.yml
+++ b/glusterfs/client/volume/keystone.yml
@@ -8,4 +8,5 @@
path: /var/lib/keystone/fernet-keys
server: ${_param:keystone_glusterfs_service_host}
user: keystone
- group: keystone
\ No newline at end of file
+ group: keystone
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/mysql.yml b/glusterfs/client/volume/mysql.yml
index ebd91fd..3208a71 100644
--- a/glusterfs/client/volume/mysql.yml
+++ b/glusterfs/client/volume/mysql.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ mysql_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
mysql:
path: /srv/volumes/mysql
- server: ${_param:cluster_node01_address}
- opts: 'defaults'
+ server: ${_param:mysql_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/openldap.yml b/glusterfs/client/volume/openldap.yml
index ada164e..0de1d10 100644
--- a/glusterfs/client/volume/openldap.yml
+++ b/glusterfs/client/volume/openldap.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ openldap_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
openldap:
path: /srv/volumes/openldap
- server: ${_param:cluster_node01_address}
- opts: 'defaults'
+ server: ${_param:openldap_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/postgresql.yml b/glusterfs/client/volume/postgresql.yml
index 1867d82..087afa9 100644
--- a/glusterfs/client/volume/postgresql.yml
+++ b/glusterfs/client/volume/postgresql.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ postgresql_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
postgresql:
path: /srv/volumes/postgresql
- server: ${_param:cluster_node01_address}
- opts: 'defaults'
+ server: ${_param:postgresql_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/prometheus.yml b/glusterfs/client/volume/prometheus.yml
new file mode 100644
index 0000000..f8b2f3d
--- /dev/null
+++ b/glusterfs/client/volume/prometheus.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ prometheus_glusterfs_service_host: ${_param:glusterfs_service_host}
+ glusterfs:
+ client:
+ volumes:
+ prometheus-config:
+ path: /srv/volumes/prometheus-config
+ server: ${_param:prometheus_glusterfs_service_host}
+ opts: 'defaults'
diff --git a/glusterfs/client/volume/registry.yml b/glusterfs/client/volume/registry.yml
index 4b5d664..2bb5019 100644
--- a/glusterfs/client/volume/registry.yml
+++ b/glusterfs/client/volume/registry.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ registry_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
registry:
path: /srv/volumes/registry
- server: ${_param:cluster_node01_address}
- opts: 'defaults'
+ server: ${_param:registry_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/client/volume/rundeck.yml b/glusterfs/client/volume/rundeck.yml
new file mode 100644
index 0000000..b226aeb
--- /dev/null
+++ b/glusterfs/client/volume/rundeck.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ rundeck_glusterfs_service_host: ${_param:glusterfs_service_host}
+ glusterfs:
+ client:
+ volumes:
+ rundeck:
+ path: /srv/volumes/rundeck
+ server: ${_param:rundeck_glusterfs_service_host}
+ opts: 'defaults'
diff --git a/glusterfs/client/volume/salt.yml b/glusterfs/client/volume/salt.yml
index f94b316..7ed434a 100644
--- a/glusterfs/client/volume/salt.yml
+++ b/glusterfs/client/volume/salt.yml
@@ -1,8 +1,10 @@
parameters:
+ _param:
+ salt_glusterfs_service_host: ${_param:glusterfs_service_host}
glusterfs:
client:
volumes:
saltmaster:
path: /etc/salt/pki/master
- server: ${_param:cluster_node01_address}
- opts: 'defaults'
+ server: ${_param:salt_glusterfs_service_host}
+ opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/server/volume/devops_portal.yml b/glusterfs/server/volume/devops_portal.yml
new file mode 100644
index 0000000..0b71b62
--- /dev/null
+++ b/glusterfs/server/volume/devops_portal.yml
@@ -0,0 +1,17 @@
+parameters:
+ glusterfs:
+ server:
+ volumes:
+ devops_portal:
+ storage: /srv/glusterfs/devops_portal
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/devops_portal
+ - ${_param:cluster_node02_address}:/srv/glusterfs/devops_portal
+ - ${_param:cluster_node03_address}:/srv/glusterfs/devops_portal
+ 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/prometheus.yml b/glusterfs/server/volume/prometheus.yml
new file mode 100644
index 0000000..2c4ca31
--- /dev/null
+++ b/glusterfs/server/volume/prometheus.yml
@@ -0,0 +1,17 @@
+parameters:
+ glusterfs:
+ server:
+ volumes:
+ prometheus-config:
+ storage: /srv/glusterfs/prometheus-config
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/prometheus-config
+ - ${_param:cluster_node02_address}:/srv/glusterfs/prometheus-config
+ - ${_param:cluster_node03_address}:/srv/glusterfs/prometheus-config
+ 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/rundeck.yml b/glusterfs/server/volume/rundeck.yml
new file mode 100644
index 0000000..22e5563
--- /dev/null
+++ b/glusterfs/server/volume/rundeck.yml
@@ -0,0 +1,17 @@
+parameters:
+ glusterfs:
+ server:
+ volumes:
+ rundeck:
+ storage: /srv/glusterfs/rundeck
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/rundeck
+ - ${_param:cluster_node02_address}:/srv/glusterfs/rundeck
+ - ${_param:cluster_node03_address}:/srv/glusterfs/rundeck
+ 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/grafana/server/plugin/piechart.yml b/grafana/server/plugin/piechart.yml
new file mode 100644
index 0000000..090872c
--- /dev/null
+++ b/grafana/server/plugin/piechart.yml
@@ -0,0 +1,6 @@
+parameters:
+ grafana:
+ server:
+ plugins:
+ grafana-piechart-panel:
+ enabled: true
diff --git a/haproxy/proxy/listen/cicd/aptly.yml b/haproxy/proxy/listen/cicd/aptly.yml
index 64115ff..fb24c1f 100644
--- a/haproxy/proxy/listen/cicd/aptly.yml
+++ b/haproxy/proxy/listen/cicd/aptly.yml
@@ -1,6 +1,8 @@
parameters:
_param:
+ haproxy_aptly_api_bind_host: ${_param:haproxy_bind_address}
haproxy_aptly_api_bind_port: 8084
+ haproxy_aptly_public_bind_host: ${_param:haproxy_bind_address}
haproxy_aptly_public_bind_port: 8085
haproxy:
proxy:
@@ -13,7 +15,7 @@
- httplog
balance: source
binds:
- - address: ${_param:haproxy_bind_address}
+ - address: ${_param:haproxy_aptly_api_bind_host}
port: ${_param:haproxy_aptly_api_bind_port}
servers:
- name: ${_param:cluster_node01_name}
@@ -36,7 +38,7 @@
- httplog
balance: source
binds:
- - address: ${_param:haproxy_bind_address}
+ - address: ${_param:haproxy_aptly_public_bind_host}
port: ${_param:haproxy_aptly_public_bind_port}
servers:
- name: ${_param:cluster_node01_name}
diff --git a/haproxy/proxy/listen/cicd/gerrit.yml b/haproxy/proxy/listen/cicd/gerrit.yml
index a9f0a3c..51d494b 100644
--- a/haproxy/proxy/listen/cicd/gerrit.yml
+++ b/haproxy/proxy/listen/cicd/gerrit.yml
@@ -1,7 +1,11 @@
parameters:
_param:
+ haproxy_gerrit_bind_host: ${_param:haproxy_bind_address}
haproxy_gerrit_bind_port: 8080
+ haproxy_gerrit_ssh_bind_host: ${_param:haproxy_gerrit_bind_host}
haproxy_gerrit_ssh_bind_port: 29418
+ haproxy_gerrit_ssl:
+ enabled: false
haproxy:
proxy:
listen:
@@ -13,9 +17,13 @@
- httpclose
- httplog
balance: source
+ http_request:
+ - action: "add-header X-Forwarded-Proto https"
+ condition: "if { ssl_fc }"
binds:
- - address: ${_param:haproxy_bind_address}
+ - address: ${_param:haproxy_gerrit_bind_host}
port: ${_param:haproxy_gerrit_bind_port}
+ ssl: ${_param:haproxy_gerrit_ssl}
servers:
- name: ${_param:cluster_node01_name}
host: ${_param:cluster_node01_address}
@@ -33,7 +41,7 @@
mode: tcp
balance: source
binds:
- - address: ${_param:haproxy_bind_address}
+ - address: ${_param:haproxy_gerrit_ssh_bind_host}
port: ${_param:haproxy_gerrit_ssh_bind_port}
servers:
- name: ${_param:cluster_node01_name}
diff --git a/haproxy/proxy/listen/cicd/jenkins.yml b/haproxy/proxy/listen/cicd/jenkins.yml
index e91d9f2..eda12f8 100644
--- a/haproxy/proxy/listen/cicd/jenkins.yml
+++ b/haproxy/proxy/listen/cicd/jenkins.yml
@@ -1,7 +1,11 @@
parameters:
_param:
+ haproxy_jenkins_bind_host: ${_param:haproxy_bind_address}
haproxy_jenkins_bind_port: 8081
+ haproxy_jenkins_jnlp_bind_host: ${_param:haproxy_jenkins_bind_host}
haproxy_jenkins_jnlp_bind_port: 50000
+ haproxy_jenkins_ssl:
+ enabled: false
haproxy:
proxy:
listen:
@@ -13,11 +17,15 @@
- httpclose
- httplog
balance: source
+ http_request:
+ - action: "add-header X-Forwarded-Proto https"
+ condition: "if { ssl_fc }"
http_response:
- action: "del-header X-Frame-Options"
binds:
- - address: ${_param:haproxy_bind_address}
+ - address: ${_param:haproxy_jenkins_bind_host}
port: ${_param:haproxy_jenkins_bind_port}
+ ssl: ${_param:haproxy_jenkins_ssl}
servers:
- name: ${_param:cluster_node01_name}
host: ${_param:cluster_node01_address}
@@ -35,7 +43,7 @@
mode: tcp
balance: source
binds:
- - address: ${_param:haproxy_bind_address}
+ - address: ${_param:haproxy_jenkins_jnlp_bind_host}
port: ${_param:haproxy_jenkins_jnlp_bind_port}
servers:
- name: ${_param:cluster_node01_name}
diff --git a/haproxy/proxy/listen/docker/registry.yml b/haproxy/proxy/listen/docker/registry.yml
index 2a86aa4..8d45e97 100644
--- a/haproxy/proxy/listen/docker/registry.yml
+++ b/haproxy/proxy/listen/docker/registry.yml
@@ -1,6 +1,9 @@
parameters:
_param:
+ haproxy_docker_registry_listen_host: ${_param:haproxy_bind_address}
haproxy_docker_registry_listen_port: 5000
+ haproxy_docker_registry_ssl:
+ enabled: false
haproxy:
proxy:
listen:
@@ -15,9 +18,9 @@
- action: "add-header X-Forwarded-Proto https"
condition: "if { ssl_fc }"
binds:
- - address: ${_param:haproxy_bind_address}
+ - address: ${_param:haproxy_docker_registry_listen_host}
port: ${_param:haproxy_docker_registry_listen_port}
- ssl: ${_param:cluster_ssl_certificate}
+ ssl: ${_param:haproxy_docker_registry_ssl}
servers:
- name: ${_param:cluster_node01_name}
host: ${_param:cluster_node01_address}
diff --git a/haproxy/proxy/listen/openldap.yml b/haproxy/proxy/listen/openldap.yml
new file mode 100644
index 0000000..b6f79a0
--- /dev/null
+++ b/haproxy/proxy/listen/openldap.yml
@@ -0,0 +1,46 @@
+parameters:
+ _param:
+ haproxy_openldap_bind_host: ${_param:haproxy_bind_address}
+ haproxy_openldap_bind_port: 389
+ haproxy_openldap_ssl_bind_port: 636
+ haproxy:
+ proxy:
+ listen:
+ openldap:
+ mode: tcp
+ balance: source
+ binds:
+ - address: ${_param:haproxy_openldap_bind_host}
+ port: ${_param:haproxy_openldap_bind_port}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 1389
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 1389
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 1389
+ params: backup check
+ openldap_ssl:
+ mode: tcp
+ balance: source
+ binds:
+ - address: ${_param:haproxy_openldap_bind_host}
+ port: ${_param:haproxy_openldap_ssl_bind_port}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 1636
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 1636
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 1636
+ params: backup check
diff --git a/haproxy/proxy/listen/openstack/designate.yml b/haproxy/proxy/listen/openstack/designate.yml
new file mode 100644
index 0000000..7a54af2
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/designate.yml
@@ -0,0 +1,19 @@
+parameters:
+ haproxy:
+ proxy:
+ listen:
+ designate_api:
+ type: openstack-service
+ service_name: designate
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 9001
+ servers:
+ - name: ${_param:cluster_node01_hostname}
+ host: ${_param:cluster_node01_address}
+ port: 9001
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+ - name: ${_param:cluster_node02_hostname}
+ host: ${_param:cluster_node02_address}
+ port: 9001
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
diff --git a/haproxy/proxy/listen/openstack/novnc.yml b/haproxy/proxy/listen/openstack/novnc.yml
index 9646651..78b7d98 100644
--- a/haproxy/proxy/listen/openstack/novnc.yml
+++ b/haproxy/proxy/listen/openstack/novnc.yml
@@ -5,7 +5,7 @@
nova_novnc:
type: general-service
service_name: http
- check: false
+ check: true
binds:
- address: ${_param:cluster_vip_address}
port: 6080
diff --git a/haproxy/proxy/listen/oss/devops_portal.yml b/haproxy/proxy/listen/oss/devops_portal.yml
new file mode 100644
index 0000000..e5c25cf
--- /dev/null
+++ b/haproxy/proxy/listen/oss/devops_portal.yml
@@ -0,0 +1,37 @@
+parameters:
+ _param:
+ haproxy_devops_portal_bind_host: ${_param:haproxy_bind_address}
+ haproxy_devops_portal_bind_port: 8800
+ haproxy_devops_portal_ssl:
+ enabled: false
+ haproxy:
+ proxy:
+ listen:
+ devops_portal:
+ 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_devops_portal_bind_host}
+ port: ${_param:haproxy_devops_portal_bind_port}
+ ssl: ${_param:haproxy_devops_portal_ssl}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 18800
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 18800
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 18800
+ params: backup check
diff --git a/haproxy/proxy/listen/oss/rundeck.yml b/haproxy/proxy/listen/oss/rundeck.yml
new file mode 100644
index 0000000..fbabb38
--- /dev/null
+++ b/haproxy/proxy/listen/oss/rundeck.yml
@@ -0,0 +1,37 @@
+parameters:
+ _param:
+ haproxy_rundeck_bind_host: ${_param:haproxy_bind_address}
+ haproxy_rundeck_bind_port: 4440
+ haproxy_rundeck_ssl:
+ enabled: false
+ haproxy:
+ proxy:
+ listen:
+ rundeck:
+ 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_rundeck_bind_host}
+ port: ${_param:haproxy_rundeck_bind_port}
+ ssl: ${_param:haproxy_rundeck_ssl}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 14440
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 14440
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 14440
+ params: backup check
diff --git a/haproxy/proxy/listen/phpldapadmin.yml b/haproxy/proxy/listen/phpldapadmin.yml
new file mode 100644
index 0000000..b2b7f93
--- /dev/null
+++ b/haproxy/proxy/listen/phpldapadmin.yml
@@ -0,0 +1,30 @@
+parameters:
+ _param:
+ haproxy_phpldapadmin_bind_host: ${_param:haproxy_bind_address}
+ haproxy_phpldapadmin_bind_port: 8089
+ haproxy:
+ proxy:
+ listen:
+ phpldapadmin:
+ mode: http
+ options:
+ - forwardfor
+ - httpclose
+ - httplog
+ balance: source
+ binds:
+ - address: ${_param:haproxy_phpldapadmin_bind_host}
+ port: ${_param:haproxy_phpldapadmin_bind_port}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 18089
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 18089
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 18089
+ params: backup check
diff --git a/heka/ceilometer_collector/output/sensu.yml b/heka/ceilometer_collector/output/sensu.yml
new file mode 100644
index 0000000..56dee92
--- /dev/null
+++ b/heka/ceilometer_collector/output/sensu.yml
@@ -0,0 +1,3 @@
+classes:
+- service.heka.ceilometer_collector.output.sensu
+
diff --git a/heka/log_collector/output/sensu.yml b/heka/log_collector/output/sensu.yml
new file mode 100644
index 0000000..e7bf79d
--- /dev/null
+++ b/heka/log_collector/output/sensu.yml
@@ -0,0 +1,3 @@
+classes:
+- service.heka.log_collector.output.sensu
+
diff --git a/heka/metric_collector/output/sensu.yml b/heka/metric_collector/output/sensu.yml
new file mode 100644
index 0000000..3143fd9
--- /dev/null
+++ b/heka/metric_collector/output/sensu.yml
@@ -0,0 +1,3 @@
+classes:
+- service.heka.metric_collector.output.sensu
+
diff --git a/heka/remote_collector/output/sensu.yml b/heka/remote_collector/output/sensu.yml
new file mode 100644
index 0000000..c7c66e9
--- /dev/null
+++ b/heka/remote_collector/output/sensu.yml
@@ -0,0 +1,3 @@
+classes:
+- service.heka.remote_collector.output.sensu
+
diff --git a/horizon/server/single.yml b/horizon/server/single.yml
index 5a83b2a..c20de5a 100644
--- a/horizon/server/single.yml
+++ b/horizon/server/single.yml
@@ -1,6 +1,5 @@
classes:
- service.horizon.server.single
-- system.horizon.server.plugin.theme
parameters:
_param:
horizon_site_branding: OpenStack Dashboard
diff --git a/jenkins/client/approved_scripts.yml b/jenkins/client/approved_scripts.yml
new file mode 100644
index 0000000..3be23f3
--- /dev/null
+++ b/jenkins/client/approved_scripts.yml
@@ -0,0 +1,89 @@
+parameters:
+ jenkins:
+ client:
+ approved_scripts:
+ - field java.lang.String value
+ - field java.util.ArrayList size
+ - method com.cloudbees.jenkins.plugins.sshcredentials.SSHUserPrivateKey getPrivateKey
+ - method com.cloudbees.plugins.credentials.common.IdCredentials getId
+ - method com.cloudbees.plugins.credentials.common.PasswordCredentials getPassword
+ - method com.cloudbees.plugins.credentials.common.UsernameCredentials getUsername
+ - method groovy.json.JsonBuilder toPrettyString
+ - method groovy.json.JsonSlurperClassic parseText java.lang.String
+ - method groovy.lang.GString getBytes
+ - method groovy.lang.GroovyObject getProperty java.lang.String
+ - method hudson.PluginManager getPlugins
+ - method hudson.PluginWrapper getShortName
+ - method hudson.model.Item getName
+ - method hudson.model.ItemGroup getItem java.lang.String
+ - method hudson.model.ItemGroup getItems
+ - method hudson.model.Job getBuilds
+ - method hudson.model.Job getLastBuild
+ - method hudson.model.Run getEnvironment
+ - method hudson.model.Run getResult
+ - method hudson.model.Run getTimeInMillis
+ - method hudson.model.Run isBuilding
+ - method java.io.File getAbsolutePath
+ - method java.io.File getName
+ - method java.io.File getParent
+ - method java.io.Writer write java.lang.String
+ - method java.lang.AutoCloseable close
+ - method java.lang.Class isInstance java.lang.Object
+ - method java.lang.Iterable iterator
+ - method java.net.HttpURLConnection getResponseCode
+ - method java.net.HttpURLConnection setRequestMethod java.lang.String
+ - method java.net.URI getHost
+ - method java.net.URI getPort
+ - method java.net.URL openConnection
+ - method java.net.URLConnection getHeaderField java.lang.String
+ - method java.net.URLConnection getInputStream
+ - method java.net.URLConnection getOutputStream
+ - method java.net.URLConnection setDoOutput boolean
+ - method java.net.URLConnection setRequestProperty java.lang.String java.lang.String
+ - method java.util.Collection remove java.lang.Object
+ - method java.util.LinkedHashMap$LinkedHashIterator hasNext
+ - method java.util.List subList int int
+ - method java.util.Map remove java.lang.Object
+ - method java.util.Map size
+ - method java.util.regex.MatchResult group int
+ - method java.util.regex.Matcher matches
+ - method java.util.regex.Pattern matcher java.lang.CharSequence
+ - method jenkins.model.Jenkins getPluginManager
+ - method org.jenkinsci.plugins.workflow.job.WorkflowRun doStop
+ - method org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper build
+ - new groovy.json.JsonBuilder java.lang.Object
+ - new groovy.json.JsonSlurperClassic
+ - new java.io.File java.lang.String
+ - new java.io.OutputStreamWriter java.io.OutputStream
+ - new java.lang.Exception java.lang.String
+ - new java.lang.InterruptedException
+ - new java.net.URI java.lang.String
+ - new java.util.Date
+ - staticField groovy.io.FileType FILES
+ - staticMethod com.cloudbees.plugins.credentials.CredentialsProvider lookupCredentials java.lang.Class hudson.model.ItemGroup
+ - staticMethod java.lang.Integer valueOf java.lang.String
+ - staticMethod java.lang.String format java.lang.String java.lang.Object[]
+ - staticMethod java.lang.System exit int
+ - staticMethod java.lang.System getProperty java.lang.String
+ - staticMethod java.lang.System getenv java.lang.String
+ - staticMethod java.util.regex.Pattern quote java.lang.String
+ - staticMethod jenkins.model.Jenkins getInstance
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods collect java.util.Map groovy.lang.Closure
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods eachFile java.io.File groovy.io.FileType groovy.lang.Closure
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods find java.util.Collection groovy.lang.Closure
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods findAll java.util.List groovy.lang.Closure
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods get java.util.Map java.lang.Object java.lang.Object
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getAt java.lang.Iterable int
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getAt java.lang.String int
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getBytes java.io.File
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getText java.io.InputStream
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods hasProperty java.lang.Object java.lang.String
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods iterator java.lang.Object
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods iterator java.lang.Object[]
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods plus java.util.List java.lang.Iterable
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods plus java.util.List java.lang.Object
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods plus java.util.List java.util.Collection
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods println java.lang.Object java.lang.Object
+ - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods putAt java.lang.Object java.lang.String java.lang.Object
+ - staticMethod org.codehaus.groovy.runtime.EncodingGroovyMethods encodeBase64 byte[]
+ - staticMethod org.codehaus.groovy.runtime.ScriptBytecodeAdapter bitwiseNegate java.lang.Object
diff --git a/jenkins/client/credential/gerrit.yml b/jenkins/client/credential/gerrit.yml
index 3b7eb0c..b42f5af 100644
--- a/jenkins/client/credential/gerrit.yml
+++ b/jenkins/client/credential/gerrit.yml
@@ -1,7 +1,9 @@
parameters:
+ _param:
+ gerrit_admin_user: admin
jenkins:
client:
credential:
gerrit:
- username: admin
+ username: ${_param:gerrit_admin_user}
key: ${_param:gerrit_admin_private_key}
diff --git a/jenkins/client/init.yml b/jenkins/client/init.yml
index 36da8b6..41e639d 100644
--- a/jenkins/client/init.yml
+++ b/jenkins/client/init.yml
@@ -1,12 +1,47 @@
classes:
- service.jenkins.support
- service.jenkins.client
+ - system.jenkins.client.approved_scripts
parameters:
+ _param:
+ jenkins_client_user: none
+ jenkins_client_password: none
+ jenkins_master_host: ${_param:control_vip_address}
+ jenkins_master_port: 8081
jenkins:
client:
master:
- host: ${_param:cluster_vip_address}
- port: 8081
- # When Jenkins auth is enabled
- #user: admin
- #password: dummy
+ host: ${_param:jenkins_master_host}
+ port: ${_param:jenkins_master_port}
+ user: ${_param:jenkins_client_user}
+ password: ${_param:jenkins_client_password}
+ plugin:
+ ansicolor: {}
+ build-blocker-plugin: {}
+ build-monitor-plugin: {}
+ build-user-vars-plugin: {}
+ categorized-view: {}
+ description-setter: {}
+ discard-old-build: {}
+ docker-workflow: {}
+ extended-choice-parameter: {}
+ gerrit-trigger: {}
+ git: {}
+ heavy-job: {}
+ matrix-auth: {}
+ monitoring: {}
+ pipeline-utility-steps: {}
+ rebuild: {}
+ simple-theme-plugin: {}
+ slack: {}
+ test-stability: {}
+ timestamper: {}
+ workflow-cps: {}
+ workflow-remote-loader: {}
+ workflow-scm-step:
+ restart: true
+ lib:
+ pipeline-library:
+ enabled: true
+ url: ${_param:jenkins_gerrit_url}/mcp-ci/pipeline-library
+ credential_id: gerrit
diff --git a/jenkins/client/job/aptly.yml b/jenkins/client/job/aptly.yml
new file mode 100644
index 0000000..d5d8fcdd
--- /dev/null
+++ b/jenkins/client/job/aptly.yml
@@ -0,0 +1,81 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ aptly:
+ name: aptly-{{operation}}-{{dist}}-{{source}}-{{target}}
+ jobs:
+ - operation: promote
+ diff_only: false
+ dist: trusty
+ source: nightly
+ target: testing
+ - operation: promote
+ dist: trusty
+ source: testing
+ target: stable
+ - operation: promote
+ dist: xenial
+ source: nightly
+ target: testing
+ - operation: promote
+ dist: xenial
+ source: testing
+ target: stable
+ - operation: diff
+ diff_only: true
+ dist: trusty
+ source: nightly
+ target: testing
+ - operation: diff
+ diff_only: true
+ dist: trusty
+ source: testing
+ target: stable
+ - operation: diff
+ diff_only: true
+ dist: xenial
+ source: nightly
+ target: testing
+ - operation: diff
+ diff_only: true
+ dist: xenial
+ source: testing
+ target: stable
+ template:
+ discard:
+ build:
+ keep_num: 25
+ artifact:
+ keep_num: 25
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: aptly-promote-pipeline.groovy
+ param:
+ SOURCE:
+ type: string
+ default: "{{dist}}/{{source}}"
+ TARGET:
+ type: string
+ default: "{{dist}}/{{target}}"
+ RECREATE:
+ type: boolean
+ default: 'false'
+ DIFF_ONLY:
+ type: boolean
+ default: '{{diff_only}}'
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ COMPONENTS:
+ type: string
+ default: "all"
+ description: "Comma separated list (,)"
+ PACKAGES:
+ type: string
+ default: "all"
+ description: "Comma separated list (,)"
diff --git a/jenkins/client/job/debian/init.yml b/jenkins/client/job/debian/init.yml
new file mode 100644
index 0000000..d0b40a0
--- /dev/null
+++ b/jenkins/client/job/debian/init.yml
@@ -0,0 +1,2 @@
+classes:
+ - system.jenkins.client.job.debian.packages
diff --git a/jenkins/client/job/debian/packages/extra.yml b/jenkins/client/job/debian/packages/extra.yml
new file mode 100644
index 0000000..e51354a
--- /dev/null
+++ b/jenkins/client/job/debian/packages/extra.yml
@@ -0,0 +1,124 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-debian:
+ name: build-debian-{{package}}-ubuntu-{{dist}}
+ jobs:
+ - package: librdkafka
+ dist: trusty
+ - package: python-kafka
+ dist: trusty
+ - package: liburcu
+ dist: trusty
+ - package: python-kazoo
+ dist: trusty
+ - package: python-pathlib
+ dist: trusty
+ - package: kafka
+ dist: trusty
+ - package: python-geventhttpclient
+ dist: trusty
+ - package: python-consistent-hash
+ dist: trusty
+ - package: libipfix
+ dist: trusty
+ - package: python-ncclient
+ dist: trusty
+ - package: python-pycassa
+ dist: trusty
+ - package: python-xmltodict
+ dist: trusty
+ - package: python-backports.ssl-match-hostname
+ dist: trusty
+ - package: python-certifi
+ dist: trusty
+ - package: python-docker
+ dist: trusty
+ - package: python-cassandra-driver
+ dist: trusty
+ - package: python-redis
+ dist: trusty
+ - package: python-tabulate
+ dist: trusty
+ - package: cassandra-cpp-driver
+ dist: trusty
+ - package: libuv1
+ dist: trusty
+ - package: python-sseclient
+ dist: trusty
+ - package: librdkafka
+ dist: xenial
+ - package: python-kafka
+ dist: xenial
+ - package: python-geventhttpclient
+ dist: xenial
+ - package: python-consistent-hash
+ dist: xenial
+ - package: libipfix
+ dist: xenial
+ - package: cassandra-cpp-driver
+ dist: xenial
+ - package: python-sseclient
+ dist: xenial
+ template:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: build-debian-packages-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ debian/{{package}}:
+ branches:
+ - debian/{{dist}}
+ 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}/debian/{{package}}.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "debian/{{dist}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ EXTRA_REPO_URL:
+ type: string
+ default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing extra"
+ 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: 'true'
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
diff --git a/jenkins/client/job/debian/packages/horizon/init.yml b/jenkins/client/job/debian/packages/horizon/init.yml
new file mode 100644
index 0000000..a899680
--- /dev/null
+++ b/jenkins/client/job/debian/packages/horizon/init.yml
@@ -0,0 +1,3 @@
+classes:
+ - system.jenkins.client.job.debian.packages.horizon.modules
+ - system.jenkins.client.job.debian.packages.horizon.themes
diff --git a/jenkins/client/job/debian/packages/horizon/modules.yml b/jenkins/client/job/debian/packages/horizon/modules.yml
new file mode 100644
index 0000000..2b6477b
--- /dev/null
+++ b/jenkins/client/job/debian/packages/horizon/modules.yml
@@ -0,0 +1,97 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-debian-horizon-module:
+ name: build-debian-horizon-module-{{name}}-{{os_version}}-{{os}}-{{dist}}
+ jobs:
+ # Trusty
+ - name: horizon-overrides-plugin
+ os: ubuntu
+ dist: trusty
+ os_version: mitaka
+ branch: master
+ # Xenial
+ - name: horizon-overrides-plugin
+ os: ubuntu
+ dist: xenial
+ os_version: mitaka
+ branch: master
+ # Trusty
+ - name: horizon-contrail-panels
+ os: ubuntu
+ dist: trusty
+ os_version: mitaka
+ branch: stable/mitaka
+ # Xenial
+ - name: horizon-contrail-panels
+ os: ubuntu
+ dist: xenial
+ os_version: mitaka
+ branch: stable/mitaka
+ 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: build-debian-packages-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ salt-formulas/{{name}}:
+ 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}/horizon-modules/{{name}}.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "{{branch}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ DEBIAN_SNAPSHOT:
+ type: boolean
+ default: 'true'
+ REVISION_POSTFIX:
+ type: string
+ default: '~{{os_version}}1{{dist}}1'
+ EXTRA_REPO_URL:
+ type: string
+ default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing extra {{os_version}}"
+ 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: "{{os}}-{{dist}}-{{os_version}}"
+ OS:
+ type: string
+ default: "{{os}}"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
diff --git a/jenkins/client/job/debian/packages/horizon/themes.yml b/jenkins/client/job/debian/packages/horizon/themes.yml
new file mode 100644
index 0000000..b96a0c6
--- /dev/null
+++ b/jenkins/client/job/debian/packages/horizon/themes.yml
@@ -0,0 +1,85 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-debian-horizon-theme:
+ name: build-debian-horizon-theme-{{name}}-{{os_version}}-{{os}}-{{dist}}
+ jobs:
+ # Trusty
+ - name: horizon-mirantis-theme
+ os: ubuntu
+ dist: trusty
+ os_version: mitaka
+ branch: master
+ # Xenial
+ - name: horizon-mirantis-theme
+ os: ubuntu
+ dist: xenial
+ os_version: mitaka
+ branch: master
+ 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: build-debian-packages-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ salt-formulas/{{name}}:
+ 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}/horizon-themes/{{name}}.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "{{branch}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ DEBIAN_SNAPSHOT:
+ type: boolean
+ default: 'true'
+ REVISION_POSTFIX:
+ type: string
+ default: '~{{os_version}}1{{dist}}1'
+ EXTRA_REPO_URL:
+ type: string
+ default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing extra {{os_version}}"
+ 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: "{{os}}-{{dist}}-{{os_version}}"
+ OS:
+ type: string
+ default: "{{os}}"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
\ No newline at end of file
diff --git a/jenkins/client/job/debian/packages/init.yml b/jenkins/client/job/debian/packages/init.yml
new file mode 100644
index 0000000..56f6f12
--- /dev/null
+++ b/jenkins/client/job/debian/packages/init.yml
@@ -0,0 +1,5 @@
+classes:
+ - system.jenkins.client.job.debian.packages.extra
+ - system.jenkins.client.job.debian.packages.salt
+ - system.jenkins.client.job.debian.packages.salt-multi
+ - system.jenkins.client.job.debian.packages.horizon
diff --git a/jenkins/client/job/debian/packages/salt-multi.yml b/jenkins/client/job/debian/packages/salt-multi.yml
new file mode 100644
index 0000000..d216e9d
--- /dev/null
+++ b/jenkins/client/job/debian/packages/salt-multi.yml
@@ -0,0 +1,120 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-debian-salt-multibranch:
+ name: build-debian-salt-formula-{{name}}-ubuntu-{{dist}}
+ jobs:
+ - name: ceilometer
+ dist: trusty
+ - name: cinder
+ dist: trusty
+ - name: glance
+ dist: trusty
+ - name: heat
+ dist: trusty
+ - name: horizon
+ dist: trusty
+ - name: keystone
+ dist: trusty
+ - name: kubernetes
+ dist: trusty
+ - name: neutron
+ dist: trusty
+ - name: nova
+ dist: trusty
+ - name: swift
+ dist: trusty
+ - name: ceilometer
+ dist: xenial
+ - name: cinder
+ dist: xenial
+ - name: glance
+ dist: xenial
+ - name: heat
+ dist: xenial
+ - name: horizon
+ dist: xenial
+ - name: keystone
+ dist: xenial
+ - name: kubernetes
+ dist: xenial
+ - name: neutron
+ dist: xenial
+ - name: nova
+ dist: xenial
+ - name: swift
+ dist: xenial
+ 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: build-debian-packages-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ salt-formulas/{{name}}:
+ branches:
+ - master
+ - debian/{{dist}}
+ 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}/salt-formulas/{{name}}.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "master"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ DEBIAN_BRANCH:
+ type: string
+ default: 'debian/{{dist}}'
+ DEBIAN_SNAPSHOT:
+ type: boolean
+ default: 'true'
+ EXTRA_REPO_URL:
+ type: string
+ default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt salt-latest"
+ 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}}-salt"
+ OS:
+ type: string
+ default: "ubuntu"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
+ PPA:
+ type: string
+ default: "salt-formulas/ppa"
+ UPLOAD_PPA:
+ type: boolean
+ default: 'true'
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
\ No newline at end of file
diff --git a/jenkins/client/job/debian/packages/salt.yml b/jenkins/client/job/debian/packages/salt.yml
new file mode 100644
index 0000000..5375d60
--- /dev/null
+++ b/jenkins/client/job/debian/packages/salt.yml
@@ -0,0 +1,419 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-debian-salt-formula:
+ name: build-debian-salt-formula-{{name}}-ubuntu-{{dist}}
+ jobs:
+ - name: aodh
+ dist: trusty
+ - name: apache
+ dist: trusty
+ - name: aptly
+ dist: trusty
+ - name: artifactory
+ dist: trusty
+ - name: avinetworks
+ dist: trusty
+ - name: backupninja
+ dist: trusty
+ - name: billometer
+ dist: trusty
+ - name: bind
+ dist: trusty
+ - name: bird
+ dist: trusty
+ - name: cadf
+ dist: trusty
+ - name: calico
+ dist: trusty
+ - name: cassandra
+ dist: trusty
+ - name: ccp
+ dist: trusty
+ - name: ceph
+ dist: trusty
+ - name: chrony
+ dist: trusty
+ - name: collectd
+ dist: trusty
+ - name: dekapod
+ dist: trusty
+ - name: docker
+ dist: trusty
+ - name: dovecot
+ dist: trusty
+ - name: elasticsearch
+ dist: trusty
+ - name: etcd
+ dist: trusty
+ - name: foreman
+ dist: trusty
+ - name: freeipa
+ dist: trusty
+ - name: galera
+ dist: trusty
+ - name: gerrit
+ dist: trusty
+ - name: git
+ dist: trusty
+ - name: gitlab
+ dist: trusty
+ - name: glusterfs
+ dist: trusty
+ - name: grafana
+ dist: trusty
+ - name: graphite
+ dist: trusty
+ - name: haproxy
+ dist: trusty
+ - name: heka
+ dist: trusty
+ - name: influxdb
+ dist: trusty
+ - name: iptables
+ dist: trusty
+ - name: isc-dhcp
+ dist: trusty
+ - name: java
+ dist: trusty
+ - name: jenkins
+ dist: trusty
+ - name: kedb
+ dist: trusty
+ - name: keepalived
+ dist: trusty
+ - name: kibana
+ dist: trusty
+ - name: letsencrypt
+ dist: trusty
+ - name: libvirt
+ dist: trusty
+ - name: linux
+ dist: trusty
+ - name: logrotate
+ dist: trusty
+ - name: maas
+ dist: trusty
+ - name: magnum
+ dist: trusty
+ - name: memcached
+ dist: trusty
+ - name: midonet
+ dist: trusty
+ - name: monasca
+ dist: trusty
+ - name: mongodb
+ dist: trusty
+ - name: murano
+ dist: trusty
+ - name: mysql
+ dist: trusty
+ - name: nagios
+ dist: trusty
+ - name: network
+ dist: trusty
+ - name: nfs
+ dist: trusty
+ - name: nginx
+ dist: trusty
+ - name: nodejs
+ dist: trusty
+ - name: ntp
+ dist: trusty
+ - name: opencontrail
+ dist: trusty
+ - name: openssh
+ dist: trusty
+ - name: openvpn
+ dist: trusty
+ - name: openvstorage
+ dist: trusty
+ - name: owncloud
+ dist: trusty
+ - name: postfix
+ dist: trusty
+ - name: postgresql
+ dist: trusty
+ - name: pritunl
+ dist: trusty
+ - name: prometheus
+ dist: trusty
+ - name: python
+ dist: trusty
+ - name: rabbitmq
+ dist: trusty
+ - name: reclass
+ dist: trusty
+ - name: redis
+ dist: trusty
+ - name: roundcube
+ dist: trusty
+ - name: rsync
+ dist: trusty
+ - name: rsyslog
+ dist: trusty
+ - name: sahara
+ dist: trusty
+ - name: salt
+ dist: trusty
+ - name: sensu
+ dist: trusty
+ - name: sentry
+ dist: trusty
+ - name: sphinx
+ dist: trusty
+ - name: statsd
+ dist: trusty
+ - name: supervisor
+ dist: trusty
+ - name: taiga
+ dist: trusty
+ - name: telegraf
+ dist: trusty
+ - name: varnish
+ dist: trusty
+ - name: zookeeper
+ dist: trusty
+ - name: aodh
+ dist: xenial
+ - name: apache
+ dist: xenial
+ - name: aptly
+ dist: xenial
+ - name: artifactory
+ dist: xenial
+ - name: avinetworks
+ dist: xenial
+ - name: backupninja
+ dist: xenial
+ - name: billometer
+ dist: xenial
+ - name: bind
+ dist: xenial
+ - name: bird
+ dist: xenial
+ - name: cadf
+ dist: xenial
+ - name: calico
+ dist: xenial
+ - name: cassandra
+ dist: xenial
+ - name: ccp
+ dist: xenial
+ - name: ceph
+ dist: xenial
+ - name: chrony
+ dist: xenial
+ - name: collectd
+ dist: xenial
+ - name: dekapod
+ dist: xenial
+ - name: docker
+ dist: xenial
+ - name: dovecot
+ dist: xenial
+ - name: elasticsearch
+ dist: xenial
+ - name: etcd
+ dist: xenial
+ - name: foreman
+ dist: xenial
+ - name: freeipa
+ dist: xenial
+ - name: galera
+ dist: xenial
+ - name: gerrit
+ dist: xenial
+ - name: git
+ dist: xenial
+ - name: gitlab
+ dist: xenial
+ - name: glusterfs
+ dist: xenial
+ - name: grafana
+ dist: xenial
+ - name: graphite
+ dist: xenial
+ - name: haproxy
+ dist: xenial
+ - name: heka
+ dist: xenial
+ - name: influxdb
+ dist: xenial
+ - name: iptables
+ dist: xenial
+ - name: isc-dhcp
+ dist: xenial
+ - name: java
+ dist: xenial
+ - name: jenkins
+ dist: xenial
+ - name: kedb
+ dist: xenial
+ - name: keepalived
+ dist: xenial
+ - name: kibana
+ dist: xenial
+ - name: letsencrypt
+ dist: xenial
+ - name: libvirt
+ dist: xenial
+ - name: linux
+ dist: xenial
+ - name: logrotate
+ dist: xenial
+ - name: maas
+ dist: xenial
+ - name: magnum
+ dist: xenial
+ - name: memcached
+ dist: xenial
+ - name: midonet
+ dist: xenial
+ - name: monasca
+ dist: xenial
+ - name: mongodb
+ dist: xenial
+ - name: murano
+ dist: xenial
+ - name: mysql
+ dist: xenial
+ - name: nagios
+ dist: xenial
+ - name: network
+ dist: xenial
+ - name: nfs
+ dist: xenial
+ - name: nginx
+ dist: xenial
+ - name: nodejs
+ dist: xenial
+ - name: ntp
+ dist: xenial
+ - name: opencontrail
+ dist: xenial
+ - name: openssh
+ dist: xenial
+ - name: openvpn
+ dist: xenial
+ - name: openvstorage
+ dist: xenial
+ - name: owncloud
+ dist: xenial
+ - name: postfix
+ dist: xenial
+ - name: postgresql
+ dist: xenial
+ - name: pritunl
+ dist: xenial
+ - name: prometheus
+ dist: xenial
+ - name: python
+ dist: xenial
+ - name: rabbitmq
+ dist: xenial
+ - name: reclass
+ dist: xenial
+ - name: redis
+ dist: xenial
+ - name: roundcube
+ dist: xenial
+ - name: rsync
+ dist: xenial
+ - name: rsyslog
+ dist: xenial
+ - name: sahara
+ dist: xenial
+ - name: salt
+ dist: xenial
+ - name: sensu
+ dist: xenial
+ - name: sentry
+ dist: xenial
+ - name: sphinx
+ dist: xenial
+ - name: statsd
+ dist: xenial
+ - name: supervisor
+ dist: xenial
+ - name: taiga
+ dist: xenial
+ - name: telegraf
+ dist: xenial
+ - name: varnish
+ dist: xenial
+ - name: zookeeper
+ dist: xenial
+ 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: build-debian-packages-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ salt-formulas/{{name}}:
+ branches:
+ - master
+ 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}/salt-formulas/{{name}}.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "master"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ DEBIAN_SNAPSHOT:
+ type: boolean
+ default: 'true'
+ REVISION_POSTFIX:
+ type: string
+ default: '~{{dist}}1'
+ EXTRA_REPO_URL:
+ type: string
+ default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt salt-latest"
+ 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}}-salt"
+ OS:
+ type: string
+ default: "ubuntu"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
+ PPA:
+ type: string
+ default: "salt-formulas/ppa"
+ UPLOAD_PPA:
+ type: boolean
+ default: 'true'
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
diff --git a/jenkins/client/job/deploy/init.yml b/jenkins/client/job/deploy/init.yml
new file mode 100644
index 0000000..102fe73
--- /dev/null
+++ b/jenkins/client/job/deploy/init.yml
@@ -0,0 +1,4 @@
+classes:
+ - system.jenkins.client.job.deploy.lab
+ - system.jenkins.client.job.deploy.update
+ - system.jenkins.client.job.deploy.openstack
diff --git a/jenkins/client/job/deploy/lab/cicd.yml b/jenkins/client/job/deploy/lab/cicd.yml
new file mode 100644
index 0000000..0aa442e
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/cicd.yml
@@ -0,0 +1,77 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ deploy_heat_cicd:
+ name: deploy-heat-{{name}}
+ jobs:
+ - name: cicd-lab-dev
+ lab: cicd_lab_dev
+ template:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy {{name}} heat stack"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: cicd-lab-pipeline.groovy
+ param:
+ # heat
+ HEAT_TEMPLATE_URL:
+ type: string
+ default: "git@github.com:Mirantis/mk-lab-heat-templates.git"
+ HEAT_TEMPLATE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ HEAT_TEMPLATE_BRANCH:
+ type: string
+ default: "master"
+ HEAT_STACK_NAME:
+ type: string
+ description: Heat stack name. Will be generated if missing.
+ HEAT_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:
+ type: boolean
+ default: 'true'
+ description: "Delete heat stack at the end of job"
+ HEAT_STACK_REUSE:
+ type: boolean
+ default: 'false'
+ description: "Reuse existing stack and only orchestrate deployment"
+
+ # salt master
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt-qa-credentials"
+ SSH_PUBLIC_KEY:
+ type: string
+ description: "User's public SSH key to be able to login when stack is deployed"
+
+ # 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"
diff --git a/jenkins/client/job/deploy/lab/demo.yml b/jenkins/client/job/deploy/lab/demo.yml
new file mode 100644
index 0000000..3ea8a40
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/demo.yml
@@ -0,0 +1,20 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ deploy_kafka_demo:
+ type: workflow-scm
+ concurrent: false
+ display_name: "Kafka demo"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: kafka-demo.groovy
+ param:
+ # salt master
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt-qa-credentials"
+ SALT_URL:
+ type: string
diff --git a/jenkins/client/job/deploy/lab/init.yml b/jenkins/client/job/deploy/lab/init.yml
new file mode 100644
index 0000000..24cdcab
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/init.yml
@@ -0,0 +1,6 @@
+classes:
+ - 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.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
new file mode 100644
index 0000000..72e40f5
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/mk/cleanup.yml
@@ -0,0 +1,37 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ deploy-heat-cleanup:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy - heat cleanup"
+ discard:
+ build:
+ keep_num: 20
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ 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:
+ type: string
+ description: This stack will be deleted.
diff --git a/jenkins/client/job/deploy/lab/mk/init.yml b/jenkins/client/job/deploy/lab/mk/init.yml
new file mode 100644
index 0000000..bf58f39
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/mk/init.yml
@@ -0,0 +1,107 @@
+parameters:
+ _param:
+ jenkins_deploy_lab_mk_jobs: []
+ jenkins:
+ client:
+ job_template:
+ deploy_heat_template:
+ name: deploy-{{stack_type}}-{{lab}}
+ jobs: ${_param:jenkins_deploy_lab_mk_jobs}
+ template:
+ type: workflow-scm
+ discard:
+ build:
+ keep_num: 20
+ concurrent: true
+ display_name: "Deploy - {{lab}} {{stack_type}} lab"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: lab-pipeline.groovy
+ param:
+ # deployments and test settings
+ STACK_TYPE:
+ type: string
+ default: "{{stack_type}}"
+ INSTALL:
+ type: string
+ default: "{{install}}"
+ TEST:
+ type: string
+ default: ""
+
+ # heat
+ HEAT_TEMPLATE_URL:
+ type: string
+ default: "git@github.com:Mirantis/mk-lab-heat-templates.git"
+ HEAT_TEMPLATE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ HEAT_TEMPLATE_BRANCH:
+ type: string
+ default: "composite"
+ HEAT_STACK_NAME:
+ type: string
+ description: Heat stack name. Will be generated if missing.
+ HEAT_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:
+ type: boolean
+ default: 'true'
+ HEAT_STACK_REUSE:
+ type: boolean
+ default: 'false'
+
+ # salt master
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt-qa-credentials"
+ SALT_MASTER_URL:
+ type: string
+ default: ""
+
+ # 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"
+
+ # 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"
+
+ # Tempest settings
+ TEMPEST_IMAGE_LINK:
+ type: string
+ default: "sandbox-docker-prod-local.docker.mirantis.net/mirantis/rally_tempest:0.1"
+
+ ASK_ON_ERROR:
+ type: boolean
+ default: 'false'
+
diff --git a/jenkins/client/job/deploy/lab/mk/physical.yml b/jenkins/client/job/deploy/lab/mk/physical.yml
new file mode 100644
index 0000000..a66909d
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/mk/physical.yml
@@ -0,0 +1,17 @@
+classes:
+ - system.jenkins.client.job.deploy.lab.mk
+parameters:
+ _param:
+ jenkins_deploy_lab_mk_jobs:
+ - lab: mcp10_contrail
+ install: core,kvm,openstack,contrail
+ stack_type: physical
+ - lab: mcp10_opencontrail_nfv
+ install: core,kvm,openstack,nfv
+ stack_type: physical
+ - lab: mcp10_dvr
+ install: core,kvm,openstack,dvr
+ stack_type: physical
+ - lab: mcp10_non_dvr
+ install: core,kvm,openstack
+ stack_type: physical
diff --git a/jenkins/client/job/deploy/lab/mk/virtual.yml b/jenkins/client/job/deploy/lab/mk/virtual.yml
new file mode 100644
index 0000000..af65a4d
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/mk/virtual.yml
@@ -0,0 +1,32 @@
+classes:
+ - system.jenkins.client.job.deploy.lab.mk
+parameters:
+ _param:
+ jenkins_deploy_lab_mk_jobs:
+ - lab: virtual_mcp05_dvr
+ install: core,openstack,dvr
+ stack_type: heat
+ - lab: virtual_mcp05_ovs
+ install: core,openstack,ovs
+ stack_type: heat
+ - lab: virtual_mcp10_contrail
+ install: core,openstack,contrail
+ stack_type: heat
+ - lab: virtual_mcp10_dvr
+ install: core,openstack,dvr
+ stack_type: heat
+ - lab: virtual_mcp10_ovs
+ install: core,openstack,ovs
+ stack_type: heat
+ - lab: virtual_mk20_advanced
+ install: core,openstack
+ stack_type: heat
+ - lab: virtual_mk20_basic
+ install: core,openstack
+ stack_type: heat
+ - lab: virtual_mk22_advanced
+ install: core,openstack
+ stack_type: heat
+ - lab: virtual_mk22_basic
+ install: core,openstack
+ stack_type: heat
diff --git a/jenkins/client/job/deploy/openstack.yml b/jenkins/client/job/deploy/openstack.yml
new file mode 100644
index 0000000..644b16b
--- /dev/null
+++ b/jenkins/client/job/deploy/openstack.yml
@@ -0,0 +1,36 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ deploy_openstack:
+ type: workflow-scm
+ name: deploy-openstack
+ display_name: "Deploy - OpenStack"
+ discard:
+ build:
+ keep_num: 20
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: lab-pipeline.groovy
+ param:
+ # deployments and test settings
+ STACK_TYPE:
+ type: string
+ default: "physical"
+ INSTALL:
+ type: string
+ default: "core,kvm,openstack,stacklight"
+
+ # salt master
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
+ SALT_MASTER_URL:
+ type: string
+ default: ""
+ ASK_ON_ERROR:
+ type: boolean
+ default: 'false'
diff --git a/jenkins/client/job/deploy/update/config.yml b/jenkins/client/job/deploy/update/config.yml
new file mode 100644
index 0000000..9beabfb
--- /dev/null
+++ b/jenkins/client/job/deploy/update/config.yml
@@ -0,0 +1,45 @@
+#
+# Jobs to run given states on given Salt master environment's
+#
+parameters:
+ _param:
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ jenkins:
+ client:
+ job:
+ deploy-update-service-config:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy - update service(s) config"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: change-config.groovy
+ param:
+ SALT_MASTER_URL:
+ type: string
+ default: "${_param:jenkins_salt_api_url}"
+ description: Full Salt API address [https://10.10.10.1:8000].
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "salt"
+ description: Credentials to the Salt API.
+ TARGET_SERVERS:
+ type: string
+ default: "*"
+ description: Salt compound target to match nodes to be updated [*, G@osfamily:debian].
+ TARGET_STATES:
+ type: string
+ description: Config changes to be applied, empty string means running highstate [linux, linux,openssh, salt.minion.grains].
+ TARGET_SUBSET_TEST:
+ type: string
+ description: Number of nodes to test config changes, empty string means all targetted nodes.
+ TARGET_SUBSET_LIVE:
+ type: string
+ default: '1'
+ description: Number of selected noded to live apply selected config changes.
+ TARGET_BATCH_LIVE:
+ type: string
+ description: Batch size for the complete live config changes on all nodes, empty string means apply to all targetted nodes.
+
diff --git a/jenkins/client/job/deploy/update/init.yml b/jenkins/client/job/deploy/update/init.yml
new file mode 100644
index 0000000..af87dcf
--- /dev/null
+++ b/jenkins/client/job/deploy/update/init.yml
@@ -0,0 +1,4 @@
+classes:
+ - system.jenkins.client.job.deploy.update.package
+ - system.jenkins.client.job.deploy.update.config
+ - system.jenkins.client.job.deploy.update.saltenv
diff --git a/jenkins/client/job/deploy/update/package.yml b/jenkins/client/job/deploy/update/package.yml
new file mode 100644
index 0000000..273796c
--- /dev/null
+++ b/jenkins/client/job/deploy/update/package.yml
@@ -0,0 +1,42 @@
+#
+# 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-update-package:
+ type: workflow-scm
+ concurrent: true
+ display_name: "Deploy - update system package(s)"
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: update-package.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_PACKAGES:
+ type: string
+ description: Space delimited list of packages to be updates [package1=version package2=version], empty string means all updating all packages to the latest version.
+ 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 noded 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/saltenv.yml b/jenkins/client/job/deploy/update/saltenv.yml
new file mode 100644
index 0000000..0303aea
--- /dev/null
+++ b/jenkins/client/job/deploy/update/saltenv.yml
@@ -0,0 +1,32 @@
+#
+# Following job is about to simply execute Jenkinsfile of given Reclass model
+#
+parameters:
+ _param:
+ jenkins_salt_api_url: "http://${_param:salt_master_host}:6969"
+ jenkins_salt_model_name: "salt"
+ jenkins:
+ client:
+ job_template:
+ update_salt_env:
+ name: deploy-update-{{name}}
+ jobs:
+ - name: ${_param:jenkins_salt_model_name}
+ salt_url: "${_param:jenkins_salt_api_url}"
+ salt_credentials: salt
+ template:
+ display_name: "Deploy - update {{name}} environment"
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/salt-models/{{name}}"
+ credentials: "gerrit"
+ script: Jenkinsfile
+ param:
+ SALT_MASTER_URL:
+ type: string
+ default: "{{salt_url}}"
+ SALT_MASTER_CREDENTIALS:
+ type: string
+ default: "{{salt_credentials}}"
diff --git a/jenkins/client/job/gating.yml b/jenkins/client/job/gating.yml
new file mode 100644
index 0000000..387db35
--- /dev/null
+++ b/jenkins/client/job/gating.yml
@@ -0,0 +1,53 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ gate-gerrit-namespace:
+ name: gate-gerrit-{{name}}
+ jobs:
+ - name: mk
+ - name: debian
+ - name: contrail
+ - name: salt-models
+ - name: salt-formulas
+ 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: gating-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ '{{name}}\/.*':
+ compare_type: REG_EXP
+ branches:
+ - master
+ skip_vote:
+ - successful
+ - failed
+ - unstable
+ - not_built
+ silent_start_mode: "true"
+ event:
+ comment:
+ - added:
+ verdictCategory: 'Workflow'
+ commentAddedTriggerApprovalValue: '+1'
+ param:
+ JOBS_NAMESPACE:
+ type: string
+ default: "{{name}}"
+ SKIP_TEST:
+ type: string
+ default: false
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
\ No newline at end of file
diff --git a/jenkins/client/job/git-mirrors/downstream/init.yml b/jenkins/client/job/git-mirrors/downstream/init.yml
new file mode 100644
index 0000000..0ddc0ce
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/downstream/init.yml
@@ -0,0 +1,39 @@
+parameters:
+ _param:
+ jenkins_git_mirror_downstream_jobs: []
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins:
+ client:
+ job_template:
+ git_mirror_downstream_common:
+ name: git-mirror-downstream-{{name}}
+ jobs: ${_param:jenkins_git_mirror_downstream_jobs}
+ 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-pipeline.groovy
+ trigger:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ param:
+ SOURCE_URL:
+ type: string
+ default: "{{upstream}}"
+ TARGET_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/{{downstream}}"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "{{branches}}"
diff --git a/jenkins/client/job/git-mirrors/downstream/pipelines.yml b/jenkins/client/job/git-mirrors/downstream/pipelines.yml
new file mode 100644
index 0000000..7bf366c
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/downstream/pipelines.yml
@@ -0,0 +1,13 @@
+classes:
+ - system.jenkins.client.job.git-mirrors.downstream
+parameters:
+ _param:
+ jenkins_git_mirror_downstream_jobs:
+ - name: pipeline-library
+ downstream: mcp-ci/pipeline-library
+ upstream: "https://github.com/Mirantis/pipeline-library"
+ branches: master
+ - name: mk-pipelines
+ downstream: mk/mk-pipelines
+ upstream: "https://github.com/Mirantis/mk-pipelines"
+ branches: master
diff --git a/jenkins/client/job/git-mirrors/upstream/init.yml b/jenkins/client/job/git-mirrors/upstream/init.yml
new file mode 100644
index 0000000..e11e63c
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/upstream/init.yml
@@ -0,0 +1,48 @@
+parameters:
+ _param:
+ jenkins_git_mirror_upstream_jobs: []
+ jenkins:
+ client:
+ job_template:
+ git_mirror_upstream_common:
+ name: git-mirror-upstream-{{name}}
+ jobs: ${_param:jenkins_git_mirror_upstream_jobs}
+ 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-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ "{{downstream}}":
+ branches:
+ - master
+ 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}/{{downstream}}"
+ TARGET_URL:
+ type: string
+ default: "{{upstream}}"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "{{branches}}"
diff --git a/jenkins/client/job/git-mirrors/upstream/pipelines.yml b/jenkins/client/job/git-mirrors/upstream/pipelines.yml
new file mode 100644
index 0000000..20f7eb6
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/upstream/pipelines.yml
@@ -0,0 +1,13 @@
+classes:
+ - system.jenkins.client.job.git-mirrors.upstream
+parameters:
+ _param:
+ jenkins_git_mirror_upstream_jobs:
+ - name: pipeline-library
+ downstream: mcp-ci/pipeline-library
+ upstream: "git@github.com:Mirantis/pipeline-library.git"
+ branches: master
+ - name: mk-pipelines
+ downstream: mk/mk-pipelines
+ upstream: "git@github.com:Mirantis/mk-pipelines.git"
+ branches: master
diff --git a/jenkins/client/job/image/centos.yml b/jenkins/client/job/image/centos.yml
new file mode 100644
index 0000000..852f695
--- /dev/null
+++ b/jenkins/client/job/image/centos.yml
@@ -0,0 +1,72 @@
+parameters:
+ _param:
+ jenkins_packer_pipeline: "${_param:jenkins_gerrit_url}/mk/packer-templates"
+ jenkins:
+ client:
+ job:
+ build-image-centos-7:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_packer_pipeline}"
+ credentials: "gerrit"
+ display_name: "[Images] Build Centos 7"
+ param:
+ BUILD_OS:
+ type: string
+ default: "centos-7"
+ BUILD_ONLY:
+ type: string
+ default: "qemu"
+ PACKER_DEBUG:
+ type: boolean
+ default: "false"
+ PACKER_URL:
+ type: string
+ default: "https://releases.hashicorp.com/packer/0.8.6/packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP:
+ type: string
+ default: "packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP_MD5:
+ type: string
+ default: "4cda1c44cf666fada495dd8e01522e1c"
+ PACKER_ARGS:
+ type: string
+ default: ""
+ UPLOAD_URL:
+ type: string
+ default: "http://jenkins:eyoocaiG3ADireK3Eef8gae1roh5oox010.10.100.85:8088/"
+ SKIP_UPLOAD:
+ type: boolean
+ default: "false"
+ CLEANUP_OLD:
+ type: boolean
+ default: "true"
+ CLEANUP_KEEP:
+ type: string
+ default: "3"
+ GLANCE_UPLOAD:
+ type: boolean
+ default: "true"
+ GLANCE_IMG_TYPES:
+ type: string
+ default: "qcow2"
+ GLANCE_URL:
+ type: string
+ default: "https://vpc.tcpisek.cz:5000/v2.0"
+ GLANCE_CREDENTIALS_ID:
+ type: string
+ default: "openstack-qa-credentials"
+ GLANCE_PROJECT:
+ type: string
+ default: "mirantis_mk20_qa"
+ GLANCE_ARGS:
+ type: string
+ default: ""
+ GLANCE_PUBLIC:
+ type: boolean
+ default: "true"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: "liberty"
diff --git a/jenkins/client/job/image/debian.yml b/jenkins/client/job/image/debian.yml
new file mode 100644
index 0000000..7c996f3
--- /dev/null
+++ b/jenkins/client/job/image/debian.yml
@@ -0,0 +1,72 @@
+parameters:
+ _param:
+ jenkins_packer_pipeline: "${_param:jenkins_gerrit_url}/mk/packer-templates"
+ jenkins:
+ client:
+ job:
+ build-image-debian-8:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_packer_pipeline}"
+ credentials: "gerrit"
+ display_name: "[Images] Build Debian 8 image"
+ param:
+ BUILD_OS:
+ type: string
+ default: "debian-8"
+ BUILD_ONLY:
+ type: string
+ default: "qemu"
+ PACKER_DEBUG:
+ type: boolean
+ default: "false"
+ PACKER_URL:
+ type: string
+ default: "https://releases.hashicorp.com/packer/0.8.6/packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP:
+ type: string
+ default: "packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP_MD5:
+ type: string
+ default: "4cda1c44cf666fada495dd8e01522e1c"
+ PACKER_ARGS:
+ type: string
+ default: ""
+ UPLOAD_URL:
+ type: string
+ default: "http://jenkins:eyoocaiG3ADireK3Eef8gae1roh5oox0@10.10.100.85:8088/"
+ SKIP_UPLOAD:
+ type: boolean
+ default: "false"
+ CLEANUP_OLD:
+ type: boolean
+ default: "true"
+ CLEANUP_KEEP:
+ type: string
+ default: "3"
+ GLANCE_UPLOAD:
+ type: boolean
+ default: "true"
+ GLANCE_IMG_TYPES:
+ type: string
+ default: "qcow2"
+ GLANCE_URL:
+ type: string
+ default: "https://vpc.tcpisek.cz:5000/v2.0"
+ GLANCE_CREDENTIALS_ID:
+ type: string
+ default: "openstack-qa-credentials"
+ GLANCE_PROJECT:
+ type: string
+ default: "mirantis_mk20_qa"
+ GLANCE_ARGS:
+ type: string
+ default: ""
+ GLANCE_PUBLIC:
+ type: boolean
+ default: "true"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: "liberty"
diff --git a/jenkins/client/job/image/ubuntu.yml b/jenkins/client/job/image/ubuntu.yml
new file mode 100644
index 0000000..504702c
--- /dev/null
+++ b/jenkins/client/job/image/ubuntu.yml
@@ -0,0 +1,145 @@
+parameters:
+ _param:
+ jenkins_packer_pipeline: "${_param:jenkins_gerrit_url}/mk/packer-templates"
+ jenkins:
+ client:
+ job:
+ build-image-ubuntu-14-04:
+ type: workflow-scm
+ concurrent: false
+ discard:
+ build:
+ keep_num: 5
+ keep_days: 5
+ artifact:
+ keep_num: 6
+ keep_days: 6
+ scm:
+ type: git
+ url: "${_param:jenkins_packer_pipeline}"
+ credentials: "gerrit"
+ display_name: "[Images] Build Ubuntu 14.04 image"
+ param:
+ BUILD_OS:
+ type: string
+ default: "ubuntu-14.04"
+ BUILD_ONLY:
+ type: string
+ default: "qemu"
+ PACKER_DEBUG:
+ type: boolean
+ default: "false"
+ PACKER_URL:
+ type: string
+ default: "https://releases.hashicorp.com/packer/0.8.6/packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP:
+ type: string
+ default: "packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP_MD5:
+ type: string
+ default: "4cda1c44cf666fada495dd8e01522e1c"
+ PACKER_ARGS:
+ type: string
+ default: ""
+ UPLOAD_URL:
+ type: string
+ default: "http://jenkins:eyoocaiG3ADireK3Eef8gae1roh5oox0@10.10.100.85:8088/"
+ SKIP_UPLOAD:
+ type: boolean
+ default: "false"
+ CLEANUP_OLD:
+ type: boolean
+ default: "true"
+ CLEANUP_KEEP:
+ type: string
+ default: "3"
+ GLANCE_UPLOAD:
+ type: boolean
+ default: "true"
+ GLANCE_IMG_TYPES:
+ type: string
+ default: "qcow2"
+ GLANCE_URL:
+ type: string
+ default: "https://vpc.tcpisek.cz:5000/v2.0"
+ GLANCE_CREDENTIALS_ID:
+ type: string
+ default: "openstack-qa-credentials"
+ GLANCE_PROJECT:
+ type: string
+ default: "mirantis_mk20_qa"
+ GLANCE_ARGS:
+ type: string
+ default: ""
+ GLANCE_PUBLIC:
+ type: boolean
+ default: "true"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: "liberty"
+ build-image-ubuntu-16-04:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_packer_pipeline}"
+ credentials: "gerrit"
+ display_name: "[Images] Build Ubuntu 16.04 image"
+ param:
+ BUILD_OS:
+ type: string
+ default: "ubuntu-16.04"
+ BUILD_ONLY:
+ type: string
+ default: "qemu"
+ PACKER_DEBUG:
+ type: boolean
+ default: "false"
+ PACKER_URL:
+ type: string
+ default: "https://releases.hashicorp.com/packer/0.8.6/packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP:
+ type: string
+ default: "packer_0.8.6_linux_amd64.zip"
+ PACKER_ZIP_MD5:
+ type: string
+ default: "4cda1c44cf666fada495dd8e01522e1c"
+ PACKER_ARGS:
+ type: string
+ default: ""
+ UPLOAD_URL:
+ type: string
+ default: "http://jenkins:eyoocaiG3ADireK3Eef8gae1roh5oox0@10.10.100.85:8088/"
+ SKIP_UPLOAD:
+ type: boolean
+ default: "false"
+ CLEANUP_OLD:
+ type: boolean
+ default: "true"
+ CLEANUP_KEEP:
+ type: string
+ default: "3"
+ GLANCE_UPLOAD:
+ type: boolean
+ default: "true"
+ GLANCE_IMG_TYPES:
+ type: string
+ default: "qcow2"
+ GLANCE_URL:
+ type: string
+ default: "https://vpc.tcpisek.cz:5000/v2.0"
+ GLANCE_CREDENTIALS_ID:
+ type: string
+ default: "openstack-qa-credentials"
+ GLANCE_PROJECT:
+ type: string
+ default: "mirantis_mk20_qa"
+ GLANCE_ARGS:
+ type: string
+ default: ""
+ GLANCE_PUBLIC:
+ type: boolean
+ default: "true"
+ OPENSTACK_API_CLIENT:
+ type: string
+ default: "liberty"
diff --git a/jenkins/client/job/kill_stuck_jobs.yml b/jenkins/client/job/kill_stuck_jobs.yml
new file mode 100644
index 0000000..57f0b3f
--- /dev/null
+++ b/jenkins/client/job/kill_stuck_jobs.yml
@@ -0,0 +1,25 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ kill-stuck-jobs:
+ name: kill-stuck-jobs
+ discard:
+ build:
+ keep_num: 3
+ artifact:
+ keep_num: 3
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: abort-long-running-jobs.groovy
+ trigger:
+ timer:
+ spec: "H H * * *"
+ param:
+ MAX_DURATION_IN_HOURS:
+ type: string
+ default: "24"
diff --git a/jenkins/client/job/opencontrail/build/dpdk-extra.yml b/jenkins/client/job/opencontrail/build/dpdk-extra.yml
new file mode 100644
index 0000000..0ac7b50
--- /dev/null
+++ b/jenkins/client/job/opencontrail/build/dpdk-extra.yml
@@ -0,0 +1,75 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-opencontrail-dpdk-extra:
+ name: build-opencontrail-dpdk-extra-{{branch_name}}-{{os}}-{{dist}}
+ jobs:
+ - os: ubuntu
+ dist: trusty
+ branch_name: kilo
+ branch_real_name: kilo
+ - os: ubuntu
+ dist: trusty
+ branch_name: liberty
+ branch_real_name: liberty-multiqueue
+ - os: ubuntu
+ dist: trusty
+ branch_name: mitaka
+ branch_real_name: mitaka
+ - os: ubuntu
+ dist: xenial
+ branch_name: mitaka
+ branch_real_name: mitaka
+ template:
+ discard:
+ build:
+ keep_num: 5
+ artifact:
+ keep_num: 5
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: build-extra-dpdk-pipeline.groovy
+ quiet_period: 120
+ trigger:
+ gerrit:
+ project:
+ contrail/contrail-dpdk-extra-packages:
+ branches:
+ - "{{branch_real_name}}"
+ 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}/contrail/contrail-dpdk-extra-packages.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "{{branch_real_name}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ APTLY_REPO:
+ type: string
+ default: "{{os}}-{{dist}}-{{branch_name}}"
+ OS:
+ type: string
+ default: "{{os}}"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
diff --git a/jenkins/client/job/opencontrail/build/generic.yml b/jenkins/client/job/opencontrail/build/generic.yml
new file mode 100644
index 0000000..e994323
--- /dev/null
+++ b/jenkins/client/job/opencontrail/build/generic.yml
@@ -0,0 +1,162 @@
+parameters:
+ _param:
+ jenkins_contrail_pipeline: "${_param:jenkins_gerrit_url}/contrail/contrail-pipeline"
+ jenkins:
+ client:
+ job_template:
+ build-opencontrail:
+ name: build-opencontrail-{{buildname}}-{{os}}-{{dist}}
+ jobs:
+ - buildname: oc303
+ os: ubuntu
+ dist: trusty
+ branch: R3.0.3.x
+ ppa: mirantis-opencontrail/opencontrail-3.0.3
+ upload_source_package: false
+ - buildname: oc31
+ os: ubuntu
+ dist: trusty
+ branch: R3.1
+ ppa: mirantis-opencontrail/opencontrail-3.1
+ upload_source_package: true
+ - buildname: oc31
+ os: ubuntu
+ dist: xenial
+ branch: R3.1
+ ppa: mirantis-opencontrail/opencontrail-3.1
+ upload_source_package: true
+ - buildname: oc311
+ os: ubuntu
+ dist: trusty
+ branch: R3.1.1.x
+ ppa: mirantis-opencontrail/opencontrail-3.1.1
+ upload_source_package: true
+ - buildname: oc311
+ os: ubuntu
+ dist: xenial
+ branch: R3.1.1.x
+ ppa: mirantis-opencontrail/opencontrail-3.1.1
+ upload_source_package: true
+ - buildname: oc32
+ os: ubuntu
+ dist: trusty
+ branch: R3.2
+ ppa: mirantis-opencontrail/opencontrail-3.2
+ upload_source_package: true
+ - buildname: oc32
+ os: ubuntu
+ dist: xenial
+ branch: R3.2
+ ppa: mirantis-opencontrail/opencontrail-3.2
+ upload_source_package: true
+ template:
+ discard:
+ build:
+ keep_num: 5
+ artifact:
+ keep_num: 5
+ type: workflow-scm
+ concurrent: false
+ quiet_period: 120
+ scm:
+ type: git
+ url: "${_param:jenkins_contrail_pipeline}"
+ credentials: "gerrit"
+ github:
+ url: https://github.com/Mirantis/ccp-contrail-pipeline
+ trigger:
+ gerrit:
+ project:
+ contrail/contrail-pipeline:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-build:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-controller:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-vrouter:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-third-party:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-generateDS:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-sandesh:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-packages:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-nova-vif-driver:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-neutron-plugin:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-nova-extensions:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-heat:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-storage:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-server-manager:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-controller:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-core:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-webui-third-party:
+ branches:
+ - "{{branch}}"
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ APTLY_REPO:
+ type: string
+ default: "{{os}}-{{dist}}-{{buildname}}"
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail"
+ SOURCE_BRANCH:
+ type: string
+ default: "{{branch}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ KEEP_REPOS:
+ type: boolean
+ default: 'false'
+ description: "Don't cleanup on failure"
+ OS:
+ type: string
+ default: "{{os}}"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
+ PPA:
+ type: string
+ default: "{{ppa}}"
+ UPLOAD_SOURCE_PACKAGE:
+ type: boolean
+ default: '{{upload_source_package}}'
diff --git a/jenkins/client/job/opencontrail/build/init.yml b/jenkins/client/job/opencontrail/build/init.yml
new file mode 100644
index 0000000..b4853b6
--- /dev/null
+++ b/jenkins/client/job/opencontrail/build/init.yml
@@ -0,0 +1,4 @@
+classes:
+ - system.jenkins.client.job.opencontrail.build.generic
+ - system.jenkins.client.job.opencontrail.build.test
+ - system.jenkins.client.job.opencontrail.build.dpdk-extra
diff --git a/jenkins/client/job/opencontrail/build/test.yml b/jenkins/client/job/opencontrail/build/test.yml
new file mode 100644
index 0000000..7b39b97
--- /dev/null
+++ b/jenkins/client/job/opencontrail/build/test.yml
@@ -0,0 +1,127 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ test-opencontrail:
+ name: test-opencontrail-{{buildname}}-{{os}}-{{dist}}
+ jobs:
+ - buildname: oc31
+ os: ubuntu
+ dist: trusty
+ branch: R3.1
+ - buildname: oc31
+ os: ubuntu
+ dist: xenial
+ branch: R3.1
+ - buildname: oc311
+ os: ubuntu
+ dist: trusty
+ branch: R3.1.1.x
+ - buildname: oc311
+ os: ubuntu
+ dist: xenial
+ branch: R3.1.1.x
+ - buildname: oc32
+ os: ubuntu
+ dist: trusty
+ branch: R3.2
+ - buildname: oc32
+ os: ubuntu
+ dist: xenial
+ branch: R3.2
+ template:
+ discard:
+ build:
+ keep_num: 5
+ artifact:
+ keep_num: 5
+ type: workflow-scm
+ concurrent: false
+ quiet_period: 120
+ scm:
+ type: git
+ url: "https://github.com/chnyda/contrail-unittest"
+ trigger:
+ gerrit:
+ project:
+ contrail/contrail-pipeline:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-build:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-controller:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-vrouter:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-third-party:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-generateDS:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-sandesh:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-packages:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-nova-vif-driver:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-neutron-plugin:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-nova-extensions:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-heat:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-storage:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-server-manager:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-controller:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-web-core:
+ branches:
+ - "{{branch}}"
+ contrail/contrail-webui-third-party:
+ 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}/contrail"
+ SOURCE_BRANCH:
+ type: string
+ default: "{{branch}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ KEEP_REPOS:
+ type: boolean
+ default: 'false'
+ description: "Don't cleanup on failure"
+ OS:
+ type: string
+ default: "{{os}}"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
diff --git a/jenkins/client/job/opencontrail/git-mirrors/2way.yml b/jenkins/client/job/opencontrail/git-mirrors/2way.yml
new file mode 100644
index 0000000..0ecb83f
--- /dev/null
+++ b/jenkins/client/job/opencontrail/git-mirrors/2way.yml
@@ -0,0 +1,33 @@
+parameters:
+ _param:
+ 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}
diff --git a/jenkins/client/job/opencontrail/git-mirrors/downstream.yml b/jenkins/client/job/opencontrail/git-mirrors/downstream.yml
new file mode 100644
index 0000000..0cf3a33
--- /dev/null
+++ b/jenkins/client/job/opencontrail/git-mirrors/downstream.yml
@@ -0,0 +1,93 @@
+parameters:
+ _param:
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins:
+ client:
+ job_template:
+ git-mirror:
+ name: git-mirror-{{name}}
+ jobs:
+ - name: contrail-build
+ - name: contrail-controller
+ - name: contrail-vrouter
+ - name: contrail-third-party
+ - name: contrail-generateDS
+ - name: contrail-sandesh
+ - name: contrail-packages
+ - name: contrail-nova-vif-driver
+ - name: contrail-neutron-plugin
+ - name: contrail-nova-extensions
+ - name: contrail-ceilometer-plugin
+ - name: contrail-heat
+ - name: contrail-web-storage
+ - name: contrail-web-server-manager
+ - name: contrail-web-controller
+ - name: contrail-web-core
+ - name: contrail-webui-third-party
+ - name: contrail-dpdk-extra-packages
+ - name: contrail-kubernetes
+ 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-pipeline.groovy
+ github:
+ url: "https://github.com/Juniper/{{name}}"
+ trigger:
+ github:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ param:
+ SOURCE_URL:
+ type: string
+ default: "https://github.com/Juniper/{{name}}.git"
+ TARGET_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail/{{name}}.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: ${_param:contrail_branches}
+ job:
+ git-mirror-ifmap-python-client:
+ 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-pipeline.groovy
+ github:
+ url: "https://github.com/tcpcloud/ifmap-python-client"
+ trigger:
+ github:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ param:
+ SOURCE_URL:
+ type: string
+ default: "https://github.com/tcpcloud/ifmap-python-client.git"
+ TARGET_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail/ifmap-python-client.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "master"
diff --git a/jenkins/client/job/opencontrail/git-mirrors/init.yml b/jenkins/client/job/opencontrail/git-mirrors/init.yml
new file mode 100644
index 0000000..4a06885
--- /dev/null
+++ b/jenkins/client/job/opencontrail/git-mirrors/init.yml
@@ -0,0 +1,4 @@
+classes:
+ - system.jenkins.client.job.opencontrail.git-mirrors.downstream
+ - system.jenkins.client.job.opencontrail.git-mirrors.upstream
+ - system.jenkins.client.job.opencontrail.git-mirrors.2way
diff --git a/jenkins/client/job/opencontrail/git-mirrors/upstream.yml b/jenkins/client/job/opencontrail/git-mirrors/upstream.yml
new file mode 100644
index 0000000..ece2182
--- /dev/null
+++ b/jenkins/client/job/opencontrail/git-mirrors/upstream.yml
@@ -0,0 +1,189 @@
+parameters:
+ _param:
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins_contrail_pipeline: "${_param:jenkins_gerrit_url}/contrail/contrail-pipeline"
+ jenkins:
+ client:
+ job_template:
+ git-mirror-upstream:
+ name: git-mirror-upstream-{{name}}
+ jobs:
+ - name: contrail-build
+ 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}
+ 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-pipeline.groovy
+ github:
+ url: "https://github.com/Mirantis/{{name}}"
+ trigger:
+ github:
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail/{{name}}.git"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:Mirantis/{{name}}.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "{{branches}}"
+ job:
+ git-mirror-upstream-ifmap-python-client:
+ 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-pipeline.groovy
+ github:
+ url: "https://github.com/tcpcloud/ifmap-python-client"
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/contrail/ifmap-python-client.git"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:Mirantis/ifmap-python-client.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "master"
+ # XXX: this one ccp- prefixed is kind-of obsolete and should be
+ # removed
+ git-mirror-upstream-ccp-contrail-pipeline:
+ 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-pipeline.groovy
+ github:
+ url: https://github.com/Mirantis/ccp-contrail-pipeline
+ trigger:
+ gerrit:
+ project:
+ contrail/contrail-pipeline:
+ branches:
+ - master
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_contrail_pipeline}"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:Mirantis/ccp-contrail-pipeline.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: master
+ git-mirror-upstream-contrail-pipeline:
+ 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-pipeline.groovy
+ github:
+ url: https://github.com/Mirantis/contrail-pipeline
+ trigger:
+ gerrit:
+ project:
+ contrail/contrail-pipeline:
+ branches:
+ - master
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_contrail_pipeline}"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:Mirantis/contrail-pipeline.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: master
diff --git a/jenkins/client/job/opencontrail/init.yml b/jenkins/client/job/opencontrail/init.yml
new file mode 100644
index 0000000..72ee4fe
--- /dev/null
+++ b/jenkins/client/job/opencontrail/init.yml
@@ -0,0 +1,9 @@
+classes:
+ - system.jenkins.client.job.opencontrail.build
+ - 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,master"
+ contrail_kubernetes_branches: "master,release-1.2"
+ contrail_dpdk_extra_branches: "mitaka,kilo,liberty-multiqueue"
+ contrail_ceilometer_plugin_branches: "master"
diff --git a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
new file mode 100644
index 0000000..207ae6b
--- /dev/null
+++ b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
@@ -0,0 +1,136 @@
+parameters:
+ _param:
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins:
+ client:
+ job_template:
+ git-mirror-2way-salt-formula:
+ name: git-mirror-2way-salt-formula-{{name}}
+ jobs:
+ - name: aodh
+ - name: apache
+ - name: aptly
+ - name: artifactory
+ - name: backupninja
+ - name: avinetworks
+ - name: billometer
+ - name: bind
+ - name: bird
+ - name: cadf
+ - name: calico
+ - name: cassandra
+ - name: ccp
+ - name: ceilometer
+ - name: ceph
+ - name: chrony
+ - name: cinder
+ - name: collectd
+ - name: dekapod
+ - name: docker
+ - name: dovecot
+ - name: elasticsearch
+ - name: etcd
+ - name: foreman
+ - name: freeipa
+ - name: galera
+ - name: gerrit
+ - name: git
+ - name: gitlab
+ - name: glance
+ - name: glusterfs
+ - name: grafana
+ - name: graphite
+ - name: haproxy
+ - name: heat
+ - name: heka
+ - name: horizon
+ - name: influxdb
+ - name: iptables
+ - name: isc-dhcp
+ - name: java
+ - name: jenkins
+ - name: kedb
+ - name: keepalived
+ - name: keystone
+ - name: kibana
+ - name: kubernetes
+ - name: letsencrypt
+ - name: libvirt
+ - name: linux
+ - name: logrotate
+ - name: maas
+ - name: magnum
+ - name: memcached
+ - name: midonet
+ - name: monasca
+ - name: mongodb
+ - name: murano
+ - name: mysql
+ - name: nagios
+ - name: network
+ - name: neutron
+ - name: nfs
+ - name: nginx
+ - name: nodejs
+ - name: nova
+ - name: ntp
+ - name: opencontrail
+ - name: openssh
+ - name: openvpn
+ - name: openvstorage
+ - name: owncloud
+ - name: postfix
+ - name: postgresql
+ - name: pritunl
+ - name: prometheus
+ - name: python
+ - name: rabbitmq
+ - name: reclass
+ - name: redis
+ - name: roundcube
+ - name: rsync
+ - name: rsyslog
+ - name: sahara
+ - name: salt
+ - name: sensu
+ - name: sentry
+ - name: sphinx
+ - name: statsd
+ - name: supervisor
+ - name: swift
+ - name: taiga
+ - name: telegraf
+ - name: varnish
+ - name: zookeeper
+ 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/salt-formulas/salt-formula-{{name}}"
+ trigger:
+ github:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/salt-formulas/{{name}}.git"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:salt-formulas/salt-formula-{{name}}.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: ${_param:salt_formulas_branches}
diff --git a/jenkins/client/job/salt-formulas/git-mirrors/init.yml b/jenkins/client/job/salt-formulas/git-mirrors/init.yml
new file mode 100644
index 0000000..9b1d77d
--- /dev/null
+++ b/jenkins/client/job/salt-formulas/git-mirrors/init.yml
@@ -0,0 +1,5 @@
+classes:
+ - system.jenkins.client.job.salt-formulas.git-mirrors.2way
+parameters:
+ _param:
+ salt_formulas_branches: master
diff --git a/jenkins/client/job/salt-formulas/init.yml b/jenkins/client/job/salt-formulas/init.yml
new file mode 100644
index 0000000..c498032
--- /dev/null
+++ b/jenkins/client/job/salt-formulas/init.yml
@@ -0,0 +1,4 @@
+classes:
+ - system.jenkins.client.job.salt-formulas.git-mirrors
+ - system.jenkins.client.job.salt-formulas.tests
+ - system.jenkins.client.job.salt-formulas.release
diff --git a/jenkins/client/job/salt-formulas/release.yml b/jenkins/client/job/salt-formulas/release.yml
new file mode 100644
index 0000000..c686e6e
--- /dev/null
+++ b/jenkins/client/job/salt-formulas/release.yml
@@ -0,0 +1,26 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ release-salt-formulas:
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: release-salt-formulas-pipeline.groovy
+ github:
+ url: "https://github.com/salt-formulas/salt-formulas"
+ param:
+ TAG:
+ type: string
+ SOURCE_URL:
+ type: string
+ default: "https://github.com/salt-formulas/salt-formulas.git"
+ GERRIT_BASE:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/salt-formulas"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
diff --git a/jenkins/client/job/salt-formulas/tests.yml b/jenkins/client/job/salt-formulas/tests.yml
new file mode 100644
index 0000000..6988392
--- /dev/null
+++ b/jenkins/client/job/salt-formulas/tests.yml
@@ -0,0 +1,140 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ test-salt-formula:
+ name: test-salt-formula-{{name}}-latest
+ jobs:
+ - name: aodh
+ - name: apache
+ - name: aptly
+ - name: artifactory
+ - name: backupninja
+ - name: avinetworks
+ - name: billometer
+ - name: bind
+ - name: bird
+ - name: cadf
+ - name: calico
+ - name: cassandra
+ - name: ccp
+ - name: ceilometer
+ - name: ceph
+ - name: chrony
+ - name: cinder
+ - name: collectd
+ - name: dekapod
+ - name: docker
+ - name: dovecot
+ - name: elasticsearch
+ - name: etcd
+ - name: foreman
+ - name: freeipa
+ - name: galera
+ - name: gerrit
+ - name: git
+ - name: gitlab
+ - name: glance
+ - name: glusterfs
+ - name: grafana
+ - name: graphite
+ - name: haproxy
+ - name: heat
+ - name: heka
+ - name: horizon
+ - name: influxdb
+ - name: iptables
+ - name: isc-dhcp
+ - name: java
+ - name: jenkins
+ - name: kedb
+ - name: keepalived
+ - name: keystone
+ - name: kibana
+ - name: kubernetes
+ - name: letsencrypt
+ - name: libvirt
+ - name: linux
+ - name: logrotate
+ - name: maas
+ - name: magnum
+ - name: memcached
+ - name: midonet
+ - name: monasca
+ - name: mongodb
+ - name: murano
+ - name: mysql
+ - name: nagios
+ - name: network
+ - name: neutron
+ - name: nfs
+ - name: nginx
+ - name: nodejs
+ - name: nova
+ - name: ntp
+ - name: opencontrail
+ - name: openssh
+ - name: openvpn
+ - name: openvstorage
+ - name: owncloud
+ - name: postfix
+ - name: postgresql
+ - name: pritunl
+ - name: prometheus
+ - name: python
+ - name: rabbitmq
+ - name: reclass
+ - name: redis
+ - name: roundcube
+ - name: rsync
+ - name: rsyslog
+ - name: sahara
+ - name: salt
+ - name: sensu
+ - name: sentry
+ - name: sphinx
+ - name: statsd
+ - name: supervisor
+ - name: swift
+ - name: taiga
+ - name: telegraf
+ - name: varnish
+ - name: zookeeper
+ template:
+ discard:
+ build:
+ keep_num: 25
+ artifact:
+ keep_num: 25
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: test-salt-formulas-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ salt-formulas/{{name}}:
+ branches:
+ - master
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(recheck|reverify)'
+ param:
+ SALT_VERSION:
+ type: string
+ default: "latest"
+ SALT_OPTS:
+ type: string
+ default: "--force-color"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
diff --git a/jenkins/client/job/salt-models/generate.yml b/jenkins/client/job/salt-models/generate.yml
new file mode 100644
index 0000000..dc539e8
--- /dev/null
+++ b/jenkins/client/job/salt-models/generate.yml
@@ -0,0 +1,58 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ generate_reclass_clusters:
+ name: generate_reclass_cluster_{{cookiecutter_template}}
+ param:
+ cookiecutter_template:
+ - separated_products
+ template:
+ type: workflow-scm
+ concurrent: true
+ display_name: "[MCP] Generate reclass cluster {{cookiecutter_template}}"
+ scm:
+ type: git
+ url: ${_param:jenkins_job_repository}
+ credentials: "gitlab"
+ script: metadata/cookiecutter_generate.groovy
+ param:
+ COOKIECUTTER_TEMPLATE_URL:
+ type: string
+ default: "git@github.com:Mirantis/mk2x-cookiecutter-reclass-model.git"
+ COOKIECUTTER_TEMPLATE_CREDENTIALS:
+ type: string
+ default: jenkins
+ COOKIECUTTER_TEMPLATE_BRANCH:
+ type: string
+ default: master
+# COOKIECUTTER_TEMPLATE_PATH:
+# type: string
+# default: 'cluster/{{cookiecutter_template}}'
+ COOKIECUTTER_INSTALL_CICD:
+ type: boolean
+ default: false
+ COOKIECUTTER_INSTALL_CONTRAIL:
+ type: boolean
+ default: false
+ COOKIECUTTER_INSTALL_KUBERNETES:
+ type: boolean
+ default: false
+ COOKIECUTTER_INSTALL_OPENSTACK:
+ type: boolean
+ default: false
+ COOKIECUTTER_INSTALL_STACKLIGHT:
+ type: boolean
+ default: false
+ COOKIECUTTER_TEMPLATE_CONTEXT:
+ type: string
+ RECLASS_MODEL_URL:
+ type: string
+ default: "
+ ssh://jenkins@gerrit.mcp.mirantis.net:29418/salt-models/training"
+ RECLASS_MODEL_CREDENTIALS:
+ type: string
+ default: jenkins_slave
+ RECLASS_MODEL_BRANCH:
+ type: string
+ default: master
diff --git a/jenkins/client/job/salt-models/git-mirrors.yml b/jenkins/client/job/salt-models/git-mirrors.yml
new file mode 100644
index 0000000..7ee7b94
--- /dev/null
+++ b/jenkins/client/job/salt-models/git-mirrors.yml
@@ -0,0 +1,53 @@
+parameters:
+ _param:
+ jenkins_pollscm_spec: "H/60 * * * *"
+ jenkins:
+ client:
+ 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
+ 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}}-salt-model"
+ trigger:
+ github:
+ pollscm:
+ spec: ${_param:jenkins_pollscm_spec}
+ gerrit:
+ project:
+ salt-models/{{name}}:
+ branches:
+ - master
+ 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}/salt-models/{{name}}.git"
+ TARGET_URL:
+ type: string
+ default: "git@github.com:Mirantis/{{name}}-salt-model.git"
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ BRANCHES:
+ type: string
+ default: "master"
diff --git a/jenkins/client/job/salt-models/init.yml b/jenkins/client/job/salt-models/init.yml
new file mode 100644
index 0000000..9a98130
--- /dev/null
+++ b/jenkins/client/job/salt-models/init.yml
@@ -0,0 +1,6 @@
+classes:
+ - system.jenkins.client.job.salt-models.git-mirrors
+ - system.jenkins.client.job.salt-models.tests
+parameters:
+ _param:
+ salt_formulas_branches: master
diff --git a/jenkins/client/job/salt-models/tests.yml b/jenkins/client/job/salt-models/tests.yml
new file mode 100644
index 0000000..e451daf
--- /dev/null
+++ b/jenkins/client/job/salt-models/tests.yml
@@ -0,0 +1,85 @@
+parameters:
+ _param:
+ 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:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: test-salt-models-pipeline.groovy
+ concurrent: true
+ trigger:
+ gerrit:
+ project:
+ salt-models/{{name}}:
+ branches:
+ - master
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(recheck|reverify)'
+ param:
+ SALT_OPTS:
+ type: string
+ default: "--force-color"
+ GIT_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/salt-models/{{name}}"
+ RECLASS_SYSTEM_GIT_URL:
+ type: string
+ description: "Run against alternate system reclass"
+ RECLASS_SYSTEM_GIT_REF:
+ type: string
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ 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:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: test-system-reclass-pipeline.groovy
+ concurrent: true
+ trigger:
+ gerrit:
+ project:
+ salt-models/{{name}}:
+ branches:
+ - master
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(recheck|reverify)'
+ param:
+ TEST_MODELS:
+ type: string
+ default: "{{clusters}}"
diff --git a/jenkins/client/job/test_pipelines.yml b/jenkins/client/job/test_pipelines.yml
new file mode 100644
index 0000000..b418626
--- /dev/null
+++ b/jenkins/client/job/test_pipelines.yml
@@ -0,0 +1,43 @@
+parameters:
+ jenkins:
+ client:
+ job:
+ test-mk-mk-pipelines:
+ name: test-mk-mk-pipelines
+ discard:
+ build:
+ keep_num: 25
+ artifact:
+ keep_num: 25
+ type: workflow-scm
+ concurrent: true
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ credentials: "gerrit"
+ script: test-groovy-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ "mk/mk-pipelines":
+ branches:
+ - master
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(recheck|reverify)'
+ param:
+ CREDENTIALS_ID:
+ type: string
+ default: "gerrit"
+ GRADLE_IMAGE:
+ type: string
+ default: "niaquinto/gradle"
+ GRADLE_CMD:
+ type: string
+ default: "check"
diff --git a/jenkins/client/security/ldap.yml b/jenkins/client/security/ldap.yml
new file mode 100644
index 0000000..8b7b97b
--- /dev/null
+++ b/jenkins/client/security/ldap.yml
@@ -0,0 +1,7 @@
+parameters:
+ jenkins:
+ client:
+ security:
+ ldap:
+ server: ${_param:jenkins_security_ldap_server}
+ root_dn: ${_param:jenkins_security_root_dn}
diff --git a/jenkins/client/user/admin.yml b/jenkins/client/user/admin.yml
new file mode 100644
index 0000000..ce775f8
--- /dev/null
+++ b/jenkins/client/user/admin.yml
@@ -0,0 +1,7 @@
+parameters:
+ jenkins:
+ client:
+ user:
+ admin:
+ password: ${_param:jenkins_admin_password}
+ admin: true
diff --git a/jenkins/master/config.yml b/jenkins/master/config.yml
index eb7e112..41e3ffb 100644
--- a/jenkins/master/config.yml
+++ b/jenkins/master/config.yml
@@ -8,64 +8,4 @@
pillar:
jenkins:
master:
- home: /srv/volumes/jenkins
- approved_scripts:
- - field java.lang.String value
- - field java.util.ArrayList size
- - method com.cloudbees.jenkins.plugins.sshcredentials.SSHUserPrivateKey getPrivateKey
- - method com.cloudbees.plugins.credentials.common.IdCredentials getId
- - method com.cloudbees.plugins.credentials.common.PasswordCredentials getPassword
- - method com.cloudbees.plugins.credentials.common.UsernameCredentials getUsername
- - method groovy.json.JsonBuilder toPrettyString
- - method groovy.json.JsonSlurperClassic parseText java.lang.String
- - method groovy.lang.GString getBytes
- - method groovy.lang.GroovyObject getProperty java.lang.String
- - method hudson.model.Run getEnvironment
- - method java.io.File getAbsolutePath
- - method java.io.File getName
- - method java.io.File getParent
- - method java.io.Writer write java.lang.String
- - method java.lang.AutoCloseable close
- - method java.lang.Class isInstance java.lang.Object
- - method java.lang.Iterable iterator
- - method java.net.HttpURLConnection getResponseCode
- - method java.net.HttpURLConnection setRequestMethod java.lang.String
- - method java.net.URI getHost
- - method java.net.URI getPort
- - method java.net.URL openConnection
- - method java.net.URLConnection getHeaderField java.lang.String
- - method java.net.URLConnection getInputStream
- - method java.net.URLConnection getOutputStream
- - method java.net.URLConnection setDoOutput boolean
- - method java.net.URLConnection setRequestProperty java.lang.String java.lang.String
- - method java.util.LinkedHashMap$LinkedHashIterator hasNext
- - method java.util.Map size
- - method org.jenkinsci.plugins.workflow.job.WorkflowRun doStop
- - method org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper build
- - new groovy.json.JsonBuilder java.lang.Object
- - new groovy.json.JsonSlurperClassic
- - new java.io.File java.lang.String
- - new java.io.OutputStreamWriter java.io.OutputStream
- - new java.lang.Exception java.lang.String
- - new java.lang.InterruptedException
- - new java.net.URI java.lang.String
- - new java.util.Date
- - staticField groovy.io.FileType FILES
- - staticMethod com.cloudbees.plugins.credentials.CredentialsProvider lookupCredentials java.lang.Class hudson.model.ItemGroup
- - staticMethod java.lang.System getenv java.lang.String
- - staticMethod jenkins.model.Jenkins getInstance
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods collect java.util.Map groovy.lang.Closure
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods eachFile java.io.File groovy.io.FileType groovy.lang.Closure
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods get java.util.Map java.lang.Object java.lang.Object
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getAt java.lang.Iterable int
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getAt java.lang.String int
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getBytes java.io.File
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getText java.io.InputStream
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods hasProperty java.lang.Object java.lang.String
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods iterator java.lang.Object
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods iterator java.lang.Object[]
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods plus java.util.List java.lang.Iterable
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods plus java.util.List java.lang.Object
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods plus java.util.List java.util.Collection
- - staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods putAt java.lang.Object java.lang.String java.lang.Object
- - staticMethod org.codehaus.groovy.runtime.EncodingGroovyMethods encodeBase64 byte[]
+ home: /srv/volumes/jenkins
\ No newline at end of file
diff --git a/jenkins/slave.yml b/jenkins/slave.yml
deleted file mode 100644
index 42f3ca0..0000000
--- a/jenkins/slave.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-applications:
- - jenkins
-classes:
- - service.java.environment
- - system.docker.host
-parameters:
- _param:
- java_environment_version: "8"
- java_environment_platform: openjdk
- java:
- environment:
- headless: true
- jenkins:
- slave:
- enabled: true
- pkgs: false
- sudo: false
- scripts: []
- master:
- host: ${_param:control_vip_address}
- port: 8081
- protocol: http
-# user:
-# name: admin
-# password: ${_param:jenkins_admin_password}
- linux:
- system:
- user:
- jenkins:
- enabled: true
- name: jenkins
- home: /var/lib/jenkins
- sudo: false
- groups:
- - docker
diff --git a/jenkins/slave/debian.yml b/jenkins/slave/debian.yml
new file mode 100644
index 0000000..af3c719
--- /dev/null
+++ b/jenkins/slave/debian.yml
@@ -0,0 +1,8 @@
+classes:
+ - system.jenkins.slave
+parameters:
+ linux:
+ system:
+ package:
+ devscripts:
+ version: latest
diff --git a/jenkins/slave/docker.yml b/jenkins/slave/docker.yml
new file mode 100644
index 0000000..b134225
--- /dev/null
+++ b/jenkins/slave/docker.yml
@@ -0,0 +1,9 @@
+classes:
+ - system.jenkins.slave
+parameters:
+ linux:
+ system:
+ user:
+ jenkins:
+ groups:
+ - docker
diff --git a/jenkins/slave/init.yml b/jenkins/slave/init.yml
new file mode 100644
index 0000000..c445c14
--- /dev/null
+++ b/jenkins/slave/init.yml
@@ -0,0 +1,37 @@
+applications:
+ - jenkins
+classes:
+ - service.java.environment
+parameters:
+ _param:
+ java_environment_version: "8"
+ java_environment_platform: openjdk
+ jenkins_slave_user: none
+ jenkins_slave_password: none
+ jenkins_master_host: ${_param:control_vip_address}
+ jenkins_master_port: 8081
+ jenkins_master_protocol: http
+ java:
+ environment:
+ headless: true
+ jenkins:
+ slave:
+ enabled: true
+ pkgs: false
+ sudo: false
+ scripts: []
+ master:
+ host: ${_param:jenkins_master_host}
+ port: ${_param:jenkins_master_port}
+ protocol: ${_param:jenkins_master_protocol}
+ user:
+ name: ${_param:jenkins_slave_user}
+ password: ${_param:jenkins_slave_password}
+ linux:
+ system:
+ user:
+ jenkins:
+ enabled: true
+ name: jenkins
+ home: /var/lib/jenkins
+ sudo: false
diff --git a/jenkins/slave/libvirt.yml b/jenkins/slave/libvirt.yml
new file mode 100644
index 0000000..e40b841
--- /dev/null
+++ b/jenkins/slave/libvirt.yml
@@ -0,0 +1,25 @@
+classes:
+ - system.jenkins.slave
+ - service.iptables.server
+parameters:
+ linux:
+ system:
+ user:
+ jenkins:
+ groups:
+ - kvm
+ - libvirtd
+ package:
+ qemu:
+ version: latest
+ libvirt-bin:
+ version: latest
+ # Ensure FORWARD chain to be ACCEPT to avoid issue when running with docker
+ # 1.13 and newer that sets chain to DROP, see:
+ # https://github.com/docker/docker/pull/28257
+ iptables:
+ service:
+ enabled: true
+ chain:
+ FORWARD:
+ policy: ACCEPT
diff --git a/keystone/client/service/designate.yml b/keystone/client/service/designate.yml
index 4d95b2e..4018712 100644
--- a/keystone/client/service/designate.yml
+++ b/keystone/client/service/designate.yml
@@ -12,19 +12,19 @@
is_admin: true
password: ${_param:keystone_designate_password}
email: ${_param:admin_email}
- service:
- designate:
- type: dns
- description: OpenStack DNS service
- endpoints:
- - region: ${_param:openstack_region}
- public_address: ${_param:cluster_public_host}
- public_protocol: ${_param:cluster_public_protocol}
- public_port: 9001
- public_path: '/'
- internal_address: ${_param:designate_service_host}
- internal_port: 9001
- internal_path: '/'
- admin_address: ${_param:designate_service_host}
- admin_port: 9001
- admin_path: '/'
+ service:
+ designate:
+ type: dns
+ description: OpenStack DNS service
+ endpoints:
+ - region: ${_param:openstack_region}
+ public_address: ${_param:cluster_public_host}
+ public_protocol: ${_param:cluster_public_protocol}
+ public_port: 9001
+ public_path: '/'
+ internal_address: ${_param:designate_service_host}
+ internal_port: 9001
+ internal_path: '/'
+ admin_address: ${_param:designate_service_host}
+ admin_port: 9001
+ admin_path: '/'
diff --git a/linux/system/haveged.yml b/linux/system/haveged.yml
new file mode 100644
index 0000000..5c0be15
--- /dev/null
+++ b/linux/system/haveged.yml
@@ -0,0 +1,5 @@
+parameters:
+ linux:
+ system:
+ haveged:
+ enabled: true
diff --git a/linux/system/motd/dynamic.yml b/linux/system/motd/dynamic.yml
new file mode 100644
index 0000000..9589e8e
--- /dev/null
+++ b/linux/system/motd/dynamic.yml
@@ -0,0 +1,19 @@
+parameters:
+ linux:
+ system:
+ motd:
+ - warning: |
+ #!/bin/sh
+ printf "WARNING: This is private network.\n"
+ printf " Unauthorized access is strictly prohibited.\n"
+ printf "\n"
+ - info: |
+ #!/bin/sh
+ printf -- "------------------------------------------------------\n"
+ printf " Hostname | $(hostname)\n"
+ printf " Domain | $(hostname -d)\n"
+ printf " System | %s\n" "$(lsb_release -s -d)"
+ printf " Kernel | %s\n" "$(uname -r)"
+ printf " Uptime | %s\n" "$(uptime -p)"
+ printf " Load Average | %s\n" "$(cat /proc/loadavg | awk '{print $1", "$2", "$3}')"
+ printf -- "------------------------------------------------------\n"
diff --git a/linux/system/motd/static.yml b/linux/system/motd/static.yml
new file mode 100644
index 0000000..774abc6
--- /dev/null
+++ b/linux/system/motd/static.yml
@@ -0,0 +1,12 @@
+parameters:
+ linux:
+ system:
+ motd: |
+ WARNING: This is private network
+ Unauthorized access is strictly prohibited
+
+ ------------------------------------------------------
+ Hostname | ${linux:system:name}
+ Domain | ${linux:system:domain}
+ ------------------------------------------------------
+
diff --git a/linux/system/prompt/init.yml b/linux/system/prompt/init.yml
new file mode 100644
index 0000000..2f0120d
--- /dev/null
+++ b/linux/system/prompt/init.yml
@@ -0,0 +1,7 @@
+parameters:
+ linux:
+ system:
+ prompt:
+ default: \\n\\[\\033[0;37m\\]\\D{%y/%m/%d %H:%M:%S} ${linux:system:name}.${linux:system:domain}\\[\\e[0m\\]\\n\\[\\e[1;39m\\][\\u@\\h:\\w]\\[\\e[0m\\]
+ bash:
+ preserve_history: true
diff --git a/linux/system/prompt/production.yml b/linux/system/prompt/production.yml
new file mode 100644
index 0000000..f878460
--- /dev/null
+++ b/linux/system/prompt/production.yml
@@ -0,0 +1,7 @@
+classes:
+ - system.linux.system.prompt
+parameters:
+ linux:
+ system:
+ prompt:
+ default: \\n\\[\\033[0;37m\\]\\D{%y/%m/%d %H:%M:%S} ${linux:system:name}.${linux:system:domain}\\[\\e[0m\\]\\n\\[\\e[1;31m\\][\\u@\\h:\\w]\\[\\e[0m\\]
diff --git a/linux/system/repo/cassandra.yml b/linux/system/repo/cassandra.yml
new file mode 100644
index 0000000..74fb021
--- /dev/null
+++ b/linux/system/repo/cassandra.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ linux_repo_cassandra_component: 21x
+ linux:
+ system:
+ repo:
+ cassandra:
+ source: "deb http://www.apache.org/dist/cassandra/debian/ ${_param:linux_repo_cassandra_component} main"
+ architectures: amd64
+ key_url: "https://www.apache.org/dist/cassandra/KEYS"
diff --git a/linux/system/repo/glusterfs.yml b/linux/system/repo/glusterfs.yml
new file mode 100644
index 0000000..da4cddf
--- /dev/null
+++ b/linux/system/repo/glusterfs.yml
@@ -0,0 +1,9 @@
+parameters:
+ linux:
+ system:
+ repo:
+ glusterfs-ppa:
+ source: "deb http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu trusty main"
+ architectures: amd64
+ key_id: 3FE869A9
+ key_server: keyserver.ubuntu.com
\ No newline at end of file
diff --git a/linux/system/repo/mcp/contrail.yml b/linux/system/repo/mcp/contrail.yml
new file mode 100644
index 0000000..9f65ee3
--- /dev/null
+++ b/linux/system/repo/mcp/contrail.yml
@@ -0,0 +1,11 @@
+parameters:
+ _param:
+ linux_repo_contrail_component: oc311
+ apt_mk_version: stable
+ linux:
+ system:
+ repo:
+ mcp_opencontrail:
+ source: "deb [arch=amd64] http://apt-mk.mirantis.com/${_param:linux_system_codename}/ ${_param:apt_mk_version} ${_param:openstack_version} ${_param:linux_repo_contrail_component} extra"
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
diff --git a/linux/system/repo/mcp/extra.yml b/linux/system/repo/mcp/extra.yml
new file mode 100644
index 0000000..d8977f4
--- /dev/null
+++ b/linux/system/repo/mcp/extra.yml
@@ -0,0 +1,11 @@
+parameters:
+ _param:
+ apt_mk_version: stable
+ linux:
+ system:
+ repo:
+ mcp_extra:
+ source: "deb [arch=amd64] http://apt-mk.mirantis.com/${_param:linux_system_codename}/ ${_param:apt_mk_version} extra"
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ clean_file: true
diff --git a/linux/system/repo/mcp/openstack.yml b/linux/system/repo/mcp/openstack.yml
new file mode 100644
index 0000000..67c9cad
--- /dev/null
+++ b/linux/system/repo/mcp/openstack.yml
@@ -0,0 +1,32 @@
+parameters:
+ _param:
+ mcp_repo_version: 1.0
+ apt_mk_version: stable
+ linux:
+ system:
+ repo:
+ mirantis_openstack:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version} main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ mirantis_openstack_hotfix:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-hotfix main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ mirantis_openstack_security:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-security main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ mirantis_openstack_updates:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-updates main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ mirantis_openstack_holdback:
+ source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-holdback main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+ mk_openstack:
+ source: "deb [arch=amd64] http://apt-mk.mirantis.com/${_param:linux_system_codename}/ ${_param:apt_mk_version} ${_param:openstack_version}"
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+
diff --git a/linux/system/repo/mcp/salt.yml b/linux/system/repo/mcp/salt.yml
new file mode 100644
index 0000000..1941fe8
--- /dev/null
+++ b/linux/system/repo/mcp/salt.yml
@@ -0,0 +1,11 @@
+parameters:
+ _param:
+ apt_mk_version: stable
+ linux:
+ system:
+ repo:
+ mcp_salt:
+ source: "deb [arch=amd64] http://apt-mk.mirantis.com/${_param:linux_system_codename}/ ${_param:apt_mk_version} salt"
+ architectures: amd64
+ key_url: "http://apt-mk.mirantis.com/public.gpg"
+ clean_file: true
diff --git a/linux/system/repo/mcp10.yml b/linux/system/repo/mcp10.yml
deleted file mode 100644
index 2581543..0000000
--- a/linux/system/repo/mcp10.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-parameters:
- linux:
- system:
- repo:
- mirantis_openstack:
- source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename} mitaka main"
- architectures: amd64
- key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename}/archive-mcp1.0.key"
- mirantis_openstack_hotfix:
- source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename} mitaka-hotfix main"
- architectures: amd64
- key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename}/archive-mcp1.0.key"
- mirantis_openstack_security:
- source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename} mitaka-security main"
- architectures: amd64
- key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename}/archive-mcp1.0.key"
- mirantis_openstack_updates:
- source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename} mitaka-updates main"
- architectures: amd64
- key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename}/archive-mcp1.0.key"
- mirantis_openstack_holdback:
- source: "deb http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename} mitaka-holdback main"
- architectures: amd64
- key_url: "http://mirror.fuel-infra.org/mcp-repos/1.0/${_param:linux_system_codename}/archive-mcp1.0.key"
diff --git a/linux/system/repo/mcp_contrail.yml b/linux/system/repo/mcp_contrail.yml
deleted file mode 100644
index 85f0aa4..0000000
--- a/linux/system/repo/mcp_contrail.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-parameters:
- _param:
- linux_repo_contrail_component: oc311
- linux:
- system:
- repo:
- tcpcloud_opencontrail:
- source: "deb [arch=amd64] http://apt-mk.mirantis.com/${_param:linux_system_codename}/ nightly ${_param:openstack_version} ${_param:linux_repo_contrail_component} extra"
- architectures: amd64
- key_url: "http://apt-mk.mirantis.com/public.gpg"
-
-
-
diff --git a/linux/system/repo/mos9.yml b/linux/system/repo/mos9.yml
index 9bc7c8c..3a3abe1 100644
--- a/linux/system/repo/mos9.yml
+++ b/linux/system/repo/mos9.yml
@@ -6,15 +6,27 @@
source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0 main restricted"
architectures: amd64
key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+# - pin: 'release a=mos9.0'
+# priority: 1100
+# package: '*'
mirantis_openstack_hotfix:
source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-hotfix main restricted"
architectures: amd64
key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+# - pin: 'release a=mos9.0-hotfix'
+# priority: 1100
+# package: '*'
mirantis_openstack_security:
source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-security main restricted"
architectures: amd64
key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+# - pin: 'release a=mos9.0-security'
+# priority: 1100
+# package: '*'
mirantis_openstack_updates:
source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-updates main restricted"
architectures: amd64
key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+# - pin: 'release a=mos9.0-updates'
+# priority: 1100
+# package: '*'
diff --git a/linux/system/repo/saltstack/trusty.yml b/linux/system/repo/saltstack/trusty.yml
new file mode 100644
index 0000000..c20d4dc
--- /dev/null
+++ b/linux/system/repo/saltstack/trusty.yml
@@ -0,0 +1,9 @@
+parameters:
+ _param:
+ salt_version: 2016.3
+ linux:
+ system:
+ repo:
+ salt:
+ source: "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/${_param:salt_version} trusty main"
+ key_url: "http://repo.saltstack.com/apt/ubuntu/14.04/amd64/${_param:salt_version}/SALTSTACK-GPG-KEY.pub"
\ No newline at end of file
diff --git a/linux/system/repo/saltstack/xenial.yml b/linux/system/repo/saltstack/xenial.yml
new file mode 100644
index 0000000..0c933b8
--- /dev/null
+++ b/linux/system/repo/saltstack/xenial.yml
@@ -0,0 +1,9 @@
+parameters:
+ _param:
+ salt_version: 2016.3
+ linux:
+ system:
+ repo:
+ salt:
+ source: "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/${_param:salt_version} xenial main"
+ key_url: "http://repo.saltstack.com/apt/ubuntu/16.04/amd64/${_param:salt_version}/SALTSTACK-GPG-KEY.pub"
\ No newline at end of file
diff --git a/linux/system/repo/saltstack_2016_3_trusty.yml b/linux/system/repo/saltstack_2016_3_trusty.yml
index 19e4814..c7e03d7 100644
--- a/linux/system/repo/saltstack_2016_3_trusty.yml
+++ b/linux/system/repo/saltstack_2016_3_trusty.yml
@@ -1,3 +1,4 @@
+##Obsolete, please use repo/saltstack/trusty
parameters:
linux:
system:
diff --git a/linux/system/repo/saltstack_2016_3_xenial.yml b/linux/system/repo/saltstack_2016_3_xenial.yml
index 6fed4c5..413294f 100644
--- a/linux/system/repo/saltstack_2016_3_xenial.yml
+++ b/linux/system/repo/saltstack_2016_3_xenial.yml
@@ -1,3 +1,4 @@
+##Obsolete, please use repo/saltstack/xenial
parameters:
linux:
system:
diff --git a/linux/system/repo_local/contrail.yml b/linux/system/repo_local/contrail.yml
index c78e68c..902c4d5 100644
--- a/linux/system/repo_local/contrail.yml
+++ b/linux/system/repo_local/contrail.yml
@@ -8,6 +8,6 @@
refresh_db: ${_param:linux_repo_refresh_db}
source: "deb [arch=amd64] http://${_param:local_repo_url}/contrail trusty main"
pin:
- - pin: 'release l=Local Contrail APT repository'
+ - pin: 'release l=contrail ubuntu-trusty'
priority: ${_param:contrail_repo_pin_priority}
package: '*'
diff --git a/linux/system/repo_local/mcp/contrail.yml b/linux/system/repo_local/mcp/contrail.yml
new file mode 100644
index 0000000..158fda5
--- /dev/null
+++ b/linux/system/repo_local/mcp/contrail.yml
@@ -0,0 +1,13 @@
+parameters:
+ _param:
+ linux_repo_contrail_component: oc311
+ contrail_repo_pin_priority: 200
+ apt_mk_version: stable
+ linux:
+ system:
+ repo:
+ mcp_opencontrail_${_param:linux_repo_contrail_component}:
+ 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} ${_param:linux_repo_contrail_component}"
+ 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
new file mode 100644
index 0000000..67d85a5
--- /dev/null
+++ b/linux/system/repo_local/mcp/extra.yml
@@ -0,0 +1,12 @@
+parameters:
+ _param:
+ apt_mk_version: stable
+ linux:
+ system:
+ repo:
+ mcp_extra:
+ default: true
+ 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} extra"
+ architectures: amd64
+ key_url: "http://${_param:local_repo_url}/public.gpg"
\ No newline at end of file
diff --git a/linux/system/repo_local/mcp/openstack.yml b/linux/system/repo_local/mcp/openstack.yml
new file mode 100644
index 0000000..29329d1
--- /dev/null
+++ b/linux/system/repo_local/mcp/openstack.yml
@@ -0,0 +1,45 @@
+parameters:
+ linux:
+ system:
+ repo:
+ mirantis_openstack:
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:openstack_version} main"
+ architectures: amd64
+ key_url: "http://${_param:local_repo_url}/public.gpg"
+ pin:
+ - pin: 'release a=${_param:openstack_version}'
+ priority: 1100
+ package: '*'
+ mirantis_openstack_hotfix:
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:openstack_version}-hotfix main"
+ architectures: amd64
+ key_url: "http://${_param:local_repo_url}/public.gpg"
+ pin:
+ - pin: 'release a=m${_param:openstack_version}-hotfix'
+ priority: 1100
+ package: '*'
+ mirantis_openstack_security:
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:openstack_version}-security main"
+ architectures: amd64
+ key_url: "http://${_param:local_repo_url}/public.gpg"
+ pin:
+ - pin: 'release a=${_param:openstack_version}-security'
+ priority: 1100
+ package: '*'
+ mirantis_openstack_updates:
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:openstack_version}-updates main"
+ architectures: amd64
+ key_url: "http://${_param:local_repo_url}/public.gpg"
+ pin:
+ - pin: 'release a=${_param:openstack_version}-updates'
+ priority: 1100
+ package: '*'
+ mirantis_openstack_holdback:
+ refresh_db: ${_param:linux_repo_refresh_db}
+ source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:openstack_version}-holdback main"
+ architectures: amd64
+ key_url: "http://${_param:local_repo_url}/public.gpg"
+ pin:
+ - pin: 'release a=${_param:openstack_version}-holdback'
+ priority: 1100
+ package: '*'
diff --git a/linux/system/repo_local/mcp/salt.yml b/linux/system/repo_local/mcp/salt.yml
new file mode 100644
index 0000000..3abbf92
--- /dev/null
+++ b/linux/system/repo_local/mcp/salt.yml
@@ -0,0 +1,11 @@
+parameters:
+ _param:
+ apt_mk_version: stable
+ linux:
+ system:
+ repo:
+ mcp_salt:
+ 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} salt"
+ architectures: amd64
+ key_url: "http://${_param:local_repo_url}/public.gpg"
\ No newline at end of file
diff --git a/linux/system/repo_local/mos8.yml b/linux/system/repo_local/mos8.yml
index 29c6636..ddefdb7 100644
--- a/linux/system/repo_local/mos8.yml
+++ b/linux/system/repo_local/mos8.yml
@@ -7,7 +7,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos8.0'
+ - pin: 'release a=mos8.0'
priority: 1100
package: '*'
#mos8_openstack_hotfix:
@@ -15,7 +15,7 @@
# architectures: amd64
# key_url: "http://${_param:local_repo_url}/public.gpg"
# pin:
- # - pin: 'release s=mos8.0-hotfix'
+ # - pin: 'release a=mos8.0-hotfix'
# priority: 1100
# package: '*'
mos8_openstack_proposed:
@@ -23,7 +23,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos8.0-proposed'
+ - pin: 'release a=mos8.0-proposed'
priority: 1100
package: '*'
#mos8_openstack_security:
@@ -31,7 +31,7 @@
# architectures: amd64
# key_url: "http://${_param:local_repo_url}/public.gpg"
# pin:
- # - pin: 'release s=mos8.0-security'
+ # - pin: 'release a=mos8.0-security'
# priority: 1100
# package: '*'
mos8_openstack_updates:
@@ -39,7 +39,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos8.0-updates'
+ - pin: 'release a=mos8.0-updates'
priority: 1100
package: '*'
#mos8_murano:
@@ -48,6 +48,6 @@
# architectures: amd64
# key_url: "http://${_param:local_repo_url}/public.gpg"
# pin:
- # - pin: 'release s=mos8.0-proposed'
+ # - pin: 'release a=mos8.0-proposed'
# priority: 1100
- # package: '*'
\ No newline at end of file
+ # package: '*'
diff --git a/linux/system/repo_local/mos9.yml b/linux/system/repo_local/mos9.yml
index 6886185..5b6cdac 100644
--- a/linux/system/repo_local/mos9.yml
+++ b/linux/system/repo_local/mos9.yml
@@ -7,7 +7,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos9.0'
+ - pin: 'release a=mos9.0'
priority: 1100
package: '*'
mos9_openstack_hotfix:
@@ -15,7 +15,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos9.0-hotfix'
+ - pin: 'release a=mos9.0-hotfix'
priority: 1100
package: '*'
mos9_openstack_proposed:
@@ -23,7 +23,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos9.0-proposed'
+ - pin: 'release a=mos9.0-proposed'
priority: 1100
package: '*'
mos9_openstack_security:
@@ -31,7 +31,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos9.0-security'
+ - pin: 'release a=mos9.0-security'
priority: 1100
package: '*'
mos9_openstack_updates:
@@ -39,7 +39,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos9.0-updates'
+ - pin: 'release a=mos9.0-updates'
priority: 1100
package: '*'
mos9_murano:
@@ -48,6 +48,6 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos8.0-proposed'
+ - pin: 'release a=mos8.0-proposed'
priority: 1100
package: '*'
diff --git a/linux/system/repo_local/openstack.yml b/linux/system/repo_local/openstack.yml
index 4754d12..a873afb 100644
--- a/linux/system/repo_local/openstack.yml
+++ b/linux/system/repo_local/openstack.yml
@@ -10,7 +10,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos8.0'
+ - pin: 'release a=mos8.0'
priority: 1000
package: '*'
mirantis_openstack_hotfix:
@@ -19,7 +19,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos8.0-hotfix'
+ - pin: 'release a=mos8.0-hotfix'
priority: 1000
package: '*'
mirantis_openstack_proposed:
@@ -28,7 +28,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos8.0-proposed'
+ - pin: 'release a=mos8.0-proposed'
priority: 1000
package: '*'
mirantis_openstack_security:
@@ -37,7 +37,7 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos8.0-security'
+ - pin: 'release a=mos8.0-security'
priority: 1000
package: '*'
mirantis_openstack_updates:
@@ -46,6 +46,6 @@
architectures: amd64
key_url: "http://${_param:local_repo_url}/public.gpg"
pin:
- - pin: 'release s=mos8.0-updates'
+ - pin: 'release a=mos8.0-updates'
priority: 1000
package: '*'
diff --git a/linux/system/sudo.yml b/linux/system/sudo.yml
new file mode 100644
index 0000000..cafd360
--- /dev/null
+++ b/linux/system/sudo.yml
@@ -0,0 +1,38 @@
+parameters:
+ _param:
+ sudo_shells:
+ - /bin/sh
+ - /bin/ksh
+ - /bin/bash
+ - /bin/rbash
+ - /bin/dash
+ - /bin/zsh
+ - /bin/csh
+ - /bin/fish
+ - /bin/tcsh
+ - /usr/bin/login
+ - /usr/bin/su
+ - /usr/su
+ sudo_restricted_su:
+ - /bin/vi* /etc/sudoers*
+ - /bin/nano /etc/sudoers*
+ - /bin/emacs /etc/sudoers*
+ - /bin/su - root
+ - /bin/su -
+ - /bin/su
+ - /usr/sbin/visudo
+ sudo_coreutils_safe:
+ - /usr/bin/less
+ sudo_salt_safe:
+ - /usr/bin/salt state*
+ - /usr/bin/salt service*
+ - /usr/bin/salt pillar*
+ - /usr/bin/salt grains*
+ - /usr/bin/salt saltutil*
+ - /usr/bin/salt-call state*
+ - /usr/bin/salt-call service*
+ - /usr/bin/salt-call pillar*
+ - /usr/bin/salt-call grains*
+ - /usr/bin/salt-call saltutil*
+ sudo_salt_trusted:
+ - /usr/bin/salt*
diff --git a/mysql/client/database/designate.yml b/mysql/client/database/designate.yml
new file mode 100644
index 0000000..cee6ff1
--- /dev/null
+++ b/mysql/client/database/designate.yml
@@ -0,0 +1,17 @@
+parameters:
+ mysql:
+ client:
+ server:
+ database:
+ database:
+ designate:
+ encoding: utf8
+ users:
+ - name: designate
+ password: ${_param:mysql_designate_password}
+ host: '%'
+ rights: all
+ - name: designate
+ password: ${_param:mysql_designate_password}
+ host: ${_param:single_address}
+ rights: all
\ No newline at end of file
diff --git a/mysql/client/database/designate_pool_manager.yml b/mysql/client/database/designate_pool_manager.yml
new file mode 100644
index 0000000..6913bd4
--- /dev/null
+++ b/mysql/client/database/designate_pool_manager.yml
@@ -0,0 +1,17 @@
+parameters:
+ mysql:
+ client:
+ server:
+ database:
+ database:
+ 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:single_address}
+ rights: all
diff --git a/neutron/control/opencontrail/cluster.yml b/neutron/control/opencontrail/cluster.yml
index 05b7e33..5baa97e 100644
--- a/neutron/control/opencontrail/cluster.yml
+++ b/neutron/control/opencontrail/cluster.yml
@@ -35,7 +35,7 @@
password: ${_param:mysql_neutron_password}
identity:
engine: keystone
- region: RegionOne
+ region: ${_param:openstack_region}
host: ${_param:openstack_control_address}
port: 35357
user: neutron
@@ -63,4 +63,4 @@
contrail:
version: ${_param:opencontrail_version}
-
+
diff --git a/nginx/server/proxy/openstack/designate.yml b/nginx/server/proxy/openstack/designate.yml
new file mode 100644
index 0000000..2b8ffce
--- /dev/null
+++ b/nginx/server/proxy/openstack/designate.yml
@@ -0,0 +1,19 @@
+ parameters:
+ _param:
+ nginx_proxy_openstack_api_host: ${_param:cluster_public_host}
+ nginx:
+ server:
+ enabled: true
+ site:
+ nginx_proxy_openstack_api_designate:
+ enabled: true
+ type: nginx_proxy
+ name: openstack_api_designate
+ proxy:
+ host: ${_param:nginx_proxy_openstack_api_proxy_host}
+ port: 9001
+ protocol: http
+ host:
+ name: ${_param:nginx_proxy_openstack_api_host}
+ port: 9001
+ ssl: ${_param:nginx_proxy_ssl}
diff --git a/nova/compute/storage/ceph.yml b/nova/compute/storage/ceph.yml
index c271952..7cb24cb 100644
--- a/nova/compute/storage/ceph.yml
+++ b/nova/compute/storage/ceph.yml
@@ -6,5 +6,5 @@
ephemeral: yes
rbd_pool: ${_param:nova_storage_pool}
secret_uuid: ${_param:nova_storage_secret_uuid}
- client_cinder_key: ${_param:nova_storage_secret_uuid}
+ client_cinder_key: ${_param:nova_storage_client_key}
rbd_user: ${_param:nova_storage_user}
\ No newline at end of file
diff --git a/opencontrail/client/cluster.yml b/opencontrail/client/cluster.yml
new file mode 100644
index 0000000..c0db6fc
--- /dev/null
+++ b/opencontrail/client/cluster.yml
@@ -0,0 +1,2 @@
+classes:
+- service.opencontrail.client.cluster
diff --git a/opencontrail/client/resource/analytics_node.yml b/opencontrail/client/resource/analytics_node.yml
new file mode 100644
index 0000000..46e69eb
--- /dev/null
+++ b/opencontrail/client/resource/analytics_node.yml
@@ -0,0 +1,17 @@
+parameters:
+ _param:
+ cluster_node01_hostname: nal01
+ cluster_node02_hostname: nal02
+ cluster_node03_hostname: nal03
+ opencontrail:
+ client:
+ analytics_node:
+ member01:
+ name: ${_param:cluster_node01_hostname}
+ ip_address: ${_param:cluster_node01_address}
+ member02:
+ name: ${_param:cluster_node02_hostname}
+ ip_address: ${_param:cluster_node02_address}
+ member03:
+ name: ${_param:cluster_node03_hostname}
+ ip_address: ${_param:cluster_node03_address}
diff --git a/opencontrail/client/resource/config_node.yml b/opencontrail/client/resource/config_node.yml
new file mode 100644
index 0000000..85d08f8
--- /dev/null
+++ b/opencontrail/client/resource/config_node.yml
@@ -0,0 +1,17 @@
+parameters:
+ _param:
+ cluster_node01_hostname: ntw01
+ cluster_node02_hostname: ntw02
+ cluster_node03_hostname: ntw03
+ opencontrail:
+ client:
+ config_node:
+ member01:
+ name: ${_param:cluster_node01_hostname}
+ ip_address: ${_param:cluster_node01_address}
+ member02:
+ name: ${_param:cluster_node02_hostname}
+ ip_address: ${_param:cluster_node02_address}
+ member03:
+ name: ${_param:cluster_node03_hostname}
+ ip_address: ${_param:cluster_node03_address}
diff --git a/opencontrail/client/resource/control_node.yml b/opencontrail/client/resource/control_node.yml
new file mode 100644
index 0000000..8e84864
--- /dev/null
+++ b/opencontrail/client/resource/control_node.yml
@@ -0,0 +1,24 @@
+parameters:
+ _param:
+ cluster_node01_hostname: ntw01
+ cluster_node02_hostname: ntw02
+ cluster_node03_hostname: ntw03
+ opencontrail_asn: 64512
+ opencontrail:
+ client:
+ bgp_router:
+ member01:
+ name: ${_param:cluster_node01_hostname}
+ type: control-node
+ ip_address: ${_param:cluster_node01_address}
+ asn: ${_param:opencontrail_asn}
+ member02:
+ name: ${_param:cluster_node02_hostname}
+ type: control-node
+ ip_address: ${_param:cluster_node02_address}
+ asn: ${_param:opencontrail_asn}
+ member03:
+ name: ${_param:cluster_node03_hostname}
+ type: control-node
+ ip_address: ${_param:cluster_node03_address}
+ asn: ${_param:opencontrail_asn}
diff --git a/opencontrail/client/resource/database_node.yml b/opencontrail/client/resource/database_node.yml
new file mode 100644
index 0000000..1dd6377
--- /dev/null
+++ b/opencontrail/client/resource/database_node.yml
@@ -0,0 +1,17 @@
+parameters:
+ _param:
+ cluster_node01_hostname: ntw01
+ cluster_node02_hostname: ntw02
+ cluster_node03_hostname: ntw03
+ opencontrail:
+ client:
+ database_node:
+ member01:
+ name: ${_param:cluster_node01_hostname}
+ ip_address: ${_param:cluster_node01_address}
+ member02:
+ name: ${_param:cluster_node02_hostname}
+ ip_address: ${_param:cluster_node02_address}
+ member03:
+ name: ${_param:cluster_node03_hostname}
+ ip_address: ${_param:cluster_node03_address}
diff --git a/opencontrail/client/resource/edge_router.yml b/opencontrail/client/resource/edge_router.yml
new file mode 100644
index 0000000..89bf642
--- /dev/null
+++ b/opencontrail/client/resource/edge_router.yml
@@ -0,0 +1,12 @@
+parameters:
+ _param:
+ opencontrail_asn: 64512
+ opencontrail_router01_hostname: mx01
+ opencontrail:
+ client:
+ bgp_router:
+ router01:
+ name: ${_param:opencontrail_router01_hostname}
+ type: router
+ ip_address: ${_param:opencontrail_router01_address}
+ asn: ${_param:opencontrail_asn}
diff --git a/opencontrail/client/resource/edge_routers.yml b/opencontrail/client/resource/edge_routers.yml
new file mode 100644
index 0000000..a24fd9a
--- /dev/null
+++ b/opencontrail/client/resource/edge_routers.yml
@@ -0,0 +1,18 @@
+parameters:
+ _param:
+ opencontrail_asn: 64512
+ opencontrail_router01_hostname: mx01
+ opencontrail_router02_hostname: mx02
+ opencontrail:
+ client:
+ bgp_router:
+ router01:
+ name: ${_param:opencontrail_router01_hostname}
+ type: router
+ ip_address: ${_param:opencontrail_router01_address}
+ asn: ${_param:opencontrail_asn}
+ router02:
+ name: ${_param:opencontrail_router02_hostname}
+ type: router
+ ip_address: ${_param:opencontrail_router02_address}
+ asn: ${_param:opencontrail_asn}
diff --git a/opencontrail/client/resource/virtual_router.yml b/opencontrail/client/resource/virtual_router.yml
new file mode 100644
index 0000000..0333c8f
--- /dev/null
+++ b/opencontrail/client/resource/virtual_router.yml
@@ -0,0 +1,10 @@
+parameters:
+ _param:
+ contrail_compute_dpdk_enabled: False
+ opencontrail:
+ client:
+ virtual_router:
+ local_compute:
+ name: ${linux:system:name}
+ ip_address: ${_param:single_address}
+ dpdk_enabled: ${_param:contrail_compute_dpdk_enabled}
\ No newline at end of file
diff --git a/opencontrail/client/single.yml b/opencontrail/client/single.yml
new file mode 100644
index 0000000..8be67db
--- /dev/null
+++ b/opencontrail/client/single.yml
@@ -0,0 +1,2 @@
+classes:
+- service.opencontrail.client.single
\ No newline at end of file
diff --git a/opencontrail/compute/dpdk.yml b/opencontrail/compute/dpdk.yml
index 47464b6..b0d8e0c 100644
--- a/opencontrail/compute/dpdk.yml
+++ b/opencontrail/compute/dpdk.yml
@@ -1,11 +1,13 @@
parameters:
+ _param:
+ contrail_compute_dpdk_enabled: True
nova:
compute:
libvirt_service: libvirt-bin
opencontrail:
compute:
dpdk:
- enabled: true
+ enabled: ${_param:contrail_compute_dpdk_enabled}
taskset: "${_param:compute_vrouter_taskset}"
socket_mem: "${_param:compute_vrouter_socket_mem}"
interface:
diff --git a/opencontrail/control/control.yml b/opencontrail/control/control.yml
index 1726029..a3fefc3 100644
--- a/opencontrail/control/control.yml
+++ b/opencontrail/control/control.yml
@@ -41,7 +41,7 @@
identity:
engine: keystone
version: '2.0'
- region: RegionOne
+ region: ${_param:openstack_region}
host: ${_param:openstack_control_address}
port: 35357
user: admin
@@ -101,4 +101,4 @@
port: 9042
network:
engine: neutron
- host: ${_param:cluster_vip_address}
\ No newline at end of file
+ host: ${_param:cluster_vip_address}
diff --git a/openssh/server/team/l1_support.yml b/openssh/server/team/l1_support.yml
new file mode 100644
index 0000000..d0be2ed
--- /dev/null
+++ b/openssh/server/team/l1_support.yml
@@ -0,0 +1,45 @@
+classes:
+- system.linux.system.sudo
+# L1
+- system.openssh.server.team.members.aleksandrdobdin
+- system.openssh.server.team.members.aleksandrrubtsov
+- system.openssh.server.team.members.anatoliineliubin
+- system.openssh.server.team.members.antonrodionov
+- system.openssh.server.team.members.daniillapshin
+- system.openssh.server.team.members.danilakhmetov
+- system.openssh.server.team.members.deniskostriukov
+- system.openssh.server.team.members.dmitrygoloshubov
+- system.openssh.server.team.members.javierdiaz
+- system.openssh.server.team.members.josuepalmerin
+- system.openssh.server.team.members.krzysztoffranckowski
+- system.openssh.server.team.members.matthewroark
+- system.openssh.server.team.members.maximefimov
+- system.openssh.server.team.members.michaelpetersen
+- system.openssh.server.team.members.mikhailkraynov
+- system.openssh.server.team.members.nadezhdakabanova
+- system.openssh.server.team.members.renesoto
+- system.openssh.server.team.members.rudymccomb
+- system.openssh.server.team.members.scottmachtmes
+- system.openssh.server.team.members.zahedkhurasani
+parameters:
+ linux:
+ system:
+ group:
+ support:
+ enabled: true
+ name: support
+ sudo:
+ enabled: true
+ aliases:
+ command:
+ L1_SUPPORT_SALT: ${_param:sudo_salt_safe}
+ L1_SUPPORT_COREUTILS: ${_param:sudo_coreutils_safe}
+ L1_SUPPORT_SALT_TRUSTED: ${_param:sudo_salt_trusted}
+ L1_SUPPORT_RESTRICTED_SHELLS: ${_param:sudo_shells}
+ L1_SUPPORT_RESTRICTED: ${_param:sudo_restricted_su}
+ groups:
+ support:
+ commands:
+ - L1_SUPPORT_SALT
+ - '!L1_SUPPORT_RESTRICTED_SHELLS'
+ - '!L1_SUPPORT_RESTRICTED'
diff --git a/openssh/server/team/l2_support.yml b/openssh/server/team/l2_support.yml
new file mode 100644
index 0000000..6c54999
--- /dev/null
+++ b/openssh/server/team/l2_support.yml
@@ -0,0 +1,38 @@
+classes:
+- system.linux.system.sudo
+# L2
+- system.openssh.server.team.members.aepifanov
+- system.openssh.server.team.members.apetrenko
+- system.openssh.server.team.members.ashishkin
+- system.openssh.server.team.members.atarasov
+- system.openssh.server.team.members.dklepikov
+- system.openssh.server.team.members.dsutyagin
+- system.openssh.server.team.members.ekozhemyakin
+- system.openssh.server.team.members.enikanorov
+- system.openssh.server.team.members.fsoppelsa
+- system.openssh.server.team.members.manashkin
+- system.openssh.server.team.members.nkondra
+- system.openssh.server.team.members.obryndzii
+- system.openssh.server.team.members.oliemieshko
+- system.openssh.server.team.members.sovsianikov
+parameters:
+ linux:
+ system:
+ group:
+ supportl2:
+ enabled: true
+ name: supportl2
+ sudo:
+ enabled: true
+ aliases:
+ command:
+ L2_SUPPORT_SALT: ${_param:sudo_salt_safe}
+ L2_SUPPORT_SALT_TRUSTED: ${_param:sudo_salt_trusted}
+ L2_SUPPORT_RESTRICTED_SHELLS: ${_param:sudo_shells}
+ L2_SUPPORT_RESTRICTED: ${_param:sudo_restricted_su}
+ groups:
+ supportl2:
+ commands:
+ - ALL
+ - '!L2_SUPPORT_RESTRICTED_SHELLS'
+ - '!L2_SUPPORT_RESTRICTED'
diff --git a/openssh/server/team/mcp_qa.yml b/openssh/server/team/mcp_qa.yml
index 0ac1033..766044d 100644
--- a/openssh/server/team/mcp_qa.yml
+++ b/openssh/server/team/mcp_qa.yml
@@ -26,6 +26,99 @@
sudo: true
full_name: Oleksandr Kosse
home: /home/okosse
+ yshapovalov:
+ enabled: true
+ name: yshapovalov
+ sudo: true
+ full_name: Yevgeniy Shapovalov
+ home: /home/yshapovalov
+ dderyabin:
+ enabled: true
+ name: dderyabin
+ sudo: true
+ full_name: Denis Deryabin
+ home: /home/dderyabin
+ ababich:
+ enabled: true
+ name: ababich
+ sudo: true
+ full_name: Anna Babich
+ home: /home/ababich
+ esikachev:
+ enabled: true
+ name: esikachev
+ sudo: true
+ full_name: Evgeny Sikachev
+ home: /home/esikachev
+ akalach:
+ enabled: true
+ name: akalach
+ sudo: true
+ full_name: Andrew Kalach
+ home: /home/akalach
+ aheczko:
+ enabled: true
+ name: aheczko
+ sudo: true
+ full_name: Adam Heczko
+ home: /home/aheczko
+ ssokolov:
+ enabled: true
+ name: ssokolov
+ sudo: true
+ full_name: Sergey Sokolov
+ home: /home/ssokolov
+ mshalamov:
+ enabled: true
+ name: mshalamov
+ sudo: true
+ full_name: Maksym Shalamov
+ home: /home/mshalamov
+ schipiga:
+ enabled: true
+ name: schipiga
+ sudo: true
+ full_name: Sergey Chipiga
+ home: /home/schipiga
+ obutenko:
+ enabled: true
+ name: obutenko
+ sudo: true
+ full_name: Oleksii Butenko
+ home: /home/obutenko
+ ylobankov:
+ enabled: true
+ name: ylobankov
+ sudo: true
+ full_name: Yaroslav Lobankov
+ home: /home/ylobankov
+ vryzhenkin:
+ enabled: true
+ name: vryzhenkin
+ sudo: true
+ full_name: Victor Ryzhenkin
+ home: /home/vryzhenkin
+ dkalashnik:
+ enabled: true
+ name: dkalashnik
+ sudo: true
+ full_name: Dmitry Kalashnik
+ home: /home/dkalashnik
+ email: dkalashnik@mirantis.com
+ rpromyshlennikov:
+ enabled: true
+ name: rpromyshlennikov
+ sudo: true
+ full_name: Rodion Promyshlennikov
+ home: /home/rpromyshlennikov
+ email: rpromyshlennikov@mirantis.com
+ vgusev:
+ enabled: true
+ name: vgusev
+ sudo: true
+ full_name: Vitaly Gusev
+ home: /home/vgusev
+ email: vgusev@mirantis.com
group:
libvirtd:
enabled: true
@@ -54,6 +147,81 @@
public_keys:
- ${public_keys:okosse}
user: ${linux:system:user:okosse}
+ yshapovalov:
+ enabled: true
+ public_keys:
+ - ${public_keys:yshapovalov}
+ user: ${linux:system:user:yshapovalov}
+ dderyabin:
+ enabled: true
+ public_keys:
+ - ${public_keys:dderyabin}
+ user: ${linux:system:user:dderyabin}
+ ababich:
+ enabled: true
+ public_keys:
+ - ${public_keys:ababich}
+ user: ${linux:system:user:ababich}
+ esikachev:
+ enabled: true
+ public_keys:
+ - ${public_keys:esikachev}
+ user: ${linux:system:user:esikachev}
+ akalach:
+ enabled: true
+ public_keys:
+ - ${public_keys:akalach}
+ user: ${linux:system:user:akalach}
+ aheczko:
+ enabled: true
+ public_keys:
+ - ${public_keys:aheczko}
+ user: ${linux:system:user:aheczko}
+ ssokolov:
+ enabled: true
+ public_keys:
+ - ${public_keys:ssokolov}
+ user: ${linux:system:user:ssokolov}
+ mshalamov:
+ enabled: true
+ public_keys:
+ - ${public_keys:mshalamov}
+ user: ${linux:system:user:mshalamov}
+ schipiga:
+ enabled: true
+ public_keys:
+ - ${public_keys:schipiga}
+ user: ${linux:system:user:schipiga}
+ obutenko:
+ enabled: true
+ public_keys:
+ - ${public_keys:obutenko}
+ user: ${linux:system:user:obutenko}
+ ylobankov:
+ enabled: true
+ public_keys:
+ - ${public_keys:ylobankov}
+ user: ${linux:system:user:ylobankov}
+ vryzhenkin:
+ enabled: true
+ public_keys:
+ - ${public_keys:vryzhenkin}
+ user: ${linux:system:user:vryzhenkin}
+ dkalashnik:
+ enable: true
+ public_keys:
+ - ${public_keys:dkalashnik}
+ user: ${linux:system:user:dkalashnik}
+ rpromyshlennikov:
+ enable: true
+ public_keys:
+ - ${public_keys:rpromyshlennikov}
+ user: ${linux:system:user:rpromyshlennikov}
+ vgusev:
+ enable: true
+ public_keys:
+ - ${public_keys:vgusev}
+ user: ${linux:system:user:vgusev}
public_keys:
ddmitriev:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDuD4wJ8hzkchQ0pfgdwWukQyps1xYRfHOsjosmDu/mmgaXVud5mnpwb2q35E2YYTox2mx+ulJqyS+099gz6MPg4P8D5qdMuRbAsJqbceLaaIGQhdT8qgSo7ESrl5pwvYnfWzKLKF0z5s7nrW0nvArC40zhV9o9XpvzzzSFByepWfkwA8ReldGUYVvTKp8YXaCrqEdMZrU42adPM2nl+fYBbGF+h4/Ka247aVjPeER0blV3znFXbv2Kf38G+i/TEGaktgpBdtGGDi1tX2loMypmTJeqZRJnM0Eoly0BnynB7CSxn11eoIXBUe1mVYNqmQd1hw6uh59iymhK5j939v9J ddmitriev@dis_xcom
@@ -63,3 +231,33 @@
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLtOIkzqNA3wdLQyQxLRaRwi4oXnRCPCsrn8oaAyxDXHhU3+ATGvXBdbkA6xU3d4hAohru5DwxGzyikzAAtrv79GWA9/ryXPcplmxBiJcN36GyfW6eX89hI1VIJMKMG3cUs0ONf2D+hENhbaO0pu4hNAb5HFcHAuqecQNOFFrJ3RqnWM8RWgJPY3iF1A9JnXwVrUgME962VPlydYvlL5mLk+h+4DgHuPipw/Qana5a2JfdErsPYeAdDwG8frCdA9wvMzVVZv78s0lA6BritQdd0SyZejbOlT9KVHhSOhqnWdCtd8+nZXzXgjV7GAiv7H9yE4Ee6QYSHUQHwJxZs3ZT tleontovich@tleontovich-pc
okosse:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmb5FWl6dgK09TmxVYuvmfLyy6G9x2ed6dvXf0kfpMaaP37CST7t0UZ2m23qGF4T0ZGYbCkIdr+6zWG+a5ozuJiqoJwE3dLun8pnCwAjkmUxRyVIi9M6f3us4z+ooBZTBGWTGe7/ryqePpzyAjlw4om23pDTt09YQq5WDirdrFBNJ9ZlTwubbEWMTtHW5XMEui7s1IiggYmHI4cVh0lg7k/neoAk/5ZD9LI9+p2sISCOpD/f7C/BkgVd/4iCFNxXsPmMwRadBVYo8diB0OOekM6qsW5rfPCczCi9oavxjy62Z2XZ6wHPZ3HgeK8MhVJaRGge6zMTnB98aYh9LWfXFv okosse@okosse-pc
+ yshapovalov:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCWvKNMfHlugrEUMtDDJzZb3T1UzThOp/UtvQvyFTf1rlKN/i14b1cCVmbPaSKR6W4bqZ4YLnRfb5Z66ktEACL02RdC4FkCiGa8yFDAGXLbM2WJhHyA3ksu91z3wK2QRuKJuZuvjmelds1shTK1a31LgTqa7CNPfkfE9h+CsAizZfAhHg1yVqg0/CGKP8+iV8owR5MP9t8+JXTC40G6Qkjzrf/vuA13bT1X+JSWzLoI2OefezZ+X128fLkssPkr4IS1Jg+cbRvSRmGTVjvtk4dnDo3QxF5lUl6JZAUjPslMCxaqDvRFXn86UZ74g6iJ5dZjrU0vn6X+Ov+KVYmZ5znd yshapovalov@ys-pc
+ dderyabin:
+ key: AAAAB3NzaC1yc2EAAAADAQABAAABAQCljOKDvsoOsQFOsabL68kVTlzZOObP9d13Oqc7Lafew1MJx0uaCjabpfcaSOrLrqYu42akkpnHQ0ypQbzRWDREYWKciKmE1TKzRUTXZIF1FNNoFrDT7FfjrKVP42alk4isB0Yj9mvA6AhJGFM7pAy55dVEII30Rc0wKW6XCBAX8fIq3rHDnDYq7KuaSAtxkqj6u/C9eUcGBB+JIQ0NRhTVyIZlqjNeojXoM7py8pGDnGj54bIbpFtYiLU1hbowKfVVcJgHIE+17KsNvR7HwwZZ5lbUxzrOiOnoBq1JKF15JHQ3el358aKw3Ee7rqmVrHszohEBLfxRbWbACoTUem75 denis@usvbox
+ ababich:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDo2CJRAQeUeZbjDLdcE7GxQM82kL41YIyuOpNbpzFXphK4gljSMoKH9TJRdlx5S/AGDJltosDym9lY7gi3DqW4z/+k9pHBLQSdr4yDp0iCJcZc8LG3KUbZkZwwCYjf8FTz5tAWgS9z8IKNRMcfReJCkeaFI29p0PVgPqchNaQHUG40iiIl51uLsF4pCF2GbF/10drBCubENlWLoGv/+OwiNzeOvGANeX8jBivevfus2hZbTh1Zf8HsXqd5HLTMRn/BJOJRbLFd74BauAY/J/wOM9SJOaFZU201A2eYgMsamXT159O8e1Q5GMtL4uhseXZzQgKwF9tW/EFBDPwXvC+n ababich@ababich-pc
+ esikachev:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9zHSDorWIKSB5QH4y8bcdzsx0yE7cA/Eg3M98+qPkZPAJl1FgFXYo8XcMod52tVDsfap/mLg1k0pwmmocUGSoESAUs7Wdo5wKhRdsEo+SYxjfL3QVIlKpocho7DmBgudkRLk9mjzcjNBdWyuw9dH6/hy+FK77i5xUqIwJR0koc1WcvzyzZcacMZLYG26rxO0CMC9aTWIZcEFrv4hk7CSb+KFNfbvRN0vHjdp31GuEWDVZ6oSv8V5ipGCJS/HCuTzb/Wqjxgwh5OAqZoepdBaiqNhEmLbFBqQ0vtBwTjWixDRLry06s4J5WWFSGu6GrRbgHnd08752o2TiB28Af4F/ esikachev@Evgenys-MacBook-Pro.local
+ akalach:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOGQ6j4Fy1Lm00UihYbmJ88ctLGaVXlSPys8lk1gUsT8lR2oOZvERl8FIsSlN47Z2wbvcTCq3aOlxvuV/UyT8+r8LEGM5Wk1XSsDMRsvc92qfeRQhAJDp8f+2pUkNfc8rXaPKUDkz0iI6iwANOIR+P7Xx11w//0itDBBKX7sEBsxJbSjm6DLyfs1yn6tT5S4kqAcq5jpX3YMH0MqhcWPS0tK1W6QW13KDt317CIWmoVQMvdmzF/QenXIbV6PZjBy2DvkFVOThdH+OZDMgo4mggGqnsokjy6ZjT0LzKAptKrFKd/xRQUUelWY5XvXtH8RxVtg92Xqh2CjdA4OfYPn6x
+ aheczko:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGGRD/zStceB/CAJu8bnsWs9VPWY8W1F6fz2AvX2BiyEXCE2W4uMY11In+qHQtIaWeyWVR/XmoCw0mZxk7emTz91Y1FioinEgumkhpNPLY0fPdDHzwu3atCjAc7B3ZCCXusiUC6k99aCa9YXIZ0/0/75kqilRmIcxGeneL9S2+iuFn/HSpNR7IZN03AEzWgIfXEhB4lyNs9n3RHf+XXy2wxAKkcKpMyocEO9gc3uLY5OdUhGFHRKhEZwgz3K6ysDOCIOTkiiJ8KXMM07FIDLjs5pjUjnVkZ1kWq+virLMbhhyCbMR8zrPvWMjP5oYGm9U9aEeUMA5iMCa7K+qs2AM3 adamheczko@Adams-MacBook-Pro.local
+ ssokolov:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHuIo/dLh5qt+8jV4UUPqDo6ktJc12HVFg10S3hinjJUlAOxq8554l0LMvxmiZSrIjxGE/qUr8PlRgjLi4x4zQDggBdNGC/S4zcYNEiTQ7HaOFOjEJ0si6ODZfssQsr/A/bXdNOZE/nIZTUhTddJG+3nKUvuPnTeOQLqEOp4IFJwwvwnD2Wo4I1nc6+yDSJLuG8ANLtLlStzpMKr8wHvPWCUcB9B1oeeOVtw9+vEKxuUBkheXnXMh7shiyt4vmaFVbcgcHGPg8DjP8alKeAbIk0AYhiuNHV/rFzL+/kfImS94gU93A8vt0U2vCj8golqt2huxJblKDr4Abq1lDXLwn ssm@n104309
+ mshalamov:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDISS6h3QAYC7u5njMks8Wsb6dHd/+HnU4nCEkqn7At5V7IdhD8K7m/9woyEdsDEPEHfqIkS7VAtjZbWlpUdNDFFos6yDFusOqLOoEOVdhuVZISUQZpsZExQ7poUN+w2Z9wmxSZ5sAL5iaamMDKhxR/ANL+olnXRxl4qmWSm4RYgQ5z4+Md1gorsy1Lnz1rEalhbUFPtfwiQgWZzNiTat0oMuRVOTASHjvE7+Tu8yt3nZ63OzGGzCBIq94PITh9wjRqoRn71PM8Q4U/UWhMApQSh/GWB0Y5VaCfIHdvnI0V+OIVGecd6sMgqVIy3DH+P4afZ6xIJ5jjeAi27HhuM/Tqr0yHn5TRa95WoH/zp8GVIdNxiBGZdhxEwzUctKzXN9LKmWRd37xywmrnLWdFtDWgE4I4xxadAU1qQqENeGoNnHofalrMPF95VZApkA7kDMNedrPha0bwbErX8gjtVs0K8QCLSc2n94obOCSQKTBx/NEq2Nq28mr9FKcmtFmu5sQYab4AbUmh7e+CHZYUCg0TIWcSEfPjSjur3AwvTq+4rJ0vUCqhthQspgLhkomzaWG1bhSeNs3Tq2Pq9l1kBsaMao2zu0uYu4Na2YzptsqAue7MybHLQW8O7TyMycfGNGv23i1g/EZWUhVyGQswEThkvafymZi5EUm5AbYf7ud0FQ== mshalamov@mirantis.com
+ schipiga:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDamKTbqCQCGW1JLo+4PgntC1TkRrwbDOELyRVHxAlc56CcJE9QjrNnCOTqvgRoAmIC+P86nzUQxwSREMd0qgVCefAxKQVFVQ38oym9G90TF0nx4fFT3hUhEQwjMBjHhR2Vo+uUwbT2Hg51U1gBPx/WFa0U5Cf7V6+XNJ3r22W4XG8OrbuAoapwl4WN1346HEj3d0U6Z8Unsqjx9pRpZ1eYCeng4emLZ1UOhvLBfw22vSTkujjjRdfY6g52Gv4hRsgsS+JWulO+z/qd1GFcUp9j+yIvur+eeTWHelAbXq4kRNQfQjAs6nMM8Hp8gPa5jLYqMz2GgD96p8wOQCdK2nyL schipiga@mirantis.com
+ obutenko:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1AfAmTtaBkg+8osdkG37KSHGc1r7k0ZWIgTR+COgPBnGGySRFrL3paG8PJ+JaEtZwj0git/Kufr+Mlcdln3x21kI3V4Jol0bgfx3d+AVZ2niyjwEHEl1vN6ffevzJUPVvLlUWlykKrEnGp1+RXKT3MEaoDcexzRLRgZB/FLaX79i1tE/AqB35rH5MZLBGCRYJdisUrpj70UHwIsqgikwr3P/JNr5gJzYTewPM8ls9Y9BtFNbFHmU8L9b8jFjmhOnCJmXXJPoLxQYRX+MQbcov7r2omZ95xulRnJsvY6xY2BSe8FAVmT8UzXnkWi3CrXwqPBdutu9GUCsQmH934vdJ obutenko@obutenko-pc
+ ylobankov:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDiBwStgCHjvPFYOAJgFXAFSFZaf57fJoSJV2Ijeg3uC3owsfQCgp6xd0aqSAUPYwnyV88IiDhNESeltJc3HmrA7kHWzziKCe4H7HEIg3IPGUKcnG7HF9izkmVTxqI/sXoyPvFoel5mJhtSes3A8Nk8IfWOexTy8NBfh2Te4PWqsYqEmHn2AdJ4oVBBrRDoxH8jac8vimOCZ742qMvF9lRWtItWatuEA8+moOyzAxLc0k1e7E8Myp37jE7LeXdoCE97rNp3OX7JHnfCYsthbRytA3Xjh8WLTdAaI1RCj0GqnVS3jdPS/Qzreit1gh7c74HWH/h/aj/U2wjHK1X63fJx/ZhzyqCwHjJ3spDPcIZ0tujZhw0ZjD/MiVxRze1EpmVJ3Zt0S6sgrOFXPSeC+3BEW6LD+jVIb33kS5y3bN1CXikv18WdCaLYjOGHolYF18Z5VgrxQh6hq94cSuJCYTDnbhkbww8XXCPiB2JKVF6KlD3MwfqlGKD+pyUWXKF0ZC8J4IO+keMnGGuausOFoRxg0vmpJ0fb0HODGofNIcwqnXSGmTYucBxWVs1Y4vs7NQPNJyzTcXcM8NyPpsG2uy1pwvDo+rTZ/nWFdu1mvW11hfInkNXTXjWljlNwhJCfRyNFvoUbahfRaNaBRIhy4GlGYjAHaMfkdYTYm0Dqt00YjQ== ylobankov@ylobankov
+ vryzhenkin:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDwqFlEKeZDHKPSwIRXN7Bprc9G8HRvuq2ht+XPFixkX3H/GLrsy781PkE9CM3ZVhz7h68Rmyt3n6B1d0ewvcCHj2m/rixJj8rayNOuQN7v8yflTB/iKFZW7BZ9yxu3OSkQScrjQ6YRcifDYBMDFTkMrKsrIkfMBasvOGcK6BoPx1s3diupG8gN0fpGZ/BPIia+mGz+3jRk6aFBI9n5G1bbFikUPonhjlEoHoQv2ngKGvmDr8FWoItuvzQ7HH9mEwRTqVMzCNdeVxvNNNTLJ72ikig1FaCyAxGViVCa2Xidug9iRHE6dUWsqvaxNtXIrGX4E5lvNXHiJYi/mVcQR+Dx freerunner@pegasus
+ dkalashnik:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAyz5ovMK/rRxlhiy7x4dVwFkUqN/hhdVIpsQRQoGgTOjVhH6Y+eTE3si0RRq/HKZMwkcClJIqzMgjoajT5eQQphQrAAn2pwuCyZj0mXJJ1RSXQm+nSnhoqyB1r7Nl3keopgxrDlBLWyvyS3dJM9RJy4TimIwhuSA3qdhmfeqRm5M=
+ rpromyshlennikov:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC3dCFNCYVxHQQD+/X1JJ9auAzpj15AkEl6yO4lJ1XL43ljxJbzWXXl3RN9vAjiBE1tvxEfuPEIxF7kO2sc1xPKtkw40RIwXrDIGfjlVCaBLtnxCPnCQX349UMSJl/AXpkHqKGVeAW+AO4zbeI8XnS9aDNMuX6ncgrLRMxWCxETL3J/IIE1LZ5v0QvyQBHuJc5jbyODVb4onff296SbjzYm96elJZcRFo4FzFaIcKtis+Sm4+6OAGCNDIXxfB9e5TK579x+L+ci/W1k83Fcz6NpQU/OM1R1CZVMap/Xet424aRMFPmA8sTF4hdYvWd6adBihco2isaW51b1Gkc+K9N9wELiEBMpdKQtqkPOvm98UhoRk7Wp+8+zSamj1uEs/7m6VCGFebq8V3xqTexWH2dCUznxZ5+KS6WLBh+3f4P6wG8VuWfgFjIUf7jjYKjidBXfSXFDxRkhf/LV8V0jLv+Ma1mjKBUX+rk7IFxm0X/PkjqNhVFlg3rH4Wre0+9WdsTCyzWS0HEaTxIKdPtwwULLEiwClO1LLebdlVjx9yhen0czXxMAHONbZeTvxN8ULfei+b7c07oYm16T8T9JAdiWn5nGxiT8TAUrCPBJMpbE4xQJLztYhAbMpfhFSdkKfTotFxTK9AKpTg4TZFY0NYOktFtV2R9ZnzP7hHZDSIg2Bw== rpromyshlennikov@mirantis.com
+ vgusev:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrCyaZjs8hiwx38LfpeQ2z9n9ptwQ7gFrhq2z5sK9q/LQMCubbnp5xhyF0SMY1jmQUewBOKXhnq3QSX+DmtNsnhitnZBw2BE5PBXllCBWMMiWULfAYvB0of728Q3EEjrtyfHkt7o2E+CvreVJcVI4kBwjKh5WpVBZ8mmkW/sexLGMuYu0bUWjCddu6ZlhUa+y14VZKOKp44auemza1VL/UzqOVZkBAfR2gPV2pBG3Im+SlnOlDRxKPEXQbsn3u/sNeZq0wSY++khY86AU7jAKfL2NiNsoA7CyB0jTEKwYO3vOWOhECifZuHwY/TNWyRFWM2ImW3mT9aO7nE4w4jXXJ vgusev@vgusev
diff --git a/openssh/server/team/members/aepifanov.yml b/openssh/server/team/members/aepifanov.yml
new file mode 100644
index 0000000..cb7c8e9
--- /dev/null
+++ b/openssh/server/team/members/aepifanov.yml
@@ -0,0 +1,22 @@
+parameters:
+ linux:
+ system:
+ user:
+ aepifanov:
+ enabled: true
+ name: aepifanov
+ sudo: false
+ full_name: Andrey Epifanov
+ home: /home/aepifanov
+ email: aepifanov@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ aepifanov:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkat3pSeBI83ZtYOJ6Pg5DKD97hMNvwJc8KAL7QPxYj/h8QaVs0EvRZnjXAmr8H7MBRoF6SZJjCPdKab7zDrlimc2Z6KmorBYjv2TMBLPq1xC4j3hEf7V6ATUTh19APKiaF8yUD/bVSB2Qpwg7P3buI/VgXinxZbFfOjllaqYyjqhnnTM842XmdyikvlJYhBNbOXPD/v1Rdw+b50Aa2CgRz6m8J+PjQfz2Rb8oZ4UUgXuDttp8oPcFpWEWJGmnJ3FeGpS8a6KGTO4DQZf+F0lO3A+y7121qbz9Uypxo6znbAHa77OiyzX625WwHeeH8HxF9ANLgKv9AlE2fAk6btS/ aepifanov@aepifanov-nb
+ user: ${linux:system:user:aepifanov}
diff --git a/openssh/server/team/members/aleksandrdobdin.yml b/openssh/server/team/members/aleksandrdobdin.yml
new file mode 100644
index 0000000..7739e45
--- /dev/null
+++ b/openssh/server/team/members/aleksandrdobdin.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ adobdin:
+ enabled: true
+ name: adobdin
+ sudo: false
+ full_name: Aleksandr Dobdin
+ home: /home/adobdin
+ email: adobdin@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ adobdin:
+ enabled: true
+ public_keys: ${public_keys:adobdin}
+ user: ${linux:system:user:adobdin}
+ public_keys:
+ adobdin:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYuMN95aiH6BDEvPPS2vD7/2/bE0hG6KvfJL4TD3TBs/BGtyeFWUyz25obYxYdyMfzVZIrpv8+Ib1ClREEHiLxOepANvFbw9s2B5SzVoDW8lI0l9hM6jByg4zheoZOOZf4kXQeygoa9fsJi0nB+kLP3oqIiNtKBa/xB2gmBC1O/V3I0lE9lY6Rx9xs6N5+yr+2t1ngIqLMxQRDcahTDp+kMvJeobzsQiQvL7dc6qxeqglGmUwvCXEvZad6Avp6EwEvRl+f7Yy7fTyI5uiOA/SieDRFc//VwzgAy6aXYDVzfdWMFRCDXiV3+p63G23YsnhJXeZM0lb15RKST5E7I5yP
+
diff --git a/openssh/server/team/members/aleksandrrubtsov.yml b/openssh/server/team/members/aleksandrrubtsov.yml
new file mode 100644
index 0000000..e9fb4a5
--- /dev/null
+++ b/openssh/server/team/members/aleksandrrubtsov.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ arubtsov:
+ enabled: true
+ name: arubtsov
+ sudo: false
+ full_name: Aleksandr Rubtsov
+ home: /home/arubtsov
+ email: arubtsov@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ arubtsov:
+ enabled: true
+ public_keys: ${public_keys:arubtsov}
+ user: ${linux:system:user:arubtsov}
+ public_keys:
+ arubtsov:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDceCojbryph3bYRePvIrnS05jyukYkP/ZAgTSuIqn8Lzm7speEnKvoPXz28uc1UklxI125vXwAnrxf/Ogtw0qASJd1NGTk+0Qal+jFdRSamszHvlvEmL0Eh0yFIpDGJQRStXrTdryRumr3g7xF+vFgoh9nlb7vHNj/14PWBWrDNSVCtH2/gskYRVSrydgxpHSi4CA7bRpC0FD3X7fLSnAzDRFld/XPkPxM6Tpg+Dajlk62DzP2cLfM0OAR6PoTu31kT4W4fwnhYwoT0uNwJNQ28uiyHutUwioX3evb0Dys2tSK3w7i7bHpn0PdPClHz/xgg6PB8HdxpMApq/Z56FZx
+
diff --git a/openssh/server/team/members/anatoliineliubin.yml b/openssh/server/team/members/anatoliineliubin.yml
new file mode 100644
index 0000000..a86785c
--- /dev/null
+++ b/openssh/server/team/members/anatoliineliubin.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ aneliubin:
+ enabled: true
+ name: aneliubin
+ sudo: false
+ full_name: Anatolii Neliubin
+ home: /home/aneliubin
+ email: aneliuubin@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ aneliubin:
+ enabled: true
+ public_keys: ${public_keys:aneliubin}
+ user: ${linux:system:user:aneliubin}
+ public_keys:
+ aneliubin:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCSj7OItCm3z4PerRp+KIh50YpYMzE2QV6xq+PnqrK4otDqjrXWRSEXiimsyWM7s3a9XsgGC9Tc1SUPX2r1ZLsKZUVpP0V8Amz1YTKAw9dJ43rhTMQEIPCsr5Bk3/b/criaWSWly7jsRDonqGor+EJAfQg/mEyYpa04wRZ2TYQKhM0o2mx7BKDV/Xc2QqskT4Vqimp91F/OXwDsLUP+NDSPtyG/AalNBez0p7PDPV1J/S8MipgPUGvQLddvvJ8VYxH66WpNt4IJVrc5YBp0ty8lj+WPFFxgaQ0yWHvjmlatGeAI70F8M/szdbIyn3ph9t7aXaGhOnWumqZkwqSWvY0F
+
diff --git a/openssh/server/team/members/antonrodionov.yml b/openssh/server/team/members/antonrodionov.yml
new file mode 100644
index 0000000..a4347f4
--- /dev/null
+++ b/openssh/server/team/members/antonrodionov.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ arodionov:
+ enabled: true
+ name: arodionov
+ sudo: false
+ full_name: Anton Rodionov
+ home: /home/arodionov
+ email: arodionov@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ arodionov:
+ enabled: true
+ public_keys: ${public_keys:arodionov}
+ user: ${linux:system:user:arodionov}
+ public_keys:
+ arodionov:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDR4n6F0zmhsB3SutXA74bWANA5DZVekZKB50UVuT5aBXDpAiTPWHq+OUmF1Ptmh+T7jSJClHeaPQTcWnN7Z0knKqGNynMsL560Cp6z3cHh40FLodVSCcoHyqPiFS9kGjOsgM5+VsKAUDy9Dgh7lg8YJBVUSnpRu2f3PnLiKTh656oe2+xBHmYWCZEKTS2Qu60e4cDtBvpWbvsB+89FKM5oNArJyd7SQzpuIj071qbQoRla/nG8J2mOZUVCfXGNl6+JsbDxh6C1aeEgyjm5yy3ODpeY2eKMwlaIKoYtzolwshkcJw240q49PKE8OI2gIAt95rVXRuYpC9gm61Wlf91Z
+
diff --git a/openssh/server/team/members/apetrenko.yml b/openssh/server/team/members/apetrenko.yml
new file mode 100644
index 0000000..e754a8e
--- /dev/null
+++ b/openssh/server/team/members/apetrenko.yml
@@ -0,0 +1,23 @@
+parameters:
+ linux:
+ system:
+ user:
+ apetrenko:
+ enabled: true
+ name: apetrenko
+ sudo: false
+ full_name: Andrii Petrenko
+ home: /home/apetrenko
+ email: apetrenko@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ apetrenko:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDU7eLohJKXXB57H/buBlUcBTQXgsXmGXxMao0PQthdfDWhFKXc9fI+1rdsNjA8NPmq8gYdqldOgoIFAmBSwK/+z12ihIGmQJY8vRhr5jnsxee8VZczEj1bhYq/72mpN2KMxiL7Sv2l+WknviqitLzLgYZr17nJtqRdbhiqhEVQOZWKIngRZb4HIdRyA8qCpCFFbUN1etgsVuQaPMwcPdHKHHUzf2hBaELDBF+liVAJzwYlxBQ7m183K6zZ7Gs+wMKphVA5PjyPQbpA3ascF3fdottsat9QJOjrQsXlu+gekPy+fK8GkzDCrCWVcg5LHO+hj3ZnFIjEPxcPPEFo/NRF apl@MMO.mirantis.com
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC9cTDTzDVzIhZi/2F4tdEEIqewAOr8YY55Hk+zhuNZSZeI47eKVBvn09p0uiBLQIjrtO3TNh/93Bd+ts/wqwyembXdx5/hW+WdbpneRr8dRI03VEkLomHQqSsXMkr+VvegMc7i+266i5yDC1u4awX5+pR9WWzqaJrybNItmVucRGLGucx7qownV+Kp+8xXIG3lgT2fJw0qbv6hTbdvl7uw1JJ7bKhVxdeyeiv9blWLdQ7oCzQbjrQq8wlJvUfzNOGURMaFRQO4MHvecsBO99EgAaSqRmsDSLGQ/90RMH72BfP8YU/zSRwZNZDDq091oRhowgB1zfy1VgKm0/At1sswcsmfH+H/aC/RBB3NmG5GZq5uqRvgjlC4dz0GXalcJLN/NqQYywQ5WlOp518C5m2Is6t8mNvZh+is2GrmvCX97Y1gvzn65lUdfCP+Ee397mBi8XP5QZ4ojZ+SDt9efgpFUbmhbei2mNF9hpt2fhvLCv3HCayG9M/1QA9m3WdKo3gZKTBbMfKxU5mlTWsSLOt/44zMxdBLFq5gyhof7GxZiMeEllMF9v1cX0MCFlqbRSxfpqJv/0qsU3w9xRwDjWnm51uVeo69apRTlSNOyuXOsLyxzBS3n5cvlJ8L6r1cikmd0sx9LlrNw1ENxELDDIxj77BTcXNQVLfOfrEnSDIt+Q== apetrenko@mirantis.com
+ user: ${linux:system:user:apetrenko}
diff --git a/openssh/server/team/members/ashishkin.yml b/openssh/server/team/members/ashishkin.yml
new file mode 100644
index 0000000..e9a132e
--- /dev/null
+++ b/openssh/server/team/members/ashishkin.yml
@@ -0,0 +1,22 @@
+parameters:
+ linux:
+ system:
+ user:
+ ashishkin:
+ enabled: true
+ name: ashishkin
+ sudo: false
+ full_name: Aleksei Shishkin
+ home: /home/ashishkin
+ email: ashishkin@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ ashishkin:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWlGbkhGN+DPrs3S/szWdwieH3Zu/E5bXnm8OCNSSS/xHbeSimqCIoAlZny58GYYabvsOmwh6qjiFmLmZq0MIlEc1RjMR95XLBWmhtpvYABRzMnUZUoFQ+cq1Lzo3ina4mLZAs2u27eEFmLLtV3sCcRAiDUnc6VoUne55NwjP4Ns+OL0Yin46Fr6SFxh6NUwi6woH58DWm1bfaisRyHzCBQJNmI3k0XKB9L9inpPMdmjzbdbitlrokHhDHE+ospLjZMBcV+8h1pK0yq/klT04ClJ58KXJeWJq2dz4nNyyVFNE2+DKwk18YUmtKLz/+BZxiaYY4Z5o6tXIttjfzf6Bn ashishkin@m83.local
+ user: ${linux:system:user:ashishkin}
diff --git a/openssh/server/team/members/atarasov.yml b/openssh/server/team/members/atarasov.yml
new file mode 100644
index 0000000..deada75
--- /dev/null
+++ b/openssh/server/team/members/atarasov.yml
@@ -0,0 +1,23 @@
+parameters:
+ linux:
+ system:
+ user:
+ atarasov:
+ enabled: true
+ name: atarasov
+ sudo: false
+ full_name: Anton Tarasov
+ home: /home/atarasov
+ email: atarasov@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ atarasov:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSY2GXoKjTudh4iB8rXj6LP5nARndPoh4WeRYxcz57BdT9Xl9gN4E7wGn81kXoJOue5mYUNhjAvUCzKHOB2I6m/zSp5Fv6YDn6oeuD50vKhA6DkMllTVDX+UAegNRVNRRaTCeiqFlqym+2WbxaPjpuWvxuMcR9aZU5MT8H+UMWKbFpuvS83c/nD9QMC0s80bfz9e8OV/ysHsAvXmgQrkl3T0aKpV6IGU597li9k2z2DO9vLxd61rEsYsedPXpUGVn9l3NGW3Ix7dIOQPDFc/rOHVpwLu8V/Lq9zeo8g/12/50RewQ5TIOA3NPeO0D4FUUfj+yBvSjTDj4v6oTY+dyn tonyco@Tonys-MBP
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDI9aXXUufNBbexFsXVPSoaZ8S1gX9gdMGFZUNz9yGdkO5AtGp8A925UCYXZyENB1ZOO7GRFrfeWG2HZEGkcAANw/mWewdNZ1ESnLHSJa/VLtkhOp50647QdaSS5N9jvWbfJOepF6qxfuOpcSZjMj06cfFTXkv65A8jFq4iU/HV6V31csYl00WRF6aFX5u1sgpg4QzklvM4gJykNn8cw2Igi7UhjIvo74HG0UlVFt6qc4yahD2YURn8ZF8A62KVwZ26HbFejzD0S48DivldFGF4AH+tY81CCOrCfJSPs1nemoORwp9J20AnjZ7tGZR5KA9+Op+klvaJxsP4K/y1rBUH tonyco@atarasov-pc
+ user: ${linux:system:user:atarasov}
diff --git a/openssh/server/team/members/daniillapshin.yml b/openssh/server/team/members/daniillapshin.yml
new file mode 100644
index 0000000..da1a274
--- /dev/null
+++ b/openssh/server/team/members/daniillapshin.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ dlapshin:
+ enabled: true
+ name: dlapshin
+ sudo: false
+ full_name: Daniil Lapshin
+ home: /home/dlapshin
+ email: dlapshin@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ dlapshin:
+ enabled: true
+ public_keys: ${public_keys:dlapshin}
+ user: ${linux:system:user:dlapshin}
+ public_keys:
+ dlapshin:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDD8H0HjsSYujNEyR9xTM55l0mpdXyvvjKHAVqRbmep7xvRgY6fdiQmkaAEgcbtGpoopTgwTX7P5GAIbioG4Nfy2pl8l+KwqxA5nCST1AzzxzwL7XJDqpeKUDXzlzNeLZhBS9MuDkuX+NXRCt51s5Dza1wa01asaX1vgTPO42EFfp6a/TNq/db3+8qV7GOK7PHLbGN4fB8KBbPr9ygzby7C4XbDZwLTz7yjr1yTSMLLiRguasGvcun+Q2U9i6J/nHd0Tw1V/FO+CKS0p/L+QVnQ8VhjyiodA6phn4llI6Q0BzIHafFjxqzJ1oiZ30iJSchmVDi9p6Q4VnhkuDxjmNZ6Fukn9SDMEHEgPSIcRSs9yiRXbOd3eBXQaDkAQ++9jFnbyNH5mQQm/hyrwJU6Kwpye168bIl6LT76C+3KIVMSNWTDZQNAU3FWvUXxKRABxoolNrs+rkmOs0rFwWrx+PDX0rydGmwG5QrAHkA1NGZD2dhZCx/NZMfeM8VR/YaiWhL5dOas8Tk1EQpmX1uewEAwCQwQHZTDeenS6mS5AE2wqyYI60meSW1euE9aXjtC0hAlZuxslzAQ9sgShdyBy3sc4Kr3l7fxV/LXlMg/ugb8SMU8vXDgIf3Glz2wFE8jS1T+c27em5L3seTWm/SRIdylewb5GYP8HAPwm6xWLaZZmQ==
+
diff --git a/openssh/server/team/members/danilakhmetov.yml b/openssh/server/team/members/danilakhmetov.yml
new file mode 100644
index 0000000..1835188
--- /dev/null
+++ b/openssh/server/team/members/danilakhmetov.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ dakhmetov:
+ enabled: true
+ name: dakhmetov
+ sudo: false
+ full_name: Danil Akhmetov
+ home: /home/dakhmetov
+ email: dakhmetov@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ dakhmetov:
+ enabled: true
+ public_keys: ${public_keys:dakhmetov}
+ user: ${linux:system:user:dakhmetov}
+ public_keys:
+ dakhmetov:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDO//KNaUfZIWgwJBQg8us0uFNoiy9xA5DBlhD9r0ZkRyXSBaOLPpcWwOcfV0+W9d7bp5pchbRNjf2Nrajy+zady4qWBSMqonP8PiDfSVPymxjv8d/KwIhnao2Noe1F4fviHU5TBTWwRiBf53NzNd/uO99hXMUshQ6a3GymfVLsMkrymzyOw7UA9Irdf3K/KRQTbmYyu7Kp6EoIh/Mz8/9wHuFHPmj8e9ynw3T/0050BttgTjAlS5e6CJMq585OsbZvW+YA8H3avR7qXMSb6uRsJs3ZOijDtdj0cWVMvseKgfghq7Q57e0TtApbge1R1apz+zmipkMxVrr40cVRcKvB
+
diff --git a/openssh/server/team/members/deniskostriukov.yml b/openssh/server/team/members/deniskostriukov.yml
new file mode 100644
index 0000000..1f03ef3
--- /dev/null
+++ b/openssh/server/team/members/deniskostriukov.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ dkostriukov:
+ enabled: true
+ name: dkostriukov
+ sudo: false
+ full_name: Denis Kostriukov
+ home: /home/dkostriukov
+ email: dkostryukov@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ dkostriukov:
+ enabled: true
+ public_keys: ${public_keys:dkostriukov}
+ user: ${linux:system:user:dkostriukov}
+ public_keys:
+ dkostriukov:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFjDsPP7Y3cvYo6zI/IG3b9qvFK4b1ehoKk16VooobM9gsuD/goKo9sOVt8+kscxzXuynhwDfn9+7r9SAGnhZ2Bp39KjSPzR9LCk4fkByXlusZZLhHK3wVkjA2QOFqGvECTHZp79KBQWkU9VM3N7xNwEHbfz/5iZM7MK2VpsRG/JjJed8ckJQjL0n3gNKDkMvum0MyDz4/YIIlYy7mG2FV55j8HNJidzedlYATfd9j2OtL73lxN7H7gcf6acw76PXOyYU9V/zLd82AIVuR7LgntVt2GxNmaJzaV0ffaJgoTLqPm3KwsCrxlhgOIikARBt+Oc8O0dEucYsPU3dWXNJH
+
diff --git a/openssh/server/team/members/dklepikov.yml b/openssh/server/team/members/dklepikov.yml
new file mode 100644
index 0000000..e1eeb76
--- /dev/null
+++ b/openssh/server/team/members/dklepikov.yml
@@ -0,0 +1,22 @@
+parameters:
+ linux:
+ system:
+ user:
+ dklepikov:
+ enabled: true
+ name: dklepikov
+ sudo: false
+ full_name: Denys Klepikov
+ home: /home/dklepikov
+ email: dklepikov@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ dklepikov:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7yxcnhYEf/Gjbxp9T7NiA00UQsl13K8dGDjcc38HAQ0tdFs4SIMpsfAXHO4aOuo6fHH0fZ+f+tpWfmgzPVG8zblRxD6hhydvWMDUCUy/1ASAZaXeWeeikOXSIammoZHQ7oASK1tYpDkfByMyN0vvLJ2bBZlZWqz7H/07EF2eOTqvKhPkdTKX0pei9ezE4F7lrV5AxDfPR1lhuZRkZkVlKz/dEotbwnTTSNvwzVIDMpOi8ufG7kMszUO+QIUd1FwJLvtu8ccSiqzhAG/UfKfe+j4oJbgdNW9Yrg6GyuYshdKUJi5XlVmsmWC3ZuXozMmZXvitCdXOZBZ7muT/xpPnr dklepikov@dlkepikov-ws
+ user: ${linux:system:user:dklepikov}
diff --git a/openssh/server/team/members/dmitrygoloshubov.yml b/openssh/server/team/members/dmitrygoloshubov.yml
new file mode 100644
index 0000000..d9e242c
--- /dev/null
+++ b/openssh/server/team/members/dmitrygoloshubov.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ dgoloshubov:
+ enabled: true
+ name: dgoloshubov
+ sudo: false
+ full_name: Dmitry Goloshubov
+ home: /home/dgoloshubov
+ email: dgoloshubov@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ dgoloshubov:
+ enabled: true
+ public_keys: ${public_keys:dgoloshubov}
+ user: ${linux:system:user:dgoloshubov}
+ public_keys:
+ dgoloshubov:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3k+8GqLyioUc3bEYRHvId62f+KnOvZvVRQH71q1iynbG6ELOZVoxs2AuVjej7weEI7SBsrTKraHkZ7DumKHFMqDG6hiVW2YxJWtX1smcHyapL0k4Tq61MjdwZ6QzNcVstPh/fnbAQCdBEzL8pxbxgRj3xmgPm8pP3RAyBFZOuovfa+VmJXx8kdu8bhieWHTTlrBuhlBc0tM5RBm3WFK0jIK1qO0UJ5Ji0I1hhdg6ti5hEY76Binwzh0A75UDAQ7RmJxWwXiXs/RJOR1c9Wsr4FlLJ5bfMT6bpdYQcPtq3WEkgT0xZTZ5u4hOLsZNJDET+wH/4nL/3/ejtADujQaUJ
+
diff --git a/openssh/server/team/members/dsutyagin.yml b/openssh/server/team/members/dsutyagin.yml
new file mode 100644
index 0000000..66225c0
--- /dev/null
+++ b/openssh/server/team/members/dsutyagin.yml
@@ -0,0 +1,22 @@
+parameters:
+ linux:
+ system:
+ user:
+ dsutyagin:
+ enabled: true
+ name: dsutyagin
+ sudo: false
+ full_name: Dmitry Sutyagin
+ home: /home/dsutyagin
+ email: dsutyagin@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ dsutyagin:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDdI8HkSB2RUOpkgBhn00UX0Vm78e2JXpMbyi1Qbh2c3dMcXdtY0kIFio/jfuR9rxKmN/oeV+E92YZviq7kg3/2qWfAR5fxlOCe7tDxR5lbkYUye9Y/SGzU5dLPMs4GjLWNk8hX9Wyf49TWC0lEIR05g/aIo7ZrH9sZwdQ9kte9GpID282O0KsJvy/UR3pBKECh/QZ4et4mgzZOFWldJrfs62Y6R4ZUaCxWbHpi+56AqwRSW4+FxepcJDUBC3+o8Xe1Jgcq7bHpHz1StWJmMi4U/b7dtANvp9m1VMe21a5bdt91EkyjL5ArhO7jMB49v7Pm5/EAN7BDtmqs9m/9CQ7vfVrM8XLTH4Ob0MIBwuo1JJR1NqSgWAkxLQWe2KIN6kCwi1z2pZ4iSB78/5RX/ZPBN7I1OHkbO50aFqJO3/2keYpTG5f1eFwDOsslrSzzcrNvQiYo3n75m+Skdv/ziBW504cCgwdAwxSrd+urUuk9KdNAckzR/S8/qrO0Vh4ZDkJ93TtxqDghyvtdqH4VNaWf8BJmVFCoM5jPpEQYsLBdvLRUtKP2CTtxXoZQap6pvl5N84o1zcnDZW74JeOXrpjClgx0KhKJjPjbtl0EtPOB2rsz+92XtU3aocqChwzR2IGrXfdSzXAvHc3PpYWunzRlFO7eJCdOE7vgCSo18iIlAw== dsutyagin@mirantis.com - office laptop
+ user: ${linux:system:user:dsutyagin}
diff --git a/openssh/server/team/members/ekozhemyakin.yml b/openssh/server/team/members/ekozhemyakin.yml
new file mode 100644
index 0000000..5f7e3f8
--- /dev/null
+++ b/openssh/server/team/members/ekozhemyakin.yml
@@ -0,0 +1,22 @@
+parameters:
+ linux:
+ system:
+ user:
+ ekozhemyakin:
+ enabled: true
+ name: ekozhemyakin
+ sudo: false
+ full_name: Evgeny Kozhemyakin
+ home: /home/ekozhemyakin
+ email: ekozhemyakin@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ ekozhemyakin:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAnQ3OD1g35wYDnHwnNKuA/daYMJ7YmMsGoucOG8Y4HFXv9JXMd7MgqpfgyRc22y3VqV6G7ddGgjI0TDzENAzxUAd6pjIhl8GPtwBRY0q5LDPZwatkX8KH1T/da5EDM3iwekftd50s8hsUKRhmCfuFlgC9R0eVAVbzLMsB+OgtasLygoCrfWa5chZ6exbIkDnQRN+SDxBEHjpAK22OGeDuW4Vuf8DS74cNgX2zZBkcQEwxfzGBi3AsJhUEm91d1JJqYtD4nwcRSIUEEiKLroW/AKACko8GihHXCRxmgLSFNhMLwV9g5LE4E9O/MMN8E7ik2JnmAVuhjttsa4tzj62raAlrUBvA/4KBwwocXgR6lLZ/dLBcCdbSZ8UQJy3IM9rwa/r9v/T6qGWm1GwTqL7MWAp4XKPpUbHvykSh9XqQm0Zs2/eTsa387Oxo40IuLcJk8tOlZwYiu2wdnrhnex90dMweMEHTe9lBi0JOqz48uFDYa3NsNQ6ZhkZGYgGblH1Ip3Z75K69HDZJUrM++4bDRuN2y5BL3K1M2GKZVnSwVvkcw7wCL7KyEMzX5uyHc1IiBtpZjPGorIQvJvmUzNe/IDSwVwu2Lm8YsYyMmboyiQ+NZex9+9ZW7htyREYGKNJZHAB+YIgvXRKJOjw0JyCXDqkNOeMDOlkfwYEcrhsN7A8= evg@ThinkPad
+ user: ${linux:system:user:ekozhemyakin}
diff --git a/openssh/server/team/members/enikanorov.yml b/openssh/server/team/members/enikanorov.yml
new file mode 100644
index 0000000..5697fa7
--- /dev/null
+++ b/openssh/server/team/members/enikanorov.yml
@@ -0,0 +1,22 @@
+parameters:
+ linux:
+ system:
+ user:
+ enikanorov:
+ enabled: true
+ name: enikanorov
+ sudo: false
+ full_name: Eugene Nikanorov
+ home: /home/enikanorov
+ email: enikanorov@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ enikanorov:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUUx8Pv9g12UREG8sXcg2C9F3TQoI8Sc2lcn07+nw5S21BmCe87kD6FtvVPHts7u1n/A3PvAVOjHEq4q5gzRGbbVDiw6Ga2r60Knus4unKW23EeTBLkRTsap6pZkS5qzUeI913iv8pyNjTnhCDa2kYmr5UkZEA/zMwWiZ1jAJPqQ9AL1MSpcbgJYeGCW+3nIASRIyqmBfCyukAZuDUuVMe9tki6fIvlWMASxyLEYg2xbPjTTdX5QAFCraKTC7TjLCen9I3h/eCVxUsb1dBi3+wn9hFPtD+LKaQHrm3PqE3S6FdE4zhh0btH90hXq0v02MFPZzxhpJojoGZqYtoaRB3 eugene@ubuntu-dev
+ user: ${linux:system:user:enikanorov}
diff --git a/openssh/server/team/members/fsoppelsa.yml b/openssh/server/team/members/fsoppelsa.yml
new file mode 100644
index 0000000..6806a0e
--- /dev/null
+++ b/openssh/server/team/members/fsoppelsa.yml
@@ -0,0 +1,24 @@
+parameters:
+ linux:
+ system:
+ user:
+ fsoppelsa:
+ enabled: true
+ name: fsoppelsa
+ sudo: false
+ full_name: Fabrizio Soppelsa
+ home: /home/fsoppelsa
+ email: fsoppelsa@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ fsoppelsa:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs1bA1kgjstOfTVlS5+COuv3U1UYmAkDkTHHCw188XmZKQwmjrHQdbxA91fi/LmGNO87r9S3Sy6bmwYeBd8MUycYKXYPvHaS2JnflgtOy8L1xxubOgA+bpaziHImC0Xf6AQZRbVNlegVG5dVxZ1b1gNIaxufO8BmR4X/apG7TBXAhd+IYRzXsHlZVyrnZyUHNWJWQaUt+640ziR2+1mQZMktgfC9X3G9FxXtCEl6zvkHv8I2XOuzAfHFyoZlv32fo7BF1SjJnMkAhU5jMaliKQNt9Z3G3zcW0yA4D2IruueCJ7HNbXP2wxxiCpTxfpadfglUhm4U0wvTluippKlC1j fsoppelsa@yoda.local
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDTui9BfPuQgiGH0MkOrjWAkveC2J6Kh8zWmPMj3x2QIlHaXoMjnOTsfYqSSzlXIdswU6+46MMOG2jn1D78/hOEqNOFhOp+jtrjAhNUsufDdHclcMQJXPh/m/OaKyJq5UeNdFpq7UdhwA6E8Z9w4Jld/MzoV675RvI2OrzjSw8/K8pxf5YDOPrsxohFTwHaosbqrt/Owjiyqsh8NnJkEnNoFjvVNebpiKDZB2hOTOGjSOmHExQ7rmWNcdUISe/jwLrl5oR7ciwg4BnvcBye1W8l68w5vJ1dlUH8k3NNx010nnKal4MvL0mSYVqd32m5stBLSwZ57UBVVTJl6i3aSQz fsoppelsa@darthvader.local
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkuI6Hfp6dXFHNtL4c3GaIJM13fAJMaUyTatWJ8//qhJz5brbdeF9IQBykPkA59mtWJ6hx81jWgrzp8rHauAQdVEOsn+ZfcTA8zcQaqEv0qe2FxJKN7Ex7YTtXa90uLUiiGTJFy8D9rjKVQLqWjtqo1n94XIvJncw/HmX/RK7lMVmEjUAJmBRo7yCr0N/6i7ITN7Nnn8bB/eKy27TGao5Sw/2fdWKlh+XPvDskpxKL0/jcoBOg5QiB0zT/XTq3ZL6xCTOQ9JUDKmIvHQIJ2ykxyZE/Kh1yHwU0sifz6PLi+z5OhOFpEEFyAtSLeOyZj+gnBtw4DjsglZ10+Q2uJ0Ir fsoppelsa@anakin.msk.mirantis.com
+ user: ${linux:system:user:fsoppelsa}
diff --git a/openssh/server/team/members/javierdiaz.yml b/openssh/server/team/members/javierdiaz.yml
new file mode 100644
index 0000000..8d1e765
--- /dev/null
+++ b/openssh/server/team/members/javierdiaz.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ jdiaz:
+ enabled: true
+ name: jdiaz
+ sudo: false
+ full_name: Javier Diaz
+ home: /home/jdiaz
+ email: jdiaz@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ jdiaz:
+ enabled: true
+ public_keys: ${public_keys:jdiaz}
+ user: ${linux:system:user:jdiaz}
+ public_keys:
+ jdiaz:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/2Kwi/+MO2AowwwQ5S4x3tif+6L8bCHKDV+BNfxezn55j0CMGUNMXSH6p384Zu5DuCWhU8AmdZ+rczGgc9vsdgb8Kukdi19C7vaXLIkjw1ztEkB8xgpXwDrx6O6GNtCmNq2FF1LTHTgs+r6VTKxl3yDGPd01m/fuf7Kq/hb+5out7soXC0eePKwYgFtIngxaFEiGA5sNNETrp8wys4EI2u1Az7C37cchR2qAUILRz01zt7Mp2ma+LNaZx3/bbIHI34EKypCYCFFQq+fodMDiwG15xhsdU8FEVj1NREN1kSOO2xr9IujalNskIfaXsIu7tE/6B4rI0Sl7W/PVw+cFr
+
diff --git a/openssh/server/team/members/josuepalmerin.yml b/openssh/server/team/members/josuepalmerin.yml
new file mode 100644
index 0000000..72f3eda
--- /dev/null
+++ b/openssh/server/team/members/josuepalmerin.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ jpalmerin:
+ enabled: true
+ name: jpalmerin
+ sudo: false
+ full_name: Josue Palmerin
+ home: /home/jpalmerin
+ email: jpalmerin@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ jpalmerin:
+ enabled: true
+ public_keys: ${public_keys:jpalmerin}
+ user: ${linux:system:user:jpalmerin}
+ public_keys:
+ jpalmerin:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKW9yFRdSTlpg2oVDYrg69yPzeG14CoLFvJeU9I4ZHv/d0SkiU12y+zkljWLEaa2aj+Zs8IbJZy+3Av1/uZ/s5UX0KkGJP1oCjH5LYPNbeXpdaCl/1w5uHf43DIebrj6q5XE0ziXLC79lEyXs1rQFV7B5D2rxnjrRPLnCckT4D2G1WoW5bylPezXqoO2YIua5IG/O0EOeV2gSQJAYEVQceJg+Hr6mtjL1AwSADecG5QiY+WV/XdX3OFiafJ5gnS2OpqH5MdNcnqegiXEdaEe07tW99E2j3EXY9nOvorzgB8xO+m3EKM0jAxAbA5LALAijn6ax/cuSMMKD4lkQbTc4b
+
diff --git a/openssh/server/team/members/krzysztoffranckowski.yml b/openssh/server/team/members/krzysztoffranckowski.yml
new file mode 100644
index 0000000..72edd3f
--- /dev/null
+++ b/openssh/server/team/members/krzysztoffranckowski.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ kfranckowski:
+ enabled: true
+ name: kfranckowski
+ sudo: false
+ full_name: Krzysztof Franckowski
+ home: /home/kfranckowski
+ email: kfranckowski@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ kfranckowski:
+ enabled: true
+ public_keys: ${public_keys:kfranckowski}
+ user: ${linux:system:user:kfranckowski}
+ public_keys:
+ kfranckowski:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVoTlgIijwEHGDbkKD3IBQHjHOjaM3z9VtIPxFZx0uTzyQ2qgeCS1Nd4VTFM1u677SspcAeZkgoMhuKqPcD+JypApA9bfmELu7QrDdnzro2bW/Sj5fMbfCR5V2KfqCj4nQmzcBLlx0Lj+JRQgzx4NThveOZHRQfO1tFSRNJMM/DmxCZsUCs3tl3WYyWEZkKYx/vPWoGe+Hf7VU/tsH/Yp1syhfJBNwyuCmfsobrUrvcVL+troX7hefXNJOuum6KvTDAPM9XzJvR0TU63bkGpOpACPr7axXOjJ0Y3X2qrXRRXc+IGaWY1O+MQ55jxOJX7SD74lbdy8WRxdmHt6V6QRL
+
diff --git a/openssh/server/team/members/manashkin.yml b/openssh/server/team/members/manashkin.yml
new file mode 100644
index 0000000..bfce163
--- /dev/null
+++ b/openssh/server/team/members/manashkin.yml
@@ -0,0 +1,24 @@
+parameters:
+ linux:
+ system:
+ user:
+ manashkin:
+ enabled: true
+ name: manashkin
+ sudo: false
+ full_name: Miroslav Anashkin
+ home: /home/manashkin
+ email: manashkin@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ manashkin:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDb1XOAU6ZoU+hSB0SPaypwK1Weu2armLzQrIQ3hhmlpAxFDV50oiF/PyPZ7W5NkJWgEr+DGYuZiKuqTDosrQV5Tt8TA4nt6bSJ9SlhJlNGltrOeWeLcP/Hf2YyWm0e9puzAIgUsKN8Np+CBrpIls4bq2JCshkz/vz9AreaFBMHrhjrh8YNn+yNbETJf9nmxDazVqYp3UI5SU4Wg0KchrFHBPNlREL099SSARfTGIsfbbJmSHx2LUw3Rt6v2fizRslv+Tuxvx2tqRsgbjeF7+NKfOFMBIloab97ag7N9EUdVvOHrjScXQ+nP/kdk3iq7O2WDpAgKYXIbSuaWA0YUk5Z manashkin@mirantis.com
+ user: ${linux:system:user:manashkin}
+ group:
+ - supportl2
diff --git a/openssh/server/team/members/matthewroark.yml b/openssh/server/team/members/matthewroark.yml
new file mode 100644
index 0000000..0a9eb28
--- /dev/null
+++ b/openssh/server/team/members/matthewroark.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ mroark:
+ enabled: true
+ name: mroark
+ sudo: false
+ full_name: Matthew Roark
+ home: /home/mroark
+ email: mroark@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ mroark:
+ enabled: true
+ public_keys: ${public_keys:mroark}
+ user: ${linux:system:user:mroark}
+ public_keys:
+ mroark:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwCoVNR4+UdV2GQDUHYxy34cNFr/mdcHn0LjEzoJfm/qqFzRFOw7KUvBiDgW1J6TKTOu74gZADlwem5hDHlW+Z60CiSCx1xdOxtmMI8667mrtnD8m3LRWVDAoJzGpP8e2qiq7sBA+U973pQH3+5x3aHJXWoA/zDZzCdsweWIDhHiMbs24/flzXsnpS9BRmbyRoh+wrnM7h+iGRCzDuOZYJkcABvXy9Hs9ZZhDL16mqDJv8WdEF28/aUvVE62AJHLQuSy4mvDL+57XkFlSyMbK1jCJaRzU1B/4TBOtsBCbVNP0VonZEh0vK3d1fu83MwYhAvv+tf+cVvZ6Xn+VXpWcn
+
diff --git a/openssh/server/team/members/maximefimov.yml b/openssh/server/team/members/maximefimov.yml
new file mode 100644
index 0000000..2dab7d7
--- /dev/null
+++ b/openssh/server/team/members/maximefimov.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ mefimov:
+ enabled: true
+ name: mefimov
+ sudo: false
+ full_name: Maxim Efimov
+ home: /home/mefimov
+ email: mefimov@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ mefimov:
+ enabled: true
+ public_keys: ${public_keys:mefimov}
+ user: ${linux:system:user:mefimov}
+ public_keys:
+ mefimov:
+ - key: rsa-key AAAAB3NzaC1yc2EAAAABJQAAAQEAgLfqReVrcsOuG8GaxPF1iSJjhUPsCnoxtAwFU4YPd0qVmLFxZtcKgb29yR/OSKQz3o5RM1OvQhHs080/gfiboMIyVa5gOCcbVj1PoySd8dAAVy9DORKWCU3djWmHcsG76FU1G8UE1w7nSrWqs01KW9/NzLjiHxf/4r3YWZ51UTr/C1AFyPPMfFRbffqq6yqULG+/TfpkgN2maBrotN5trDuGAHKluyboL7+EZazYpgjUsd2cPMH8TzdQZNwYrtrzWDS0YAqSQVyMc2dFh/gptw/QCsWT2IMyQKLKOcaAy2qon1xWDRFL1fVgqjakF+oM5RBAvX1bkJ1Vx883GEnPaQ==
+
diff --git a/openssh/server/team/members/michaelpetersen.yml b/openssh/server/team/members/michaelpetersen.yml
new file mode 100644
index 0000000..8174b6b
--- /dev/null
+++ b/openssh/server/team/members/michaelpetersen.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ mpetersen:
+ enabled: true
+ name: mpetersen
+ sudo: false
+ full_name: Michael Petersen
+ home: /home/mpetersen
+ email: mpetersen@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ mpetersen:
+ enabled: true
+ public_keys: ${public_keys:mpetersen}
+ user: ${linux:system:user:mpetersen}
+ public_keys:
+ mpetersen:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDJzKgMddHiRYBewGuS9aIHJWrwoz3lTms0obWttyKCFCr9ULwVvok8NbFQQPPoh0uZIMLh6q7Uu1iJLgrRcPfEuzzwujdy8uZ4EN+xRDpcBJJs8laaRrigwjLEfOjayytHddgS6CnzL4zYmkd2mnvmB6YwWGid0NEAHTHmTS1LOxkn+YYUvHjWi4HZnAyjX0/udDDHYRCE/dcSpG6t2wXmddPJGcgUbniwEDEGlwM0nSEvi4K9hUcP53d8zkn7Klc9NC2DGnFKelTiNoizKGrimB7PKUuVJ38/OMwodMt0VAQmBeObKvNEmsz3thWv2UM21RvPNYDISf1f5YxDpMLQF9A8YwODhLQjS7Gb/7eiZhcEjNKVkKiSyqdohV2ZTZCaBfpeW/yzXaNC1oGDEWJPX3KmBsQaT5w9NSl5oj7qtMTSVH/qY2QQIgz1cNhQDRrH48YRykVt+3iu/qToB8FFe5MPixKvxnGlk0weLCn1liasNDu2LjWALD8WTV+ksi80OwVUtrMkI1d5+doXKtf4+4zNGZT8G2EnenkkFyBfe+T7de9NXGdiMorsukf0Iq6OXMYWIi5nO/bnuU9p0dFCk5U9jfxdlLKFLUI5Web1xVfm5qlYyMjhfkP9JAZViA80+WUUx1cIcI2KR7Sd8uwxdyscF8dWj2ouyluLwHpmsw==
+
diff --git a/openssh/server/team/members/mikhailkraynov.yml b/openssh/server/team/members/mikhailkraynov.yml
new file mode 100644
index 0000000..0019a41
--- /dev/null
+++ b/openssh/server/team/members/mikhailkraynov.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ mkraynov:
+ enabled: true
+ name: mkraynov
+ sudo: false
+ full_name: Mikhail Kraynov
+ home: /home/mkraynov
+ email: mkraynov@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ mkraynov:
+ enabled: true
+ public_keys: ${public_keys:mkraynov}
+ user: ${linux:system:user:mkraynov}
+ public_keys:
+ mkraynov:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDD2yg5tjwdg+SFPbcm+qIsrYjLcI3qbaqSInA+qY7oyLGj3nO0sC4Wj+6hOQIEzuxXtt7a88Y0ghQrYB5EB6RK7Q6Ll0vT7XdqdVoYiYiKIvaAk7rOt1hhfDb1ogVTXXs7dKCUKmJDMZnALOuh2UJHoRd3G4wyveInNBAHW6PqOIfU0PjEckjDuGhAmYSlawXebNxDgGOvk0TfsxUGiCN3JKKZ6w5956eub6/I+HWpMzZIB1oUsgtPfhTvFnA7vq7JxNVWUv/tXvSI0qKuOCZ+eH8n2/cWtrzOwRUptMGMS7oOMvwEil99BruuB8Xl5Um1iG8qd+H0gAfVeKMnuBkT
+
diff --git a/openssh/server/team/members/nadezhdakabanova.yml b/openssh/server/team/members/nadezhdakabanova.yml
new file mode 100644
index 0000000..6979c5e
--- /dev/null
+++ b/openssh/server/team/members/nadezhdakabanova.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ nkabanova:
+ enabled: true
+ name: nkabanova
+ sudo: false
+ full_name: Nadezhda Kabanova
+ home: /home/nkabanova
+ email: nkabanova@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ nkabanova:
+ enabled: true
+ public_keys: ${public_keys:nkabanova}
+ user: ${linux:system:user:nkabanova}
+ public_keys:
+ nkabanova:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDuI74hcXTCbbvWoWHNLkng0nDBBwEzZJu8APmKVBukr9Lldz5r8n4OLRzlMI9oKbzvOuY082Cwp+9f5w5ViF/wmmEBa5sktUOBI5Jsi+g5ulb1i2HQOiaRibFJZZcoW03YRQCqQ8D9H4QcuXkT4oNuL5Wcj0UKPQT5r6N2kvuNXlJfEezQQim4nVRymel2USPt/AhlN4AUfBShR8Ykaky2Me4pt5xi0fLOJ9ZDWlEa4dl19Jd4tPz66+dLPiWql+6dgd9GiN+f7NLdDOv3RfOBH6n/It4y/fI+2/UY57X13dWauQNIQHQHDTpCCRiB+XOHwoCRaV81XTHbR865+/sP
+
diff --git a/openssh/server/team/members/nkondra.yml b/openssh/server/team/members/nkondra.yml
new file mode 100644
index 0000000..77bfde5
--- /dev/null
+++ b/openssh/server/team/members/nkondra.yml
@@ -0,0 +1,24 @@
+parameters:
+ linux:
+ system:
+ user:
+ nkondra:
+ enabled: true
+ name: nkondra
+ sudo: false
+ full_name: Nazarii Kondra
+ home: /home/nkondra
+ email: nkondra@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ nkondra:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9A6qJfHEIegIcHHgbBFONf3Yld5cbvhvylqDsy+Cu0vSkGHjMRATQJcTeMuG9HGOirVFMzmlKZHPJoQyFGo7FsJS81ZHwPCnh4UnQ3AL5CBp2nofeeXjOInA1CBJfqXgPhwjPexN1k/P7a7psmZ6nD61BHHeHR8U8SHy0Q0SxQPW9S2aFUxt1HVeZYTdWsSe4TIANepZomokcNi2s5GbfAzYo11ga0i56+ZHP0plrQXu8HYHPBjpHctFgE1NpE7vvrIo3c8E154jkxPj8vD+snHsQjpwUmK5lbbkOq9clchPtRtiTu83qZO0/es4zwyohrbqiqvKUITnzz/NcKPbD root@nazaros
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4UpJRI+XeVqSU8ENSgQwQyqEKwmuV+xsr1xqd6hm8cIGTImnJQSAKKHErgW0Dm5LIaZFOzYEhrxuFxPymQ5jBCyh9kK/SpeFYZNn7PUo7QLvRE12eze2EfEIS8OeLeyew3UJE+ropP7sZTBUbO9ZeOjVN0sU0GT1XMGOr3AcKB5R6P84ZIzL8KX+vw7VRGoWqgNmM4ZSM1JIp1n6S//2Is78hmoQjaw6SqcDJxqfNT4VtLnV8BDFJyiiu/ufWZ1FwSoFOSUpUYkI+Bg8zF0hHP2mf0gr/8hlTubM5UGtIWO6K849D7H43LF2QxlOXqisMJTYnIzIEVlSz9QWyRmAD nazaros@nazaros
+ user: ${linux:system:user:nkondra}
+
diff --git a/openssh/server/team/members/obryndzii.yml b/openssh/server/team/members/obryndzii.yml
new file mode 100644
index 0000000..85763b3
--- /dev/null
+++ b/openssh/server/team/members/obryndzii.yml
@@ -0,0 +1,23 @@
+parameters:
+ linux:
+ system:
+ user:
+ obryndzii:
+ enabled: true
+ name: obryndzii
+ sudo: false
+ full_name: Oleksandr Bryndzii
+ home: /home/obryndzii
+ email: obryndzii@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ obryndzii:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdHeeCZb+4YOBC925Byc0JkdFiNHnxl1DikrJlvza66n+URnfpTvtYhy70oT4jWruWf5dGAh81LK6SJfcLKqDvSNwAU4utQp1t71VllPB482oUhFSBAPOhWHElFakWcgnayOFVtMKhUZ4d5i+C7vXr+JpporBk6le7LuHD0/vNEG6SywexV3/lDZV1kahPSHblBxaED6nNeAODXXRMAOzgV25+UcDINaVTSzzQtCfUHydkVmw+TmxYc5wbdac1AtUkFmFbC6XTsv4VyZsH563jHNRf4UYPN6MP4SWv8axPiGUU5jr4laaIpDQ0TF/b+0Z+QidDxxTIsQxR0r/auUJp obryndzii@obryndzii-pc
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDD+5Ykrt46voaBAZ4BnYCB7EjRWNd6R+IqLaoQJzHh0joXVyZj/MsV0LcegxVV21Qnecp3qSw9XQiyJ9cghJbN3/AhEFpx7yZzf7sHez7FxRFefBSCO2IYSDBabO4eyv1X8UXtJrZ88lJBmWQr8nVy3E78za1cq0jRKNlGyvTrRtwY69WDhhc6k8CxIGAUrT6uAFeNCfroRKuw3zDm0FIxoq0eExNwBNw0rIXXUowDoCafTYSVpqSQ+Sby/wfRMc12ISmUnOQ2d9A1+YWoZgdHs+G/OK1ADQu/6edaSOWhX0BGLNRig5lWfgbOmAlzIqNqcLDMaBrcwcpi2LN5pIQf obryndzii@obryndzii-pc
+ user: ${linux:system:user:obryndzii}
diff --git a/openssh/server/team/members/oliemieshko.yml b/openssh/server/team/members/oliemieshko.yml
new file mode 100644
index 0000000..fdf52c7
--- /dev/null
+++ b/openssh/server/team/members/oliemieshko.yml
@@ -0,0 +1,24 @@
+parameters:
+ linux:
+ system:
+ user:
+ oliemieshko:
+ enabled: true
+ name: oliemieshko
+ sudo: false
+ full_name: Oleksandr Liemieshko
+ home: /home/oliemieshko
+ email: oliemieshko@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ oliemieshko:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzs6/PozmGRBvr5xL/LfXkAymn93Hh4YSPd3VFkYCDUFMWdlRkQqLImcI44mEW+GpYoXn5pKJGVK7CuE9dmdQCIqI1XkpC3VJJ2BSRuu6S3r1bFDDsS6SFQCn1kgHWi+Fkx3oexMBYHKcpA7WnCIyKewJuXI4LBG/LPiwO9HeNOwluK01U56RzOU/KYofc7UrAEYj3jiplrq7nyuv4MMGrbU5HRAQSnkznISN5ZBsfY7uiPFf5Dr10Y8QSwHFpiTiDxxLrDE5K5CMWSKFexMpmThzdR13t7k4oKU8WRVh8i9jAZRNDY7YcR7Fqdoj58XKPsxQ31KQLgWpj80XAo6fl oliemieshko@oliemieshko-pc
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDj0brDaA7F/Hexk2KblN3bOT8CVozDKT0m12iqosfhth1SH2rzgbbVuOmPyxE9DtGl56LI6B42g4E9t54wwgpdyq6dp+UxOTpUvUgRyRUk7FAObKNn/v2UWFTaGuvsVINxMU5pJe4cWmIO8Skv/2ChG682u4gyEK7shpAf7Jom4tqaayZer//Yqm9c8fM1xpqooEdCWR3X6wzCg91kJqs86BBLI5u4enl2q9d2aqSvQqvj60eDOyVl2zpkgbaWG3sXlQ8FVcam97Y54tidC9GZgRaq3pt2HNqSghLDD4AkDSilfaM20swV0Y54iz3w/vIwnVmkfo38/RezyMC3yf9B oliemieshko@sunnyval
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC918wr3osIqWXuhpGUHTEr7A5VJDfYXcTiIGhvxkAVMdiRAHJIzFd0vx4MnBS8/m8CKKY+Iv8x4zShW2V2juHgLzlg/940SNsSOWApz7QNR+g+fXu1RuBL3Mk+VwA6pNTPNmcMe/asEAAV4tdjpJRgM3YJKIcocK6yU5tH6x0ohdHy7eICa6cXCm3hoBgiiMkf6djuRugzFNvK4JzMpKYBpMgC7ux6qgyXTIy/OQzp65CxM0WsHw6cmOOw4kTiOn77UX/qqOhYg4pD6YiEPApLaNyhxtEwv70Ta/cNYiGiZGs68MJ+xvCmOWMd5i2534NxbNsKguhoApJU0E5HPjHz lemax@shadow
+ user: ${linux:system:user:oliemieshko}
diff --git a/openssh/server/team/members/renesoto.yml b/openssh/server/team/members/renesoto.yml
new file mode 100644
index 0000000..ad76260
--- /dev/null
+++ b/openssh/server/team/members/renesoto.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ rsoto:
+ enabled: true
+ name: rsoto
+ sudo: false
+ full_name: Rene Soto
+ home: /home/rsoto
+ email: rsoto@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ rsoto:
+ enabled: true
+ public_keys: ${public_keys:rsoto}
+ user: ${linux:system:user:rsoto}
+ public_keys:
+ rsoto:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCSmved/uNo6pkce9z52wiapxXXQ6nRadSzQhcYqegltYRbvDbAPe5oh/LGUoxybyIP6OAormVJlb85JojG1s7Aom6YtiFNTlddORWXZ1fuxqg7ue2++wQW3Zf2uJMFGKPAByucF8Oqix5WmLd8X8wpTEhX0x4aP9AwDNg2AdPqCGwb0ulwJ6Q6E8UBtHgFq/xF5mNX6NkefemhdxguQDiC2nGedSBuxXzSs7W6DIgL29N3IP2M9N5SjoFsY9cB/kbESchxnbKi7lQOmF0SsTxsshBjO3quHzYVvbSfeAmGb1stF5QHw1fMDGpBpM+yBLAIByQalpz6nkIT5ZgtlML
+
diff --git a/openssh/server/team/members/rudymccomb.yml b/openssh/server/team/members/rudymccomb.yml
new file mode 100644
index 0000000..6c6c0b8
--- /dev/null
+++ b/openssh/server/team/members/rudymccomb.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ rmccomb:
+ enabled: true
+ name: rmccomb
+ sudo: false
+ full_name: Rudy McComb
+ home: /home/rmccomb
+ email: rmccomb@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ rmccomb:
+ enabled: true
+ public_keys: ${public_keys:rmccomb}
+ user: ${linux:system:user:rmccomb}
+ public_keys:
+ rmccomb:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYhqXhsWyb1VwGKjCeu0jmocrYMQODBxt2qIDjmvt/Qc6Ou78e3EIvZarjNiGczl6fKX3pOUxtZEcqHMZpPciQhyS5TB0hh+7XuBAZy+I0KAT3rM+mHpJ3WRK84hhx/gCHN52qEdiNaS5ofmmrxTk+AcZF9HElPgwi9IC79SKKyIFa2SQxLwNMmrjNab2FQbCcXx34HqsCFi9Sahadpk8Zpk8YKgrH06P+K//lR5mpa8z0svubaLsU+Qde/frjB9xVFeYvm5YcYTJg9GYXubVGqgELFgCqpAGPDCHOIu1T2oQLpTMc4pxqs1EZ6EC9gEE2fMGRfPoSuwacs0WxLzXp
+
diff --git a/openssh/server/team/members/scottmachtmes.yml b/openssh/server/team/members/scottmachtmes.yml
new file mode 100644
index 0000000..6feb7a2
--- /dev/null
+++ b/openssh/server/team/members/scottmachtmes.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ smachtmes:
+ enabled: true
+ name: smachtmes
+ sudo: false
+ full_name: Scott Machtmes
+ home: /home/smachtmes
+ email: smachtmes@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ smachtmes:
+ enabled: true
+ public_keys: ${public_keys:smachtmes}
+ user: ${linux:system:user:smachtmes}
+ public_keys:
+ smachtmes:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHGFStJ/pZhZP1c28yubmxGvkCI6UqcxIYZ4oi1QBP0yir2fib/2K8MJcqmRwYhrhw09DAaTnMWhssBhvvgVKX2wS1VhHDo82yRftgN6boo+55zi9Y9o/8IXme1vVTGp8MZV9UCPJMPYrhGxFwOBWIdIYtI0ayDVic54EsTVHUld0ED5NHOBBTJIIz2nXxX8GKC86qPrAlV28VM+Bq8yTNmj18lBTqNXoTswHALNbG8zeV0s8LiDH8LyHgaF8hlmI9EMfGidVQN5txG7x077SQ8Sgs/UfX3q7INyriAVBA5okNoLb0bR9QcRUtQrynOdPp89PoyzNT9JTwmVUWFYkd
+
diff --git a/openssh/server/team/members/sovsianikov.yml b/openssh/server/team/members/sovsianikov.yml
new file mode 100644
index 0000000..646bde9
--- /dev/null
+++ b/openssh/server/team/members/sovsianikov.yml
@@ -0,0 +1,24 @@
+parameters:
+ linux:
+ system:
+ user:
+ sovsianikov:
+ enabled: true
+ name: sovsianikov
+ sudo: false
+ full_name: Serhii Ovsianikov
+ home: /home/sovsianikov
+ email: sovsianikov@mirantis.com
+ groups:
+ - supportl2
+ openssh:
+ server:
+ enabled: true
+ user:
+ sovsianikov:
+ enabled: true
+ public_keys:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC728opxEr1QAil48NXPoA1QH4qzbGy8OjEq0s+JuovWYg6eRxf4UEhZgtxW3z3vls0xV5fNpoGa1j2xIDYRIxdZV05X9J+CZ9hxUfE0tIi8iS8/r5x+SFeWQmf4zVOwQMRwXujNsmKBDQVpP/y/2wlYHk3RPrPLGZAH5LkO29W4iTKDciOF4p9uGw55CCR7Iaw/S3fq/CV3rSbtsxXpnYzJ0JZEYIVhO8ZRN9kP1upmTOGeC3g8ahSWgkWOD4xLbrUjoaOTqZjEVIUxDf0bLT2/ztihgqvKG9CTObKrHM8/V3tPqns9Xhu+uDc+h0pplxrVAlVtGiC9yx/R3e3gahJ sovsianikov@sovsianikov-nbook
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDqe1+ymHcc750HopiD17J79Yh2P3Bdg7csJi1C/1B8Xk09rOoo5eIGGdo+7EqO2alRqzdan8Um7eSd6sH2sGUakHXApz0ig1xyqDcKpbla+13kJ9bEYyI3+7kXdm5/iAIzRmQVBYbtf6MK7GwLv6+5h+QKA4yiHr1xj2mXgmakU8B5r7GZXCq+DDEDXL+7r9h68DqOuQacKesbQZHPUBLCjINigLHA24Z+8Fglk0BkH+EiuBj91/QBT7Wy003njMz4/ecx0t1jRE6yMImDq62h/L7dS17no2ghVhZbFfDTBoyGuMp200tnhIP9Dwuisy0TuGBjiSVO/QJ2o0aAptwl sovsianikov@sovsianikov-lin
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDd1/kdx3SIx6BxEMpO1+t05ZLVqYGlxxS0oPcpnMAR+t6dBjdmYqMIUb817easmPFDpC38DgClqAzAHoCoPSj5LymiKpkVI0qinyS3b+V/9AK3fdlkE5lUIi7Ij/aCIO197teo1rhUbOjwXVRRqCWPAsAZ1v3ljmHVdBIjva5RraCHM1HDt12c1QdnQdNyQuXXKCx18DpfHcfICVYBXDubEjyGxjomk2nAwF4wH1Zol7I3+djOZcKOw0AVhI8VHb73MIaPSF3/oadsVle6XIlr6HJq8PlmmZ2Bs6cCM8ndRvPycKO+d2Rhm2qGiCWQzz4bLJuEqP9ez1bUQ+1VcJpR sovsianikov@Serhiis-PC.local
+ user: ${linux:system:user:sovsianikov}
diff --git a/openssh/server/team/members/zahedkhurasani.yml b/openssh/server/team/members/zahedkhurasani.yml
new file mode 100644
index 0000000..f1a36a2
--- /dev/null
+++ b/openssh/server/team/members/zahedkhurasani.yml
@@ -0,0 +1,25 @@
+parameters:
+ linux:
+ system:
+ user:
+ zkhurasani:
+ enabled: true
+ name: zkhurasani
+ sudo: false
+ full_name: Zahed Khurasani
+ home: /home/zkhurasani
+ email: zkhurasani@mirantis.com
+ groups:
+ - support
+ openssh:
+ server:
+ enabled: true
+ user:
+ zkhurasani:
+ enabled: true
+ public_keys: ${public_keys:zkhurasani}
+ user: ${linux:system:user:zkhurasani}
+ public_keys:
+ zkhurasani:
+ - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIFv/QaKxzK3Y5fRWrq8rgiFIlL1nDnwClyhaxUE08lZ3yxOdMuwyR2+ODcm1+ZX8L3YnXGxVA0avDxAZTbGr/Bo8F0QTTtkv827d/7qrtWwnH0egPqIegWAwvh1nDiSaPJNoq6HbvLVjhIwRO9J+qgFrIfu5Ul8FmvaV9wRmuyI44TbtgmHVcLdVGZEJzFCKZvR8nOPXmWJtVuHzUpgGnMgwx06sPBYBuMkamOdsCWZpV6hXFA9Htk6Yws549LJ3fuHk3lv9prYfJz99m6dhqW+P6sx9YOrZCZT6d03aWZ6KOj43MDQMltPmrCKg1HoeQ8emP6Nere2bLbMg2xY5d
+
diff --git a/openssh/server/team/mmo_de.yml b/openssh/server/team/mmo_devops.yml
similarity index 100%
rename from openssh/server/team/mmo_de.yml
rename to openssh/server/team/mmo_devops.yml
diff --git a/prometheus/server/target/etcd.yml b/prometheus/server/target/etcd.yml
new file mode 100644
index 0000000..e343bda
--- /dev/null
+++ b/prometheus/server/target/etcd.yml
@@ -0,0 +1,6 @@
+classes:
+- service.etcd.server.cluster
+parameters:
+ server:
+ target:
+ etcd: ${etcd:server:members}
diff --git a/prometheus/server/target/kubernetes.yml b/prometheus/server/target/kubernetes.yml
new file mode 100644
index 0000000..293895b
--- /dev/null
+++ b/prometheus/server/target/kubernetes.yml
@@ -0,0 +1,10 @@
+classes:
+- service.kubernetes.master.cluster
+parameters:
+ server:
+ target:
+ kubernetes:
+ api_ip: ${kubernetes:master:apiserver:address}
+ ssl_dir: /opt/prometheus/config
+ cert_name: kubelet-client.crt
+ key_name: kubelet-client.key
diff --git a/reclass/storage/system/cicd_control_cluster.yml b/reclass/storage/system/cicd_control_cluster.yml
new file mode 100644
index 0000000..35a8d15
--- /dev/null
+++ b/reclass/storage/system/cicd_control_cluster.yml
@@ -0,0 +1,41 @@
+parameters:
+ _param:
+ cicd_control_node01_hostname: cid01
+ cicd_control_node02_hostname: cid02
+ cicd_control_node03_hostname: cid03
+ reclass:
+ storage:
+ node:
+ cicd_control_node01:
+ name: ${_param:cicd_control_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.cicd.master
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: xenial
+ single_address: ${_param:cicd_control_node01_address}
+ keepalived_vip_priority: 103
+ cicd_database_id: 1
+ cicd_control_node02:
+ name: ${_param:cicd_control_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.cicd.slave
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: xenial
+ single_address: ${_param:cicd_control_node02_address}
+ keepalived_vip_priority: 102
+ cicd_database_id: 2
+ cicd_control_node03:
+ name: ${_param:cicd_control_node03_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.cicd.slave
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: xenial
+ single_address: ${_param:cicd_control_node03_address}
+ keepalived_vip_priority: 101
+ cicd_database_id: 3
diff --git a/reclass/storage/system/openstack_dns_cluster.yml b/reclass/storage/system/openstack_dns_cluster.yml
new file mode 100644
index 0000000..d134c88
--- /dev/null
+++ b/reclass/storage/system/openstack_dns_cluster.yml
@@ -0,0 +1,27 @@
+parameters:
+ _param:
+ openstack_dns_node01_hostname: dns01
+ openstack_dns_node02_hostname: dns02
+ reclass:
+ storage:
+ node:
+ openstack_dns_node01:
+ name: ${_param:openstack_dns_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.dns
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: trusty
+ single_address: ${_param:openstack_dns_node01_address}
+ keepalived_vip_priority: 110
+ openstack_dns_node02:
+ name: ${_param:openstack_dns_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.dns
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: trusty
+ single_address: ${_param:openstack_dns_node02_address}
+ keepalived_vip_priority: 111
diff --git a/salt/control/cluster/cicd_control_cluster.yml b/salt/control/cluster/cicd_control_cluster.yml
new file mode 100644
index 0000000..eb6a8b1
--- /dev/null
+++ b/salt/control/cluster/cicd_control_cluster.yml
@@ -0,0 +1,26 @@
+parameters:
+ salt:
+ control:
+ size:
+ cicd.control:
+ cpu: 8
+ ram: 32768
+ disk_profile: large
+ net_profile: default
+ cluster:
+ internal:
+ domain: ${_param:cluster_domain}
+ engine: virt
+ node:
+ cid01:
+ provider: kvm01.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: cicd.control
+ cid02:
+ provider: kvm02.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: cicd.control
+ cid03:
+ provider: kvm03.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: cicd.control
diff --git a/salt/control/cluster/openstack_dns_cluster.yml b/salt/control/cluster/openstack_dns_cluster.yml
new file mode 100644
index 0000000..4ca0e00
--- /dev/null
+++ b/salt/control/cluster/openstack_dns_cluster.yml
@@ -0,0 +1,22 @@
+parameters:
+ salt:
+ control:
+ size:
+ openstack.dns:
+ cpu: 2
+ ram: 4096
+ disk_profile: small
+ net_profile: default
+ cluster:
+ internal:
+ domain: ${_param:cluster_domain}
+ engine: virt
+ node:
+ dns01:
+ provider: kvm01.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.dns
+ dns02:
+ provider: kvm02.${_param:cluster_domain}
+ image: ${_param:salt_control_xenial_image}
+ size: openstack.dns
diff --git a/salt/master/formula/git/monitoring.yml b/salt/master/formula/git/monitoring.yml
new file mode 100644
index 0000000..e0cf30d
--- /dev/null
+++ b/salt/master/formula/git/monitoring.yml
@@ -0,0 +1,14 @@
+parameters:
+ salt:
+ master:
+ environment:
+ dev:
+ formula:
+ prometheus:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-prometheus.git'
+ revision: ${_param:salt_master_environment_revision}
+ telegraf:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-telegraf.git'
+ revision: ${_param:salt_master_environment_revision}
diff --git a/salt/master/formula/git/openstack.yml b/salt/master/formula/git/openstack.yml
index 6f296c4..86e23b2 100644
--- a/salt/master/formula/git/openstack.yml
+++ b/salt/master/formula/git/openstack.yml
@@ -28,6 +28,10 @@
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-cinder.git'
revision: ${_param:salt_master_environment_revision}
+ designate:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-designate.git'
+ revision: ${_param:salt_master_environment_revision}
galera:
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-galera.git'
diff --git a/salt/master/formula/git/oss.yml b/salt/master/formula/git/oss.yml
new file mode 100644
index 0000000..9354935
--- /dev/null
+++ b/salt/master/formula/git/oss.yml
@@ -0,0 +1,13 @@
+parameters:
+ _param:
+ salt_master_oss_repository: https://gerrit.mcp.mirantis.net/oss
+ salt_master_oss_revision: master
+ salt:
+ master:
+ environment:
+ dev:
+ formula:
+ devops-portal:
+ source: git
+ address: '${_param:salt_master_oss_repository}/salt-formula-devops-portal.git'
+ revision: ${_param:salt_master_oss_revision}
diff --git a/salt/master/formula/pkg/monitoring.yml b/salt/master/formula/pkg/monitoring.yml
new file mode 100644
index 0000000..375cbd8
--- /dev/null
+++ b/salt/master/formula/pkg/monitoring.yml
@@ -0,0 +1,12 @@
+parameters:
+ salt:
+ master:
+ environment:
+ prd:
+ formula:
+ prometheus:
+ source: pkg
+ name: salt-formula-prometheus
+ telegraf:
+ source: pkg
+ name: salt-formula-telegraf
diff --git a/salt/master/formula/pkg/openstack.yml b/salt/master/formula/pkg/openstack.yml
index aa696c1..d762d3d 100644
--- a/salt/master/formula/pkg/openstack.yml
+++ b/salt/master/formula/pkg/openstack.yml
@@ -31,6 +31,9 @@
glusterfs:
source: pkg
name: salt-formula-glusterfs
+ designate:
+ source: pkg
+ name: salt-formula-designate
haproxy:
source: pkg
name: salt-formula-haproxy
diff --git a/salt/master/git.yml b/salt/master/git.yml
index bcde77c..02d0b67 100644
--- a/salt/master/git.yml
+++ b/salt/master/git.yml
@@ -6,6 +6,7 @@
- system.salt.master.formula.git.openstack
- system.salt.master.formula.git.saltstack
- system.salt.master.formula.git.stacklight
+- system.salt.master.formula.git.monitoring
parameters:
_param:
salt_master_environment_repository: "https://github.com/salt-formulas"
diff --git a/salt/master/pkg.yml b/salt/master/pkg.yml
index 7686f07..b075138 100644
--- a/salt/master/pkg.yml
+++ b/salt/master/pkg.yml
@@ -6,4 +6,5 @@
- system.salt.master.formula.pkg.openstack
- system.salt.master.formula.pkg.saltstack
- system.salt.master.formula.pkg.stacklight
-- system.linux.system.repo.tcp_salt
+- system.salt.master.formula.pkg.monitoring
+- system.linux.system.repo.mcp.salt
diff --git a/salt/minion/cert/ceph/init.yml b/salt/minion/cert/ceph/init.yml
new file mode 100644
index 0000000..8b2e61c
--- /dev/null
+++ b/salt/minion/cert/ceph/init.yml
@@ -0,0 +1,12 @@
+parameters:
+ _param:
+ salt_minion_ca_authority: salt_master_ca
+ salt:
+ minion:
+ cert:
+ ceph:
+ host: ${_param:salt_minion_ca_host}
+ signing_policy: cert_server
+ authority: ${_param:salt_minion_ca_authority}
+ common_name: ${_param:cluster_public_host}
+
diff --git a/salt/minion/cert/ceph/openstack.yml b/salt/minion/cert/ceph/openstack.yml
new file mode 100644
index 0000000..664352d
--- /dev/null
+++ b/salt/minion/cert/ceph/openstack.yml
@@ -0,0 +1,11 @@
+classes:
+- system.salt.minion.cert.ceph
+parameters:
+ _param:
+ salt_pki_ceph_alt_names: IP:${_param:cluster_public_host},DNS:${_param:cluster_public_host}
+ salt:
+ minion:
+ cert:
+ ceph:
+ common_name: ceph
+ alternative_names: IP:127.0.0.1,${_param:salt_pki_ceph_alt_names}
diff --git a/salt/minion/cert/ceph/pki.yml b/salt/minion/cert/ceph/pki.yml
new file mode 100644
index 0000000..259fc38
--- /dev/null
+++ b/salt/minion/cert/ceph/pki.yml
@@ -0,0 +1,8 @@
+parameters:
+ salt:
+ minion:
+ cert:
+ ceph:
+ key_file: /srv/salt/pki/${_param:cluster_name}/ceph.${_param:cluster_public_host}.key
+ cert_file: /srv/salt/pki/${_param:cluster_name}/ceph.${_param:cluster_public_host}.crt
+ all_file: /srv/salt/pki/${_param:cluster_name}/ceph-with-key.${_param:cluster_public_host}.pem
diff --git a/salt/minion/cert/k8s_client_prometheus.yml b/salt/minion/cert/k8s_client_prometheus.yml
new file mode 100644
index 0000000..04cd374
--- /dev/null
+++ b/salt/minion/cert/k8s_client_prometheus.yml
@@ -0,0 +1,12 @@
+parameters:
+ salt:
+ minion:
+ cert:
+ k8s_client_prometheus:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ key_file: /srv/volumes/prometheus-config/kubelet-client.key
+ cert_file: /srv/volumes/prometheus-config/kubelet-client.crt
+ common_name: kubelet-client
+ 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/salt/minion/cert/proxy/cicd.yml b/salt/minion/cert/proxy/cicd.yml
new file mode 100644
index 0000000..5fb5b28
--- /dev/null
+++ b/salt/minion/cert/proxy/cicd.yml
@@ -0,0 +1,15 @@
+classes:
+- system.salt.minion.cert.proxy
+parameters:
+ salt:
+ minion:
+ cert:
+ proxy:
+ alternative_names: "DNS:${_param:cluster_public_host}, DNS:*.${_param:cluster_public_host}, IP:${_param:control_vip_address}, IP:${_param:single_address}"
+ key_file: /etc/haproxy/ssl/${_param:cluster_public_host}.key
+ cert_file: /etc/haproxy/ssl/${_param:cluster_public_host}.crt
+ all_file: /etc/haproxy/ssl/${_param:cluster_public_host}-all.pem
+ ca_file: /etc/haproxy/ssl/${_param:salt_minion_ca_authority}-ca.crt
+ user: root
+ group: haproxy
+ mode: 640
\ No newline at end of file
diff --git a/salt/minion/cert/proxy.yml b/salt/minion/cert/proxy/init.yml
similarity index 100%
rename from salt/minion/cert/proxy.yml
rename to salt/minion/cert/proxy/init.yml
diff --git a/salt/minion/cert/proxy/openstack.yml b/salt/minion/cert/proxy/openstack.yml
new file mode 100644
index 0000000..627d96b
--- /dev/null
+++ b/salt/minion/cert/proxy/openstack.yml
@@ -0,0 +1,11 @@
+classes:
+- system.salt.minion.cert.proxy
+parameters:
+ _param:
+ salt_pki_proxy_alt_names: IP:${_param:cluster_public_host},DNS:${_param:cluster_public_host},DNS:proxy.${_param:cluster_public_host},DNS:horizon.${_param:cluster_public_host}
+ salt:
+ minion:
+ cert:
+ proxy:
+ common_name: proxy
+ alternative_names: IP:127.0.0.1,${_param:salt_pki_proxy_alt_names}
diff --git a/salt/minion/cert/proxy/pki.yml b/salt/minion/cert/proxy/pki.yml
new file mode 100644
index 0000000..9a93bbf
--- /dev/null
+++ b/salt/minion/cert/proxy/pki.yml
@@ -0,0 +1,8 @@
+parameters:
+ salt:
+ minion:
+ cert:
+ proxy:
+ key_file: /srv/salt/pki/${_param:cluster_name}/proxy.${_param:cluster_public_host}.key
+ cert_file: /srv/salt/pki/${_param:cluster_name}/proxy.${_param:cluster_public_host}.crt
+ all_file: /srv/salt/pki/${_param:cluster_name}/proxy-with-key.${_param:cluster_public_host}.pem
diff --git a/salt/minion/cert/swift/init.yml b/salt/minion/cert/swift/init.yml
new file mode 100644
index 0000000..28859cf
--- /dev/null
+++ b/salt/minion/cert/swift/init.yml
@@ -0,0 +1,11 @@
+parameters:
+ _param:
+ salt_minion_ca_authority: salt_master_ca
+ salt:
+ minion:
+ cert:
+ swift:
+ host: ${_param:salt_minion_ca_host}
+ signing_policy: cert_server
+ authority: ${_param:salt_minion_ca_authority}
+ common_name: ${_param:cluster_public_host}
diff --git a/salt/minion/cert/swift/openstack.yml b/salt/minion/cert/swift/openstack.yml
new file mode 100644
index 0000000..5560e1b
--- /dev/null
+++ b/salt/minion/cert/swift/openstack.yml
@@ -0,0 +1,11 @@
+classes:
+- system.salt.minion.cert.swift
+parameters:
+ _param:
+ salt_pki_swift_alt_names: IP:${_param:cluster_public_host},DNS:${_param:cluster_public_host}
+ salt:
+ minion:
+ cert:
+ swift:
+ common_name: swift
+ alternative_names: IP:127.0.0.1,${_param:salt_pki_swift_alt_names}
diff --git a/salt/minion/cert/swift/pki.yml b/salt/minion/cert/swift/pki.yml
new file mode 100644
index 0000000..dd24060
--- /dev/null
+++ b/salt/minion/cert/swift/pki.yml
@@ -0,0 +1,8 @@
+parameters:
+ salt:
+ minion:
+ cert:
+ swift:
+ key_file: /srv/salt/pki/${_param:cluster_name}/swift.${_param:cluster_public_host}.key
+ cert_file: /srv/salt/pki/${_param:cluster_name}/swift.${_param:cluster_public_host}.crt
+ all_file: /srv/salt/pki/${_param:cluster_name}/swift-with-key.${_param:cluster_public_host}.pem
diff --git a/salt/minion/cert/wildcard/init.yml b/salt/minion/cert/wildcard/init.yml
new file mode 100644
index 0000000..3bc2d52
--- /dev/null
+++ b/salt/minion/cert/wildcard/init.yml
@@ -0,0 +1,16 @@
+parameters:
+ _param:
+ salt_minion_ca_authority: salt_master_ca
+ salt_pki_wildcard_alt_names: IP:${_param:cluster_public_host},DNS:${_param:cluster_public_host},DNS:*.${_param:cluster_public_host},DNS:${_param:cluster_domain},DNS:*.${_param:cluster_domain}
+ salt:
+ minion:
+ cert:
+ proxy:
+ host: ${_param:salt_minion_ca_host}
+ signing_policy: cert_server
+ authority: ${_param:salt_minion_ca_authority}
+ common_name: wildcard
+ alternative_names: IP:127.0.0.1,${_param:salt_pki_wildcard_alt_names}
+ key_file: /srv/salt/pki/${_param:cluster_name}/wildcard.${_param:cluster_public_host}.key
+ cert_file: /srv/salt/pki/${_param:cluster_name}/wildcard.${_param:cluster_public_host}.crt
+ all_file: /srv/salt/pki/${_param:cluster_name}/wildcard-with-key.${_param:cluster_public_host}.pem
diff --git a/sensu/client/unsubscribe/collectd.yml b/sensu/client/unsubscribe/collectd.yml
new file mode 100644
index 0000000..88c883c
--- /dev/null
+++ b/sensu/client/unsubscribe/collectd.yml
@@ -0,0 +1,5 @@
+parameters:
+ sensu:
+ client:
+ unsubscribe:
+ - collectd.client
diff --git a/telegraf/agent/init.yml b/telegraf/agent/init.yml
new file mode 100644
index 0000000..57a1f61
--- /dev/null
+++ b/telegraf/agent/init.yml
@@ -0,0 +1,11 @@
+paramaters:
+ telegraf:
+ agent:
+ input:
+ diskio:
+ output:
+ prometheus_client:
+ bind:
+ address: 0.0.0.0
+ port: 9126
+ engine: prometheus